乙方渗透测试之Fuzz爆破

前言
爆破在渗透测试中,对技术的要求不高,但是对技巧和字典的要求就很高了,本篇整理下平时学到的一些爆破思路和技巧(偏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
|
pwd_list = ['%pwd%123','%user%123','%user%521','%user%2017','%pwd%321','%pwd%521','%user%321']
pwd_list += ['%pwd%123!','%pwd%123!@#','%pwd%1234','%user%2016','%user%123$%^','%user%123!@#']
pwd_list += ['%pwd%2016','%pwd%2017','%pwd%1!','%pwd%2@','%pwd%3#','%pwd%123#@!','%pwd%12345']
pwd_list += ['%pwd%123$%^','%pwd%!@#456','%pwd%123qwe','%pwd%qwe123','%pwd%qwe','%pwd%123456']
pwd_list += ['%user%123#@!','%user%!@#456','%user%1234','%user%12345','%user%123456','%user%123!']
|
通用邮箱用户名字典:
Python
|
1
|
['admin','noreply','hr','jobs','qiniu','lietou','demo','ceo','dev','root','service','fuwu','yunying','webmaster','wechat','weixin','weibo','tec','bd','bf','op','shop','test','pm','kefu','cdn','marketing','zhaopin','suggestion','warning','risk','system','pay','payment','management','feedback','guanli','ci','ad','td','news','cert','sdk','pmd','appstore','development','it','fankui','notify','bugs','security','sec','alipay','yunwei','message','support','ceshi','developer','notice','redmine','alert','kaifa','seo','git','vpn','jenkins','jira','zabbix','chandao','nagios','monitor','account','jubao','backup','open','openapi','github','reload','blacklist','buyer','caiwu','order','postmaster','pr','report','public','download','som','ops','devops','caigou','pmp','monit']
|
使用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
|
Sniper: 只有一个payload,会将payload分别放在每个Fuzz点测试,默认选项,这也是新手发现Payload只能选择1的原因.
Battering Ram: 只有一个payload,会将payload同时放在多个Fuzz点测试.
Pitchfork: 多个payload,会将多个payload同一行同时放到相应Fuzz点测试.(适用扫号)
Cluster Bomb: 多个payload,payload在其Fuzz点循环测试,直到尝试所有可能.(适用多账户枚举密码)
|
举个例子:pydictor一个强大实用的黑客暴力破解字典建立工具
使用burp爆破四位纯数字验证码,

再如:401 认证
请求头中有Authorization: Basic YWRtaW46MTIzNDU2
(admin:123456 ->base64加密 -> YWRtaW46MTIzNDU2)
使用burp
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
使用burp的Intruder(Sniper)选择payloads类型为:Custom iterator,
Positon1选择账户,
Positon2在Separator for position 1中输入":",
Positon3中加载密码,
Payload processing中add加密encode,base64-encode,
Start 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,网上爬一堆代理,验证,做一个代理池,为每一个爆破请求分配一个代理。
Python
|
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
|
import requests
import re
import json
#http://httpbin.org/get?show_env=1
#http://www.ip181.com/
def online():
downloads = []
test_url = 'https://www.rmccurdy.com/scripts/proxy/good.txt'
down = requests.get(test_url).content
k = down.split('\n')
for j in k:
if j not in downloads and j != ':':
downloads.append(j)
urls = ['http://www.proxylists.net/http_highanon.txt','http://www.proxylists.net/http.txt','http://ab57.ru/downloads/proxylist.txt']
for url in urls:
download = requests.get(url).content
key = download.split('\r\n')
for i in key:
if i not in downloads and i != '':
downloads.append(i)
return downloads
def check(host):
proxies = {
'http':host,
'https':host
}
try:
r = requests.get("http://2017.ip138.com/ic.asp", proxies=proxies,timeout=3)
ip = re.findall(r'\[(.*?)\]',r.content)[0]
if ip.count('.') == 3:
return ip
except:pass
if __name__ == '__main__':
url = 'http://2017.ip138.com/ic.asp'
rep = requests.get(url=url)
verify_ip = re.findall(r'\[(.*?)\]',rep.content)[0]
onlines = online()
for pro in onlines:
if verify_ip != check(pro) and check(pro):
print 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使用代理:

后记
爆破门槛不高,入手快,产出也很高,但是在渗透测试时的优先级不高,一般是测完逻辑漏洞,才进行的步骤,其实渗透也没什么步骤,路子野的话,效率会更高。本篇不定时更新,记录平时遇到的好的爆破姿势,总结分享。
乙方渗透测试之Fuzz爆破的更多相关文章
- kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail
kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail 相关链接:https://www.bbsmax.com/A/xl569l20Jr/ http://4hou.win/wordp ...
- 互联网渗透测试之Wireshark的高级应用
互联网渗透测试之Wireshark的高级应用 1.1说明 在本节将介绍Wireshark的一些高级特性 1.2. "Follow TCP Stream" 如果你处理TCP协议,想要 ...
- 渗透测试之BurpSuite工具的使用介绍(三)
若希望从更早前了解BurpSuite的介绍,请访问第二篇(渗透测试之BurpSuite工具的使用介绍(二)):https://www.cnblogs.com/zhaoyunxiang/p/160002 ...
- web安全测试&渗透测试之sql注入~~
渗透测试概念: 详见百度百科 http://baike.baidu.com/link?url=T3avJhH3_MunEIk9fPzEX5hcSv2IqQlhAfokBzAG4M1CztQrSbwsR ...
- 小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish
WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探 ...
- 小白日记11:kali渗透测试之服务扫描-banner、dmitry、nmap特征库、操作系统识别、SNMP
服务扫描 不能单纯的以端口辨别服务.很多网络服务是漏洞频发的高危对象,对网络上的特定服务进行扫描,往往能让我们少走弯路,增加渗透成功的几率.确定开放端口后,通常会对相应端口上所运行服务的信息进行更深入 ...
- 渗透测试之Web安全
写在前面: 渗透测试包含但不限于Web安全 渗透测试并不相当于Web渗透 Web安全学习是入门渗透测试最容易的途径,门槛最低 Web安全入门: 基础入门 整体框架 SQL注入 XSS攻击 业务逻辑漏洞 ...
- 渗透测试之信息收集(Web安全攻防渗透测试实战指南第1章)
收集域名信息 获得对象域名之后,需要收集域名的注册信息,包括该域名的DNS服务器信息和注册人的联系方式等. whois查询 对于中小型站点而言,域名所有人往往就是管理员,因此得到注册人的姓名和邮箱信息 ...
- 小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)
webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用 ...
随机推荐
- PostgreSQL For Windows 全功能精简版
预览 精简部分 保留全部 PostgreSQL 相关功能 删除自带的 pgadmin 4 删除文档 删除开发用头文件 删除开发用静态连接库 删除 Stack Build 工具 写了一个管理数据库用的批 ...
- windows10滑轮bug
今天我突然发现我一点也忍受不了在UWP应用.wi10窗口.设置等界面无法使用鼠标滑轮了.这个bug已经困扰了我差不多一年了,从买了这台笔记本就开始了.而且这个问题在中间的某一次升级系统后,也修复了,但 ...
- Django学习笔记(1)--第一个项目
操作系统:Windows Python版本:python3.6 前置工作: pip install virtualenvwrapper #安装虚拟环境管理包 1.创建虚拟环境 mkvirtualenv ...
- Mongo C# Driver 聚合使用---深入浅出
聚合查询结构体系 我们都知道Mongo中聚合是由$match,$project等聚合项组成,所以在C# Driver中具有两种类型:聚合管道(PipelineDefinition)和聚合管道项(I ...
- TensorRT&Sample&Python[yolov3_onnx]
本文是基于TensorRT 5.0.2基础上,关于其内部的yolov3_onnx例子的分析和介绍. 本例子展示一个完整的ONNX的pipline,在tensorrt 5.0的ONNX-TensorRT ...
- WPF效果(GIS三维续篇)
去年这个时候简单的摸索了一下三维的GIS相关的东西,也就是仅仅玩耍了一把,这次来点真正用的上的干货效果效果: 1.加载自定义百度样式的瓦片效果 2.加载自定义百度样式的缩放效果 3.快速手动进去咱的大 ...
- 使用 ng build 构建后资源地址引用错误的问题
最近使用 Angular 做项目的时候,通过 ng build 打包后的资源地址都带有 localhost:4200,百思不得其解,以为是打包的问题. 最后在 index.html 的文件中发现有一个 ...
- 64位ubuntu安装交叉编译工具链,显示找不到命令
是因为Ubuntu64位版本已不支持ia32-libs的软件包,而是使用了lib32ncurses5.lib32z1软件包做为替代, 所以在Ubuntu16.04版本当中应该安装执行: sudo ap ...
- Unity编辑器扩展
在开发中有可能需要自己开发编辑器工具,在Unity中界面扩展常见两种情况,拿某插件为例: 1,自建窗口扩展 2,脚本Inspector显示扩展 不管使用那种样式,都需要经常用到两个类EditorGUI ...
- MYSQL 双主配置
MYSQL1. 版本号:5.7.243. 部署方式:双主部署,两台机器即是主又是备 ,双向拷贝,可以同时写入.4. 安装部署路径: a) /home/softb) 配置路径 /etc/my.cnfc) ...