Skip to content

乙方渗透测试之Fuzz爆破

字数
1478 字
阅读时间
6 分钟
更新日期
9/8/2017

前言

爆破在渗透测试中,对技术的要求不高,但是对技巧和字典的要求就很高了,本篇整理下平时学到的一些爆破思路和技巧(偏web渗透登陆),当你无措可施时,暴力破解是最好的方式。

世界上最可怕的事情是你的习惯被别人掌握,一旦有律可循,You got Hacked。

爆破之字典准备

fuzz 字典

Blasting_dictionary:分享和收集各种字典,包括弱口令,常用密码,目录爆破。数据库爆破,编辑器爆破,后台爆破等。大型字典在big_dictionary.txt文件里

pydictor:一个强大实用的黑客暴力破解字典建立工具

猜密码:密码网根据姓名、用户名、生日、邮箱、手机、历史密码、特殊数字等个人信息精确的分析出个人密码

genpAss:中国特色的弱口令生成器

somd5字典:质量一般

姓名top10w/弱密码top21w:法师提供的字典

针对特定的厂商,重点构造厂商相关域名的字典,例如:

js
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!']

通用邮箱用户名字典:

js
['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’)替换即可。

暗月社工库

数据牛

findmima

sphinx+mysql搭建社工库

fuzz payload

A list of useful payloads and bypass for Web Application Security and Pentest/CTF

贵哥fuzzdb

乌云_Fuzz_scanlist.tar.gz:猪猪侠字典,密码:puao

爆破之工具推荐

手工

Burp Suite Professional v1.7.20密码:i523

Hydra神器

下载:windows | linux

minihydra轻量级密码爆破模块

爆破之fuzz

爆破账号/密码(无验证码/验证码无效)

很多web登录口由于没有验证码/验证码多次有效/无视验证码(为空),

并且未对请求次数做限制,

而且返回特殊标识字符(如“admin 用户不存在”,“root 密码不正确”),

导致可爆破已存在用户;

根据返回包的长度或者返回状态码(返回长度正序/倒序排列,302跳转),爆破密码。

爆破从盲爆top10w到内部联系人列表

平时写的爆破脚本可以实现的功能,burp的Intruder 几乎都可以实现(但不代表脚本没什么用),如常用的几种爆破方式:

js
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

js
使用burp的Intruder(Sniper)选择payloads类型为Custom iterator

Positon1选择账户

Positon2在Separator for position 1中输入":",

Positon3中加载密码

Payload processing中add加密encodebase64-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案例

mailbrute使用poplib3模块

验证码

暴力破解之验证码破解

识别验证码暴力破解小记

python下调用pytesseract识别某网站验证码

一些打码平台 就不贴上了,根据个人喜好

前段时间一家授权厂商,在拿下企业邮箱导出联系人后,构造强弱密码规则,爆破vpn登录口,得到的就是域密码,直接内网。

针对域用户暴力破解,就要构造高强度弱规则密码字典,在满足域密码规则的前提下,爆破跟企业相关的弱口令,此处对信息收集的要求很高,找到特定规则,产出就会很高,危害也就很大。

爆破之随机代理

关于限制ip,网上爬一堆代理,验证,做一个代理池,为每一个爆破请求分配一个代理。

常用的代理池

抓取代理程序

burp使用代理:

后记

爆破门槛不高,入手快,产出也很高,但是在渗透测试时的优先级不高,一般是测完逻辑漏洞,才进行的步骤,其实渗透也没什么步骤,路子野的话,效率会更高。本篇不定时更新,记录平时遇到的好的爆破姿势,总结分享。

作者whoam1(QQ:2069698797),出自:http://www.cnnetarmy.com/

撰写