このブログは、数年前にN高等学校を卒業し株式会社 Armoris にやってきたアルバイト Kaepi が書いています。
あるもりすぶろぐの内容は個人の意見です。
概要
May 2021 Forensic Contestの問題を解いてみる。
Forensic Contestとは毎月発表される問題を最初に正解した人が景品をもらえるコンテストです。
問題の内容はpcapを分析して、悪意のあるメールを開いたことによってマルウェアに感染したWindows PCの情報などを答えるものになっています。
問題は全部で5問あり、以下は各問題文になります。
1. IP address of the infected Windows computer. 2. Host name of the infected Windows computer. 3. User account name on the infected Windows computer. 4. Date and time the infection activity began in UTC (the GMT or Zulu timezone). 5. The family of malware involved.
以下は問題文を日本語訳したものになります。
1. 感染したPCのipアドレス 2. 感染したPCのホストネーム 3. 感染したPCのユーザーアカウントネーム 4. 感染した時間 5. 感染したマルウェアの種類
問題を掲載しているサイト:May 2021 Forensic Contest
環境
今回使用するpcapファイルには実際に感染したwindowsのパケットが含まれているため、分析は仮想環境など隔離された環境で行うこと
アプローチ
問題1
問題1の感染したPCのipアドレスを特定するために以下の手順で分析を行いました。
今回の感染源は悪意のあるメールなので、まずはWiresharkのフィルターにsmtp
を設定してメール関係のパケットに絞って確認していきます。
次にメールを受信しているパケットを確認すると、いくつかのメールを172.17.4.20
が受け取っていることがわかりました。
問題2-3
次に問題2と3の感染したPCのホストネームとユーザーアカウントネームを特定するために、以下の手順で分析を行いました。
Wiresharkでwindowsのホストネームとユーザーアカウントネームを調べる方法については以下のサイトを参考にしました。 - 参考にしたサイト
サイトを参考にkerberos.CNameString
でフィルターするとCNameStringが含まれたパケットが表示されるので、No.104のパケットをKerberos->as-req->req-body->cname->cname-string
の順にツリーを展開して、CNameString を選択して Apply as Column します。
この手順でDESKTOP-V0FEH1L$
やalfonso.paternoster
を確認することができました。
この方法でホストネームを調べると末尾に$が付くので解答する際に消します。
4-5
最後に問題4と5のマルウェアに感染した時刻とそのマルウェアの種類を特定するために、以下の手順で分析を行いました。
Wiresharkでマルウェアの情報を調べる方法については以下のサイトを参考にしました。 - 参考にしたサイト
サイトを参考に、Wireshark上部のメニューからFile->Export Objects->HTTP
を開くと
ひとつだけ怪しいHostnameのところからダウンロードしているのを見つけました。
ファイルの名前で検索をするとHTTP GETでマルウェアをダウンロードしているパケットが見つかるので、このパケットの時刻に感染したことになります。
またこのHostnameをmalwareurlというサイトで検索したところTrojan Qakbotになっていました。
このことから感染したマルウェアの種類はTrojan Qakbotになります。
感想
全体的に調べれば解き方がわかるような問題が多かったので思った以上に簡単でした。
(外部サービスを使わずにパケットの特徴からマルウェアの種類を調べたりするともう少し勉強になったかもしれない。)
すでに多くのサイトやブログで解答が出ていますが、今回の紹介した方法で出した解答は以下になります。