Pcap Inspection

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

RootedCONスペイン で最も関連性の高いサイバーセキュリティイベントであり、ヨーロッパ で最も重要なイベントの一つです。技術知識の促進を使命とし、この会議はあらゆる分野の技術とサイバーセキュリティの専門家の熱い交流の場です。

PCAPPCAPNG に関する注意: PCAPファイル形式には2つのバージョンがあります; PCAPNGは新しく、すべてのツールでサポートされているわけではありません。他のツールで作業するために、Wiresharkや他の互換性のあるツールを使用してPCAPNGからPCAPにファイルを変換する必要があるかもしれません。

Online tools for pcaps

Extract Information

次のツールは、統計、ファイルなどを抽出するのに役立ちます。

Wireshark

PCAPを分析する場合、基本的にWiresharkの使い方を知っておく必要があります

Wiresharkのトリックは以下で見つけることができます:

Wireshark tricks

ブラウザからのpcap分析。

Xplico Framework

Xplico _(Linuxのみ)_は、pcap分析し、そこから情報を抽出することができます。たとえば、pcapファイルからXplicoは、各メール(POP、IMAP、SMTPプロトコル)、すべてのHTTPコンテンツ、各VoIP通話(SIP)、FTP、TFTPなどを抽出します。

Install

sudo bash -c 'echo "deb http://repo.xplico.org/ $(lsb_release -s -c) main" /etc/apt/sources.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 791C25CE
sudo apt-get update
sudo apt-get install xplico

実行

/etc/init.d/apache2 restart
/etc/init.d/xplico start

127.0.0.1:9876xplico:xplico の資格情報でアクセスします。

次に、新しいケースを作成し、ケース内に新しいセッションを作成し、pcapファイルをアップロードします。

NetworkMiner

Xplicoと同様に、pcapsからオブジェクトを分析および抽出するツールです。無料版があり、こちらからダウンロードできます。Windowsで動作します。 このツールは、パケットから分析された他の情報を取得するのにも役立ち、より迅速に何が起こっているかを知ることができます。

NetWitness Investigator

こちらからNetWitness Investigatorをダウンロードできます。(Windowsで動作します) これは、パケットを分析し、情報を有用な方法で整理して、内部で何が起こっているかを知るのに役立つ別の便利なツールです。

  • ユーザー名とパスワードを抽出およびエンコード (HTTP, FTP, Telnet, IMAP, SMTP...)

  • 認証ハッシュを抽出し、Hashcatを使用してクラックします (Kerberos, NTLM, CRAM-MD5, HTTP-Digest...)

  • ビジュアルネットワークダイアグラムを作成 (ネットワークノードとユーザー)

  • DNSクエリを抽出

  • すべてのTCPおよびUDPセッションを再構築

  • ファイルカービング

Capinfos

capinfos capture.pcap

Ngrep

pcap内で何か探している場合は、ngrepを使用できます。以下は、主要なフィルターを使用した例です:

ngrep -I packets.pcap "^GET" "port 80 and tcp and host 192.168 and dst host 192.168 and src host 192.168"

カービング

一般的なカービング技術を使用することで、pcapからファイルや情報を抽出するのに役立ちます:

File/Data Carving & Recovery Tools

資格情報のキャプチャ

https://github.com/lgandx/PCredzのようなツールを使用して、pcapまたはライブインターフェースから資格情報を解析できます。

RootedCONは、スペインで最も関連性の高いサイバーセキュリティイベントであり、ヨーロッパで最も重要なイベントの一つです。技術的知識の促進を使命とし、この会議はあらゆる分野の技術とサイバーセキュリティの専門家が集まる熱い交流の場です。

脆弱性/マルウェアの確認

Suricata

インストールと設定

apt-get install suricata
apt-get install oinkmaster
echo "url = http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz" >> /etc/oinkmaster.conf
oinkmaster -C /etc/oinkmaster.conf -o /etc/suricata/rules

pcapを確認する

suricata -r packets.pcap -c /etc/suricata/suricata.yaml -k none -v -l log

YaraPcap

YaraPCAP は、以下の機能を持つツールです。

  • PCAPファイルを読み込み、Httpストリームを抽出します。

  • 圧縮されたストリームをgzipで解凍します。

  • すべてのファイルをyaraでスキャンします。

  • report.txtを作成します。

  • 一致するファイルをディレクトリに保存するオプションがあります。

Malware Analysis

既知のマルウェアのフィンガープリントを見つけられるか確認してください:

Malware Analysis

Zeek

Zeek は、受動的なオープンソースのネットワークトラフィックアナライザーです。多くのオペレーターは、疑わしいまたは悪意のある活動の調査をサポートするために、Zeekをネットワークセキュリティモニター(NSM)として使用しています。Zeekは、セキュリティドメインを超えたパフォーマンス測定やトラブルシューティングを含む、幅広いトラフィック分析タスクもサポートしています。

基本的に、zeekによって作成されたログはpcapではありません。したがって、pcapに関する情報を分析するためには、他のツールを使用する必要があります。

Connections Info

#Get info about longest connections (add "grep udp" to see only udp traffic)
#The longest connection might be of malware (constant reverse shell?)
cat conn.log | zeek-cut id.orig_h id.orig_p id.resp_h id.resp_p proto service duration | sort -nrk 7 | head -n 10

10.55.100.100   49778   65.52.108.225   443     tcp     -       86222.365445
10.55.100.107   56099   111.221.29.113  443     tcp     -       86220.126151
10.55.100.110   60168   40.77.229.82    443     tcp     -       86160.119664


#Improve the metrics by summing up the total duration time for connections that have the same destination IP and Port.
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto duration | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2 FS $3 FS $4] += $5 } END{ for (key in arr) printf "%s%s%s\n", key, FS, arr[key] }' | sort -nrk 5 | head -n 10

10.55.100.100   65.52.108.225   443     tcp     86222.4
10.55.100.107   111.221.29.113  443     tcp     86220.1
10.55.100.110   40.77.229.82    443     tcp     86160.1

#Get the number of connections summed up per each line
cat conn.log | zeek-cut id.orig_h id.resp_h duration | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2] += $3; count[$1 FS $2] += 1 } END{ for (key in arr) printf "%s%s%s%s%s\n", key, FS, count[key], FS, arr[key] }' | sort -nrk 4 | head -n 10

10.55.100.100   65.52.108.225   1       86222.4
10.55.100.107   111.221.29.113  1       86220.1
10.55.100.110   40.77.229.82    134       86160.1

#Check if any IP is connecting to 1.1.1.1
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto service | grep '1.1.1.1' | sort | uniq -c

#Get number of connections per source IP, dest IP and dest Port
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2 FS $3 FS $4] += 1 } END{ for (key in arr) printf "%s%s%s\n", key, FS, arr[key] }' | sort -nrk 5 | head -n 10


# RITA
#Something similar can be done with the tool rita
rita show-long-connections -H --limit 10 zeek_logs

+---------------+----------------+--------------------------+----------------+
|   SOURCE IP   | DESTINATION IP | DSTPORT:PROTOCOL:SERVICE |    DURATION    |
+---------------+----------------+--------------------------+----------------+
| 10.55.100.100 | 65.52.108.225  | 443:tcp:-                | 23h57m2.3655s  |
| 10.55.100.107 | 111.221.29.113 | 443:tcp:-                | 23h57m0.1262s  |
| 10.55.100.110 | 40.77.229.82   | 443:tcp:-                | 23h56m0.1197s  |

#Get connections info from rita
rita show-beacons zeek_logs | head -n 10
Score,Source IP,Destination IP,Connections,Avg Bytes,Intvl Range,Size Range,Top Intvl,Top Size,Top Intvl Count,Top Size Count,Intvl Skew,Size Skew,Intvl Dispersion,Size Dispersion
1,192.168.88.2,165.227.88.15,108858,197,860,182,1,89,53341,108319,0,0,0,0
1,10.55.100.111,165.227.216.194,20054,92,29,52,1,52,7774,20053,0,0,0,0
0.838,10.55.200.10,205.251.194.64,210,69,29398,4,300,70,109,205,0,0,0,0

DNS情報

#Get info about each DNS request performed
cat dns.log | zeek-cut -c id.orig_h query qtype_name answers

#Get the number of times each domain was requested and get the top 10
cat dns.log | zeek-cut query | sort | uniq | rev | cut -d '.' -f 1-2 | rev | sort | uniq -c | sort -nr | head -n 10

#Get all the IPs
cat dns.log | zeek-cut id.orig_h query | grep 'example\.com' | cut -f 1 | sort | uniq -c

#Sort the most common DNS record request (should be A)
cat dns.log | zeek-cut qtype_name | sort | uniq -c | sort -nr

#See top DNS domain requested with rita
rita show-exploded-dns -H --limit 10 zeek_logs

その他のpcap分析のトリック

DNSCat pcap analysisWifi Pcap AnalysisUSB Keystrokes

RootedCONスペイン で最も関連性の高いサイバーセキュリティイベントであり、ヨーロッパ で最も重要なイベントの一つです。技術知識の促進を使命とし、この会議はあらゆる分野の技術とサイバーセキュリティの専門家が集まる熱い交流の場です。

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする

Last updated