打靶日记--Tr0ll
字数 1529 2025-08-29 08:29:41

Tr0ll靶机渗透教学文档

1. 信息收集阶段

1.1 主机发现

  • 使用工具如nmap进行主机发现,确认目标IP地址

1.2 端口扫描

  • 使用nmap进行端口扫描,发现开放端口:
    • 21 (FTP)
    • 22 (SSH)
    • 80 (HTTP)

2. 渗透阶段

2.1 FTP服务渗透

  1. 匿名登录尝试

    • 用户名:anonymous
    • 密码:空
    • 成功登录FTP服务
  2. 文件获取

    • 发现一个pcap流量文件
    • 下载方法:
      • 使用FTP客户端
      • 或直接在Windows资源管理器地址栏输入:ftp://靶机IP

2.2 流量分析

  1. 分析方法

    • 使用Wireshark打开pcap文件
    • 发现是匿名登录FTP并下载文件的过程
    • 更高效的方法:使用Kali的strings命令直接提取字符串
  2. 关键发现

    • 找到leetspeak提示(一种字符替换编码方式)
    • 可能是密码或目录名

2.3 Web服务渗透

  1. 80端口检查

    • 初始访问无内容
    • 进行目录扫描发现:
      • /robots.txt
      • /secret
  2. 目录探索

    • robots.txt提示访问/secret目录
    • /secret目录初始无内容
    • 尝试使用leetspeak作为目录名,发现有效
  3. 文件获取

    • 下载ELF可执行文件
    • 使用file命令确认文件类型
    • 使用strings分析内容,发现地址提示

2.4 二进制分析

  1. 安全检查

    • 使用checksec检测ELF文件保护措施
    • 发现仅开启NX保护(不可执行shellcode)
  2. 逆向分析

    • 使用32位IDA打开文件
    • 地址均为0x0804开头
    • 反编译伪代码无明显可利用点
  3. 地址利用

    • 将发现的地址作为目录名尝试访问
    • 成功发现两个文件:
      • 密码文件
      • 用户名文件

2.5 SSH爆破

  1. 密码喷射

    • 结合22端口开放,尝试密码喷射
    • 初始尝试失败
    • 关键发现:密码是密码文件名"Pass.txt"
  2. 成功登录

    • 使用发现的凭据成功登录SSH

3. 提权阶段

3.1 异常现象分析

  • 登录后频繁被自动踢出
  • 发现是被root权限进程踢出
  • 推断存在root权限的自动任务

3.2 自动任务查找

  1. 查找方法

    • 搜索系统自动任务相关文件
    • 检查日志文件寻找线索
  2. 关键发现

    • 找到自动执行的Python脚本
    • 脚本路径通过日志确认

3.3 权限提升

  1. 脚本修改

    • 直接编辑脚本遇到问题(vi卡死)
    • 替代方案:
      • 本地编写脚本
      • 使用Xshell连接
      • 通过XFTP上传覆盖
  2. 提权脚本内容

#!/usr/bin/env python
import os
os.system("echo 'overflow ALL=(ALL)NOPASSWD:ALL' >> /etc/sudoers")
  1. 执行结果
    • 成功将当前用户加入sudoers文件
    • 获得root权限

4. 关键技巧总结

  1. FTP匿名登录

    • 总是尝试anonymous/空密码组合
    • Windows资源管理器可直接访问FTP
  2. 流量分析

    • strings命令比Wireshark更高效提取字符串
    • 注意leetspeak等编码方式
  3. Web目录发现

    • robots.txt常包含重要提示
    • 尝试将各种提示作为目录名
  4. 密码破解

    • 注意文件名本身可能是密码
    • 密码喷射时注意连接稳定性
  5. 自动任务提权

    • 系统自动踢出可能暗示自动任务
    • 查找/etc/cron*目录和日志文件
    • 当直接编辑困难时,考虑外部编写后上传
  6. 工具使用

    • nmap:端口扫描
    • Wireshark:流量分析
    • strings:快速提取文件字符串
    • checksec:检查二进制保护
    • IDA:逆向分析
    • Xshell/XFTP:稳定连接和文件传输

5. 靶机特点

  1. 设计风格

    • 混合型靶机(渗透+杂项)
    • 包含多个非传统渗透路径
  2. 难点

    • 两分钟自动踢出机制
    • 逆天密码设计(使用文件名作为密码)
    • 需要多次尝试和耐心
  3. 学习价值

    • 培养综合信息处理能力
    • 锻炼在限制条件下的渗透技巧
    • 提高对异常现象的敏感度
Tr0ll靶机渗透教学文档 1. 信息收集阶段 1.1 主机发现 使用工具如nmap进行主机发现,确认目标IP地址 1.2 端口扫描 使用nmap进行端口扫描,发现开放端口: 21 (FTP) 22 (SSH) 80 (HTTP) 2. 渗透阶段 2.1 FTP服务渗透 匿名登录尝试 : 用户名:anonymous 密码:空 成功登录FTP服务 文件获取 : 发现一个pcap流量文件 下载方法: 使用FTP客户端 或直接在Windows资源管理器地址栏输入: ftp://靶机IP 2.2 流量分析 分析方法 : 使用Wireshark打开pcap文件 发现是匿名登录FTP并下载文件的过程 更高效的方法:使用Kali的 strings 命令直接提取字符串 关键发现 : 找到leetspeak提示(一种字符替换编码方式) 可能是密码或目录名 2.3 Web服务渗透 80端口检查 : 初始访问无内容 进行目录扫描发现: /robots.txt /secret 目录探索 : robots.txt提示访问/secret目录 /secret目录初始无内容 尝试使用leetspeak作为目录名,发现有效 文件获取 : 下载ELF可执行文件 使用 file 命令确认文件类型 使用 strings 分析内容,发现地址提示 2.4 二进制分析 安全检查 : 使用 checksec 检测ELF文件保护措施 发现仅开启NX保护(不可执行shellcode) 逆向分析 : 使用32位IDA打开文件 地址均为0x0804开头 反编译伪代码无明显可利用点 地址利用 : 将发现的地址作为目录名尝试访问 成功发现两个文件: 密码文件 用户名文件 2.5 SSH爆破 密码喷射 : 结合22端口开放,尝试密码喷射 初始尝试失败 关键发现:密码是密码文件名"Pass.txt" 成功登录 : 使用发现的凭据成功登录SSH 3. 提权阶段 3.1 异常现象分析 登录后频繁被自动踢出 发现是被root权限进程踢出 推断存在root权限的自动任务 3.2 自动任务查找 查找方法 : 搜索系统自动任务相关文件 检查日志文件寻找线索 关键发现 : 找到自动执行的Python脚本 脚本路径通过日志确认 3.3 权限提升 脚本修改 : 直接编辑脚本遇到问题(vi卡死) 替代方案: 本地编写脚本 使用Xshell连接 通过XFTP上传覆盖 提权脚本内容 : 执行结果 : 成功将当前用户加入sudoers文件 获得root权限 4. 关键技巧总结 FTP匿名登录 : 总是尝试anonymous/空密码组合 Windows资源管理器可直接访问FTP 流量分析 : strings命令比Wireshark更高效提取字符串 注意leetspeak等编码方式 Web目录发现 : robots.txt常包含重要提示 尝试将各种提示作为目录名 密码破解 : 注意文件名本身可能是密码 密码喷射时注意连接稳定性 自动任务提权 : 系统自动踢出可能暗示自动任务 查找/etc/cron* 目录和日志文件 当直接编辑困难时,考虑外部编写后上传 工具使用 : nmap:端口扫描 Wireshark:流量分析 strings:快速提取文件字符串 checksec:检查二进制保护 IDA:逆向分析 Xshell/XFTP:稳定连接和文件传输 5. 靶机特点 设计风格 : 混合型靶机(渗透+杂项) 包含多个非传统渗透路径 难点 : 两分钟自动踢出机制 逆天密码设计(使用文件名作为密码) 需要多次尝试和耐心 学习价值 : 培养综合信息处理能力 锻炼在限制条件下的渗透技巧 提高对异常现象的敏感度