디지털 포렌식 # 39 (CTF 풀이 총 정리)

0

디지털포렌식

목록 보기
105/115

작년 8월부터 지금까지 약 6개월동안 CTF 문제를 풀었는데 추 후에 도움이 되지 않을까 싶어서 패턴을 분석해서 작성하기로 했다.

순서대로 써보자

1.

확장자가 없는 파일이 주어짐.
시그니처가 7z니까 7z로 바꿔서 압축을 해제해준다.

그럼 이렇게 CRC 코드가 1개만 다르다.
딱봐도 수상하니까 저걸 압축 해제해본다.
반복하면 0으로 가득찬 파일이 나오고, strings를 통한다면 flag가 나온다

2.

확장자 없는 파일이 주어짐.
7z 파일임을 확인, 압축 해제

Users\사용자명\AppData\Roaming\Microsoft\Office\Recent

  • Recent docs : Windows 탐색기를 통해 최근 열린 문서 목록. lnk 파일 형태로 존재
  • Registry에 저장되는 UserAssist는 최근에 실행한 응용 프로그램 정보 저장
    문서 파일은 실행되는 순간 해당 폴더에 Lnk 파일이 생성된다.

그럼 이걸 Windows File Analyzer (윈도우 Artifact 분석 도구) 로 분석하면 된다.

3.

확장자가 없는 파일이 있으니 hxd로 시그니처 확인

  • Firefox // C:\Users\사용자 명\AppData\Local(Roaming)\Mozilla\Firefox

  • IE // C:\Users\사용자 명\AppData\Local(Roaming)\Microsoft\Internet Explorer

  • Chrome // C:\Users\사용자 명\AppData\Local(Roaming)\Google\Chrome

Firefox 안에 Sessionstore.js(Firefox의 오류 발생 시 상태 정보가 저장)

{"windows":[{"tabs":[{"entries":[{"url":"about:home","title":"Mozilla Firefox Start Page","ID":0,"docshellID":5,"owner_b64":"NhAra3tiRRqhyKDUVsktxQAAAAAAAAAAwAAAAAAAAEYAAQAAAAAAAS8nfAAOr03buTZBMmukiq45X+BFfRhK26P9r5jIoa8RAAAAAAVhYm91dAAAAARob21lAODaHXAvexHTjNAAYLD8FKM5X+BFfRhK26P9r5jIoa8RAAAAAA5tb3otc2FmZS1hYm91dAAAAARob21lAAAAAA==","docIdentifier":0},
{"url":"http://forensic-proof.com/","title":"FORENSIC-PROOF","ID":2,"docshellID":5,"docIdentifier":2,"formdata":{"//xhtml:li[@id='search-3']/xhtml:div/xhtml:form/xhtml:fieldset/xhtml:input[@name='s']":"1_UNI/**/ON_SELECT"},

UNI/**/ON_SELECT라고 Sql injection 된 부분이 있음.
시간 정보도 안에 같이 담겨 있음.

4.

확장자 없는 파일이 주어짐. HxD로 시그니처 확인.
그럼 Cookie 파일이 존재함. 또 다시 HxD로 확인하면 SQlite.
DB for Sqlite로 분석. 그럼 url 정보를 확인 가능하다.
하지만 URL 중에서도 "악성"으로 보이는 정보들은 존재하지 않는다. 하지만 문제에서 흔적이 지워졌다고 언급한 만큼 삭제되어 보이지 않는 경우 일 수도 있다.

그래서 txt로 변환 후 strings를 사용한다면 SQliteBrowser에서 보이지 않는 URL이 노출된다. 또 URL 뒤에는 utmz, utma 값이 존재한다.

  • utmz : 방문자가 사이트를 방문할 때 사용하는 접속 정보 저장
  • utma : 방문자가 사이트를 처음 방문할 때의 시간 정보 저장

기억할 사항 :
1. sqlbrowser로 안보이더라도, strings로 분석하면 보이는 숨겨진 url이 존재할 수 있다.
2. utmz, utma의 쿠키가 의미하는 정보.

5.

확장자 없는 파일이 주어진다.
HxD로 시그니처 분석. 7z 파일.
$MFT 파일이 있음. Analyze MFT로 분석 수행
문제에서 삭제했다는 언급이 있으므로 Recycle.bin을 검색한다면 exe 파일을 발견 가능

  • exe는 악성파일의 대표적인 예시.

6.

확장자 없는 파일. HxD로 분석.
dmp 파일이 주어짐. strings로 분석해보면 key format이 주어짐.

7.

img 파일이 주어짐. (이미지 파일) 그럼 파일 안에 문제 제목과 똑같은 clam이 있음
pptx인데, pptx는 zip으로 변환해서 열면 기존에 안보이던 파일도 보인다.
그럼 변환해서 열어본다면 flag 찾을 수 있음.

  • sleuthkit라는 도구를 사용해도 된다.

8.

accounts, file, network, osinfo, process 등 여러 폴더들이 있는 것을 확인 가능함.

그 중 history 파일이 있는 accouts를 먼저 열어보자.

  • .bash_history : 사용자가 해당 Directory에서 사용한 명령어를 기록한 파일.

이 파일에는 chmod 777, 즉 모든 권한을 준 파일이 있음을 알 수 있다.

9.

gz 파일이 주어지고, 해당 파일을 압축 해제하자. 그럼 이미지 파일임을 확인할 수 있다.

FTK로 열어서 분석해보자. 근데 계속 분석을 진행해도 단서가 잡히지 않는다.
문제 이름이 Slack임을 떠올려서, Sleuthkit로 분석해보자.
Slack에 flag가 있다면 FTK등의 도구로 분석해도 나오지 않는다.

sleuthkit의 blkls로 분석한다면 답을 찾을 수 있다.

10.

txt 와 parse 파일이 주어짐.
strings 사용 시 flag 확인 가능

11.

john the ripper로 cracking을 하는 문제.

john -show shadowfile

12.

IE에 대한 기록 분석.

~9 : Cache / History / Cookie / Download 각각 다름.

Cache : Profile/Appdata/Local/Microsoft/Windows/Temporary Internet files/Content.IE5/index.dat

History : Profile/Appdata/Local/Microsoft/Windows/History/History.IE5/index.dat

Cookie : Profile/Appdata/Local/Microsoft/Windows/Cookies/index.dat

Download : Profile/Appdata/Local/Microsoft/Windows/IEDownloadHistory/index.dat

10 ~ : Cache / History / Cookie / Download 통합하여 관리한다.

Profile/AppData/Local/Microsoft/Windows/Webcache/WebCacheV01.dat

13.

파일을 삭제함. (= Slack 공간에 저장되있음.)

blkls -s File : Slack 공간의 파일 존재 여부 확인
blkls -A File : Slack 공간의 파일 추출

  • extundelete : 삭제된 파일 찾는 도구. 이 도구를 활용해도 된다.

14.

foremost를 활용하는 문제.

  • foremost : Data structure를 기반으로 손상된 파일을 복구하는 Carving Tool

Foremost Option.

-t : specify file type / 뽑아낼 파일 Type 지정
-a : Write all headers / 가능한 모든 파일을 검색하고 출력
-o : set output directory / 출력파일을 저장할 폴더 지정
-i : specify input file (default) / 입력 파일 지정, 기본으로 설정되어있는 옵션. 실질적으로 쓸 일 없음
-v : log all messages to screen / 진행과정을 출력

foremost -t png,jpeg filename : 파일에서 png jpeg만 추출
foremost -t all filename : 파일에서 모든 파일 추출
foremost filename -v : 파일에서 모든 파일 추출하고 화면에 출력

15.

tar 파일 주어짐.
파일 구조는 흔히 볼 수 없는 파일이었고, Directory 속 구성 파일인 layer.tar를 검색해보니 docker라는 이미지 형태임을 알 수 있다.

그래서 docker를 설치하고
docker load < imagefile
docker images
명령어를 통해 이미지를 로드시켰다

docker run -i -t busybox-1.24.1-infected(로드된 이미지파일 이름) /bin/sh
id

로 구동시켰다

그 후 바이러스에 의해 주로 감염되는 /bin 폴더를 확인했다.

ls -l /bin

그럼 생성날짜가 다른 파일을 발견 가능함.

strings로 해당 파일들을 분석하면 답 확인 가능.

16.

압축파일을 제공해준다. 해제하면 폴더 파일이 주어진다.
여러개의 문서 파일과 사진, 폴더가 주어진다.
jpg 파일을 분석해도 별 다른 정보가 없다.

Thumb.db를 분석하기 위해서 Thumbs viewer로 열어본다면 Flag를 확인할 수 있다.

17.

core 덤프 파일이 주어진다.

strings로 분석한다면 모두 소문자인 도중 대문자인 글자들이 있다. 모두 모으면 flag를 확인 가능하다.

18.

확장자 없는 file을 확인 가능하다.

리눅스의 file binned(파일이름) 을 통한다면 elf, 64-bit LSB executable로 확인할 수 있다.
그래서 strace 명령어를 통해 분석해보았다.

  • file 동작을 따라가면서 system call을 추적하는 명령어.

strace ./파일이름 을 통해 분석 시작함.

그럼 중간에 flag start - 어떠한 난독화된 문자열 - flag work out 이라는 정보가 화면에 뜸.

그럼 이걸 ASCII 코드로 변환해주면 답을 찾을 수 있다.

19.

압축 파일을 제공해줌. 하지만 압축이 해제가 되지 않는다. 그 후 HxD로 분석해봄.

그러자 13개의 Central Directory Records가 존재함.
=> bandizip으로 확인 시 or 7z로 확인 시 압축 파일의 내부를 확인할 수 있는데, 그걸 확인한 것.

그럼 Central Directory Records의 순서대로 내려가본다면 galf, 3ht{, liv_ 등의 문자열이 나옴. 다 각각 거꾸로 뒤집어 합친다면 flag 찾을 수 있다.

해당 사진에서 A. 다음 부분의 각각 독특한 문자열이 있음을 확인 가능함.

20.

사용자 pc를 그대로 압축해둔 것 같은 파일이 주어짐.

그럼 계정 폴더가 나오고, 그 중 Admin을 분석해보았음.
그 안에는 utorrent 폴더가 있었고, 이를 분석하기 위해서는 settings.dat가 있었다.

*root\Users\Administrator\AppData\Roaming\uTorrent 폴더의 settings.dat

이를 분석하려면 BEncode editor를 통해 분석해야한다. 이 안에는 completeed_torrents와 함께
C:\Users\CodeGate_Forensic\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 라는 경로가 적혀있음.

그럼 이 경로를 FTK로 이동해보자. 그럼 해당 경로에는 파일이 1개 있고, 이를 추출하여 MAC 타임을 분석해보았다. (Made, Accessed, Created)

또 이런 방법 외에도 $Logfile, $MFT를 추출하여 NTFS Log tracker로 분석하는게 더 정확한 MAC타임을 확인할 수 있다.

21.

파일을 제공해주고 linux의 file 명령어로 정체를 확인. elf 파일임.

실행가능한 파일이니 ./koe를 해보았지만 열리지 않았다. 권한 문제인가 싶었다. 그래서 권한을 부여해보았는데도 열리지 않았다. 그럼 어떠한 손상이 있는건가 싶어서 디스어셈블하여 분석해보려 했다.
그럼 objdump로 분석해보자.

  • objdump -D -M intel koe.o
    ** objdump 사용 시 오류 메시지 발생시 홈페이지에 해결방법이 있다.

분석 결과 xor이 유난히 많다. 그럼 xorsearch로 flag를 분석해보았다.
xorsearch.exe 파일이름 > result.txt

확인하면 결과 분석가능

22.

elf파일이 주어진다. (리눅스의 실행파일. executable linux file)

대개의 elf파일은 objdump or volatility로 분석한다.

volatility로 분석해보자.
근데 안나온다. 왜? windows가 아니면 이렇게 오래 걸린다.
그런 경우, strings chall.raw(파일 이름) | egrep '^Linux.*[0-9]'

로 분석한다면 Linux 운영체제이고, debian 2.6.42-48squeeze6 임을 확인가능하다.
그럼 해당 프로파일을 github에서 (volatilityfoundation)에서 다운받아 volatility/plugins/overlays/(해당운영체제)로 저장하자.

그 후 volatility -f chall.raw --profile=운영체제 명 liux_pslist > pslist.txt

그럼 bpython이 돌아가는 것을 확인 가능.

volatility -f chall.raw --profile=운영체제명 linux-dump_map -p 2364(pid 숫자) --dump-dir ./tmp 로 저장함,
그 후 가장 크기가 큰 파일을 strings로 분석한다면 flag와 관련한 문자열이 base64로 인코딩되어있다. 그럼 해당한 값이 hash값으로 인코딩되어있는게 또 출력되고 이 해시를 검색하면 플래그가 나옴.

23.

vmss 파일이 주어짐. volatility를 통해 분석해보자.

python volatility.py -f 파일명 imageinfo : 운영체제 정보 확인
python volatility.py -f 파일명 --profile = 확인한 운영체제 정보 (기본 포맷)
python volatility.py -f 파일명 --profile = 확인한 운영체제 정보 pslist
확인해보면 outlook. email관련 프로그램이 나왔음.
그럼 이걸 dump해서 보면 (Memory Dump 는 OS의 Memory 를 File 형태로 저장하는 것)
python volatility.py -f 파일명 --profile = os명 memdump -p 3196(아까 본 outlook 프로세스명) -D ./ 하면
파일이 나옴

여기에 strings 하면 email 나옴.

24.

volatility로 분석 할 때 pstree 결과를 분석한다.
이 때 자식 프로세스로 실행되어야하거나, 자식이 있어야하는데 부모만 있는 프로세스 -> 의심 대상.

25.

Q. 재부팅 후에도 지속성 유지하기 위해 멀웨어가 사용하는 레지스트리 key의 이름은?

A. Microsoft\Windows\CurrentVersion\Run. 해당 폴더에 저장되는 레지스트리들은 지속성을 가짐

python vol.py -f 파일명 --profile=os명 printkey -K "주소" 하면 답임.
printkey만 하면 전체 레지스트리가 나오니 주의

26.

Q. 멀웨어는 종종 고유한 값 또는 이름을 사용하여 시스템에서 자체 복사본 하나만 실행되도록 한다. 멀웨어가 사용하는 고유 이름은?

복사본 : mutex / 스레드 들 사이에 공유가 배제되는 객체.
volatility에는 mutantscan 기능이 있음.
1. python vol.py -f 이름 --profile=OS mutantscan
2. python vol.py -f 이름 --profile=OS handles -p 2996 -t Mutant

27.

Q. 관리자의 NTLM 암호 해시는?

Windows NT 제품군의 모든 구성원이 사용하는 인증 절차.
즉 windows에서 사용하는 인증 프로토콜임.
volatility에서 hashdump 를 사용하면 됨

hashdump : LM/NTLM 암호 해시 값

python vol.py -f 파일명 --profile=OS hashdump
결과가 출력된다.
관리자:권한:암호해시값
게스트:권한:암호해시값
...

28.

Q. 공격자는 프론트 데스크 PC를 손상시키기 위해 일부 도구를 옮긴 것으로 보인다. 그 도구들은 무엇인가?

앞서 iexplore가 감염되어 있음을 확인했음.
python vol.py -f 파일명 --profile=os memdump -p 2996 -D ./

memdump 결과 dmp파일 생성. 그럼 dmp에 strings를 사용하면 exe 파일이 생성됨.

  • dumpfiles는 해당 프로세스. memdump는 윈도우 가상 메모리를 파일로 추출하는 것.

29.

Q. 해커조차도 평문으로 데이터를 전송한다. 공격자는 평문 암호를 덤프하기 위해 옮긴 도구 중 하나를 사용했다. 데스크 로컬 관리자 계정의 암호는 무엇인가?

아까 뽑아낸 파일(도구 3개) 중에서 wce.exe가 있다. (윈도우 계정 pw hash와 문자열을 추출하는 도구)
wce.exe를 실행했으면 cmd 창에서 뭔가 쳤을 거 같음.
volatility에서 cmdscan을 하면 wce.exe가 w.tmp 파일에 뭔가 했음을 확인 가능함.

python vol.py -f 파일명 --profile=os명 filescan |findstr w.tmp
하면 offset 찾을 수 있다.
python vol.py -f 파일명 --profiles=os명 dumpfiles -Q (offset) -D ./
하고 열어보면 답이 나온다.

30.

Q. 타임라인이 큰 그림을 만든다. netscan.exe의 생성시간 타임스탬프는?

타임라인을 봐야함. mftparser로 mft파일 까보면 생성시간 볼 수 있음.
python vol.py -f 파일명 --profile=os명 mftparser | findstr nbtscan.exe

31.

Q. 공격자의 멀웨어가 사용한 IP 주소와 포트는?

포트를 물어봤으니까, netscan을 사용

  • net scan : IP와 포트정보 확인하는 플러그인

python vol.py -f 파일명 --profile=os명 netscan
확인해보면 전 문제에서 감염되었던 iexplore가 사용한 포트와 주소확인.

32.

Q. 해커가 어떻게 시스템에 접속하는지 보면 그들이 누군지 알 수 있다.
공격자는 합법적인 원격관리 SW를 설치했다. 뭔지 찾아내라.

"합법적인 SW".

일단 원격관리를 했으니까, 포트를 사용했을거 같음. = netscan
python volpy -f 파일명 --profile=os명 netscan
해서 쭉 내리다보면, Teamviewer 찾아냈음.

33.

Q. 공격자가 rar 아카이브에 추가한 파일 명은 무엇인가?
맨 처음엔 전 문제에서 찾은 rar파일로 압축된 걸 찾아서 dumpfiles를 해보려고 했는데
안나옴.
그래서 conhost.exe를 찾아봄 (=cmd창에서 수행하는 io를 담당하는 파일임)
cmd창에서 압축을 수행했다면 conhost.exe에 기록되어 있을 거임.
python -f vol.py --profile=os명 cmdscan
하면 공격자가 공격할 당시 conhost의 pid를 알 수 있음.
pid를 알았으니 memdump를 통해서 파일을 복구 한 후에 strings 진행.
.rar 확장자로 검색해보면 답.
python -f vol.py --profile=os명 memdump -p 3048 -D ./

34.

Q. 공격자가 보안 관리자 pc에 예약된 작업을 만든 것 같다. 스케쥴링 작업과 연결된 파일의 이름은?

윈도우의 경우는 스케쥴링과 관련한 파일이 어떤 확장자인지 알아봤는데 job 이었음.
python -f vol.py --profile=os명 filescan | findstr job 을 하면
이름이 job인거, 확장자 job인거 섞여서 나오는데 그 중 확장자 job인 것을
python -f vol.py --profile=os명 dumpfiles- Q offset -D ./ 하면 파일을 추출 해 낼 수 있음.

이거 까서 보면, 주소/1.bat파일이 있음.
근데 1.bat파일이 뭐하는 파일인지 아직 모르니까, 문제에서 말한 공격자와 연관된 파일인건지는 모름.
그러니 1.bat 또한 찾아내서 안에 내용을 까 보면,
python -f vol.py --profile=os명 filescan | findstr 1.bat
python -f vol.py --profile=os명 dumpfiles -Q offset -D ./
wce.exe프로그램과 연관된 걸 알 수 있음.

35.

Q. 악성코드가 처음에 설치된 파일은 무엇인가?
악성코드의 대표적인 유입경로는 인터넷
volatility의 iehistory를 통해서 internet explorer 기록을 볼 수 있음.
파일 1개밖에 안보임.
python vol.py -f 파일명 --profile=os명 iehistory

36.

Q. 피싱 메일을 전송한 발신자 이메일 주소는?
outlook을 일단 덤프해볼 수 있겠지 filescan을 통해서 outlook의 pid를 확인 할 수 있을 꺼 같다. 2692임.
역시 하던 대로 strings를 수행하고 이메일이라고 그랬으니까 @를 검색해봤지.
잔뜩 나오다가 한 15번 엔터 치니까 의심가는거 찾아냈음. 입력하면?? 답.

37.

Q.악성문서의 MD5 해시는 무엇입니까? (대/소문자를 구분하지 않음)

우선 이번 문제에서 얻어낸것 * pst파일은 outlook에서 모든 정보를 저장하는 폴더에 사용되는 확장자임.
filescan을 통해서 pst 확장자 파일을 찾아 낼 수 있었고, 그 중에서 outlook 폴더에 있
phillip.price@e-corp.biz.pst내용을 덤프해보자.
filescan을 통해 offset값을 알아 낼 수 있고, memdump -Q 옵션을 통해 파일을 찾아 낼 수 있음.
그럼 이제 중요한게 뭐냐면, 이 outlook 분석 도구를 또 깔아줘야함
1.git clone https://github.com/libyal/libpff.git
2. cd libpff/
3. ./synclibs.sh
3 apt-get install autoconf automake autopoint libtool pkg-config
4. ./autogen.sh
5. ./configure & make
6. cd pfftools/
7. pffexport 파일명 해주면,
pfftools 폴더 안에 Message 뭉텅이가 생성된 걸 확인 할 수 있음
11개 폴더가 생성이 되는,
그 중에서 마지막 11 디렉터리에서 attachments(첨부파일) 이 있고, doc 파일 확인이 가능함.
이거 virustotal에 올려서 확인해보면 악성파일인것 확인 가능함.

38.

Q. 원격 액세스 도구로 시스템에 마지막으로 연결했던 IPV4 주소는 무엇입니까?

원격 액세스 도구가 뭘까 찾아보니, teamviewer가 있었음.
teamviewer 파일 4번에서 dump해둔 것 있었으니 이걸 strings 해서 뽑아봅시다.
리눅스에서
strings 파일명 | grep -B 3 -A 2 -E "([0-9]{1,3}[.]){3}[0-9]{1,3}" | grep 원하는 단어명(여기선 teamviewer) -B 3 -A 3 하면 원하는 단어 근처에 ip 주소 형태가 있는지 확인 가능함.
strings 파일명 | grep -B 3 -A 2 -E "([0-9]{1,3}[.]){3}[0-9]{1,3}" | grep teamviewer -B 3 -A 3

-E : 확장 정규식 사용
-B <갯수> : 줄 수만큼 출력 내용의 앞부분을 출력합니다
-A <갯수> :줄 수만큼 출력 내용의 뒷부분을 출력합니다
더 찾아 볼꺼면 keyword는 grep으로 검색하면 될듯.
간단하게 설명하면 []는 안에 대상, 여기선 0-9 중 1개, {n,m}는 n번 이상 m번 미만, [.]는 .이 있어야한다는 뜻. 즉 (0-9숫자가 1번 이상 3번 이하 반복 + ".") 이게 3번 반복 된 후에 숫자 3개가 붙는, 즉 ip형태의 문자열이 tempviewer 근처에 있는지 확인하는 명령어임.
찾아보면 ip랑, teamviewer 단어 확인이 가능함.

39.

Q. 악성문서의 MD5 해시값은 무엇인가?

volatility를 통해서
일단 outlook파일을 덤프해서 봤는데, 뭐 없더라.
그래서 이제 doc, docx봤는데도 없는데 하나 남은 문서 확장자 rtf를 검색하니 딱 하나 나왔음.
이거 virustotal에 올려보면 악성 문서임.
그래서 md5sum 하고 답 올려봤지. 오답이네??? 머지??
왜냐, hex로 열어보면 0으로 채워져 있는 부분이 있었네. 이거 지워서 다시 md5 확인하면 답.

40.

png 파일 속 IRC 프로토콜 속의 대화 내역이 Ascii로 인코딩되어 있다.

41.

NM 속 Message 내역에 DCC 문자열이 있음.

DCC SEND filename(1) ip(2) port(3) file size(4).

해당 문자열의 위치별 의미. (ip는 decimal로 표현되어있다)

해당 Ip가 주고 받은 패킷을 조사하여 carving 하면, 헤더와 푸터가 없는 파일을 찾을 수 있음. truecrypt를 생각해낼 수 있고, 아까 메시지에서 얻은 비밀번호로 복호화하면 답 찾을 수 있음.

42.

MMS 프로토콜이 있는데, 이걸 follow해서 mp4 파일을 발견, carving을 하면 flag 발견 가능

43.

kml로 작성된 Message 를 NM으로 발견 가능.
원래의 패킷을 Wireshark로 발견하여 카빙한다음, kml viewer로 열어준다.

44.

RTP 프로토콜을 발견. RTP(= Real time Transport Protocol)

45.

Message에 문서를 주고 받았다고 한다. 그럼 관련한 확장자를 NM에서 찾고, zip을 발견 가능함. 이를 빼내고 안에 flag는 base64로 인코딩 되어 있음.

46.

NM 속 Message에 Base 32로 인코딩된 메시지가 존재함.

47.

압축 파일의 제목이 유명구의 구성 단어들로 이루어져있음.

명언의 순서대로 파일을 HxD로 조합하면 된다.

이건 다시 추후 작성

48.

http 패킷 속에 search (검색 내역)을 발견함.

h,ha,hac,hack 순서로 검색했음을 찾아낼 수 있다.

이에 연장해서 movie를 검색함을 알 수 있는데, NM에서 Parameters를 찾아본다면 GET 요청에서 답을 얻을 수 있다.

49.

Q.Mr.X가 사용한 스캐너의 IP 주소는 무엇인가?
스캐너면, src ip는 일정하고 dst는 여러 개(혹은 1개) 일 것이다. 그럼 찾아보자.
당연하게도, syn flag가 1일 것이다. tcp.flags.syn == 1
그럼 답 찾을 수 있다.

50.

Q. Mr.X가 찾은 Windows 시스템의 IP주소는 무엇인가?

운영체제별 ICMP TTL
Windows : 128
Linux : 255
MAC : 64
참고사항에서 살펴본 것처럼, ICMP의 TTL이 Windows에서는 128이다. 그럼 두 ip 중 icmp 프로토콜의 ttl 값을 확인해본다면, flag를 찾을 수 있을 것이다.

51.

802.11, 즉 무선 패킷으로 암호화되어 있음.

  • WEP : aircrack-ng로 복호화가능
  • WAP : PW알아야함.
    aircrack-ng로 복호화 수행.
    그럼 flag의 힌트가 되는 사진 정보 찾으면 답.

52.

TCP packet에 Urgent Pointer에 ASCII 코드로 값을 숨겨두었다.

53.

scapy를 활용하도록 하는 문제.
flag는 (User-agent)에 숨어있음.

54.

icmp 프로토콜의 seq 가 전부 0임.
이 때 reply는 뭐 없고, request를 필터링 걸어본다면 ICMP의 Identification에 알파벳이 숨어 있음.

55.

파일의 HASH를 구글링하면 그 결과에 Flag가 있는 경우

56.

WPA 로 암호화되어 있었고, Wireshark로 분석하면 Hdbgarea라는 문자열이 있음.
(WPA 백업 파일)
이 패킷을 빼내어 Router Pass View로 열어본다면 PW 확인 가능

57.

binwalk를 사용하는 문제

58.

문제에 주어진 단서에 맞게 wordlist를 만들고 이를 기반으로 john을 사용하는 문제.
zip2john으로 zip file hash 얻고
john.exe --wordlist=Fiiename.txt hash파일(zip2john으로 생성한)

59.

fc를 활용하는 문제. 크기와 내용이 동일한 bmp 파일 2개를 비교한다.

fc /b File1 File2 > out.txt

60.

그냥 밑도 끝도 없이 그냥 john the ripper 사용하여 zip 파일 푸는 brute force 문제.

61.

Openstego에 필요한 PW를 제공해주고, png 파일을 Openstego로 열어 안에 숨어있는 PNG 여러개를 빼내는 문제.

62.

hwp 안에 스크립트가 base64로 인코딩되어 있고, 이를 따라가면 flag가 나오는 문제

63.

ad1(FTK 이미지파일)을 열어서, Chrome의 History를 분석하는 문제.

  • Appdata/Local/Google/Chrome/Userdata/Default/History

이건 Sqlite for db로 열어보면 된다.
여기서 URL을 분석하면 flag파일을 얻을 수 있고, 이 시간을 알기 위해서 Prefetch를 분석하여 MAC를 얻을 수 있음.

64.

계정이 삭제된 시간 - Windows/system32/winevt/logs/security.evtx 의 파일을 분석하면됨.

이거 열어보면 로그가 다 기록되어있고, 계정이 삭제된 시간도 기록되어있음.

  • 삭제된 계정도 FTK 에 폴더가 잡힌다.

0개의 댓글