NIMBO-C2는 또 다른 (간단하고 경량) C2 프레임 워크입니다.
NIMBO-C2 에이전트는 X64 Windows & Linux를 지원합니다. Windows에서 .NET을 사용하여 NIM으로 작성되었습니다 (CLR을 프로세스에 동적으로로드하여). NIM은 강력하지만 PowerShell을 사용하여 Windows와 상호 작용하는 것이 훨씬 쉽고 강력 하므로이 조합이 이루어집니다. Linux 에이전트는 더 얇고 memfd
기술을 사용한 ELF 로딩을 포함하여 기본 명령 만 더 적합합니다.
모든 서버 구성 요소는 파이썬으로 작성됩니다.
저의 작품은 크레딧 아래에 나열된 다른 사람들이 수행 한 이전의 위대한 일 없이는 불가능할 것입니다.
UPX0
, UPX1
)을 난독 화하여 감지하고 포장을 풀기가 더 어려워집니다.config.jsonc
가 구성 할 수 있음).memfd
사용한 엘프 로딩.경고 : Nimbo-C2는 제공된 Docker 컨테이너 내에서만 실행됩니다.
Docker 이미지가 언어 및 라이브러리 버전을 시행하지 않으므로 이러한 방식 으로이 방식을 설치하면 향후 문제 또는 비 호환성을 유발할 수 있으므로 다음 방법으로 건너 뛰는 것을 고려하십시오.
cd
복제하십시오 git clone https://github.com/itaymigdal/Nimbo-C2
cd Nimbo-C2
docker build -t nimbo-dependencies .
cd
넣고 대화식으로 Docker 이미지를 실행하고 포트 80 및 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
(Evil LSASS Twin 방법 제외) 및 sam
명령은 유물을 제외하고 삭제하기 전에 인공물을 디스크에 일시적으로 저장합니다.persist
명령을 청소하는 것은 수동으로 수행해야합니다.이 소프트웨어는 완전하고 지속적으로 테스트되지 않았기 때문에 일부 사용 사례에서 버그가 많거나 불안정 할 수 있습니다. (Gmail | LinkedIn | Twitter)에서 문제를 열고 PR을 열어 주시고 저에게 연락하십시오.