hackmyvm系列10—noob
字数 1100 2025-08-12 11:34:21
HackMyVM系列10—Noob靶机渗透教学文档
靶机概述
这是一个名为"Noob"的虚拟机靶机,属于HackMyVM系列的第10个靶机。本文档将详细讲解从信息收集到最终获取root权限的完整渗透过程。
信息收集阶段
1. 网络扫描
使用netdiscover进行局域网主机发现:
netdiscover -r 192.168.56.0/24
2. 端口和服务扫描
使用nmap进行详细扫描:
nmap -sV -Pn -sC -A 192.168.56.179 -p 0-65535
参数说明:
-sV: 服务版本检测-Pn: 跳过主机发现-sC: 使用默认脚本扫描-A: 全面扫描模式-p 0-65535: 扫描所有端口
3. 目录扫描
使用gobuster进行Web目录枚举:
gobuster dir -u http://192.168.56.179:65530/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
关键发现:
- 存在
.ssh目录,可能包含SSH私钥文件id_rsa
初始访问
1. 获取SSH私钥
从Web服务器的.ssh目录中获取id_rsa私钥文件。
2. SSH登录
使用获取的私钥登录目标系统:
ssh adela@192.168.56.179 -i id_rsa
注意:
- 可能需要调整私钥文件权限:
chmod 600 id_rsa - 用户名为
adela
权限提升
1. 常规提权尝试
尝试使用常见提权方法(如内核漏洞利用)未成功。
2. 发现Web目录所有权
发现Web目录实际上是adela用户的主目录,这提供了提权机会。
3. 创建符号链接
利用符号链接将root目录链接到可访问的目录:
ln -s /root/ root
命令解释:
ln -s: 创建符号链接/root/: 源目录(root用户的主目录)root: 在当前目录下创建的链接名称
4. 获取root的SSH私钥
通过创建的符号链接访问root目录,获取root用户的id_rsa私钥文件。
5. 使用root私钥登录
ssh root@192.168.56.179 -i root_id_rsa
关键知识点总结
-
信息收集的重要性:
- 全面的端口扫描可以发现非常规端口(如65530)的服务
- 目录扫描可以发现隐藏的敏感目录(如.ssh)
-
SSH私钥利用:
- 发现并利用暴露的SSH私钥是常见的初始访问方法
- 私钥文件权限设置不当可能导致无法使用
-
符号链接提权:
- 当Web目录是用户主目录时,可以创建符号链接访问更高权限的文件
- 这种方法不需要漏洞利用,而是利用配置不当
-
最小权限原则:
- Web服务器不应以用户主目录作为根目录
- 敏感文件(如.ssh目录)不应放在Web可访问目录中
防御建议
- 限制Web服务器对系统文件的访问权限
- 不要将用户主目录设置为Web根目录
- 定期检查服务器上的符号链接
- 确保.ssh目录及其内容不可通过Web访问
- 使用适当的文件权限(如700对于.ssh目录,600对于私钥文件)
通过本案例,我们学习了如何利用配置不当和符号链接进行权限提升,这是实际渗透测试中常见的提权方法之一。