简介
Arsenal-Kit 是 CobaltStrike 官方推出的一款免杀套件,旨在替代原生的 Artifact Kit,提供更强的免杀能力。它通过多种技术手段(如内存注入、线程堆栈欺骗、反射加载器等)生成可执行文件(EXE、DLL 和 Service EXE),以绕过主流杀毒软件的检测。Arsenal-Kit 支持 CobaltStrike 4.x 及以上版本,并包含多个独立套件,如 Artifact Kit、Sleepmask Kit、Process Inject Kit 等,用户可以根据需求灵活配置和编译。
作用
-
提升免杀效果
Arsenal-Kit 通过多种绕过技术(如 mailslot、peek、pipe 等)和内存分配策略(如 HeapAlloc、VirtualAlloc 等),显著提高了生成的恶意文件的免杀能力。例如,Stageless Payload 能够同时绕过 360、火绒和 Windows Defender 的静态查杀。 -
支持多种攻击场景
该套件广泛应用于 CobaltStrike 的多种攻击场景,包括生成 Windows Stager/Stageless Payload、Scripted Web Delivery、Beacon 的提权命令(如 elevate svc-exe、jump psexec)等,为渗透测试提供更多隐蔽性。 -
灵活配置与扩展
Arsenal-Kit 允许用户通过修改配置文件(arsenal_kit.config)选择需要编译的套件,并支持自定义内存分配策略、绕过技术和资源文件(如版本信息、图标等),以满足不同场景的需求。 -
集成与兼容性
该套件可以与其他 CobaltStrike 插件(如 PostExpKit)集成,用于提权模块的免杀处理,避免落地 DLL 文件被查杀。同时,它支持多种 CobaltStrike 版本,并已在基于 Debian 的 Linux 平台上测试通过。
总之,Arsenal-Kit 通过其强大的免杀能力和灵活的配置选项,为渗透测试人员提供了更隐蔽的攻击工具。它的出现不仅提升了 CobaltStrike 的实战价值,也对传统的安全防御机制构成了新的挑战。
本次分享的版本是最近流出的官方原版 arsenal-kit20240716.tgz
文件SHA256: 3f86949bf73673cd50c1b905f6340e4cff85597e9beef338c7664d437fafa29d
文件结构如下:
arsenal-kit
├── README.md
├── arsenal_kit.config
├── build_arsenal_kit.sh
├── kits
│ ├── artifact
│ │ ├── README.md
│ │ ├── README_STACK_SPOOF.md
│ │ ├── build.sh
│ │ ├── images
│ │ │ ├── hunt_sleep_beacons.PNG
│ │ │ ├── stack_dump.PNG
│ │ │ └── stack_dump_sp.PNG
│ │ ├── script_template.cna
│ │ ├── src-common
│ │ │ ├── bypass-mailslot.c
│ │ │ ├── bypass-peek.c
│ │ │ ├── bypass-pipe.c
│ │ │ ├── bypass-readfile-v2.c
│ │ │ ├── bypass-readfile.c
│ │ │ ├── bypass-template.c
│ │ │ ├── injector.c
│ │ │ ├── patch.c
│ │ │ ├── patch.h
│ │ │ ├── spoof.c
│ │ │ ├── start_thread.c
│ │ │ ├── syscalls.h
│ │ │ ├── syscalls_embedded.c
│ │ │ ├── syscalls_indirect.c
│ │ │ ├── syscalls_indirect_randomized.c
│ │ │ ├── utils.c
│ │ │ └── utils.h
│ │ └── src-main
│ │ ├── dllmain.c
│ │ ├── dllmain.def
│ │ ├── icon.ico
│ │ ├── main.c
│ │ ├── resource.rc
│ │ └── svcmain.c
│ ├── mimikatz
│ │ ├── README.md
│ │ ├── build.sh
│ │ ├── mimikatz-chrome.x64.dll
│ │ ├── mimikatz-chrome.x86.dll
│ │ ├── mimikatz-full.x64.dll
│ │ ├── mimikatz-full.x86.dll
│ │ ├── mimikatz-max.x64.dll
│ │ ├── mimikatz-max.x86.dll
│ │ ├── mimikatz-min.x64.dll
│ │ ├── mimikatz-min.x86.dll
│ │ └── script_template.cna
│ ├── mutator
│ │ ├── Dockerfile
│ │ ├── README.md
│ │ ├── docker_mutator.sh
│ │ ├── memory_funcs.c
│ │ ├── mutator.sh
│ │ ├── requirements.sh
│ │ └── sleepmask_mutator.cna
│ ├── postex
│ │ ├── README.md
│ │ ├── base
│ │ │ ├── base.vcxproj
│ │ │ ├── base.vcxproj.filters
│ │ │ ├── beacon.cpp
│ │ │ ├── beacon.h
│ │ │ ├── debug.cpp
│ │ │ ├── debug.h
│ │ │ ├── dllmain.cpp
│ │ │ ├── dllmain.h
│ │ │ ├── macros.h
│ │ │ ├── mock.cpp
│ │ │ ├── mock.h
│ │ │ ├── pipes.cpp
│ │ │ ├── pipes.h
│ │ │ ├── utils.cpp
│ │ │ └── utils.h
│ │ ├── postex
│ │ │ ├── postex.vcxproj
│ │ │ ├── postex.vcxproj.filters
│ │ │ └── postexmain.cpp
│ │ ├── postex-example.cna
│ │ └── postex.sln
│ ├── process_inject
│ │ ├── README.md
│ │ ├── build.sh
│ │ ├── script_template.cna
│ │ └── src
│ │ ├── beacon.h
│ │ ├── process_inject_explicit.c
│ │ └── process_inject_spawn.c
│ ├── resource
│ │ ├── README.md
│ │ ├── build.sh
│ │ ├── compress.ps1
│ │ ├── script_template.cna
│ │ ├── template.exe.hta
│ │ ├── template.hint.x64.ps1
│ │ ├── template.hint.x86.ps1
│ │ ├── template.psh.hta
│ │ ├── template.py
│ │ ├── template.vbs
│ │ ├── template.x64.ps1
│ │ ├── template.x86.ps1
│ │ └── template.x86.vba
│ ├── sleepmask
│ │ ├── README.md
│ │ ├── build.sh
│ │ ├── script_template.cna
│ │ ├── src
│ │ │ ├── beacon.h
│ │ │ ├── beacon_gate.c
│ │ │ ├── beacon_gate.h
│ │ │ ├── bofdefs.h
│ │ │ ├── cfg.c
│ │ │ ├── common_logger.h
│ │ │ ├── common_mask.c
│ │ │ ├── evasive_sleep.c
│ │ │ ├── evasive_sleep_stack_spoof.c
│ │ │ ├── mask_text_section.c
│ │ │ ├── memory_cleanup.c
│ │ │ ├── sleepmask.c
│ │ │ ├── sleepmask.h
│ │ │ ├── sleepmask_pivot.c
│ │ │ ├── syscalls.h
│ │ │ ├── syscalls_beacon.c
│ │ │ ├── syscalls_embedded.c
│ │ │ ├── syscalls_indirect.c
│ │ │ └── syscalls_indirect_randomized.c
│ │ ├── src47
│ │ │ ├── beacon.h
│ │ │ ├── bofdefs.h
│ │ │ ├── cfg.c
│ │ │ ├── common_mask.c
│ │ │ ├── evasive_sleep.c
│ │ │ ├── evasive_sleep_stack_spoof.c
│ │ │ ├── log_sleepmask_parms.c
│ │ │ ├── mask_text_section.c
│ │ │ ├── sleepmask.c
│ │ │ ├── sleepmask.h
│ │ │ ├── sleepmask_pivot.c
│ │ │ ├── syscalls.h
│ │ │ ├── syscalls_embedded.c
│ │ │ ├── syscalls_indirect.c
│ │ │ └── syscalls_indirect_randomized.c
│ │ └── src49
│ │ ├── beacon.h
│ │ ├── bofdefs.h
│ │ ├── cfg.c
│ │ ├── common_mask.c
│ │ ├── evasive_sleep.c
│ │ ├── evasive_sleep_stack_spoof.c
│ │ ├── log_sleepmask_parms.c
│ │ ├── mask_text_section.c
│ │ ├── sleepmask.c
│ │ ├── sleepmask.h
│ │ ├── sleepmask_pivot.c
│ │ ├── syscalls.h
│ │ ├── syscalls_embedded.c
│ │ ├── syscalls_indirect.c
│ │ └── syscalls_indirect_randomized.c
│ ├── udrl
│ │ ├── README.md
│ │ ├── build.sh
│ │ ├── script_template.cna
│ │ └── src
│ │ ├── ReflectiveDLLInjection.h
│ │ ├── ReflectiveLoader.c
│ │ └── ReflectiveLoader.h
│ └── udrl-vs
│ ├── README.md
│ ├── bin
│ │ ├── bud-loader
│ │ │ └── prepend-udrl.cna
│ │ ├── default-loader
│ │ │ ├── prepend-udrl.cna
│ │ │ └── stomp-udrl.cna
│ │ ├── obfuscation-loader
│ │ │ ├── debug-udrl.cna
│ │ │ ├── lznt1.cna
│ │ │ ├── obfuscate.cna
│ │ │ └── prepend-udrl.cna
│ │ └── postex-loader
│ │ └── prepend-postex-udrl.cna
│ ├── default.props
│ ├── example.profile
│ ├── examples
│ │ ├── bud-loader
│ │ │ ├── README.md
│ │ │ ├── ReflectiveLoader.cpp
│ │ │ ├── ReflectiveLoader.h
│ │ │ ├── SyscallResolving.cpp
│ │ │ ├── SyscallResolving.h
│ │ │ ├── bud-loader.vcxproj
│ │ │ └── bud-loader.vcxproj.filters
│ │ ├── default-loader
│ │ │ ├── README.md
│ │ │ ├── ReflectiveLoader.cpp
│ │ │ ├── ReflectiveLoader.h
│ │ │ ├── default-loader.vcxproj
│ │ │ └── default-loader.vcxproj.filters
│ │ ├── obfuscation-loader
│ │ │ ├── README.md
│ │ │ ├── ReflectiveLoader.cpp
│ │ │ ├── ReflectiveLoader.h
│ │ │ ├── obfuscation-loader.vcxproj
│ │ │ └── obfuscation-loader.vcxproj.filters
│ │ └── postex-loader
│ │ ├── README.md
│ │ ├── ReflectiveLoader.cpp
│ │ ├── ReflectiveLoader.h
│ │ ├── postex-loader.vcxproj
│ │ └── postex-loader.vcxproj.filters
│ ├── library
│ │ ├── BeaconUserData.h
│ │ ├── DebugDLL.x64.h
│ │ ├── DebugDLL.x86.h
│ │ ├── End.cpp
│ │ ├── End.h
│ │ ├── FunctionResolving.cpp
│ │ ├── FunctionResolving.h
│ │ ├── Hash.h
│ │ ├── LoaderTypes.h
│ │ ├── Obfuscation.cpp
│ │ ├── Obfuscation.h
│ │ ├── StdLib.cpp
│ │ ├── StdLib.h
│ │ ├── TrackMemory.cpp
│ │ ├── TrackMemory.h
│ │ ├── Utils.cpp
│ │ ├── Utils.h
│ │ ├── library.vcxproj
│ │ └── library.vcxproj.filters
│ ├── loader.props
│ ├── requirements.txt
│ ├── udrl-vs.sln
│ └── udrl.py
├── releasenotes.txt
├── templates
│ ├── arsenal_kit.cna.template
│ └── helper_functions.template
└── utils
└── getFunctionOffset
└── getFunctionOffset.c
35 directories, 209 files
下载地址: https://www.upload.ee/files/17605561/arsenal-kit20240716.tgz.html (来源LinuxDO)








