DNSCat pcap analysis

HackTricksをサポートする

DNSCatによって流出したデータを含むpcapがある場合(暗号化を使用していない場合)、流出したコンテンツを見つけることができます。

最初の9バイトは実際のデータではなく、C&C通信に関連していることを知っておく必要があります。

from scapy.all import rdpcap, DNSQR, DNSRR
import struct

f = ""
last = ""
for p in rdpcap('ch21.pcap'):
if p.haslayer(DNSQR) and not p.haslayer(DNSRR):

qry = p[DNSQR].qname.replace(".jz-n-bs.local.","").strip().split(".")
qry = ''.join(_.decode('hex') for _ in qry)[9:]
if last != qry:
print(qry)
f += qry
last = qry

#print(f)

詳細については、次のリンクを参照してください: https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap https://github.com/iagox86/dnscat2/blob/master/doc/protocol.md

Python3で動作するスクリプトがあります: https://github.com/josemlwdf/DNScat-Decoder

python3 dnscat_decoder.py sample.pcap bad_domain
HackTricksをサポートする

Last updated