contrailCTF2019 Forensic Writeup
三週間近く出遅れたけれど、やっと今年のCTFに辿り着いた。
ちょっと前まで話題になっていた気がするcontrailCTFのWriteupをお届け致します。
Persistence
Can you find persistence.
貰ったファイル「forensics_persistence.arn」を見てみる。
# file forensics_persistence.arn
forensics_persistence.arn: DIY-Thermocam raw data (Lepton 2.x), scale 0-0, spot sensor temperature 0.000000, unit celsius, color scheme 0, calibration: offset 2361183241434822606848.000000, slope 32.249870
よく分からんので、.arnを調べる。
おそらく.arnは、Windows起動時のプログラム実行設定が書いてあるのだという理解でいく。
「Autoruns」の膨大な情報から本当に怪しいヤツをあぶりだすテク:ITプロ必携の超便利システム管理ツール集(2) - @IT
Sysinternalsのautorunsツールで自動起動するプログラムを調査する:Tech TIPS - @IT
これらに従って、Autoruns.exeを使ってみると、Task SchedulerのEvilっていう怪しいkeyにflagがある。
ctrctf{P3rs1st3nc3_5ch3dul3d_Ta3ks}
alice's_password
Alice losts her password...
I lockyou alice's password.
zip password is md5(alice's password)
Forensicといえばメモリダンプとディスクイメージというのが本来だが、最近めっきり見なくなったメモリダンプ解析問題。とりあえず、volatility使うのが定石。そんで、SECCONの過去問でこんなの見たことある。レジストリの仮想アドレス見て、SYSTEMとSAMレジストリあればパスワードのハッシュダンプできる。
https://gomiba.co.in/blog/archives/342
# volatility -f memdump.mem --profile=Win7SP1x64 hivelist
Volatility Foundation Volatility Framework 2.6
Virtual Physical Name
------------------ ------------------ ----
~略~
0xfffff8a000024010 0x000000002d4c2010 \REGISTRY\MACHINE\SYSTEM
~略~
0xfffff8a0063fa010 0x0000000077843010 \SystemRoot\System32\Config\SAM
# volatility -f memdump.mem --profile=Win7SP1x64 -y 0xfffff8a000024010 -s 0xfffff8a0063fa010 hashdump
Volatility Foundation Volatility Framework 2.6
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Aqua:1000:aad3b435b51404eeaad3b435b51404ee:813ea107eccdab91a1b9c15b67693cb4:::
Alice:1001:aad3b435b51404eeaad3b435b51404ee:19bf8c07d19ea196464115e443854654:::
とりあえずAliceのntlmハッシュをCrackStationに投げるとハッシュ解読できて、それをmd5が別で貰ったzipファイルのパスワードということでflag
ctrctf{Y0u_c4n_dump_4nd_cr4ck_hash!}
できるならばjohnでハッシュ解決したかったけど、今後の課題。
cutecats
I'm browsing cute catz...
Do you know my password ?
同じメモリダンプで問題に取り組む。まず、問題文の「cute catz」が引っかかった。catz? もう一つcutecatsを見て、「mimikatzはフランス語だかでcute catsを意味する」というのを思い出した。つまりmimikatzを使うということですな。
Tag : forensics volatility mimikatz « g4ngli0s's blog
Windows Credentials and Memory Dumps – Part 4: Volatility & Mimikatz | govolution
plugins使う場合は、windowsだと色々モジュールが必要でメンドクサソウ。
# volatility --plugins=/usr/share/volatility/plugins -f memdump.mem --profile=Win7SP1x64 mimikatz
Volatility Foundation Volatility Framework 2.6
Module User Domain Password
-------- ---------------- ---------------- ----------------------------------------
wdigest Aqua WIN-O1AE35RFM94 ctrctf{Y0u_c4n_us3_m1m1katz}
wdigest WIN-O1AE35RFM94$ WORKGROUP
ctrctf{Y0u_c4n_us3_m1m1katz}
once_again
Can you find registry ?
新たに与えられたメモリダンプ「onceagain.mem」を見ていく。レジストリの何を見るんだろ。手がかりはおそらく「once again」。そこで「windows registry once again」で調べてみると、
Run and RunOnce Registry Keys - Win32 apps | Microsoft Docs
「RunOnce」これかなということで見てみる。
# volatility -f onceagain.mem --profile=Win7SP1x64 printkey -K "Microsoft\Windows\CurrentVersion\RunOnce"
Volatility Foundation Volatility Framework 2.6
Legend: (S) = Stable (V) = Volatile
----------------------------
Registry: \SystemRoot\System32\Config\SOFTWARE
Key name: RunOnce (S)
Last updated: 2019-12-10 14:09:45 UTC+0000
Subkeys:
Values:
REG_SZ flag : (S) pgspgs{i0yng1y1gl_1f_hf3shy_zrz0elnanylf1f}
これだね。
# echo pgspgs{i0yng1y1gl_1f_hf3shy_zrz0elnanylf1f} | nkf -r
ctfctf{v0lat1l1ty_1s_us3ful_mem0ryanalys1s}
ちゃんとCTF開催中に参加したいこの頃