- 웹 서버드의 운영 체제 코드 혹은 명령어이 실행가능하여 서버 통제 권한을 얻을 수 있다.
- 윈도우 서버라면 윈도우 명령어 / 리눅스 서버라면 리눅스 명령어를 입력해볼 수 있다.
- 공격자가 공격 대상 서버로 연결하여 권한을 얻는 것이 아니라, 공격 대상이 공격자로의 연결을 접속하는 리버스 셸(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를 사용하여 네트워크 연결간의 데이터를 읽고 쓰는 간단한 유닉스 유틸리티다.
- 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이다.
- 현재 위치부터 커널 정보까지 얻을 수 있으며, 전체 권한을 넘겨준 셈이다.
'IT > ㄴ Web Site Hacking' 카테고리의 다른 글
[Linux] 웹 사이트 로컬 / 원격 파일 인클루전 취약점 공격 [웹 사이트 해킹 / 파일 인클루전 / GPT에게 물어보기] (0) | 2023.07.14 |
---|---|
[Linux] 웹 사이트 파일 업로드 취약점 공격 [웹 사이트 해킹 / 파일 업로드 취약점] (0) | 2023.07.13 |
[Linux] 웹 사이트 파일 및 디렉토리 정보 수집 도구 dirb [웹 사이트 해킹 / 정보 수집] (0) | 2023.07.12 |