TryHackMe 歴1ヵ月半が参加する Advent of Cyber 2022 [Day 13]

13日目。後半戦!

[Day 13] Simply having a wonderful pcap time

今日は Packet Analysis。Wireshark を用いてパケット解析を行っていく。

流れとしては以下のようになる。

  • Wireshark で HTTP 通信に関する情報を得る
  • HTTP 通信でやり取りされたファイルを抽出する
  • 抽出したファイルのハッシュ値から詳細情報を調べる(VirusTotal
  • 詳細情報からマルウェアの通信先を入手する

What is the "Percent Packets" value of the "Hypertext Transfer Protocol"?

PCAP ファイルを Wireshark で開いた後、Statistics → Protocol Hierarchy で統計情報を開く。

HTTP についての情報もあるので Percent Packets の値を回答する。

Which port number has received more than 1000 packets?

今度は Statistics → Conversations で対話情報を開く。

1000 以上のパケットを受け取っているポート番号を答えればよい。

What is the service name of the used protocol that received more than 1000 packets?

hint にある通り、前問で求めたポート番号を Google で検索するなどして調べると答えが得られる。

What are the domain names? Enter the domains in alphabetical order and defanged format. (format: domain[.]zzz,domain[.]zzz)

まずはフィルタに "dns" と入力し、DNS プロトコルに関する通信だけを表示すると info の欄にドメインが見える。

次にこれをコピーする。ダブルクリックでパケットの詳細情報を開き、Queries の Name を ダブルクリック → Copy → Valueドメインをコピーできる。

最後にこれを defang して誤クリックなどを防ぐ安全な状態にする。defang するには CyberChef を使う。左の Operations から "defang" と検索し、出てきた Defang URL を中央の Recipe にドラッグ&ドロップする。この状態で右側にある Input に先ほど調べたドメインを入力すると Output その下に defang されたドメインが出力される。それが答え(の 1 つ)である。もう 1 つのドメインについても同様。

What are the names of the requested files? Enter the names in alphabetical order and in defanged format. (format: file[.]xyz,file[.]xyz)

先ほどは DNS プロトコルについてフィルタしたが、今度は HTTP をフィルタする("http" と入力してフィルタする)。回答すべきファイル名が見えるので前問と同様、これらを defang して回答する。

Which IP address downloaded the executable file? Enter your answer in defanged format.

HTTP フィルタしたパケットのうち、GET リクエストで実行可能ファイルをリクエストしているソース IP アドレスを defang して回答する。

Which domain address hosts the malicious file? Enter your answer in defanged format.

GET リクエストを送っているパケットをダブルクリックし、詳細を表示すると実行可能ファイルをホストしているドメインが見られるので defang して回答する。

What is the "user-agent" value used to download the non-executable file?

実行可能ファイルじゃない方の GET リクエストをダブルクリックして詳細を表示すると user-agent が確認できる。

What is the sha256 hash value of the executable file?

ここではこれまで見てきた HTTP 通信でやり取りされたファイルを抽出し、そのハッシュ値を求める。

File → Export Objects → HTTP... で HTTP 通信でやり取りされたファイルの一覧を表示できるので Save All をクリックしてファイルを抽出する。

あとはターミナルを開き、sha256sum コマンドで抽出したファイルのハッシュ値を求める。

What are the connected IP addresses? Enter the IP addressed defanged and in numerical order. (format: IPADDR,IPADDR)

ファイルのハッシュ値が求まったので、VirusTotal でファイルに関する情報を探る。SEARCH タブをクリックし、先ほど得られたハッシュ値を入力する。

結果が出たら次は BEHAVIOR タブをクリックする。下方に Network Communication に関する情報が見えるので、そこに記述されている IP アドレス 3 つを defang して回答する。

If you liked working with Wireshark, we have a comprehensive module on this helpful tool here. If you want to dive deeper, the Network Security and Traffic Analysis module is waiting for you! 

No answer needed

感想

VirusTotal はつい 1 週間前(Day 6)で使ったばかりのはずなのにすっかり存在を忘れてしまっていた。したいこと(目的)とそのために使うツールをセットで覚える必要があるなぁと思った。作業の流れを意識するとより覚えやすいしスキルも上がっていいかもしれない。