VulnHub靶机学习——toppo实战记录
字数 1326 2025-08-18 11:38:23
VulnHub靶机toppo实战教学文档
靶机概述
- 名称: toppo
- 难度: Beginner (初学者级别)
- 下载地址: https://www.vulnhub.com/entry/toppo-1,245/
- 特点: 对新手友好,包含基础的信息收集、目录枚举、密码猜测和权限提升等环节
环境准备
- 攻击机: ParrotSec Linux (或其他Kali Linux发行版)
- 靶机: toppo虚拟机
- 网络配置: 确保攻击机和靶机在同一网络环境中
渗透测试步骤
1. 信息收集
1.1 获取靶机IP
- 靶机登录界面直接显示了IP地址
- 也可以通过
netdiscover或arp-scan扫描局域网发现靶机IP
1.2 端口扫描
使用nmap进行端口扫描:
nmap -sV -p- <靶机IP>
发现开放端口:
- 22/tcp - SSH服务
- 80/tcp - HTTP服务
- 111/tcp - RPCbind服务
2. Web服务枚举
2.1 访问Web界面
- 浏览器访问
http://<靶机IP> - 检查页面源代码(F12),未发现有用信息
2.2 目录爆破
使用dirb进行目录枚举:
dirb http://<靶机IP>
发现重要目录:
/admin/- 管理员目录
2.3 检查/admin目录
访问http://<靶机IP>/admin/发现notes.txt文件,内容包含疑似密码的字符串
3. SSH登录尝试
3.1 尝试SSH登录
- 使用常见用户名(如root, admin, toppo等)和notes.txt中找到的密码尝试SSH登录
- 成功登录示例:
ssh root@<靶机IP>
# 使用发现的密码
4. 权限提升
4.1 信息收集
在靶机上执行信息收集:
- 检查当前用户权限:
id - 检查sudo权限:
sudo -l - 使用LinEnum脚本收集系统信息
4.2 利用AWK提权
发现可以使用AWK命令进行提权:
awk 'BEGIN {system("/bin/sh")}'
或直接读取root文件:
awk '{print}' /root/flag.txt
关键知识点总结
-
信息收集的重要性:
- 靶机IP可能直接显示
- 全面扫描开放端口和服务
- Web目录枚举可能发现敏感信息
-
密码重用风险:
- 系统密码可能直接写在Web文件中
- 尝试使用发现的密码进行SSH登录
-
权限提升方法:
- 检查sudo权限(
sudo -l) - 查找具有SUID权限的可执行文件
- 利用AWK等命令的功能进行提权
- 检查sudo权限(
防御建议
-
服务器安全:
- 避免将密码明文存储在Web可访问的文件中
- 限制SSH访问,禁用root直接登录
- 定期更新系统和软件
-
权限控制:
- 遵循最小权限原则
- 审查sudo权限配置
- 移除不必要的SUID权限
-
日志监控:
- 监控异常登录尝试
- 记录敏感文件访问日志
扩展学习
-
工具推荐:
- 目录枚举: dirb, dirbuster, gobuster
- 信息收集: LinEnum, LinPEAS
- 提权检查: GTFOBins (https://gtfobins.github.io/)
-
类似靶机:
- VulnHub上的其他Beginner级别靶机
- OverTheWire的Bandit系列
-
深入学习:
- Linux权限模型
- 常见Web漏洞
- 权限维持技术
通过这个靶机的练习,可以掌握基础的渗透测试流程和信息收集技巧,为进一步学习更复杂的渗透测试技术打下基础。