Pointer是为大规模猎取和映射暴露在互联网上的Cobalt Strike服务器而开发的。
描述
指针是为猎取和映射暴露在互联网上的Cobalt Strike服务器而开发的。该工具包括识别Cobalt Strike服务器的完整方法。它的目的是在短时间内加快检测大量潜在目标中的Cobalt Strike服务器的过程。
扫描25万个目标的成本约为20美元,但我们正在寻找一个解决方案,使其更便宜。
免责声明
该工具处于测试阶段(正在进行测试)。帕维尔-沙巴尔金和迈克尔-科兹瓦拉编写的博文中详细介绍了该工具的主要组成部分:https://medium.com/@shabarkin/pointer-hunting-cobalt-strik-globally-a334ac50619a
我建议使用一个单独的AWS账户来扫描和映射Cobalt Strike服务器。
安装
$PATH
如果你已经安装并配置了Go(即在你的$GOPATH/bin
)。
sudo go get -u github.com/shabarkin/pointer复制代码
或
sudo git clone https://github.com/shabarkin/pointer.git复制代码
sudo go build .复制代码
基本使用方法
该工具是在AWS SQS、Lambda和DynamoDB服务的基础上开发的,主要是基于AWS的服务。Pointer有一个configure
子命令,用于自动部署IAM、Lambda、SQS、DynamoDB和Autoscaling服务。为了配置所有这些服务,Pointer需要权限来管理它们,为了简单起见,我们建议为Pointer提供一个管理类型的账户,其中包括所有必要的权限。这就是为什么我建议使用一个单独的AWS账户,特别是当你在AWS账户中使用其他Lambda函数时。
在AWS控制台中创建一个AWS用户账户
指令
AWS控制台→IAM→用户组→创建组→1.提供组的名称 2.附加权限策略 "AdministratorAccess"。
AWS控制台 → IAM → 用户 → 添加用户 → 1.提供用户的名字 2.选择 "访问密钥-程序化访问"→将用户添加到组(我们已经创建了什么)。
视频
设置凭证
**警告:**配置动作要求function.zip
文件位于用户运行该命令的目录内。function.zip
文件实际上是一个 "Pointer服务器",它被编译并压缩成Lambda部署所需的格式。
Pointer有configure
子命令,有两个选项。
自动部署AWS环境,你需要提供管理账户的AWS凭证。
./pointer configure -aws_access_key_id AKIA85CEHPO3GLIABKZD -aws_secret_access_key LW3bDF8xJvzGgArqMo0h4kuCYsnubU23kGICGp/p复制代码
清理已配置的AWS环境
./pointer configure -clear复制代码
**警告:**它创建了.env
文件,每次你调用子命令时都会加载到全局变量。
扫描
scan
子命令包括3个选项。1. 启动扫描 2. 停止扫描 3. 检查扫描的状态
启动扫描
指针工具解析本地json文件(ips.json
)中的IP列表,以最佳方式将其分割成数据包(10个IP),然后将待处理的数据包添加到SQS队列中。
./pointer scan -targets ips.json复制代码
ips.json
文件的格式。
{ 复制代码
查看扫描的状态
指针检索SQS队列的信息,有多少包在队列中并等待扫描,以及有多少包在当前时刻正在处理。
./pointer scan -status复制代码
停止扫描
为了停止扫描,Pointer清除了SQS队列中的所有信息(包)。
./pointer scan -stop复制代码
倾倒
所有的扫描结果都存储在DynamoDB表中:1.Targets,2.Beacons。
./pointer dump -outfile 23.09.2021复制代码
results
唯一可控的参数是输出文件的后缀,所有转储的结果都保存在.csv
,和.json
文件夹中(当前目录)。
**警告:**在结果转储之后,Pointer会清除DynamoDB表,所以你不会有获得的结果的备份,只有保存在results
文件夹中的那个。
作者:尼耳多
链接:https://juejin.cn/post/7015618632038236197