
سكريبت بايثون 2 لمسح الشبكة للعثور على أنظمة windows المخترقة بأداة DOUBLEPULSAR.
المؤلف: Luke Jennings ([email protected] - @jukelennings)
الشركة: Countercept (@countercept)
الموقع الإلكتروني: https://countercept.com
مجموعة من نصوص Python2 لمسح قائمة عناوين IP للكشف عن وجود زرع DOUBLEPULSAR بنسختي SMB و RDP الذي تم تسريبه من قبل Shadow Brokers. تدعم فحص IP واحد وفحص قائمة عناوين IP في ملف مع دعم تعدد الخيوط. كما تدعم نسخة SMB الإزالة عن بُعد للزرع لغرض المعالجة، وذلك بفضل المعرفة بآلية opcode التي تم فكها بواسطة @zerosum0x0.
هذا إصدار مبكر بهدف السماح للأشخاص باكتشاف الاختراقات في شبكاتهم الآن بعد أن أصبحت هذه الثغرات في البرية ولا شك أنها تُستخدم لاستهداف المؤسسات. يقوم بإعادة تنفيذ أمر ping الخاص بالزرع، والذي يمكن استخدامه عن بُعد دون مصادقة، لتحديد ما إذا كان النظام مصابًا أم لا. يتم دعم نسختي SMB و RDP من الزرع.
لم يتم اختبار جميع إصدارات أنظمة التشغيل وبعضها يفشل حاليًا. على سبيل المثال، يرفض Windows Server 2012 تسلسل SMB برسالة ACCESS_DENIED. ومع ذلك، فإن هذا النظام ليس عرضة لثغرة ETERNALBLUE ويواجه زرع DOUBLEPULSAR نفس الخطأ عند محاولة ping الهدف. لذلك، من المحتمل أن تشير الأخطاء ضد إصدارات معينة من Windows إلى أن النظام غير مخترق.
root@kali:~# python detect_doublepulsar_smb.py --ip 192.168.175.128
[-] [192.168.175.128] No presence of DOUBLEPULSAR SMB implant
root@kali:~# python detect_doublepulsar_smb.py --ip 192.168.175.128
[+] [192.168.175.128] DOUBLEPULSAR SMB IMPLANT DETECTED!!!
root@kali:~# python detect_doublepulsar_rdp.py --file ips.list --verbose --threads 1
[*] [192.168.175.141] Sending negotiation request
[*] [192.168.175.141] Server explicitly refused SSL, reconnecting
[*] [192.168.175.141] Sending non-ssl negotiation request
[*] [192.168.175.141] Sending ping packet
[-] [192.168.175.141] No presence of DOUBLEPULSAR RDP implant
[*] [192.168.175.143] Sending negotiation request
[*] [192.168.175.143] Server chose to use SSL - negotiating SSL connection
[*] [192.168.175.143] Sending SSL client data
[*] [192.168.175.143] Sending ping packet
[-] [192.168.175.143] No presence of DOUBLEPULSAR RDP implant
[*] [192.168.175.142] Sending negotiation request
[*] [192.168.175.142] Sending client data
[*] [192.168.175.142] Sending ping packet
[+] [192.168.175.142] DOUBLEPULSAR RDP IMPLANT DETECTED!!!
root@kali:~# python2 detect_doublepulsar_smb.py --ip 192.168.175.136 --uninstall
[+] [192.168.175.136] DOUBLEPULSAR SMB IMPLANT DETECTED!!! XOR Key: 0x7c3bf3c1
[+] [192.168.175.136] DOUBLEPULSAR uninstall successful
# target network (adapt this to your network)
NETWORKRANGE=192.168.33.0/24
# install the required scanning tools
brew install masscan || apt-get install masscan
git clone https://github.com/countercept/doublepulsar-detection-script.git
cd doublepulsar-detection-script
# scan open ports
masscan -p445 $NETWORKRANGE > smb.lst
masscan -p3389 $NETWORKRANGE > rdp.lst
# clean the list of IPs
sed -i "s/^.* on //" smb.lst
sed -i "s/^.* on //" rdp.lst
# check vulnerabilities on the hosts who have the service open
python detect_doublepulsar_smb.py --file smb.lst
python detect_doublepulsar_rdp.py --file rdp.lst
# Or, if you have the python netaddr library
python detect_doublepulsar_smb.py --net 192.168.0.1/24
يحتوي هذا المستودع أيضًا على ثلاث توقيعات Snort يمكن استخدامها للكشف عن استخدام أمر SESSION_SETUP Trans2 غير المنفذ الذي تستخدمه أداة ping الخاصة بـ SMB وحالات الاستجابة المختلفة. بينما لا نؤيد الاعتماد على التوقيعات للكشف الفعال عن الهجمات، نظرًا لسهولة تجاوزها، إلا أن هذه القواعد محددة للغاية ويجب أن توفر بعض القدرة على الكشف ضد مجموعات التهديد الجديدة التي تعيد استخدام هذه الثغرات والزرع دون تعديل.
https://www.countercept.com/our-thinking/analyzing-the-doublepulsar-kernel-dll-injection-technique/
https://zerosum0x0.blogspot.co.uk/2017/04/doublepulsar-initial-smb-backdoor-ring.html