描述

指针是为猎取和映射暴露在互联网上的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 文件的格式。
{
“ IPS ”:
“ 1.116.119.120 ”,
“ 1.116.158.193 ”,
“ 1.116.186.39 ”,
“ 1.116.207.171 ”,
“ 1.116.246.188 ”,
...
]
}
查看扫描的状态
指针检索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://docs.google.com/spreadsheets/d/1akSzGDq8ddn97rNfr7BS0w2HcoR52ircFaSMh-OEjTU/edit








