渗透测试实战:HackMyVM Hundred 靶场攻防演练
前言
本教程基于 HackMyVM 平台上的"Hundred"靶机进行实战演练。该靶机专为渗透测试新手设计,涵盖了从信息收集、漏洞发现、漏洞利用到权限提升的完整攻击链条。通过复现此过程,学习者可以深入理解 Linux 系统安全机制、常见服务漏洞以及横向移动的基本思路。
环境搭建与准备
在进行渗透测试前,需要确保攻击机(Kali Linux)与被测目标机处于同一局域网段。本次实验的网络配置如下:
- 攻击机 (Kali): 192.168.1.3/24
- 目标机 (Target): 192.168.1.146/24
- 任务目标: 获取普通用户 flag 和管理员 root flag
请确保已安装必要的工具,包括 nmap、openssh-client、gobuster、openssl 以及 stegseek 等。
第一阶段:信息收集 (Information Gathering)
信息收集是渗透测试的第一步,目的是摸清目标的网络拓扑和开放端口。
1. 主机存活探测
首先使用 ARP 扫描确认网段内的活跃主机:
nmap -sn 192.168.1.0/24
输出结果将显示哪些 IP 地址正在响应请求。
2. 端口与服务扫描
接下来对目标 IP 进行全面的端口扫描,识别开放的服务及其版本信息:
sudo nmap -v -T4 -p- -A -oN nmap.log 192.168.1.146
参数说明:
-v: 增加输出详细程度。-T4: 设置模板速度为激进模式。-p-: 扫描所有 65535 个端口。-A: 开启 OS 检测、版本检测、脚本扫描和 traceroute。-oN: 将结果保存为文本格式。
扫描结果显示目标开放了以下关键端口:
- 21/tcp: FTP 服务
- 22/tcp: SSH 服务
- 80/tcp: HTTP Web 服务
![图:Nmap 扫描结果展示开放的 21, 22, 80 端口]
第二阶段:漏洞利用 (Vulnerability Exploitation)
1. FTP 服务利用
连接 21 端口 FTP 服务。根据经验,部分老旧 FTP 服务器允许匿名登录或使用弱口令。
尝试使用用户名 ftp 和密码 ftp 登录:
ftp 192.168.1.146
# 输入用户名:ftp
# 输入密码:ftp
登录成功后,查看当前目录文件列表。可以发现存在 id_rsa 密钥文件和 users.txt 文件。值得注意的是,某些配置不当的 FTP 服务器允许任意用户名密码组合登录,但为了规范操作,我们记录实际凭证。
下载所有文件至本地进行分析:
mget *
分析私钥文件:
下载的 id_rsa 文件看似是一个标准的 OpenSSH 私钥,但经过检查发现其内容异常,可能包含加密信息或伪装数据。同时存在一个 文件,这通常是 PEM 格式的私钥。


