前言
爆破在渗透测试中,对技术的要求不高,但是对技巧和字典的要求就很高了,本篇整理下平时学到的一些爆破思路和技巧(偏web渗透登陆),当你无措可施时,暴力破解是最好的方式。
世界上最可怕的事情是你的习惯被别人掌握,一旦有律可循,You got Hacked。
爆破之字典准备
fuzz 字典
Blasting_dictionary:分享和收集各种字典,包括弱口令,常用密码,目录爆破。数据库爆破,编辑器爆破,后台爆破等。大型字典在big_dictionary.txt文件里
pydictor:一个强大实用的黑客暴力破解字典建立工具
猜密码:密码网根据姓名、用户名、生日、邮箱、手机、历史密码、特殊数字等个人信息精确的分析出个人密码
genpAss:中国特色的弱口令生成器
somd5字典:质量一般
姓名top10w/弱密码top21w:法师提供的字典
可以自定义规则的密码字典生成器:该脚本的主要目标是根据定制的规则来组合生成出密码字典,主要目标是针对企业,希望对安全人员自查“符合密码策略的弱密码”有所帮助。
针对特定的厂商,重点构造厂商相关域名的字典,例如:
|
1
2
3
4
5
6
7
8
9
10
11
|
]
]
]
]
]
|
通用邮箱用户名字典:
|
1
|
]
|
使用replace(‘%user%’,’username’).replace(‘%pwd%’,’domain’)替换即可。
fuzz payload
A list of useful payloads and bypass for Web Application Security and Pentest/CTF
乌云_Fuzz_scanlist.tar.gz:猪猪侠字典,密码:puao
爆破之工具推荐
手工
Burp Suite Professional v1.7.20密码:i523
爆破之fuzz
爆破账号/密码(无验证码/验证码无效)
很多web登录口由于没有验证码/验证码多次有效/无视验证码(为空),
并且未对请求次数做限制,
而且返回特殊标识字符(如“admin 用户不存在”,“root 密码不正确”),
导致可爆破已存在用户;
根据返回包的长度或者返回状态码(返回长度正序/倒序排列,302跳转),爆破密码。
爆破从盲爆top10w到内部联系人列表
平时写的爆破脚本可以实现的功能,burp的Intruder几乎都可以实现(但不代表脚本没什么用),如常用的几种爆破方式:
|
1
2
3
4
5
6
7
8
9
|
.
.
)
)
|
举个例子:pydictor一个强大实用的黑客暴力破解字典建立工具
使用burp爆破四位纯数字验证码,
再如:401 认证
请求头中有Authorization: Basic YWRtaW46MTIzNDU2
(admin:123456 ->base64加密 -> YWRtaW46MTIzNDU2)
使用burp
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
iterator,
Positon1选择账户,
,
Positon3中加载密码,
encode,
attack即可。
|
其他用法参考:如何使用Burp Intruder
另外一种准确度相对较高的盲爆:社工库碰撞登录(如12306泄露出来的明文密码,去撞网易,百度等)
顺便提一下:一些备份文件目录/unix时间戳(current_milli_time = lambda: int(round(time.time() * 1000)))/日期(Y_m_d)日志fuzz
让你的一句话爆破速度提升千倍t00ls接地气
端口爆破
hydra -L user.txt -P pass.txt -F ftp://192.168.0.1
其中-L和-P大写均为挂载字典,-F表示全局一旦发现合法用户密码即停止破解,亦可加入-t参数指定线程数.
浅谈爆破在渗透测试中的重要性:hydra案例
验证码
一些打码平台就不贴上了,根据个人喜好
域
前段时间一家授权厂商,在拿下企业邮箱导出联系人后,构造强弱密码规则,爆破vpn登录口,得到的就是域密码,直接内网。
针对域用户暴力破解,就要构造高强度弱规则密码字典,在满足域密码规则的前提下,爆破跟企业相关的弱口令,此处对信息收集的要求很高,找到特定规则,产出就会很高,危害也就很大。
爆破之随机代理
关于限制ip,网上爬一堆代理,验证,做一个代理池,为每一个爆破请求分配一个代理。
|
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
|
requests
re
json
#http://httpbin.org/get?show_env=1
#http://www.ip181.com/
:
]
'https://www.rmccurdy.com/scripts/proxy/good.txt'
content
)
:
:
)
]
:
content
)
:
:
)
downloads
:
{
,
host
}
:
)
]
:
ip
pass
'http://2017.ip138.com/ic.asp'
)
]
)
:
:
pro
'''
f = open('proxy.list','r')
for i in f.readlines():
handle = json.loads(i)
host = handle['host']
port = handle['port']
key = str(host) + ':' + str(port)
if verify_ip != check(key) and check(key) == host:
print key'''
|
burp使用代理:
后记
爆破门槛不高,入手快,产出也很高,但是在渗透测试时的优先级不高,一般是测完逻辑漏洞,才进行的步骤,其实渗透也没什么步骤,路子野的话,效率会更高。本篇不定时更新,记录平时遇到的好的爆破姿势,总结分享。