외로운 Nova의 작업실
[ctf-d] Disk - 이벤트 예약 웹사이트를 운영하고.. 풀이 본문
- 문제
A. 공격자가 웹페이지 소스코드를 유출한 시간(UTC+09:00)은?
B. 리버스쉘(Reverse Shell)을 동작시키는 프로세스 ID(PID)는? (10진수)
C. 리버스쉘(Reverse Shell)에 대한 공격자 주소(IP)는?
- 문제 풀이
<B 문제>
먼저 리버스쉘을 실행시켰고, 프로세스 ID를 물어보기때문에 프로세스가 실행시킨 CMD 명령어들을 기록해놓은 ps_eaf 파일먼저 봐보겠습니다. process>ps_eaf 경로에 있습니다.
sh 명령어와 php 명령어로 reverce.php를 실행시킨 기록이 있습니다. user의 계정은 www-data이고, 이 계정이 실행시킨 응용프로그램중 PID값이 5245인 프로그램이 직접 php 명령어로 reverse.php 파일을 실행시키는 것을 확인할 수 있습니다. 즉, B문제의 답은 5245입니다.또한, 리버스 쉘의 위치는 /var/www/upload/editor/image에 있음을 알 수 있습니다.
<C 문제>
리버스쉘을 php파일로 실행시켰으니 이 파일이 실행중에 공격자와 연결됨을 추측할수 있습니다. 따라서 파일관련해서 정보를 알 수 있는 lsof 로그파일을 분석해봅시다.
리버스쉘을 실행시킨 5245 프로세스가 PHP 커맨드로 TCP 연결을 했음을 알 수 있습니다. 그 곳은바로 144.206.162.21입니다. C의 정답은 144.206.162.21입니다.
<A문제>
유출시각을 물어보는 문제로 HTTP 통신이 언제일어났는지 분석해보면됩니다. 이때는 access 로그파일을 분석해보면 됩니다. 공격자는 /upload/editor/image 경로의 reverse.php 파일을 요청할 것이기때문에 요청 헤더에는 저경로가 있을 것을 추측할 수 있습니다. 따라서 경로를 검색해줍니다.
81095: 112.216.97.27 - - [25/Aug/2012:17:18:32 +0900] "GET /upload/editor/image/cmd.php HTTP/1.1" 294 311 "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2;
줄 81096: 112.216.97.29 - - [25/Aug/2012:17:18:51 +0900] "GET /upload/editor/image/cmd.php?cmd=cHdk HTTP/1.1" 200 323 "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2;
줄 81105: 112.216.97.29 - - [25/Aug/2012:17:19:23 +0900] "GET /upload/editor/image/cmd.php?cmd=bHMgLWFsICAvdmFyL3d3dy91cGxvYWQvZWRpdG9yL2ltYWdlLw%20%20 HTTP/1.1" 200 13318 "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2;
줄 81122: 112.216.97.29 - - [25/Aug/2012:17:21:12 +0900] "GET /upload/editor/image/cmd.php?cmd=dGFyIC1jdmYgL3Zhci93d3cvdXBsb2FkL2VkaXRvci9pbWFnZS8xMzMwNjY0ODM4IC92YXIvd3d3Lw%20%20 HTTP/1.1" 200 14541 "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2;
줄 81141: 112.216.97.29 - - [25/Aug/2012:17:26:40 +0900] "GET /upload/editor/image/cmd.php?cmd=cGhwIC1mIC92YXIvd3d3L3VwbG9hZC9lZGl0b3IvaW1hZ2UvcmV2ZXJzZS5waHA%20 HTTP/1.1" 200 294 "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2;
cmd 매개변수에 암호화된 값들이 있는 것을 확인할 수 있습니다. 이는 base64로 인코딩 된 것으로확인할 수 있습니다.
cmd=cHdk
pwd
cmd=bHMgLWFsICAvdmFyL3d3dy91cGxvYWQvZWRpdG9yL2ltYWdlLw
ls -al /var/www/upload/editor/image/
cmd=dGFyIC1jdmYgL3Zhci93d3cvdXBsb2FkL2VkaXRvci9pbWFnZS8xMzMwNjY0ODM4IC92YXIvd3d3Lw
tar -cvf /var/www/upload/editor/image/1330664838 /var/www/
cmd=cGhwIC1mIC92YXIvd3d3L3VwbG9hZC9lZGl0b3IvaW1hZ2UvcmV2ZXJzZS5waHA
php -f /var/www/upload/editor/image/reverse.php
tar는 파일들을 묶는 명령어로 이미지파일과 /var/www경로에 있는 모든 파일들을 합치는 것을 확인할수 있습니다. 그리고는 리버스쉘을 실행시켜 .tar 파일을 가져간것으로 확인할 수 있습니다. 이때 시간은 [25/Aug/2012:17:26:40 +0900] 입니다.
'Digital Forensics' 카테고리의 다른 글
디지털 포렌식 기초 - 5(volatility 명령어 정리) (0) | 2022.10.29 |
---|---|
디지털 포렌식 기초 - 5(grrcon 2015#1 침해 분석) (0) | 2022.10.28 |
디지털 포렌식 기초 - 4(malware cridex 침해 분석) (2) | 2022.10.26 |
디지털 포렌식 기초 - 3(파일 복구, 침해 분석 문제 다운로드 및 준비) (0) | 2022.10.26 |
디지털 포렌식 기초 - 2(이미지 덤프와 마운트, 기초도구) (0) | 2022.10.25 |