Pcap Inspection

ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

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

PCAPPCAPNGについての注意:PCAPファイル形式には2つのバージョンがあります。PCAPNGは新しいバージョンであり、すべてのツールでサポートされていません。他のツールで使用するために、一部のツールで動作するようにPCAPNGファイルをPCAPに変換する必要があるかもしれません。

Pcap用のオンラインツール

情報の抽出

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

Wireshark

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

Wiresharkのトリックは次の場所で見つけることができます:

pageWireshark tricks

Xplico Framework

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

インストール

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:9876、資格情報はxplico:xplico_で行います。

次に新しいケースを作成し、そのケース内に新しいセッションを作成し、pcapファイルをアップロードしてください。

NetworkMiner

Xplicoと同様に、pcapからオブジェクトを解析および抽出するツールです。こちら から無料版をダウンロードできます。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"

Carving

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

pageFile/Data Carving & Recovery Tools

資格情報のキャプチャ

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

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

Exploits/Malware のチェック

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

既知のマルウェアの指紋を見つけることができるかどうかを確認してください:

pageMalware Analysis

Zeek

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

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

#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分析のテクニック

pageDNSCat pcap analysispageWifi Pcap AnalysispageUSB Keystrokes

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

**htARTE (HackTricks AWS Red Team Expert)**を使って、ゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法:

Last updated