openEuler 通过 Sublist3r 进行 Web 资产收集扫描,收集到了大量有价值的网络安全威胁情报
步骤 1:环境准备
1.1 安装必要依赖
Sublist3r 是基于 Python 开发的,所以首先要确保系统已经安装了 Python 以及相关的开发工具包。在 openEuler 中可以使用以下命令安装:
sudo dnf install -y python3 python3-devel git
1.2 安装 Sublist3r
使用 git 从 GitHub 仓库克隆 Sublist3r 项目到本地,并安装其依赖库:
git clone https://github.com/aboul3la/Sublist3r.git
cd Sublist3r
pip3 install -r requirements.txt
步骤 2:使用 Sublist3r 进行 Web 资产收集
2.1 基本扫描命令
Sublist3r 可以通过简单的命令对目标域名进行子域名扫描,以下是一个基本的扫描命令示例:
python3 sublist3r.py -d example.com
其中,-d 参数用于指定要扫描的目标域名,这里以 example.com 为例,你可以将其替换为实际要扫描的域名。
2.2 其他常用参数
指定输出文件:使用 -o 参数可以将扫描结果保存到指定的文件中。
python3 sublist3r.py -d example.com -o output.txt
启用暴力破解模式:使用 -b 参数可以启用暴力破解模式,尝试更多的子域名组合。
python3 sublist3r.py -d example.com -b
指定线程数:使用 -t 参数可以指定扫描时使用的线程数,以加快扫描速度。
python3 sublist3r.py -d example.com -t 50
步骤 3:分析收集到的 Web 资产
3.1 手动分析
打开保存扫描结果的文件(如 output.txt),手动查看收集到的子域名列表,分析这些子域名对应的 Web 资产是否存在潜在的安全威胁。例如,检查是否存在开放的敏感端口、弱密码登录页面等。
3.2 自动化分析
可以编写简单的 Python 脚本对扫描结果进行自动化分析,以下是一个简单的示例脚本,用于检查扫描结果中是否存在常见的敏感路径:
import requests
# 读取扫描结果文件
with open('output.txt', 'r') as f:
subdomains = f.read().splitlines()
# 定义常见的敏感路径
sensitive_paths = ['/admin', '/login', '/phpmyadmin']
for subdomain in subdomains:
for path in sensitive_paths:
url = f'http://{subdomain}{path}'
try:
response = requests.get(url, timeout=5)
if response.status_code == 200:
print(f'发现敏感路径: {url}')
except requests.RequestException:
continue
将上述脚本保存为 analyze.py,并确保已经安装了 requests 库(可以使用 pip3 install requests 进行安装),然后在终端中运行:
python3 analyze.py
脚本会遍历扫描结果中的每个子域名,尝试访问定义的敏感路径,如果返回状态码为 200,则说明可能存在敏感路径,会输出相应的 URL。
步骤 4:获取网络安全威胁情报
通过对收集到的 Web 资产进行分析,可以发现潜在的网络安全威胁情报。例如,如果发现某个子域名存在开放的管理页面且未进行有效的身份验证,那么这可能是一个潜在的攻击入口;如果发现某个子域名使用了存在已知漏洞的 Web 技术,那么攻击者可能会利用这些漏洞进行攻击。将这些信息整理成报告,就可以作为有价值的网络安全威胁情报。
注意事项
在进行 Web 资产收集扫描时,务必确保已经获得了目标域名所有者的授权,否则可能会触犯法律法规。
扫描过程可能会消耗较多的系统资源和网络带宽,建议在合适的环境中进行。