728x90
반응형
당신의 친구 Joey는 당신의 도움이 필요한 데이터가 있는 USB 키를 남겼다. 데이터는 서비스 제공 업체로부터 ‘보안 파일 형태’로 방화벽 로그를 받아와 데이터가 보호되어 있거나 난독화 되어있을 것이라고 생각된다.
# gunzip garbagefile.pcapng.gz
pcap파일 확인 및 분석
-
UDP 통신이 이루어진 것을 확인
png 파일에서 tftp 패킷데이터를 추출
# tshark -r garbagefile.pcapng -Y "udp" -T fields -e data | tr -d '\n' | xxd -r -p > data
사이트에서 tftp.py를 내려받는다. (tftp 패킷 데이터를 조합하는 python 코드)
-> tftp-out 폴더를 생성후 아래 명령을 실행
binwalk 명령어를 통해 account-data.bin 파일을 확인한 결과 zilb과 bzip2파일 등이 포함되어 있는 것을 알 수 있다.
/home/tftp-out/account-data.bin
00 00 4E DF - 파일 크기
00 00 2E 77 - 파일의 위치 추측
account-data.bin에서 실제 데이터가 위치한 주소를 확인
xxd 명령어를 이용하여 zlib 파일 추출
-s : 위치
-l : 길이 (10진수)
# xxd -s11895 -l20191 -p account-data.bin | xxd -r -p > out.zlib
추출된 zlib 파일을 압축 해제하여 text파일이 base64로 인코딩 되어 있는 것을 확인
-
zlib-flate 명령어를 우분투에서 사용하기 위해 패키지 설치를 진행
-
# apt-get install qpdf -y
-
# zlib-flate -uncompress <out.zlib> unzip.bin
decode 파일을 hex editor로 확인해보면, png 파일로 의심할 수 있는 시그니처를 확인할 수 있음
-
PNG파일의 올바른 시그니처
헤더 : 89 50 4E 47
푸터 : 49 45 4E 44 AE 42 60 82
xor-strings.py 파이썬 코드와 난독화된 값과 올바른 값을 통해 xor 하여 키 값을 찾아보자.
# python xor-string.py 89504E47 89506030
xor연산의 키 값이 0000002e77 인것을 확인하였으며, xor 키 값을 가지고 파일을 복호화 시키면, 난독화 되기 전의 파일로 복원할 수 있게된다.
복호화 된 파일을 얻기 위해 복호화 코드를 파이썬으로 작성하여 파일을 복호화 해보자.
xor.py
복원된 PNG 파일을 host로 복사
png 파일 확인
반응형
'DFIR > Challenge' 카테고리의 다른 글
디지털포렌식 with CTF - [NETWORK] chapter01_2 (0) | 2020.01.19 |
---|---|
디지털포렌식 with CTF - [NETWORK] chapter01_3 (0) | 2020.01.19 |
디지털포렌식 with CTF - [NETWORK] chapter01_5 (0) | 2020.01.18 |
디지털포렌식 with CTF - [DISK Forensic] 01 (0) | 2020.01.18 |
디지털포렌식 with CTF - [DISK Forensic] 02 (0) | 2020.01.17 |