timwhitez starred Deadpool
2024-8-30 12:56:40 Author: github.com(查看原文) 阅读量:8 收藏

deadpool代理池工具,可从hunterquakefofa网络空间测绘平台取socks5代理,或本地导入socks5代理,轮询使用代理进行流量转发。

0x01 说明

提前总结:快速使用本工具,只需要修改配置文件中对应的网络空间测绘平台的key信息,直接命令行运行程序即可。

在【明确获得合法授权】的前提下,大家一定遇到过攻防过程中IP被ban的情况,这时候,既想要数量可观的高质量代理,又不想花钱,怎么办?那么用本工具可以一定程度上解决这个问题。

1、通过配置hunter、quake、fofa的api key,本工具会调用API提取网络空间中的socks5代理

2、如果手头已有其他socks5代理,也可以直接写在同目录下的lastData.txt文件中,每行一个,格式为IP:PORT

工具会把从网络空间测绘平台提取的socks5代理与lastData.txt中的代理进行去重+存活及有效性检测(按照配置的规则),然后把符合要求的代理存入lastData.txt中,每次都会从lastData.txt中读取、校验、使用,这时可以关闭从测绘平台对应的的开关。(当lastData.txt中的可用代理较少时,可以再启用配置文件中的对应设置,再从各测绘平台取数据,取完再关。)

0x02 效果

如图,同时开启了hunter、quake、fofa,lastData.txt中也放入了之前收集的代理,会根据config.toml中的配置信息做检测

监听到请求后,会轮询收集的代理来转发

验证走socks5代理时的出口IP

目录爆破场景

0x03 配置使用

burp中配置

Proxifier配置

SwitchyOmega配置

其他工具使用时同理,指定socks5协议,IP、端口即可

0x04 配置文件说明

简单使用的话,只需要修改对应的网络空间测绘平台的key信息即可。

但需注意(没特殊需求可以忽略这里):

1、若可能会发送恶意的payload,某些代理可能会阻断这类请求出站,需先关闭[checkSocks.checkGeolocate]中的switch(默认关闭),然后修改[checkSocks]中的checkURL为没有waf防护的任意公网地址,使用如/webshell.aspx?f=../../../../../../etc/passwd&q=1' or union select 1,2,3,4这类的测试语句,修改checkRspKeywords的值为目标正常返回内容中的字符片段,如此,可以获得不拦截恶意payload出站的代理。

2、若针对性访问某地址,需要先关闭[checkSocks.checkGeolocate]中的switch(默认关闭),然后修改[checkSocks]中的checkURL为该地址,修改checkRspKeywords的值,确保只保留可以访问目标地址的代理。

1和2结合,就能不断收集、使用针对高可用代理。

config.toml详细说明如下:

[listener]
#******非特殊情况,默认即可******本地监听端口,其他工具中的SOCKS5代理指定为该IP:PORT,即可轮询使用收集的代理
IP='127.0.0.1'
PORT='10086'

[checkSocks]#******非特殊情况,默认即可******
#通过访问实际url来验证代理的可用性
checkURL='https://www.baidu.com'#可以配置为要访问的目标地址,确保所有代理都能访问到目标地址
checkRspKeywords='百度一下'#上面地址原始响应中的某个字符串,用来验证通过代理访问目标时有无因某种原因被ban掉。
maxConcurrentReq='30'#同时最多N个并发通过代理访问上面的地址,检测socks5代理是否可用,可根据网络环境调整。云主机的话开500、1000都可以,本机的话,开三五十差不多。
timeout='6'#单位秒,验证socks5代理的超时时间,建议保持在5或6,检查及使用代理访问上面的地址时,超过这个时间,判定无效

[checkSocks.checkGeolocate]
##******非特殊情况,默认即可******通过访问返回IP归属地信息的URL和关键字判断,来排除某些代理,如:某些情况下,真正要访问的系统限制只有大陆地区IP可以访问
switch='close' #open:启用,非open:禁用
checkURL='https://qifu-api.baidubce.com/ip/local/geo/v1/district'#访问此url获取IP归属地信息,出于某些原因,建议用国内的公司的相关接口。
#下面的两个的值,需要根据上面url的返回内容填写
excludeKeywords=['澳门','香港','台湾']#格式如:['澳门','香港']优先级最高,返回的body内容中,存在任一关键字,则跳过
includeKeywords=['中国']#格式如:['中国','北京']则只获取出口IP为中国北京的代理,如果是['中国'],排除上述关键字的前提下则获取出口IP为中国所有其他地区代理

[FOFA] 
switch = 'close' #open:启用,非open:禁用
apiUrl='https://fofa.info/api/v1/search/all'
email = '[email protected]'
key = '54eddce1xxxxxxxxxxxxxxxx49836612'
queryString = 'protocol=="socks5" && country="CN" && banner="Method:No Authentication"'#官方语法
resultSize='500' #此处最大为10000,需小于等于从官网web界面看到的结果数量

[QUAKE] 
switch = 'close' 
apiUrl='https://quake.360.net/api/v3/search/quake_service'
key = '962xxx36-xxxxxxxxxxxxxxxx-5efxxxxfc90b0a'
queryString = 'service:socks5  AND country: "CN" AND response:"No authentication"'#官方语法
resultSize='500' #此处最大为10000,需小于等于从官网web界面看到的结果数量

[HUNTER]
switch = 'close'
apiUrl='https://hunter.qianxin.com/openApi/search'
key = '9c1698e0xxxxxxxxxxxxxxxxa6e90758edcxxxx23533f9xxxxxxxxxxxxxxxx9ce18'
queryString = 'protocol=="socks5"&&protocol.banner="No authentication"&&ip.country="CN"'#官方语法
resultSize='300' #最小为100,按100条/每页翻页,最大值需小于从官网web界面看到的结果数量,值需为100的整倍数,如200、300、1000、2000等

文章来源: https://github.com/thinkoaa/Deadpool
如有侵权请联系:admin#unsafe.sh