Medusa漏洞扫描工具快速入门指南
工具概述
Medusa是一款功能强大的漏洞扫描工具,采用Python语言开发,支持多种漏洞检测模块。该工具采用多进程架构设计,扫描效率高,能够帮助安全研究人员快速发现目标系统中的安全漏洞。
环境配置
系统要求
Medusa支持在多种操作系统上运行,但需要满足以下基础环境要求:
-
Java环境:
- Ubuntu/Mac OS:需安装JAVA环境并配置全局变量
- CentOS:除JAVA环境外,还需执行
yum install sqlite*
安装sqlite3.so库
-
Python环境:
- 要求Python 3.7.x及以上版本
- 推荐使用PyCharm + Anaconda作为开发环境
依赖安装
在工具根目录下执行以下命令安装所需依赖:
pip install -r Medusa.txt
配置文件详解
DNSLOG配置
Medusa支持两种DNSLOG检测方式:
- 默认方式:使用内置DNSLOG服务,无需额外配置
- CEYE.IO方式:
- 修改config.py文件中的
ceye_dnslog_url
和ceye_dnslog_key
- 将
dnslog_name
改为ceye
- 修改config.py文件中的
调试模式
默认关闭调试模式,如需开启:
debug_mode = True # 开启后将显示各插件的错误信息
线程配置
默认线程数为15,可在config.py中修改:
thread_number=15 # 可根据需要调整线程数
基本使用指南
单目标扫描
扫描单个网站时建议使用完整路径:
python3 MedusaScan.py -u https://www.example.com
批量扫描
-
准备URL列表文件(如targets.txt),格式要求:
- 每行一个URL
- 必须包含协议头(http://或https://)
- 不同端口或路径需分行书写
-
执行扫描命令:
python3 MedusaScan.py -f targets.txt
模块化扫描
支持按漏洞类型进行针对性扫描:
python3 MedusaScan.py -u https://www.example.com -m Struts2
进程控制
通过-t参数控制进程数(默认15):
python3 MedusaScan.py -u https://www.example.com -t 100 # 使用100个进程
高级功能配置
HTTP请求配置
在config.py中可自定义请求头、代理等设置:
# 请求头配置
headers={
"Connection": "close",
"User-Agent": "自定义UA",
# 其他头部字段...
}
# 代理配置
proxies = {
"http": "http://127.0.0.1:8080",
"https": "https://127.0.0.1:8080",
}
端口扫描
支持两种端口指定方式:
- 列表形式:
-PL 22,80,443
- 范围形式:
-PR 1-1024
结果解读
扫描完成后,可通过以下方式判断扫描结果:
- 控制台输出
The number of vulnerabilities scanned was: 0
表示未发现漏洞 - ScanResult目录中除Medusa.txt外无其他文件
- Medusa.db文件无新增内容或未被创建
若以上情况均未出现,则确认目标系统未发现可检测漏洞。
注意事项
- 该工具仅限授权测试使用
- 扫描前确保网络通畅,特别是使用DNSLOG检测时
- 不同模块对URL格式要求可能不同,建议使用完整URL路径
- 进程数并非越大越好,需根据系统资源合理设置
通过本指南,您应该已经掌握了Medusa漏洞扫描工具的基本使用方法。如需更深入的功能探索,建议参考各模块的详细文档说明。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考