Nimbo-C2 هو إطار C2 آخر (بسيط وخفيف الوزن).
يدعم Agent Nimbo-C2 X64 Windows & Linux. إنه مكتوب في NIM ، مع بعض استخدام .NET على Windows (عن طريق تحميل CLR ديناميكيًا على العملية). NIM قوي ، ولكن التفاعل مع Windows أسهل بكثير وقوية باستخدام PowerShell ، وبالتالي يتم صنع هذا المزيج. عامل Linux أكثر حزماً وقادرًا على الأوامر الأساسية فقط ، بما في ذلك تحميل ELF باستخدام تقنية memfd
.
جميع مكونات الخادم مكتوبة في بيثون:
لن يكون عملي ممكنًا بدون العمل الرائع السابق الذي قام به الآخرون ، المدرجون بموجب الاعتمادات.
UPX0
، UPX1
) لجعل الكشف وتفريغ أكثر صعوبة.config.jsonc
).memfd
في 2 وضعين.تحذير: من المفترض أن يتم تشغيل Nimbo-C2 فقط داخل حاوية Docker المتوفرة
لاحظ أن التثبيت بهذه الطريقة قد يتسبب في مشاكل أو عدم توافق في المستقبل لأن صورة Docker الآن لا تفرض إصدارات اللغات وإصدارات المكتبات ، لذلك فكر في التخطي إلى الطريقة التالية.
cd
في git clone https://github.com/itaymigdal/Nimbo-C2
cd Nimbo-C2
docker build -t nimbo-dependencies .
cd
مرة أخرى في الملفات المصدر وقم بتشغيل صورة Docker بشكل تفاعلي ، فضح المنفذ 80 ودليل Mount Nimbo-C2 إلى الحاوية (بحيث يمكنك بسهولة الوصول إلى جميع ملفات المشروع ، وتعديل config.jsonc
، وتنزيل الملفات وتحميلها من الوكلاء ، وما إلى ذلك) . بالنسبة إلى Linux استبدال ${pwd}
بـ $(pwd)
. cd Nimbo-C2
docker run -it --rm -p 80:80 -v ${pwd}:/Nimbo-C2 -w /Nimbo-C2 nimbo-dependencies
نحن هنا نستخدم صورة Docker التي تم تصميمها بالفعل واختبارها وتخزينها - الموصى بها .
git clone https://github.com/itaymigdal/Nimbo-C2
cd Nimbo-C2/Nimbo-C2
docker run -it --rm -p 80:80 -v ${pwd}:/Nimbo-C2 -w /Nimbo-C2 itaymigdal/nimbo-dependencies
أولاً ، تحرير config.jsonc
لاحتياجاتك.
ثم قم بالتشغيل مع: python3 Nimbo-C2.py
استخدم أمر help
لكل شاشة ، وإكمال علامة التبويب.
أيضا ، تحقق من دليل الأمثلة.
Nimbo-C2 > help
--== Agent ==--
agent list -> List active agents
agent interact <agent-id> -> Interact with the agent
agent remove <agent-id> -> Remove agent data
--== Builder ==--
build exe -> Build EXE agent (-h for help)
build dll -> Build DLL agent (-h for help)
build elf -> Build ELF agent (-h for help)
--== Listener ==--
listener start -> Start the listener
listener stop -> Stop the listener
listener status -> Print the listener status
--== General ==--
cls -> Clear the screen
help -> Print this help message
exit -> Exit Nimbo-C2
Nimbo-C2 [d337c406] > help
--== Send Commands ==--
cmd <shell-command> -> Execute a shell command
iex <powershell-scriptblock> -> Execute in-memory powershell command
spawn <process-cmdline> -> Spawn new process using WMI win32_process class
--== File Stuff ==--
download <remote-file> -> Download a file from the agent (wrap path with quotes)
upload <local-file> <remote-path> -> Upload a file to the agent (wrap paths with quotes)
--== Discovery Stuff ==--
pstree -> Show process tree
checksec -> Enum security products
software -> Enum installed software
windows -> Enum visible windows
modules -> Enum process loaded modules (exclude Microsoft Dlls)
modules_full -> Enum process loaded modules (include Microsoft Dlls)
--== Collection Stuff ==--
clipboard -> Retrieve clipboard
screenshot -> Retrieve screenshot
audio <record-time> -> Record audio (waits for completion)
keylog start -> Start a keylogger in a new thread
keylog dump -> Retrieve captured keystrokes
keylog stop -> Retrieve captured keystrokes and stop the keylogger
--== Post Exploitation Stuff ==--
lsass examine -> Examine Lsass protections
lsass direct -> Dump Lsass directly (elevation required)
lsass comsvcs -> Dump Lsass using Rundll32 and Comsvcs.dll (elevation required)
lsass eviltwin -> Dump Lsass using the Evil Lsass Twin method (elevation required)
sam -> Dump sam,security,system hives using reg.exe (elevation required)
shellc <raw-shellcode-file> <pid> -> Inject shellcode to a remote process using indirect syscalls
assembly <local-assembly> <args> -> Execute inline .NET assembly (pass all args as a single quoted string)
--== Evasion Stuff ==--
patch amsi -> Patch AMSI using indirect syscalls
patch etw -> Patch ETW using indirect syscalls
--== Persistence Stuff ==--
persist run <command> <key-name> -> Set run key (will try first HKLM, then HKCU)
persist spe <command> <process-name> -> Persist using Silent Process Exit technique (elevation required)
--== Privesc Stuff ==--
uac fodhelper <command> -> Elevate session using the Fodhelper UAC bypass technique
uac sdclt <command> -> Elevate session using the Sdclt UAC bypass technique
--== Interaction stuff ==--
msgbox <title> <text> -> Pop a message box in a new thread
speak <text> -> Speak a string using the microphone
--== Misc stuff ==--
critical <true/false> -> Set agent process as critical (BSOD on termination) (elevation required)
--== Communication Stuff ==--
sleep <sleep-time> <jitter-%> -> Change sleep time interval and jitter
clear -> Clear pending commands
collect -> Recollect agent data
die -> Kill the agent
--== General ==--
show -> Show agent details
back -> Back to main screen
cls -> Clear the screen
help -> Print this help message
exit -> Exit Nimbo-C2
Nimbo-2 [51a33cb9] > help
--== Send Commands ==--
cmd <shell-command> -> Execute a terminal command
--== File Stuff ==--
download <remote-file> -> Download a file from the agent (wrap path with quotes)
upload <local-file> <remote-path> -> Upload a file to the agent (wrap paths with quotes)
--== Post Exploitation Stuff ==--
memfd <mode> <elf-file> <commandline> -> Load ELF in-memory using the memfd_create syscall
implant mode: load the ELF as a child process and return
task mode: load the ELF as a child process, wait on it, and get its output when it's done
(pass the whole command line as a single quoted string)
--== Communication Stuff ==--
sleep <sleep-time> <jitter-%> -> Change sleep time interval and jitter
clear -> Clear pending commands
collect -> Recollect agent data
die -> Kill the agent
--== General ==--
show -> Show agent details
back -> Back to main screen
cls -> Clear the screen
help -> Print this help message
exit -> Exit Nimbo-C2
audio
، lsass
(باستثناء طريقة التوأم الشريرة LSASS) و sam
يحفظ مؤقتًا القطع الأثرية على القرص قبل التخلص منها وحذفها.persist
يدويًا.قد يكون هذا البرنامج عربات التي تجرها الدواب أو غير مستقر في بعض حالات الاستخدام لأنه لا يتم اختباره بالكامل وباستمرار. لا تتردد في فتح القضايا ، العلاقات العامة ، والاتصال بي لأي سبب من الأسباب في (Gmail | LinkedIn | Twitter).