ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [DEFCON DFIR CTF 2019] Memory Forensics
    $ 포렌식 $/$ 포렌식 문제 풀이 $ 2019. 9. 11. 00:04

    get your volatility on

     

    triage.mem의 sha1 hash  값은? 이라는 문제입니다.

     

    Flag : flag<c95e8cc8c946f95a109ea8e47a6800de10a27abd>

     

     

    pr0file

    이 머신의 운영체제 버전은 몇인가? 라는 문제입니다.

     

    이제 메모리 분석의 강력한 툴인 volatility를 사용할 때가 온것 같습니다. [원래 ubuntu 에서 사용했지만 windows로 넘어갈 예정이라 window에서 해보겠습니다.]

    아래와 같은 명령어로 찾아 볼 수 있습니다.

    python vol.py -f "C:\Adam Ferrante - Triage-Memory.mem" imageinfo

    python vol.py -f "C:\Adam Ferrante - Triage-Memory.mem" kdbgscan

     

     

     

    Flag : flag<Win7SP1x64>

     

     

    hey, write this down

     

    notepad.exe 의 프로세스 ID가 무엇인가? 라는 문제입니다.

     

    아래와 같이 명령어를 입력하면 됩니다.

    python vol.py -f "c:\Adam Ferrante - Triage-Memory.mem" --profile=Win7SP1x64 psscan

     

     

    Flag : flag<3032>

     

     

    wscript can haz children

     

    wscript.exe 의 하위 프로세스의 이름을 지정하십시오. 라는 문제입니다.

     

    하위와 관련된 문제이므로 pstree를 확인해 보면 될것 같습니다.

    python vol.py -f "c:\Adam Ferrante - Triage-Memory.mem" --profile=Win7SP1x64 pstree

     

     

    Flag : flag<UWkpjFjDzM.exe>

     

     

    tcpip settings

     

    RAM 덤프가 생성되었을때 시스템의 IP 주소는?

     

    네트워크 관련 문제 이므로 netscan 을 이용해서 문제를 풀면 됩니다.

    python vol.py -f "c:\Adam Ferrante - Triage-Memory.mem" --profile=Win7SP1x64 netscan

     

     

    Flag : flag<10.0.0.101>

     

     

    intel

     

    감염된 PID에 대한 답변을 토대로 공격자의 IP가 무엇인지 확인 할 수 있는가? 에 대한 문제입니다.

     

    일단 먼저 은닉된 프로세스가 있는지 확인하기 위해서 psxview 옵션을 사용해 보겠습니다.

    python vol.py -f "c:\Adam Ferrante - Triage-Memory.mem" --profile=Win7SP1x64 psxview

     

     

    pslist가 False 이고 psscan에서는 True 라는 값이 나왔습니다.

    즉, 스캔했을땐 해당 프로세스를 확인 했지만 pslist에서는 없었기 때문에 은닉된 프로세스 입니다.

     

    해당 프로세스를 이용해 공격한 IP를 찾으면 다음과 같습니다.

     

    Flag : flag<10.0.0.106>

     

     

    i <3 windows dependencies

     

    VCRUNTIME140.dll  파일과 연결되어 있는 프로세스의 이름은 무엇입니까? 라는 문제입니다.

     

    먼저 dll과 관련되어 있기 때문에 dlllist 를 이용해서 dllList.txt 파일로 내용을 추출해서 검색기능을 통해 찾아 보겠습니다.

     

     

     

     

     

    Flag : flag<OfficeClickToR>

     

     

    mal-ware-are-you

     

    시스템에서 잠재적인 멀웨어의 md5 해시값은 무엇인가? 에 대한 문제 입니다. 

     

    앞에서 감염된 PID를 얻을 수 있었기 때문에 해당 파일을 추출해서 HASH 값을 제출하면 될것 같다.

     

    아래 명령어를 이용해서 멀웨어를 덤프떠서 hash값을 알아보겠습니다.

    python vol.py -f "c:\Adam Ferrante - Triage-Memory.mem" --profile=Win7SP1x64 procdump -p  3496 --dump-dir=./ md5sum executable.exe

     

     

     

    Flag : flag<690ea20bc3bdfb328e23005d9a80c290>

     

     

    Im-get bobs hash

     

    Bobs 계정의 LM 해시값은? 이라는 문제입니다.

     

    해시값은 일단 레지스트리 파일중 SAM이 필수적으로 필요하고 SYSTEM도 한번 추출해 보겠습니다.

     

    HASH값을 추출해보겠습니다.

     

     

    Flag : flag<aad3b435b51404eeaad3b435b51404ee>

     

    vad the impaler

    0xfffffa800577ba10의 VAD 노드에는 어떤 보호 기능이 있는가? 에 대한 문제 입니다.

    vad 노드 관련 내용이므로 vadinfo 플러그인을 이용해서 풀어보겠습니다.

     

    아래 명령어를 이용해서 풀어보겠습니다.

    python vol.py -f "c:\Adam Ferrante - Triage-Memory.mem" --profile=Win7SP1x64 vadinfo > vadinfo.txt

     

     

     

    Flag : flag<PAGE_READONLY>

     

     

    more vads?!

    VAD는 0x00000000033c0000에서 시작하여 0x00000000033dff로 끝나는 보호 기능은 무엇인가?에 대한 문제입니다.

     

     

    똑같이 추출 해서 검색해 보겠습니다.

     

    Flag : flag<PAGE_NOACCESS>

     

     

    vacation bible school

     

    시스템에서 VBS 스크립트가 실행되고 있다. 스크립트의 이름은? 이라는 문제입니다.

     

    wscript.exe 의 PID인 5116을 가지고 memdump 모듈을 사용해서 프로세스 덤프를 추출하고 파일을 찾아 보려고 합니다.

     

    아래의 명령어를 통해서 실행해 보겠습니다.

    python vol.py -f "c:\Adam Ferrante - Triage-Memory.mem" --profile=Win7SP1x64 memdump -p 5116 --dump-dir=./

     

     

    Flag : flag<vhjReUDEuumrX>

     

     

    thx microsoft

     

    2019-03-07 23:06:58 UTC에서 응용 프로그램이 실행되었는데, 프로그램의 이름은 무엇인가? 에 대한 문제입니다.

     

    프로그램 시간과 관련된 모듈인 shimcache 플러그인을 이용해서 풀어보겠습니다.

     

    아래의 명령어를 이용해서 풀어보겠습니다.

    python vol.py -f "c:\Adam Ferrante - Triage-Memory.mem" --profile=Win7SP1x64 shimcache | find "2019-03-07"

     

    Flag : flag<Skype.exe>

     

     

    lightbulb moment

     

    메모리 덤프 당시에 notepad.exe로 작성된것은 무엇입니까? 라는 문제입니다.

     

    앞서 Deadbox Forensic을 할때 찾았었던 flag가 하나 있었습니다. 

    그것이 유력한 flag입니다.

     

    먼저 notepad.exe의 메모리를 덤프 떠야합니다.

     

    python vol.py -f "c:\Adam Ferrante - Triage-Memory.mem" --profile=Win7SP1x64 memdump -p 3032 --dump-dir=./

     

    strings.exe C:\Python27\Lib\site-packages\volatility-2.6\volatility-master\3032.dmp | find "flag<"

     

    Flag : flag<REDBULL_IS_LIFE>

     

     

    8675309

    파일 레코드 59045에 있는 파일의 단축 이름은? 이라는 문제 입니다.

     

    파일 레코드라고 해서 MFT인 Master File Table 을 떠올렸습니다.

    또한 이에 대한 플러그인으로 mftparser 가 있습니다.

     

    python vol.py -f "c:\Adam Ferrante - Triage-Memory.mem" --profile=Win7SP1x64 mftparser > mtfffff.txt

     

     

     Flag : flag<EMPLOY~1.XLS>

     

     

    whats-a-metasploit? 

     

    이 박스는(?) 메타스플로잇 되었고 미터프리터를 실행 중입니다. 무슨 PID가 감염되었는가? 에대한 문제 입니다.

     

    앞서서 은닉된 파일을 추출했을때 백신 프로그램이 트로이 목마로 인식하고 삭제 조치 하였습니다.

    그래서 PID는 3496입니다.

     

    Flag : flag<3496>

    댓글

Designed by Tistory.