一款Python脚本,能够检测并解析被入侵主机与C2服务器之间的loki-bot(恶意软件)相关网络流量。该脚本可帮助DFIR分析师和安全研究人员了解哪些数据被外泄至C2服务器、进行僵尸网络追踪等。
该脚本可以直接嗅探网络接口(无需交换机),或读取PCAP网络流量文件(使用 --pcap $pcap_file)。当脚本检测到loki-bot相关网络流量时,会以JSON格式将数据包中的内容输出到屏幕。
部分数据包包含经aPLib压缩的外泄数据。脚本会解压这些数据并显示在屏幕上,但请注意,还有额外的处理尚未集成到本脚本中……目前如此。因此,务必同时下载aplib.py脚本,并将其与loki-parse.py放在同一目录下。该脚本是loki-parse成功运行所必需的。
最后,用于嗅探网络流量的代码存在一个问题,即数据包的数据部分可能被截断。这似乎与scapy解析流量的方式有关。较大且包含压缩数据的数据包可能会出现此问题。如果发生这种情况,将创建以下字典键:
Decompressed Application/Credential Data': 'ERROR: Incomplete Packet Detected
该问题在保存的PCAP文件中似乎不会出现。因此,如果遇到此错误,请尝试将网络流量保存为pcap文件,然后重新对pcap运行loki-parse。
如果脚本成功解压了数据包中的数据,这些数据将直接显示在屏幕上(非JSON格式)。我计划在后续版本中解决此问题。
我提供了 loki-bot_network_traffic.pcap 作为示例pcap文件供您试用。
$ sudo ./loki_parse.py
从网络接口嗅探PCAP
{
"Compromised Host/User Data": {
"Compressed Application/Credential Data Size (Bytes)": 2310,
"Compression Type": 0,
"Data Compressed": true,
"Encoded": false,
"Encoding": 0,
"Original Application/Credential Data Size (Bytes)": 8545
},
"Compromised Host/User Description": {
"64bit OS": false,
"Built-In Admin": true,
"Domain Hostname": "REMWorkstation",
"Hostname": "REMWORKSTATION",
"Local Admin": true,
"Operating System": "Windows 8.1 Workstation",
"Screen Resolution": "3440x1440",
"User Name": "REM"
},
"Malware Artifacts/IOCs": {
"Binary ID": "XXXXX11111",
"Loki-Bot Version": 1.8,
"Mutex": "B7E1C2CC98066B250DDB2123",
"Potential Hidden File [Hash Database]": "%APPDATA%\\C98066\\6B250D.hdb",
"Potential Hidden File [Keylogger Database]": "%APPDATA%\\C98066\\6B250D.kdb",
"Potential Hidden File [Lock File]": "%APPDATA%\\C98066\\6B250D.lck",
"Potential Hidden File [Malware Exe]": "%APPDATA%\\C98066\\6B250D.exe",
"Unique Key": "g5cy2",
"User-Agent String": "Mozilla/4.08 (Charon; Inferno)"
},
"Network": {
"Data Transmission Time": "2017-04-27T15:03:20.921806",
"Destination Host": "185.141.27.187",
"Destination IP": "185.141.27.187",
"Destination Port": 80,
"First Transmission": true,
"HTTP Method": "POST",
"HTTP URI": "/danielsden/ver.php",
"Source IP": "172.16.0.130",
"Source Port": 49344,
"Traffic Purpose": "Exfiltrate Application/Credential Data"
}
}