이번에는 disk 포렌식 문제를 풀어보도록 하자! 처음 해보는 분야라 설레는 마음으로 시작합시다.
문제에서 주는 파일의 압축을 풀어보면, 2012_Secuwave_F100\Incident_Response\2012-08-27 아래에 사진과 같은 많은 폴더들이 있다.
이 폴더 안에 각각 어떤 파일들이 있는지 알아보자.
폴더 | 파일 |
accounts | group(사용자 그룹 목록), history(사용한 명령어 목록), last_R,(접속한 계정) lastlog(접근했던 파일들), passwd(사용자 계정 정보), shadow(사용자 비밀번호 정보), w(사용자 ip 정보) |
file | fls_r_m, mactime_b |
network | arp, lsof(폴더와 관련된 파일 및 프로세스 목록), netstat_an |
osinfo | date, df_k, hostname, ifconfig_a, localtime, timezone, uname_a |
process | crontab, ipcs_u, lsmod, ps_eaf, pstree_a, sad |
weblong | access.long(웹 로그 목록) |
이 파일들에서 다양한 정보를 알아낼 수 있는데, 내가 대충 분석해본 결과는 많지는 않지만 바로 아래에 있다.
accounts\shadow에서 수상한 사용자 admin01, dev, ahnlab을 확인 할 수 있다.
osinfo\uname_a 에서는 OS가 ubuntuLinux ubuntu 2.6.32-38-generic-pae임을 알 수 있다.
osinfo\ifconfig_a에서 웹서버의 ip가 192.168.184.162임을 알 수 있다.
이제 본격적으로 먼저 log 파일을 확인해보자. accounts\history는 사용자가 각 폴더에서 사용했던 명령어들의 목록을 기록해 둔 파일이다.
열어보니 겁도없이 chmod 명령어를 이용해 /var/www/upload/editor/image 파일에게 777 권한을 줬던 기록을 볼 수 있다. chmod는 리눅스에서 권한을 변경하기 위해서 사용하는 명령어이고, 777은 유저, 그룹, 기타 사용자 모두에게 읽기, 쓰기, 실행의 모든 권한을 준다는 의미이다. ~/editor/image 파일을 건드린 것이 수상하므로 이 파일의 기록에 대해서 조사해가도록 하자!
process\ps_eaf 파일을 봐보자. 짧은 글 들 중에서 /var/www/upload/editor/image/reverse.php에 대한 내용만 톡 튀어나와있어서 찾기 쉬웠다. php 명령어를 통해 reverse.php 파일을 본 것을 알 수 있었다.
이 파일을 통해서 /var/www/upload/editor/image/reverse.php의 PID가 5245임을 알 수 있게 되었다. (혹시나 해서 하는 말이지만 앞쪽에 적혀있는 5245는 PID이고, 뒤쪽의 5244는 PPID이다.)
이제 로그 파일에 가서 /var/www/upload/editor/image/reverse.php와 관련된 수상한 로그가 없는지 확인해보자. 열심히 Ctrl+f 를 두들겨서 /upload/editor/image를 검색하다보면 cmd.php라고 되어 있는 것을 찾을 수 있다. cmd를 건드리다니! 3개의 인코딩 된 문자열들을 찾을 수 있다.
※인코딩 알고리즘 : 바이너리 데이터를 텍스트 데이터(=아스키코드)로 변환하는 방법
※Base64 인코딩 : { 알파벳대소문자, +,/ } 로 이루어진 기호 64개로 변환하는 방식
'cmd.php?cmd=~ '의 뒤는 우리가 알아볼 수 있는 내용이 아니기 때문에, 디코드 해주는 사이트에 들어가서 열심히 복붙해보자.
https://base64.guru/converter/decode
Base64 Decode | Base64 Converter | Base64
The “Base64 Decode Online” is a free decoder for decoding online Base64 to text or binary. In other words, it is a tool that converts Base64 to original data. This online decoder is as smart as it is simple. Its superpower is the ability to automatical
base64.guru
1. bHMgLWFsICAvdmFyL3d3dy91cGxvYWQvZWRpdG9yL2ltYWdlLw
-> ls -al /var/www/upload/editor/image/
2. dGFyIC1jdmYgL3Zhci93d3cvdXBsb2FkL2VkaXRvci9pbWFnZS8xMzMwNjY0ODM4IC92YXIvd3d3Lw
->tar -cvf /var/www/upload/editor/image/1330664838 /var/www/
3. cGhwIC1mIC92YXIvd3d3L3VwbG9hZC9lZGl0b3IvaW1hZ2UvcmV2ZXJzZS5waHA
->php -f /var/www/upload/editor/image/reverse.php
이러한 결과가 나올 것이다.
1번은 ~/editor/image/의 목록을 보여달라는 명령어, 2번은 ~/editor/image 디렉토리의 1330664838 파일을 /var/www/에 압축을 해체하라는 명령어이다.
그리고 마지막 대망의 3번에서 php명령어를 실행시키는 것을 볼 수 있다. 아까 처음에 accesslog 파일은 웹 로그 목록이 적혀져 있다고 했는데, 이 목록에 시간값도 같이 저장이 되어있을 것이다. 때문에 accesslog 파일로 돌아가서 시간을 확인해보면!!!
시간을 확인 할 수 있다. 예이~~~
정답은 2012-08-25_17:26:40
참고자료: https://whitesnake1004.tistory.com/570
Disk - 이벤트 예약 웹사이트를 운영하고… #A,B,C
일단 문제 파일을 열어보면 아래와 같이 여러 폴더를 확인 할 수 있다. 각각 폴더에 들어있는 파일을 봐보겠습니다. accounts : group(사용자 그룹 목록), history(사용자가 사용한 명령어 목록), last_R, l
whitesnake1004.tistory.com
'디지털 포렌식(Digital Forensics) > CTF(ctf-d.com)' 카테고리의 다른 글
[Network] DefCoN#21 #4 -실패 (2) | 2020.07.11 |
---|---|
[Network] DefCoN#21 #3 (8) | 2020.07.05 |
[Multimedia] e_e (0) | 2020.06.15 |
[Network] DefCoN#21 #1 (3) | 2020.06.15 |
[Multimedia] 우리는 이 파일에 플래그를.... (0) | 2020.06.01 |
댓글