NIMBO-C2 เป็นอีกเฟรมเวิร์ก C2 ที่เรียบง่ายและมีน้ำหนักเบา)
ตัวแทน NIMBO-C2 รองรับ X64 Windows & Linux มันเขียนด้วย NIM โดยมีการใช้งาน. NET บน Windows (โดยการโหลด CLR แบบไดนามิกไปยังกระบวนการ) NIM นั้นทรงพลัง แต่การมีปฏิสัมพันธ์กับหน้าต่างนั้นง่ายและแข็งแกร่งมากโดยใช้ PowerShell ดังนั้นการรวมกันนี้จึงเกิดขึ้น เอเจนต์ Linux นั้นมีความบางและมีความสามารถเฉพาะคำสั่งพื้นฐานรวมถึงการโหลดเอลฟ์โดยใช้เทคนิค memfd
ส่วนประกอบเซิร์ฟเวอร์ทั้งหมดเขียนใน Python:
งานของฉันจะเป็นไปไม่ได้หากไม่มีงานที่ยอดเยี่ยมก่อนหน้านี้โดยคนอื่น ๆ ที่ระบุไว้ภายใต้เครดิต
UPX0
, UPX1
) เพื่อให้การตรวจจับและการเปิดออกยากขึ้นconfig.jsonc
)memfd
ใน 2 โหมดคำเตือน: NIMBO-C2 มีความหมายว่าจะทำงานเฉพาะภายในคอนเทนเนอร์ 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
ที่นี่เรากำลังใช้อิมเมจนักเทียบท่าที่สร้างขึ้นแล้วและจัดเก็บไว้แล้ว - แนะนำ
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
(ยกเว้นวิธี TWIN LSASS ที่ชั่วร้าย) และ sam
สั่งการบันทึกสิ่งประดิษฐ์ลงในดิสก์ชั่วคราวก่อนที่จะ exfiltrate และลบออกpersist
ที่ควรทำด้วยตนเองซอฟต์แวร์นี้อาจมีบั๊กหรือไม่เสถียรในบางกรณีการใช้งานเนื่องจากไม่ได้รับการทดสอบอย่างเต็มที่และตลอดเวลา อย่าลังเลที่จะเปิดปัญหา PR และติดต่อฉันด้วยเหตุผลใดก็ตามที่ (Gmail | LinkedIn | Twitter)