第一次渗透测试的分享和小结
字数 2266 2025-08-26 22:11:40

渗透测试实战指南:从入门到进阶

1. 渗透测试基础准备

1.1 法律授权

  • 授权是渗透测试的首要前提,未经授权的测试属于违法行为
  • 必须获得书面授权文件,明确测试范围和规则

1.2 工具准备

  • 漏洞扫描工具:Nessus、AWVS、Appscan
  • 渗透测试工具:Burp Suite、sqlmap、Hydra
  • 信息收集工具:Github、Google搜索、各类字典
  • 漏洞利用工具:Metasploit框架、各类CVE的exp
  • 中间件漏洞利用工具:针对不同中间件的专用工具

1.3 字典准备

  • 弱密码字典至关重要,可从Github获取或自行生成
  • 特殊定制字典可使用Python脚本生成
  • 常见默认密码字典需要收集(如设备出厂密码)

2. 信息收集阶段

2.1 资产扫描

  • 使用Nessus进行全面漏洞扫描
  • 使用nmap进行端口扫描:nmap -p 1-65535 -T4 -A -v <IP>
  • 快速扫描可使用masscan:masscan <IP> -p0-65535 --rate 1000000

2.2 Web应用扫描

  • 发现Web端口(80,8080,443等)后使用AWVS深入扫描
  • 使用dirsearch或御剑扫描网站目录结构

2.3 服务爆破

  • SSH爆破
    hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh
    hydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh
    
  • FTP爆破
    hydra ip ftp -l 用户名 -P 密码字典 -t 线程 -vV
    hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV
    
  • Web登录爆破
    • GET方式:
      hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip http-get /admin/
      
    • POST方式:
      hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password"
      

3. 常见漏洞利用

3.1 NFS安全隐患

  1. 检测NFS共享:showmount -e <IP>
  2. 挂载共享到本地:
    mkdir <目录>
    mount -t nfs <ip>:/<共享目录> /<本地目录> -o nolock
    

3.2 弱密码利用技巧

  • 通过响应包判断用户名是否存在:
    • "用户名和密码不匹配" → 用户名存在
    • "不存在用户名" → 用户名不存在
  • 常见弱密码场景:
    • 注释掉的测试账号密码(查看JS源码)
    • 未修改的测试账号
    • 员工未修改的初始密码
    • 设备出厂默认密码
    • 键盘连键密码(如qwe123)

3.3 常见设备默认密码

设备类型 登录地址 用户名 密码
天融信防火墙 https://192.168.1.254 superman talent
联想网御防火墙 https://10.1.5.254:8889 admin leadsec@7766
深信服防火墙 https://10.251.251.251 admin admin
Juniper防火墙 https://192.168.1.1 netscreen netscreen
Cisco设备 https://192.168.0.1 admin cisco
华为设备 http://192.168.0.1 admin Admin@123
H3C设备 http://192.168.0.1 admin admin

3.4 MS17-010(永恒之蓝)利用

  • 验证模块:
    use auxiliary/scanner/smb/smb_ms17_010
    
  • 建议使用NSA原版攻击工具而非MSF模块
  • 永恒浪漫攻击比永恒之蓝更有效

3.5 SQL注入技巧

  • 测试所有与数据库交互的点,不仅是登录框
  • 注意POST请求中不显眼的参数
  • 使用sqlmap进行全面测试
  • XFF头注入是真实存在的漏洞场景

3.6 Cookie安全问题

  • 检查Cookie是否明文传输敏感信息
  • 寻找XSS漏洞获取Cookie
  • 反射型XSS可用来窃取Cookie信息

3.7 Redis未授权访问

  • Redis默认绑定在0.0.0.0:6379且无认证
  • 攻击者可写入SSH公钥文件直接登录
  • 如果Redis以root身份运行,危害极大

4. 中间件漏洞利用

4.1 常见中间件漏洞

  • JBoss反序列化漏洞
  • Weblogic漏洞(可使用WeblogicScan工具)
  • IIS/Nginx解析漏洞(需配合上传点)

4.2 工具推荐

  • Java反序列化集成工具
  • WeblogicScan
  • Java RMI反序列化漏洞检测工具

5. 渗透测试技巧与经验

5.1 实用技巧

  • 执行cat ~/.bash_history查看历史命令,可能发现有用信息
  • 根据实际情况判断是否需要提权,有时直接获取数据更高效
  • 所有GET/POST参数都应测试,不要偷懒只测明显参数

5.2 经验总结

  1. 信息收集是渗透测试的核心
  2. 老版本系统往往存在更多未修补漏洞
  3. 默认配置和弱密码是最常见的突破口
  4. 善用搜索(百度、谷歌、Github)解决遇到的问题
  5. 各大安全论坛有大量经验分享可供参考

6. 注意事项

  • 本文仅限技术研究与学习
  • 未经授权进行渗透测试属于违法行为
  • 测试前必须获得书面授权
  • 发现漏洞后应遵循负责任的披露流程

通过系统性地应用这些方法和工具,即使是新手也能开展有效的渗透测试工作。关键在于全面、细致和坚持不懈的测试态度。

渗透测试实战指南:从入门到进阶 1. 渗透测试基础准备 1.1 法律授权 授权是渗透测试的首要前提 ,未经授权的测试属于违法行为 必须获得书面授权文件,明确测试范围和规则 1.2 工具准备 漏洞扫描工具 :Nessus、AWVS、Appscan 渗透测试工具 :Burp Suite、sqlmap、Hydra 信息收集工具 :Github、Google搜索、各类字典 漏洞利用工具 :Metasploit框架、各类CVE的exp 中间件漏洞利用工具 :针对不同中间件的专用工具 1.3 字典准备 弱密码字典至关重要,可从Github获取或自行生成 特殊定制字典可使用Python脚本生成 常见默认密码字典需要收集(如设备出厂密码) 2. 信息收集阶段 2.1 资产扫描 使用Nessus进行全面漏洞扫描 使用nmap进行端口扫描: nmap -p 1-65535 -T4 -A -v <IP> 快速扫描可使用masscan: masscan <IP> -p0-65535 --rate 1000000 2.2 Web应用扫描 发现Web端口(80,8080,443等)后使用AWVS深入扫描 使用dirsearch或御剑扫描网站目录结构 2.3 服务爆破 SSH爆破 : FTP爆破 : Web登录爆破 : GET方式: POST方式: 3. 常见漏洞利用 3.1 NFS安全隐患 检测NFS共享: showmount -e <IP> 挂载共享到本地: 3.2 弱密码利用技巧 通过响应包判断用户名是否存在: "用户名和密码不匹配" → 用户名存在 "不存在用户名" → 用户名不存在 常见弱密码场景: 注释掉的测试账号密码(查看JS源码) 未修改的测试账号 员工未修改的初始密码 设备出厂默认密码 键盘连键密码(如qwe123) 3.3 常见设备默认密码 | 设备类型 | 登录地址 | 用户名 | 密码 | |----------------|----------------------------|--------------|--------------------| | 天融信防火墙 | https://192.168.1.254 | superman | talent | | 联想网御防火墙 | https://10.1.5.254:8889 | admin | leadsec@7766 | | 深信服防火墙 | https://10.251.251.251 | admin | admin | | Juniper防火墙 | https://192.168.1.1 | netscreen | netscreen | | Cisco设备 | https://192.168.0.1 | admin | cisco | | 华为设备 | http://192.168.0.1 | admin | Admin@123 | | H3C设备 | http://192.168.0.1 | admin | admin | 3.4 MS17-010(永恒之蓝)利用 验证模块: 建议使用NSA原版攻击工具而非MSF模块 永恒浪漫攻击比永恒之蓝更有效 3.5 SQL注入技巧 测试所有与数据库交互的点,不仅是登录框 注意POST请求中不显眼的参数 使用sqlmap进行全面测试 XFF头注入是真实存在的漏洞场景 3.6 Cookie安全问题 检查Cookie是否明文传输敏感信息 寻找XSS漏洞获取Cookie 反射型XSS可用来窃取Cookie信息 3.7 Redis未授权访问 Redis默认绑定在0.0.0.0:6379且无认证 攻击者可写入SSH公钥文件直接登录 如果Redis以root身份运行,危害极大 4. 中间件漏洞利用 4.1 常见中间件漏洞 JBoss反序列化漏洞 Weblogic漏洞(可使用WeblogicScan工具) IIS/Nginx解析漏洞(需配合上传点) 4.2 工具推荐 Java反序列化集成工具 WeblogicScan Java RMI反序列化漏洞检测工具 5. 渗透测试技巧与经验 5.1 实用技巧 执行 cat ~/.bash_history 查看历史命令,可能发现有用信息 根据实际情况判断是否需要提权,有时直接获取数据更高效 所有GET/POST参数都应测试,不要偷懒只测明显参数 5.2 经验总结 信息收集是渗透测试的核心 老版本系统往往存在更多未修补漏洞 默认配置和弱密码是最常见的突破口 善用搜索(百度、谷歌、Github)解决遇到的问题 各大安全论坛有大量经验分享可供参考 6. 注意事项 本文仅限技术研究与学习 未经授权进行渗透测试属于违法行为 测试前必须获得书面授权 发现漏洞后应遵循负责任的披露流程 通过系统性地应用这些方法和工具,即使是新手也能开展有效的渗透测试工作。关键在于全面、细致和坚持不懈的测试态度。