
سكربت بايثون يمكنه اكتشاف وتحليل حركة مرور الشبكة المرتبطة بـ loki-bot (برمجية خبيثة). يمكن أن يكون هذا السكربت مفيدًا لمحللي DFIR والباحثين الأمنيين الذين يريدون معرفة البيانات التي يتم تسريبها إلى C2، وتتبع البوت، وما إلى ذلك...
سكربت بايثون يمكنه اكتشاف وتحليل حركة مرور الشبكة المرتبطة ببرمجية loki-bot (الضارة) بين مضيف مخترَق وخادم القيادة والتحكم (C2). يمكن أن يكون هذا السكربت مفيدًا لمحللي الطب الشرعي الرقمي والاستجابة للحوادث (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 وإعادة تشغيل loki-parse على ملف pcap.
إذا تمكن السكربت من فك ضغط البيانات الموجودة داخل الحزمة بنجاح، فسيتم ببساطة تفريغ هذه البيانات إلى الشاشة (وليس بتنسيق JSON). أخطط لمعالجة هذا في الإصدارات اللاحقة.
لقد وفرت loki-bot_network_traffic.pcap كملف pcap مثال ليمكنك التجربة عليه.
$ sudo ./loki_parse.py
التقاط ملفات PCAPS من الشبكة
{
"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"
}
}