Notes Site.
post @ 2024-09-09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
medusa [-h 主机名|-H 文件] [-u 用户名|-U 文件] [-p 密码|-P 文件] [-C 文件] -M 模块 [选项]

-h [TEXT] : 目标主机名或IP地址
-H [FILE] : 包含目标主机名或IP地址的文件
-u [TEXT] : 要测试的用户名
-U [FILE] : 包含要测试的用户名的文件
-p [TEXT] : 要测试的密码
-P [FILE] : 包含要测试的密码的文件
-C [FILE] : 包含组合项的文件。更多信息见README。
-O [FILE] : 将日志信息附加到指定文件
-e [n/s/ns] : 额外的密码检查选项(`n` 无密码,`s` 密码 = 用户名)
-M [TEXT] : 要执行的模块名称(不包括 `.mod` 扩展名)
-m [TEXT] : 传递给模块的参数。可以多次传递不同参数(如 `-m 参数1 -m 参数2` 等)
-d : 列出所有已知的模块
-n [NUM] : 使用非默认的TCP端口号
-s : 启用SSL
-g [NUM] : 连接超时的最大等待时间,单位为秒(默认 3 秒)
-r [NUM] : 重试之间的睡眠时间,单位为秒(默认 3 秒)
-R [NUM] : 重试次数,达到该次数后放弃,总尝试次数为 `NUM + 1`
-c [NUM] : 验证套接字可用时的等待时间,单位为微秒(默认 500 微秒)
-t [NUM] : 同时测试的登录数量
-T [NUM] : 同时测试的主机数量
-L : 每个线程使用一个用户名并行登录。默认是先处理所有用户名后再进行
-f : 找到第一个有效的用户名/密码后停止扫描主机
-F : 找到任何主机上的第一个有效用户名/密码后停止审计
-b : 屏蔽启动横幅
-q : 显示模块的使用信息
-v [NUM] : 设置详细输出级别 [0 - 6,数字越大越详细]
-w [NUM] : 错误调试输出级别 [0 - 10,数字越大越详细]
-V : 显示版本信息
-Z [TEXT] : 根据先前扫描的结果图恢复扫描
模块 服务/协议 描述 使用示例
FTP 文件传输协议 暴力破解 FTP 登录凭据,用于通过网络传输文件。 medusa -M ftp -h 192.168.1.100 -u admin -P passwords.txt
HTTP 超文本传输协议 通过 HTTP(GET/POST)对 Web 应用程序上的登录表单进行暴力破解。 medusa -M http -h www.example.com -U users.txt -P passwords.txt -m DIR:/login.php -m FORM:username=^USER^&password=^PASS^
IMAP 互联网消息访问协议 暴力破解 IMAP 登录,通常用于访问电子邮件服务器。 medusa -M imap -h mail.example.com -U users.txt -P passwords.txt
MySQL MySQL 数据库 暴力破解 MySQL 数据库凭证,常用于 Web 应用程序和数据库。 medusa -M mysql -h 192.168.1.100 -u root -P passwords.txt
POP3 邮局协议 3 强制 POP3 登录,通常用于从邮件服务器检索电子邮件。 medusa -M pop3 -h mail.example.com -U users.txt -P passwords.txt
RDP 远程桌面协议 暴力破解 RDP 登录,常用于 Windows 系统的远程桌面访问。 medusa -M rdp -h 192.168.1.100 -u admin -P passwords.txt
SSH 安全外壳 (SSH) 暴力破解 SSH 登录,常用于安全远程访问。 medusa -M ssh -h 192.168.1.100 -u root -P passwords.txt
SVN 版本控制系统 强制使用 Subversion(SVN)存储库进行版本控制。 medusa -M svn -h 192.168.1.100 -u admin -P passwords.txt
Telnet Telnet 协议 在旧系统上强制执行 Telnet 服务以执行远程命令。 medusa -M telnet -h 192.168.1.100 -u admin -P passwords.txt
vnc 虚拟网络计算 强制获取远程桌面访问的 VNC 登录凭据。 medusa -M vnc -h 192.168.1.100 -P passwords.txt
Web form 暴力破解 Web 登录表单 使用 HTTP POST 请求强制破解网站上的登录表单。 medusa -M web-form -h www.example.com -U users.txt -P passwords.txt -m FORM:"username=^USER^&password=^PASS^:F=Invalid"
1
2
3
4
5
6
7
8
# 爆破 ssh
medusa -h 192.168.0.100 -U usernames.txt -P passwords.txt -M ssh

# 针对多个服务器
medusa -H web_servers.txt -U usernames.txt -P passwords.txt -M http -m GET

# 测试空密码
medusa -h 10.0.0.5 -U usernames.txt -e ns -M service_name

Read More
post @ 2024-09-08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Usage: ffuf [command...]

HTTP选项:
-H 请求头'Name:Value'用冒号分隔。可接受多个标志
-X 要使用的HTTP方法。如get,post
-b Cookie数据`"NAME1=VALUE1; NAME2=VALUE2"`
-d POST 数据
-http2 使用HTTP2协议(默认值:false)
-ignore-body 不要获取响应内容。(默认值:false)
-r 遵循重定向(默认值:false)
-recursion 递归扫描,只支持FUZZ关键字,并且-u结尾(默认值:false)
-recursion-depth 最大递归深度。(默认值:0)
-replay-proxy 使用此代理重播匹配的请求
-timeout HTTP请求超时(秒)。(默认值:10)
-u 目标url
-x 代理URL(SOCKS5或HTTP)。例如:http://127.0.0.1:8080或socks5://127.0.0.1:8080

常规选项
-V 显示版本信息(默认值:false)
-ac 自动校准过滤选项(默认值:false)
-acc 自定义自动校准字符串。可以多次使用。含义-ac
-ach 每主机自动校准(默认值:false)
-ack 自动校准关键字(默认值:FUZZ)
-acs 自动校准策略:“基本”或“高级”(默认值:基本)
-c 将输出着色。(默认值:false)
-config 从文件加载配置
-json json输出,打印换行分隔的json记录(默认值:false)
-maxtime 整个进程的最大运行时间(以秒为单位)。(默认值:0)
-maxtime-job 作业每个作业的最大运行时间(以秒为单位)。(默认值:0)
-noninteractive 非交互式禁用交互式控制台功能(默认值:false)
-p 请求之间的“延迟”秒数,或一系列随机延迟。例如“0.1”或“0.1-2.0”
-rate 每秒请求的速率(默认值:0)
-s 不打印附加信息(静默模式)(默认值:false)
-sa 在所有错误情况下停止。暗示-sf和-se。(默认值:false)
-se 在出现虚假错误时停止(默认值:false)
-sf 当>95%的响应返回403 Forbidden时停止(默认值:false)
-t 并发线程数。(默认值:40)
-v 详细输出,打印完整的URL和重定向位置(如果有)以及结果。(默认值:false)

匹配器选项
-mc 匹配HTTP状态代码,或“全部”表示所有内容。(默认值:200,204,301,302,307,403,404,500)
-ml 匹配响应行数
-mmode 匹配器集运算符。以下任一项:和或(默认值:或)
-mr 匹配正则表达式
-ms 匹配HTTP响应大小
-mt 匹配第一个响应字节的毫秒数,大于或小于。例如:>100或<100
-mw 匹配响应的单词数量

过滤器选项
-fc 从响应中筛选HTTP状态代码。代码和范围的逗号分隔列表
-fl 根据响应的行数进行过滤。行计数和范围的逗号分隔列表
-fmode 筛选器集运算符。以下任一项:和或(默认值:或)
-fr 筛选器正则表达式
-fs 筛选器HTTP响应大小。大小和范围的逗号分隔列表
-ft 根据到第一个响应字节的毫秒数进行筛选,大于或小于。例如:>100或<100
-fw 按响应的字数进行筛选。以逗号分隔的单词计数和响铃列表

输入选项
-D DirSearch单词列表兼容模式。与-e标志一起使用。(默认值:false)
-e 扩展名的逗号分隔列表,复制字典并添加扩展
-ic 忽略单词列表注释(默认值:false)
-input-cmd 要测试的输入数。与--input cmd一起使用。(默认值:100)
-input-shell 用于运行命令的外壳
-mode 多单词列表操作模式。可用模式:clusterbomb,pitchfork,sniper(default: clusterbomb)
-request 包含原始http请求的文件
-request-proto 与原始请求一起使用的协议(默认值:https)
-w 用冒号分隔的单词列表文件路径和(可选)关键字

输出选项
-debug-log 将所有内部日志记录写入指定的文件。
-o 将输出写入文件
-od 将匹配结果存储到的目录路径
-of 输出文件格式。可用格式:json、ejson、html、md、csv、ecsv(或所有格式的“all”)(默认值:json)
-or 如果没有结果,就不要创建输出文件(默认值:false)
1
2
3
4
5
6
7
8
9
10
11
12
13
# Web fuzz

# 目录
ffuf -w /path/to/seclists/dict/SecLists/Discovery/Web-Content/directory-list-2.3-small.txt -u http://SERVER_IP:PORT/FUZZ

# 扩展名类型
ffuf -w /path/to/seclists/Discovery/Web-Content/web-extensions.txt -u http://SERVER_IP:PORT/indexFUZZ

# 扩展名
ffuf -w /path/to/seclists/Discovery/Web-Content/directory-list-2.3-small.txt -u http://SERVER_IP:PORT/FUZZ.php

# 递归
ffuf -w /path/to/seclists/Discovery/Web-Content/directory-list-2.3-small.txt -u http://SERVER_IP:PORT/FUZZ -recursion -recursion-depth 1 -e .php -v
1
2
3
4
5
6
7
# Subdomain fuzz

# HTTP
ffuf -w /path/to/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u http://FUZZ.example.htb/

# Vhost
ffuf -w /path/to/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u http://example.htb -H 'Host: FUZZ.example.htb'
1
2
3
4
5
6
7
# Param fuzz

# GET
ffuf -w /path/to/seclists/Discovery/Web-Content/burp-parameter-names.txt -u http://example.htb/get.php?FUZZ=key

# POST
ffuf -w /path/to/seclists/Discovery/Web-Content/burp-parameter-names.txt -X POST -H 'Content-Type: application/x-www-form-urlencoded' -d 'FUZZ=key' -u http://example.htb/post.php

Read More
⬆︎TOP