Cobalt Strike Aggressor Script (第一课)

倾旋
倾旋
技术分享|2020-3-2|最后更新: 2023-6-22|
type
status
date
slug
summary
tags
category
icon
password
URL

前言

在后渗透阶段,目前较为流行的C2平台就属Cobalt Strike做的比较优秀了;目前国内的论坛、网站上已经放出很多版本,最新的为Cobalt Strike 3.14,目前最新版本4.0已不再有试用版。
起初我刚接触Cobalt Strike时,觉得非常不习惯,从Metasploit萌新走来,觉得这个图形化软件远远比不上Metasploit的模块丰富,后经过长时间的使用以及研究,从这个项目中学习到了很多技术,被开发者的思想所折服,应该算比较超前的一款值得学习的平台了。

Aggressor Script

Aggressor Script是Cobalt Strike 3.0版本以上的一个内置脚本语言,由Sleep语言解析,Cobalt Strike 3.0以上版本的菜单、选项、事件都由default.cna构建。红队人员可以通过它来调用一些IRC、Webhook接口去对接机器人,实现自动化渗透与监控,Aggressor Script是Cobalt Strike这款C2平台的画龙点睛之笔。
对于Python、C/C++爱好者来说,Sleep语言一开始接触的时候感觉很奇怪,会有很多想吐槽的点,但久而久之,就会发现它的便捷之处。

安装Sleep语言环境

为了快速掌握Aggressor Script,需要先掌握和熟悉一些Sleep的语法,不然遇到错误无法发现自己错在哪里。
Sleep语言下载地址:http://sleep.dashnine.org/download/sleep.jar
启动Sleep脚本语言解释器:
java -jar sleep.jar
notion image

Sleep语言数据类型

  • 数字
  • 字符串
  • Arrays
  • Lists
  • Stacks
  • Sets
  • Hashs
Sleep语法手册:http://sleep.dashnine.org/manual/
这里主要介绍一些特殊的数据类型:Stacks、Lists、Hashs
Array数据类型支持多种数据存放在一起,也就是说Array是一个复合数据类型;
例如:
notion image
遍历:
Stacks 栈 - “后进先出”
notion image
Hashes 更像是Python中的字典 Key-Value
notion image

创建一个与用户交互的函数

一般,我们通常会在beacon中输入命令给Cobalt Strike,这些命令背后的代码其实都被事件关联起来了,下面来一个示例,做一次我们自己的命令绑定。
加载到Cobalt Strike后,在Aggressor Script控制台输入say Tom就可以运行脚本了:
notion image
notion image
可以发现,Sleep的函数通过$数字来寻找函数参数,这个虽然友好,但是还是有说不出的难受…
下一课介绍Cobalt Strike的菜单创建以及快捷键绑定。
 
©2021-2024 倾旋. All rights reserved.