freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Surf:一款针对现代云环境的SSRF漏洞检测和利用工具
2023-10-18 13:50:30


关于Surf

Surf允许我们输入一个目标主机列表,工具会自动过滤主机列表,并返回可能存在SSRF漏洞的主机信息(列表)。该工具可以使用本地主机向输入列表中的每一台目标主机发送一个HTTP请求,并收集所有未响应的主机信息,然后将它们分别转储到面向外部和面向内部的主机列表,以此来实现SSRF漏洞识别。

接下来,我们就可以对这些潜在的目标主机执行进一步分析,以确认SSRF漏洞存在的准确位置。由于大多数SSRD过滤器只关注内部网络或受限的IP地址范围,但是当你无法使用本地设备并通过HTTP(S)从外部IP访问并利用SSRF时,那就会打开新世界的大门。一般来说,拥有云环境的大型组织都会为内部网络应用程序提供一个外部IP,传统的SSRF过滤器并不会关注这一点,这也就是Surf的强大之处。

工具要求

Go v1.19

httpx

工具安装

由于该工具基于Go v1.19开发,因此我们首先需要在本地设备上安装并配置好Go v1.19环境。该工具还会使用httpx来进行HTTP探测,因此我们也需要安装好httpx

接下来,广大研究人员就可以直接使用下列命令将该项目源码克隆至本地了:

git clone https://github.com/assetnote/surf.git

或者也可以使用go命令直接安装Surf:

go install github.com/assetnote/surf/cmd/surf@latest

工具使用

假设,一个名为bigcorp.txt的文件中已经包含了bigcorp.com的子域名列表,此时你需要扫描子域名列表中可能存在SSRF漏洞的目标域名,那么我们就可以直接通过下列方法来实现扫描:

# 搜索所有可能包含SSRF漏洞的目标域名

surf -l bigcorp.txt

# 搜索所有可能包含SSRF漏洞的目标域名,并设置超时时间和并发线程数

surf -l bigcorp.txt -t 10 -c 200

# 搜索所有可能包含SSRF漏洞的目标域名,并打印所有主机信息

surf -l bigcorp.txt -d

# 搜索指向一个内部/私有IP地址的全部主机信息

surf -l bigcorp.txt -x

工具可使用的参数选项信息如下:

❯ surf -h

 

███████╗██╗   ██╗██████╗ ███████╗

██╔════╝██║   ██║██╔══██╗██╔════╝

███████╗██║   ██║██████╔╝█████╗  

╚════██║██║   ██║██╔══██╗██╔══╝  

███████║╚██████╔╝██║  ██║██║     

╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝         

                                 

by shubs @ assetnote                                 

 

Usage: surf [--hosts FILE] [--concurrency CONCURRENCY] [--timeout SECONDS] [--retries RETRIES] [--disablehttpx] [--disableanalysis]

 

Options:

  --hosts FILE, -l FILE  目标列表(主机地址或子域名)

  --concurrency CONCURRENCY, -c CONCURRENCY  并发线程数 [默认: 100]

  --timeout SECONDS, -t SECONDS 任务超时时间秒数 [默认: 3]

  --retries RETRIES, -r RETRIES 失败重新尝试次数 [默认: 2]

  --disablehttpx, -x     禁用httpx,仅输出地址解析为内部IP的所有主机信息 [默认: false]

  --disableanalysis, -d  禁用分析功能,仅输出主界列表 [默认: false]

  --help, -h             显示工具帮助信息和退出

工具输出

在运行Surf时,工具会将所有可能存在SSRF漏洞的目标信息打印到STDOUT,同时将结果存储在以下两个文件中:

external-{timestamp}.txt

internal-{timestamp}.txt

这两个文件都会包含可能存在SSRF漏洞的目标信息列表,但外部目标列表中目标存在SSRF漏洞的可能性要高得多。

项目地址

Surf:【GitHub传送门

参考资料

https://github.com/projectdiscovery/httpx

# 漏洞扫描 # SSRF # 云安全 # SSRF漏洞 # 云环境
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录