
أداة آلية لهجمات ترحيل NTLM تجمع بين تسميم Responder وترحيل Impacket وsecretsdump لالتقاط بيانات الاعتماد، وترحيل الهاشات، والحركة الجانبية.
كما يوحي الاسم، فهو سم. Cyanide هو في الأساس أداة تعقب لربط تقنيات التسميم المختلفة (يُستخدم حالياً Responder فقط) مع تمرير التجزئات الملتقطة عبر ntlmrelayx.py من Impacket. عند التشغيل، سيقوم بتشغيل Responder بدون خوادم SMB أو HTTP أو DNS، وسيقوم بتشغيل Ntlmrelayx مع خوادم SMB و HTTP افتراضياً. سيزودك الإخراج بالمعلومات التالية:
ملف إلزامي لأهداف ntlmrelayx هو required. إذا كنت تريد فقط التقاط التجزئات، ضع ببساطة smb://127.0.0.1، وإلا فقم بتوفير قائمة بالأهداف كما تفعل عادةً (مثل smb://10.0.0.8\n mssql://10.0.0.9)
هناك طريقتان يمكن استخدامه بهما.
الطريقة الموصى بها. ستستخدم هذه الطريقة التجزئات الملتقطة عبر SMB/HTTP وترحيلها إلى الأهداف المحددة في ملف الأهداف. عند نجاح الترحيل، سيتم تشغيل secretsdump وسيتم (نأمل) تفريغ SAM.
لكي ينجح تسجيل الدخول، يجب أن يكون توقيع smb معطلاً على نقطة الهدف النهائية.
ستستمر هذه الطريقة في تسميم المضيفين عبر Responder، ولكنها لن تقوم بالترحيل. من أجل الاستمرار في التقاط SMB / HTTP، ستحتاج إلى تحديد مضيف smb://127.0.0.1 في ملف أهداف ntlmrelayx المطلوب.
python3 -m venv venv
. venv/bin/activate
git clone https://github.com/horizon3ai/cyanide.git
cd cyanide
pip install -r requirements.txt
sudo -i (must be ran under root account)
python cyanide.py -iface <eth0> --watch --stdout-only --responder -ntf ntlmrelayx_targets.txt
ملاحظة: سيتيح لك الخيار --watch/-w تعديل ملف الأهداف أثناء تشغيل البرنامج وإضافة/حذف الأهداف. سيقوم Impacket تلقائياً باكتشاف التغييرات وتحديثها.
python cyanide.py -iface <eth0> --stdout-only --responder -ntf ntlmrelayx_targets.txt --no-relay
يستخدم Cyanide قواعد بيانات sqlite لتخزين معلومات المضيفين الذين تم تسميمهم (poisoner_cache.db)، والترحيلات التي تحدث (poisoner_relay.db)، و(إذا لم تحدد --stdout-only) الرسائل النهائية التي تحتوي على مصدر المُسمِّم وأحداث الترحيل وبيانات secretsdump سيتم وضعها في قاعدة بيانات الإنتاج (poisoner_prod.db). سيتم تفريغ poisoner_prod.db إلى ملف إخراج محدد كل 30 ثانية. ملاحظة: هذا يعني أن النتائج سيتم استبدالها كل 30 ثانية.
python cyanide.py -iface <eth0> --watch --responder -ntf ntlmrelayx_targets.txt
python cyanide.py -iface <eth0> --responder -ntf ntlmrelayx_targets.txt --no-relay
جميع الأكواد باستثناء أي ملفات ضمن horizon3_impacket تخضع لترخيص GPLv3. جميع الأكواد ضمن horizon3_impacket تخضع للترخيص الأصلي لـ Impacket وهو Apache. لمزيد من المعلومات، يرجى الاطلاع على دليل licenses.