前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Arsenal-kit免杀套件编译与测试

Arsenal-kit免杀套件编译与测试

作者头像
潇湘信安
发布2024-04-24 09:48:24
1060
发布2024-04-24 09:48:24
举报
文章被收录于专栏:潇湘信安潇湘信安

0x00?前言

CobaltStrike原生Artifact Kit生成的Artifact几乎已被所有主流杀软查杀,但我们可以用CobaltStrike官方Arsenal Kit免杀套件来替代原生Artifact Kit,目前还有一定免杀效果,过国内杀软问题不大。

0x01 套件简介

这个免杀套件主要包含了以下几个插件,Artifact Kit只是Arsenal Kit的一部分,可用于构建可逃避某些防病毒软件的EXE、DLL和Service EXE,这篇主要记录的Artifact,其他几个自己去看下吧。

CobaltStrike 4.x在以下地方使用Artifact Kit:

代码语言:javascript
复制
Payloads -> Windows Stager Payload
Payloads -> Windows Stageless Payload
Attacks -> Scripted Web Delivery (bitsadmin and exe)
Beacon's 'elevate svc-exe' command
Beacon's 'jump psexec' and 'jump psexec64' commands

Arsenal Kit(20240125)功能支持CobaltStrike版本:

0x02?套件编译

arsenal-kit20240125套件复制到kali的tmp目录下并解压,我们主要用到Artifact,所以先去了解下它的目录结构和文件,详情可见README.md文档。

代码语言:javascript
复制
/images:线程堆栈欺骗测试截图
/src-common:Artifact Kit、Bypass、内存注入等源码
/src-main:编译dll用的源码、二进制元数据和ICO图标等
build.sh:交叉编译的生成二进制命令脚本
README.md:Artifact Kit介绍和使用方法
README_STACK_SPOOF.md:线程堆栈欺骗介绍和使用方法
script_template.cna:默认的cna脚本模板

修改arsenal_kit.config配置文件,下图中看到默认只编译了Artifact,如果要编译其他插件可将其值改为true,这样在执行build_arsenal_kit.sh脚本时就会依次编译了。

arsenal-kit/arsenal_kit.config

代码语言:javascript
复制
## What kits do you want to build?
include_artifact_kit="true"
include_udrl_kit="true"
include_sleepmask_kit="true"
include_process_inject_kit="true"
include_resource_kit="true"
include_mimikatz_kit="true"

注意:

执行build_arsenal_kit.sh编译过程中如果出现下图报错时可以将其代码注释掉,或者可以进入到某个插件源码目录下执行build.sh脚本单独编译,有相关参数提示。

arsenal-kit/arsenal_kit.config

代码语言:javascript
复制
## What kits do you want to build?
# include_artifact_kit="true"
include_udrl_kit="true"
include_sleepmask_kit="true"
include_process_inject_kit="true"
include_resource_kit="true"
include_mimikatz_kit="true"

arsenal-kit/build_arsenal_kit.sh

代码语言:javascript
复制
## Artifact kit
function build_artifact_kit () {
    print_good "Building Artifact Kit"
    cd "${artifactkit_directory}"
    "${artifactkit_directory}/build.sh" "${artifactkit_technique}" "${artifactkit_allocator}" "${artifactkit_stage_size}" "${rdll_size}" "${artifactkit_include_resource}" "${artifactkit_stack_spoof}" "${artifactkit_syscalls_method}" "${artifactkit_dist_directory}"
#    if [ $? -gt 0 ] ; then
#      exit 2
#    fi
}

Artifact提供了5种绕过技术和3种内存分配方式,默认用的pipeHeapAlloc,可修改artifactkit_techniqueartifactkit_allocator值来指定使用哪种?

这里我们将默认的pipeHeapAlloc改为mailslotHeapAlloctemplate是模板,过不了任何防病毒软件。

如果仍然无法免杀时可以尝试更改为其他选项,然后再重新编译试试。

arsenal-kit/arsenal_kit.config

代码语言:javascript
复制
# Artifact technique (see readme in Artifact for details)
# Only specify a single bypass technique for the arsenal kit, no spaces are allowed.
# Options are: mailslot, peek, pipe, readfile, readfile-v2, template
artifactkit_technique="mailslot"

# Artifact reflective loader allocator
# Set how the artifact allocates memory for the reflective loader.
# Options are: HeapAlloc, VirtualAlloc, and MapViewOfFile
artifactkit_allocator="HeapAlloc"

如果想往生成的EXE文件添加版本、图标等信息可以修改src-main目录下的resource.rc文件,将最后一行IDI_ICON1注释去掉,再将icon.ico替换为我们的.ico文件即可。

arsenal-kit/kits/artifact/src-mainresource.rc

代码语言:javascript
复制
#include "winver.h"
 
#define IDI_ICON1                       101
 
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
 
#define VER_FILEVERSION             5,0,1,1
#define VER_FILEVERSION_STR         "5,0,1,1\0"
 
#define VER_PRODUCTVERSION          5,0,1,1
#define VER_PRODUCTVERSION_STR      "5,0,1,1\0"
 
VS_VERSION_INFO VERSIONINFO
FILEVERSION     VER_FILEVERSION
PRODUCTVERSION  VER_PRODUCTVERSION
FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
FILEOS          VOS__WINDOWS32
FILETYPE        VFT_APP
FILESUBTYPE     VFT2_UNKNOWN
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904B0"
        BEGIN
            VALUE "CompanyName", "Beijing Huorong Network Technology Co., Ltd."
            VALUE "FileDescription", "Huorong Internet Security Main UI"
            VALUE "FileVersion", "5.0.1.1"
            VALUE "InternalName", "HipsMain"
            VALUE "LegalCopyright", "Beijing Huorong Network Technology Co., Ltd."
            VALUE "OriginalFilename", "HipsMain.exe"
            VALUE "ProductName", "Huorong Internet Security"
            VALUE "ProductVersion", "5.0.1.1"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1266
    END
END

/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
 
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON1               ICON                    "src-main/icon.ico"

最后执行build_arsenal_kit.sh脚本编译即可,执行前还得chmod命令设置下文件权限777,否则可能会报权限不足的错误...,编译好的所有文件将会保存在dist目录下。

代码语言:javascript
复制
┌──(root?kali)-[/tmp/arsenal-kit]
└─# chmod -R 777 *
                                                                                                        
┌──(root?kali)-[/tmp/arsenal-kit]
└─# ./build_arsenal_kit.sh

我们只改了arsenal_kit.config的几个选项,其他插件选项在源码中都有注释,大家可以自己去看下,根据各自的需求去设置相关插件选项,具体效果如何还得去测试......。

arsenal-kit/arsenal_kit.config

代码语言:javascript
复制
#### Artifact kit options
rdll_size=5
artifactkit_stage_size=310272
artifactkit_include_resource="true"
artifactkit_stack_spoof="true"
artifactkit_syscalls_method="none"

#### Sleepmask kit options
sleepmask_version="49"
sleepmask_sleep_method="Sleep"
sleepmask_mask_text_section="false"
sleepmask_syscalls_method="none"

0x03?套件使用

Cobalt Strike客户端->Cobalt Strike->Script Manger->Load->选择arsenal_kit.cna,插件如果加载成功在Script Console会出现下图提示。

Payloads中生成Stageless、Stager的EXE、DLL文件进行免杀效果测试,这里我们仅测试了火绒、360和微软Windows Defender,且已更新为最新病毒病。

0x04?免杀测试

1、Defender(HeapAlloc + mailslot)

2、360(VirtualAlloc+ mailslot)

3、火绒(MapViewOfFile+ peek)

0x05?文末小结

经过以上测试最终选择用HeapAlloc + mailslot组合替代原生Artifact Kit,因为360和WDF只查杀Stager,而Stageless可同时过360+WDF+火绒的静态查杀。

PostExpKit插件提权模块以下Exp上线时需要落地dll,使用这种组合可避免落地dll被WDF查杀,目前已将该免杀套件集成到了插件中,可以在我的知识星球下载最新版插件。

代码语言:javascript
复制
CVE-2021-1675
BadPotato
GodPotato
PetitPotato
SigmaPotato
DCOMPotato
PrintNotifyPotato
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-24,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 潇湘信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com