paloaltoの解析講座5~7：Wireshark

<!--
2023/11/20
-->
* paloalto解析講座の続き
使う時のために便利そうな情報をまとめておく

https://unit42.paloaltonetworks.jp/wireshark-tutorial-examining-trickbot-infections/

https://unit42.paloaltonetworks.jp/wireshark-tutorial-examining-ursnif-infections/

https://unit42.paloaltonetworks.jp/tutorial-qakbot-infection/

## Trickbotの感染調査
* 使用するフィルタ

|No|Filter|Overview|
|---|---|---|
|1|(http.request or tls.handshake.type eq 1) and !(ssdp)|HTTP,TLSの通信を確認（basic）|
|2|(http.request or tls.handshake.type eq 1 or (tcp.flags.syn eq 1 and tcp.flags.ack eq 0)) and !(ssdp)|TCPの接続試行を確認（basic+）|
|3|tls.handshake.type == 11|証明書の確認|
|4|http.request and tcp.port eq 8082|Trickbotが生成する8082番PortのHTTPパケットを確認|
|5|http.request and ip contains ".png"|HTTPで送信されるPNGファイルを確認|

* 証明書の確認
`Server Hello`で、サーバの証明書を確認する。
以下の順で、データを展開
`Transport Layer Security` `TLSv1 Record Layer: Handshake Protocol: Certificate` `Handshake Protocol: Certificate` `Certificates` `Certificate` `signedCertificate` `issuer` `rdnSequence`
Trikbotの場合、`state`の値が不審であり、項目も少ない。
![screenshot 16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160736/819414b7-ac88-e99c-cad4-10899da42078.png)
<br>

* 自分のIP addressを確認するサイトの例
マルウェアが、感染者のIPを調査するために使用する場合がある。

|No|Domain name|Note|
|---|---|---|
|1|api.ip.sb||
|2|checkip.amazonaws.com||
|3|icanhazip.com||
|4|ident.me||
|5|ip.anysrc.net||
|6|ipecho.net||
|7|ipinfo.io||
|8|myexternalip.com||
|9|wtfismyip.com||
|10|ipconfig.io|addition|

## Ursnifの感染調査
* 使用するフィルタ

|No|Filter|Overview|
|---|---|---|
|1|(http.request or tls.handshake.type eq 1) and !(ssdp)|HTTP,TLSの通信を確認（basic）|
|2|(http.request or tls.handshake.type eq 1 or (tcp.flags.syn eq 1 and tcp.flags.ack eq 0)) and !(ssdp)|TCPの接続試行を確認（basic+）|
|3|tls.handshake.type == 11|証明書の確認|
|4|dns.qry.name contains "opendns"|オープンリゾルバの検索|
|5|((http.request or http.response) and ip.addr eq 194.1.236.191) or dns.qry.name contains tnzf3380au or dns.qry.name contains xijamaalj|Sample|
|6|(ip.addr eq 94.140.114.6 or ip.addr eq 5.61.34.51) and tls.handshake.type eq 11|特定の証明書を表示するためのSample|
|7|ip contains "This program"|実行ファイルを検索|
|8|http.request and ip contains ".rar"|rarファイルをリクエストしたパケットの検索|

## Qakbotの感染調査
* 使用するフィルタ

|No|Filter|Overview|
|---|---|---|
|1|http.request.full_uri contains store.nvprivateoffice|特定のURIのみ表示|
|2|tcp.flags eq 0x0002 and !(tcp.port eq 80) and !(tcp.port eq 443)|web以外のパケットを表示|
|3|smtp or imap or pop|電子メールのパケットを表示|
<br>


* 大きなファイルの出力
パケットの中に収まらない場合、分割されてしまう。
![screenshot 8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160736/7b82373c-7f89-e978-6bcf-f96a9c5ce949.png)
<br>

* `Follow` `TCP Stream`からデータを表示する。
レスポンスのみを表示して、出力。
なお`Show data as`を`Raw`にしないと、文字列として出力されてしまうので注意。
![screenshot 15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160736/3c728271-134a-7c37-bbe0-6490eb393e40.png)
<br>

* HTTPのヘッダ情報が付加された状態でも、zipファイルとして認識される。
`unzip`コマンドで解凍も可能。
![screenshot 12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160736/edb0bd6b-8936-f67b-6460-f48b2b7f0d8c.png)
<br>

* `hexeditor`で編集すれば、`Engrampa`（GUI）でも解凍できる。
`-b`オプションがないと、編集できない。
HTTPヘッダを削除すると、`file`コマンドの結果にも反映される。
![screenshot 13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160736/67e1ebd2-cd2c-e919-1dc9-064ee4bde076.png)
![screenshot 14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160736/22a0885c-8342-471d-a0a3-04bbc3fe5cb6.png)
<br>

* 以上です。