[Linux] 웹 사이트 코드 실행 취약점 공격 [웹 사이트 해킹 / 코드 실행 취약점]
Nowhere 와 Now here 의 차이

IT/ㄴ Web Site Hacking

[Linux] 웹 사이트 코드 실행 취약점 공격 [웹 사이트 해킹 / 코드 실행 취약점]

TIENE 2023. 7. 14. 09:25
반응형

- 웹 서버드의 운영 체제 코드 혹은 명령어이 실행가능하여 서버 통제 권한을 얻을 수 있다.

- 윈도우 서버라면 윈도우 명령어 / 리눅스 서버라면 리눅스 명령어를 입력해볼 수 있다. 

- 공격자가 공격 대상 서버로 연결하여 권한을 얻는 것이 아니라, 공격 대상이 공격자로의 연결을 접속하는 리버스 셸(reverse shell) 공격이 대표적이다.

- 위의 방법으로 방화벽으로부터의 차단을 우회할 수 있다.

 

 

 

[웹 사이트 코드 실행 취약점 공격]


1. 공격 대상에 대한 정보 수집

- 웹 사이트 공격 대상에 대하여 어떤 취약점이 있을까 살펴보았다.

- 무료로 Ping 테스트를 할 수 있다는 문구와 함께 IP를 넣어보라는 입력창이 있다.

- IP를 넣어서 입력창이 어떤 용도로 사용하는지 어떻게 실행하는지 확인해보았다.

- Local에 있는 Kail 머신의 IP를 넣어서 Ping 테스트를 정말 무료로 진행하는지 확인해보았다.

 

 

- 그 결과로 웹 사이트에서 Ping 보낸 결과가 출력되었다

- Ping의 결과 출력 형식이 Linux로 보인다.

- Linux 서버에서 Ping 보낸 결과를 얻을 있었으며, 이를 바탕으로 취약점 공격 대상을 발견했다.

 

- 사실, 위의 입력창의 코드IP 넣으면, 입력창에 입력된 IP를 실제 서버로 전송되어 Ping [IP] 입력한다.

 

 

 

- 실제 코드를 살펴보았다.

- 코딩은 1도 모르지만, $_REQUEST[ 'ip' ] 에 IP가 입력되면, 이 값이 $target 의 변수가 되는 것 같다.

- 그리고,  Linux 운영체제라면, shell을 실행하여 ping -c 4 라는 문자와 $target 의 변수가 함께 실행하는 것 같다.

[아니면 알려주세요,,]

 

 

- 지금까지의 종합 정보로 보아, 웹 사이트를 운영하는 해당 Linux 서버에서 Ping을 마음껏 입력할 수 있는 입력창이 웹 사이트에 버젓이 있는 것이다.

- 그렇다면, 추가로 해볼 있는 것은 두 개의 명령어를 줄에서 실행하는 명령어 [;] 넣어서 명령어를 추가 실행해볼 있다

- Ping은 그대로 실행하면서, ; 를 넣고 다른 명령어를 넣어서 실행해보자

 

- 다음은 192.168.1.131 ; pwd 넣어 출력된 결과 값이다.

- Ping 이외의 정보를 알아낼 수 있는 것을 확인했다.

 

- pwd 넣었을때는 어떤 정보도 나오지 않았다. 숫자만 넣게 코드가 짜여진 것 같다.

- 이제는, reverse shell 공격으로 웹 서버로의 접속을 해보자.

 


2. nc를 활용한 웹 서버로의 접속 및 전체 권한 탈취

- ; 추가 명령어를 더하여 서버로 접속하는 방법은 다음과 같다.

- nc [Netcat] 사용하는 것이다.

- nc TCP/UDP Protocol 사용하여 네트워크 연결간의 데이터를 읽고 쓰는 간단한 유닉스 유틸리티다.

man nc

 

- nc 옵션을 활용하여 서버로의 접속이 가능하다.

- 먼저, 공격자에서 8080 Port를 열고 접속을 기다리는 것[Listening] 이다.

 

nc -vv -l -p 8080

- [-vv] 옵션으로 상태를 확인하며 [-l] listening 으로 Client 기다리고 있으며 [-p] 포트 옵션으로 8080 열어두었다.

 

 

- 그리고 공격 대상 사이트로 이동하여 ; pwd 대신 명령어 nc 입력한다.

- [-e] 실행할 프로그램이나 셸인데 위에서 언급한 reverse shell 공격이다.

- 공격자 192.168.1.131:8080으로 접속하여 sh 셸을 실행하는 의미라고 보면 된다.

 

 

 

- 공격자의 CLI 변화가 생겼다.

- 192.168.1.134, 공격 대상자가 공격자로 접속한 reverse shell이다.

- 현재 위치부터 커널 정보까지 얻을 있으며, 전체 권한을 넘겨준 셈이다.


 

반응형