hacktricks/forensics/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md
2023-07-07 23:42:27 +00:00

9.5 KiB
Raw Blame History

Wiresharkのトリック

Wiresharkのトリック

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Wiresharkスキルの向上

チュートリアル

以下のチュートリアルは、いくつかのクールな基本的なトリックを学ぶために素晴らしいです:

分析情報

エキスパート情報

Analyze --> Expert Information をクリックすると、解析されたパケットの概要が表示されます:

解決されたアドレス

Statistics --> Resolved Addresses の下には、ポート/トランスポートからプロトコルへの変換、MACから製造元への変換など、wiresharkによって「解決された」いくつかの情報が表示されます。通信に関与しているものを知ることは興味深いです。

プロトコル階層

Statistics --> Protocol Hierarchy の下には、通信に関与しているプロトコルとそれに関するデータが表示されます。

会話

Statistics --> Conversations の下には、通信の会話の要約とそれに関するデータが表示されます。

エンドポイント

Statistics --> Endpoints の下には、通信のエンドポイントの要約とそれに関するデータが表示されます。

DNS情報

Statistics --> DNS の下には、キャプチャされたDNSリクエストに関する統計情報が表示されます。

I/Oグラフ

Statistics --> I/O Graph の下には、通信のグラフが表示されます。

フィルター

ここでは、プロトコルに応じたwiresharkフィルターを見つけることができますhttps://www.wireshark.org/docs/dfref/
他の興味深いフィルター:

  • (http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)
  • HTTPおよび初期のHTTPSトラフィック
  • (http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)
  • HTTPおよび初期のHTTPSトラフィック+ TCP SYN
  • (http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)
  • HTTPおよび初期のHTTPSトラフィック+ TCP SYN + DNSリクエスト

検索

セッションのパケット内のコンテンツ検索する場合は、CTRL+f を押します。右ボタンを押して、メイン情報バーNo.、Time、Sourceなどに新しいレイヤーを追加することもできます。

練習:https://www.malware-traffic-analysis.net/

ドメインの識別

Host HTTPヘッダーを表示する列を追加できます

また、初期化されたHTTPS接続のServer名を追加する列も追加できますssl.handshake.type == 1

ローカルホスト名の特定

DHCPから

現在のWiresharkでは、bootpの代わりにDHCPを検索する必要があります。

NBNSから

TLSの復号化

サーバーの秘密鍵を使用してhttpsトラフィックを復号化する

edit>preference>protocol>ssl>

「編集」を押して、サーバーと秘密鍵のすべてのデータIP、ポート、プロトコル、キーファイル、パスワードを追加します。

対称セッションキーを使用してhttpsトラフィックを復号化する

FirefoxとChromeの両方が、TLSトラフィックを暗号化するために使用される対称セッションキーをファイルに記録することをサポートしていることがわかりました。その後、Wiresharkをそのファイルに向けることで、復号化されたTLSトラフィックが表示されます。詳細はこちらhttps://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/
これを検出するには、環境内で変数SSLKEYLOGFILEを検索します。

共有キーのファイルは次のようになります:

これをWiresharkにインポートするには、_edit > preference > protocol > ssl > に移動し、(Pre)-Master-Secret log filenameにインポートします。

ADB通信

APKが送信されたADB通信からAPKを抽出します。

from scapy.all import *

pcap = rdpcap("final2.pcapng")

def rm_data(data):
splitted = data.split(b"DATA")
if len(splitted) == 1:
return data
else:
return splitted[0]+splitted[1][4:]

all_bytes = b""
for pkt in pcap:
if Raw in pkt:
a = pkt[Raw]
if b"WRTE" == bytes(a)[:4]:
all_bytes += rm_data(bytes(a)[24:])
else:
all_bytes += rm_data(bytes(a))
print(all_bytes)

f = open('all_bytes.data', 'w+b')
f.write(all_bytes)
f.close()
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥