VulnHub靶机学习——toppo实战记录
字数 1326 2025-08-18 11:38:23

VulnHub靶机toppo实战教学文档

靶机概述

  • 名称: toppo
  • 难度: Beginner (初学者级别)
  • 下载地址: https://www.vulnhub.com/entry/toppo-1,245/
  • 特点: 对新手友好,包含基础的信息收集、目录枚举、密码猜测和权限提升等环节

环境准备

  1. 攻击机: ParrotSec Linux (或其他Kali Linux发行版)
  2. 靶机: toppo虚拟机
  3. 网络配置: 确保攻击机和靶机在同一网络环境中

渗透测试步骤

1. 信息收集

1.1 获取靶机IP

  • 靶机登录界面直接显示了IP地址
  • 也可以通过netdiscoverarp-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

关键知识点总结

  1. 信息收集的重要性:

    • 靶机IP可能直接显示
    • 全面扫描开放端口和服务
    • Web目录枚举可能发现敏感信息
  2. 密码重用风险:

    • 系统密码可能直接写在Web文件中
    • 尝试使用发现的密码进行SSH登录
  3. 权限提升方法:

    • 检查sudo权限(sudo -l)
    • 查找具有SUID权限的可执行文件
    • 利用AWK等命令的功能进行提权

防御建议

  1. 服务器安全:

    • 避免将密码明文存储在Web可访问的文件中
    • 限制SSH访问,禁用root直接登录
    • 定期更新系统和软件
  2. 权限控制:

    • 遵循最小权限原则
    • 审查sudo权限配置
    • 移除不必要的SUID权限
  3. 日志监控:

    • 监控异常登录尝试
    • 记录敏感文件访问日志

扩展学习

  1. 工具推荐:

    • 目录枚举: dirb, dirbuster, gobuster
    • 信息收集: LinEnum, LinPEAS
    • 提权检查: GTFOBins (https://gtfobins.github.io/)
  2. 类似靶机:

    • VulnHub上的其他Beginner级别靶机
    • OverTheWire的Bandit系列
  3. 深入学习:

    • Linux权限模型
    • 常见Web漏洞
    • 权限维持技术

通过这个靶机的练习,可以掌握基础的渗透测试流程和信息收集技巧,为进一步学习更复杂的渗透测试技术打下基础。

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进行端口扫描: 发现开放端口 : 22/tcp - SSH服务 80/tcp - HTTP服务 111/tcp - RPCbind服务 2. Web服务枚举 2.1 访问Web界面 浏览器访问 http://<靶机IP> 检查页面源代码(F12),未发现有用信息 2.2 目录爆破 使用dirb进行目录枚举: 发现重要目录 : /admin/ - 管理员目录 2.3 检查/admin目录 访问 http://<靶机IP>/admin/ 发现 notes.txt 文件,内容包含疑似密码的字符串 3. SSH登录尝试 3.1 尝试SSH登录 使用常见用户名(如root, admin, toppo等)和notes.txt中找到的密码尝试SSH登录 成功登录示例: 4. 权限提升 4.1 信息收集 在靶机上执行信息收集: 检查当前用户权限: id 检查sudo权限: sudo -l 使用LinEnum脚本收集系统信息 4.2 利用AWK提权 发现可以使用AWK命令进行提权: 或直接读取root文件: 关键知识点总结 信息收集的重要性 : 靶机IP可能直接显示 全面扫描开放端口和服务 Web目录枚举可能发现敏感信息 密码重用风险 : 系统密码可能直接写在Web文件中 尝试使用发现的密码进行SSH登录 权限提升方法 : 检查sudo权限( sudo -l ) 查找具有SUID权限的可执行文件 利用AWK等命令的功能进行提权 防御建议 服务器安全 : 避免将密码明文存储在Web可访问的文件中 限制SSH访问,禁用root直接登录 定期更新系统和软件 权限控制 : 遵循最小权限原则 审查sudo权限配置 移除不必要的SUID权限 日志监控 : 监控异常登录尝试 记录敏感文件访问日志 扩展学习 工具推荐 : 目录枚举: dirb, dirbuster, gobuster 信息收集: LinEnum, LinPEAS 提权检查: GTFOBins (https://gtfobins.github.io/) 类似靶机 : VulnHub上的其他Beginner级别靶机 OverTheWire的Bandit系列 深入学习 : Linux权限模型 常见Web漏洞 权限维持技术 通过这个靶机的练习,可以掌握基础的渗透测试流程和信息收集技巧,为进一步学习更复杂的渗透测试技术打下基础。