本文思路来自于https://mp.weixin.qq.com/s/JH-IlL_GFgZp3xXeOFzZeQ
原项目地址wgpsec/redc-template: redc 要用到的 tf 模板
0x01 简介
红队项目中,代理池是必不可少的一项基础设施。市面上常见两种代理池方案
1.利用资产测绘平台语法去互联网上抓免费的,github上也有很多优秀的工具可以辅助
2.花钱购买商业版代理池
这两种方法各有利弊,抓免费的质量太差,速度上不行易丢包,而商业版的就比较好用,但是挺贵。也有一种法外狂徒方案,不停的getshell然后种木马,把肉鸡当代理用,这种方案风险太大,一不小心就得被请去喝茶。
参考了上面的文章之后之后豁然开朗,其实可以利用各种云的按量付费实例去搭建代理池,只要这个实例配置较低,其实一场攻防打下来费用也并不会太大,并且由于开启实例的时候地区可控,把机器都开在国内速度质量也是可以保证的。
这里就以阿里云场景为例,记录一下我的操作过程
0x02 操作过程
先安装terraform,参考文章
1 | https://blog.csdn.net/tony_vip/article/details/107204882 |
这篇文章里的版本比较低了,记得安装最新版本,不然aliyun cloud的版本不匹配,但是文章里的安装步骤可以参考
给terraform换国内源
1 | https://help.aliyun.com/zh/terraform/terraform-init-acceleration-solution-configuration |
配置cloudefare R2,这是个免费的云存储,有10G存储空间,对于个人来说,放一些小工具也够用了
1 | https://senjianlu.com/posts/articles/ops/linux-rclone-cloudflare-r2/ |
下载rclone,配置好R2的配置文件
1 | rclone config file # 这条命令可以看到配置文件所在位置 |
下载aliyun cli ,配置好AK,SK,这里你的阿里云账户里需要余额大于200(阿里云规定的,算是保证金吧)
1 | https://help.aliyun.com/zh/cli/install-cli-on-linux |
下载redc-template项目 解压, 因为这里我们重点关注代理池场景,所以我直接cd到proxy目录,如果要启动其它场景,应该也是类似的
1 | cd redc-template-master/aliyun/aliyun-proxy |
正常这样操作之后,会在当前目录下生成一个yaml配置文件,如果是多人合作,也可以让别人从R2上下载

将这个yaml文件导入clash,就可以正常使用了

0x03 效果测试
效果测试

10台机器都开在BJ区域

延迟很低,几乎很难感受到


打开代理,配置文件里设置了轮询代理,也就是不同的请求会切换不同的ip,至此已经基本实现了一个10台机器的代理池效果, 接下来就可以直接开打了
费用方面,10台机器开了一个小时,不到两毛
但是考虑到这里其实只是开着机器,没进行什么操作,所以没什么流量费用,但是流量是1G8毛,也可以大致估算一下。
0x04 扩展
这里是固定的10台机器,可以定时切换机器,达到代理池清洗的效果
让我们细想一下,这其实是一种云原生思路:文件用对象存储、数据存云数据库、服务器就只提供算力和服务,平时维护好资源编排脚本,实现随时部署随时销毁、用完即弃,这样相当于把服务器的基础设施变成了服务,也就是常提起的iaas概念
这个思路还有很多场景可以实现,文章中有提到,比如搭建一个扫描集群,搞一台固定的实例做 master,抢占式实例做 worker,启动实例时从存储桶里拉去worker可执行文件,运行注册woker,worker从消息队列里取任务,扫描结果放在存储里,机器销毁了就再加机器进集群就行了,有点类似于K8s哈,不过我觉得是可以实现的。