内网渗透核心技术解析:从信息收集到横向移动的实战攻防

📅 2026/7/6 15:25:24
内网渗透核心技术解析:从信息收集到横向移动的实战攻防
1. 项目概述与核心价值“内网渗透”这四个字对于很多刚接触网络安全的朋友来说既神秘又充满吸引力。它听起来像是电影里黑客高手在防火墙内部如入无人之境的炫酷操作但实际上它是网络安全攻防体系中至关重要、也最考验技术深度和耐心的一环。简单来说内网渗透就是攻击者或安全测试人员在成功进入一个组织的内部网络后为了获取更高权限、控制更多资产、窃取核心数据而进行的一系列横向移动和权限提升活动。这就像是你已经成功混进了一座守卫森严的城堡大门但你的目标可能是国王的宝库而宝库藏在城堡深处你需要在不惊动巡逻卫兵的情况下摸清城堡结构、找到钥匙、打开一道道门锁。我干了十多年安全从红队演练到应急响应内网环境是绕不开的战场。很多企业以为部署了防火墙、上了WAF就高枕无忧但真正的威胁往往来自内部。一次成功的钓鱼攻击、一个未打补丁的终端漏洞就可能让攻击者在内网站稳脚跟。因此理解内网渗透不仅是攻击者的“必修课”更是防御者构建纵深防御体系、理解攻击者视角的“基本功”。这篇文章我将抛开那些花哨的噱头从零开始为你拆解内网渗透的核心知识、技术脉络和实战思路。无论你是想踏入安全行业的新手还是希望提升内网防御能力的运维、开发人员都能从这里获得一套清晰的认知框架和实用的方法论。2. 内网渗透的核心概念与目标拆解在深入技术细节之前我们必须先搞清楚内网渗透到底是什么以及攻击者在内网里究竟想干什么。这能帮助我们建立正确的视角而不是盲目地学习工具使用。2.1 什么是内网渗透内网渗透顾名思义是针对内部网络的渗透测试。它与外部渗透测试从互联网攻击公网应用有本质区别。内网渗透通常发生在攻击者已经通过某种方式如钓鱼邮件、Web应用漏洞、VPN弱口令等获取了内网中一台主机的初始访问权限之后。此时攻击者所处的网络环境通常是一个受信任的、相对封闭的内部网络。这个内部网络可能包含成百上千台服务器、工作站、网络设备、打印机、摄像头等。这些设备之间默认存在较高的信任关系安全策略往往不如面向互联网的边界那么严格。内网渗透的目标就是利用这种信任关系和相对宽松的环境从一个“突破点”出发逐步扩大战果最终控制整个网络的核心资产如域控制器、数据库服务器、文件服务器、源代码库等。2.2 内网渗透的典型目标与阶段一次完整的内网渗透活动可以清晰地划分为几个阶段每个阶段都有明确的目标信息收集与侦察这是内网渗透的起点。攻击者需要摸清所处的网络环境。这包括网络拓扑有哪些网段网关、DNS服务器、DHCP服务器的IP是什么存活主机当前网段内有哪些机器是开机的主机信息这些机器运行什么操作系统开了哪些端口和服务有没有特殊的应用用户与权限当前登录的用户是谁有什么权限所在机器在域中是什么角色信任关系机器之间、用户之间、域之间的信任关系是怎样的权限提升初始获取的权限往往很低例如一个普通域用户的权限。攻击者需要将其提升为更高权限如本地管理员、域管理员甚至SYSTEM权限。这是横向移动的基础。横向移动这是内网渗透的核心。指攻击者从已控制的主机A移动到网络内的另一台主机B并在B上获得执行代码或访问资源的能力。常用的手段包括传递哈希、票据传递、利用服务漏洞、远程计划任务等。持久化与后渗透在获取关键权限后攻击者需要维持对目标的访问即使初始入口被修复。同时进行更深度的后渗透活动如凭据窃取从内存中抓取密码哈希、明文密码或转储本地/域SAM数据库。关键信息定位搜索敏感文件、数据库连接字符串、配置文件等。数据外泄将窃取的数据通过隐蔽通道如DNS隧道、HTTP隧道传出内网。清除痕迹删除日志、隐藏文件避免被安全设备发现。注意我们讨论的所有技术都应在合法授权和道德准则下进行例如在企业授权的渗透测试、攻防演练或自己的实验环境中。未经授权的测试是违法行为。2.3 内网环境的核心特征域Domain对于Windows内网环境Active Directory域是绝对的核心。理解了域就理解了内网渗透的半壁江山。你可以把域想象成一个集中管理的“王国”。域控制器是这个王国的“首都”和“行政中心”存储着所有用户、计算机账户和策略信息。域用户/计算机是王国的“公民”和“建筑”它们信任并服从域控制器的管理。组策略是王国颁布的“法律”统一管理所有“公民”和“建筑”的行为规范如密码策略、软件安装、防火墙规则。信任关系是王国与其他“王国”其他域之间的“外交关系”。攻击者的终极目标往往就是夺取“首都”域控制器的控制权。一旦成为域管理员就意味着你拥有了这个“王国”的最高统治权可以控制所有加入域的计算机和用户。3. 内网渗透的核心技术栈详解掌握了目标我们来看看实现这些目标需要哪些“兵器”。内网渗透的技术栈非常庞杂但核心可以归纳为以下几类。3.1 信息收集你的“雷达”与“地图”信息收集的深度和广度直接决定了后续渗透的效率和成功率。在内网中信息收集是持续进行的。主机发现与端口扫描工具Nmap是绝对的主力。但内网中动静要小。技巧Ping扫描nmap -sn 192.168.1.0/24快速发现存活主机。无Ping扫描nmap -Pn 192.168.1.100绕过禁Ping的主机。端口扫描nmap -sS -sV -O 192.168.1.100SYN扫描服务版本探测操作系统探测。在内网-sT全连接扫描有时更稳定但日志记录更完整。隐蔽扫描使用-sS(SYN),-sF(FIN),-sX(Xmas) 等但现代IDS/IPS大多能识别。Windows原生命令net view查看局域网共享主机、arp -a查看ARP缓存、nbtstat -a [IP]查看NetBIOS信息非常有用。网络拓扑与路由分析ipconfig /all或ifconfig查看本机IP、网关、DNS。route print或netstat -rn查看路由表了解网络结构。tracert或traceroute追踪到目标主机的路径。用户、组与权限枚举本地信息whoami当前用户名。whoami /priv当前用户权限。net user查看本地用户。net localgroup administrators查看本地管理员组。域内信息如果已加入域net user /domain枚举域用户。net group /domain枚举域组。net group domain admins /domain查看域管理员。net view /domain查看域列表。net view /domain:[DomainName]查看指定域内的机器。共享与服务枚举net share查看本地共享。net use \\[IP]\IPC$尝试空连接或凭据连接枚举共享IPC$是隐藏的管理共享。使用smbclient(Linux) 或smbmap等工具更高效地枚举SMB共享。自动化信息收集工具PowerShellPowerView是神器可以非常方便地查询域内用户、计算机、组策略、信任关系等。BloodHound图形化工具通过收集域内关系数据自动分析出攻击路径告诉你“从当前用户到域管理员最快怎么走”。实操心得信息收集阶段切忌“大张旗鼓”。一次全端口、全版本的扫描可能会触发安全告警。在实际测试中我通常会分阶段、分批次进行先快速扫描存活主机和常见高危端口如445 3389 135再对感兴趣的目标进行深度扫描。同时多利用系统自带的命令它们通常不会引起杀毒软件的警觉。3.2 权限提升从“平民”到“贵族”拿到一个普通用户shell后第一要务就是提权。提权方法五花八门核心思路是利用系统、应用或配置的缺陷。Windows系统提权内核漏洞提权这是最直接有效的方法。通过系统未修补的漏洞直接获取SYSTEM权限。步骤 a. 信息收集systeminfo查看系统版本、补丁情况。 b. 查找漏洞根据系统版本和补丁号在 exploit-db、GitHub 等平台搜索公开的本地提权EXP。 c. 上传并执行将EXP上传到目标机器并执行。常用工具Windows-Exploit-Suggester、Watson、Sherlock(PowerShell) 可以自动检测系统可能存在的漏洞。示例经典的MS17-010永恒之蓝、CVE-2021-1675PrintNightmare等。服务提权原理查找配置错误的服务例如服务以SYSTEM权限运行但其可执行文件路径或依赖的DLL可以被普通用户修改。检查命令sc qc [服务名]查看服务配置关注BINARY_PATH_NAME和SERVICE_START_NAME。利用如果路径可写替换为我们的恶意程序或者利用DLL劫持。计划任务提权原理计划任务以高权限运行如果其执行的文件或脚本位置可写就可以替换它。检查命令schtasks /query /fo LIST /v查看计划任务详情。AlwaysInstallElevated原理如果组策略启用了AlwaysInstallElevated任何用户都可以以SYSTEM权限安装MSI包。检查reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated和 HKLM 下的相同键值。如果都是1则可利用。利用使用msfvenom生成恶意MSI文件并执行。凭据窃取与滥用原理系统中可能存储着高权限用户的凭据密码、哈希。工具Mimikatz神器中的神器可以从内存中提取明文密码、哈希、票据。ProcdumpMimikatz先dumplsass.exe进程内存在本地用Mimikatz分析避免直接内存操作被杀软拦截。命令示例需管理员权限# 提取内存中的明文密码和哈希 privilege::debug sekurlsa::logonpasswordsLinux系统提权内核漏洞提权与Windows类似如Dirty Cow (CVE-2016-5195)。SUID/SGID文件提权查找设置了SUID位的可执行文件如果该文件有漏洞或能被利用来执行命令。查找命令find / -perm -us -type f 2/dev/nullsudo权限滥用检查当前用户能以root身份无需密码运行哪些命令 (sudo -l)。如果包含vim,nano,python,perl等可能通过逃逸到shell提权。环境变量提权利用PATH环境变量或LD_PRELOAD进行劫持。计划任务 (Cron Job)检查/etc/crontab和/var/spool/cron/看是否有全局可写的脚本。注意事项提权操作风险极高极易触发告警。在真实环境中务必评估必要性。有时不提升权限仅利用当前用户权限进行横向移动可能更隐蔽。3.3 横向移动在“城堡”中穿行这是内网渗透最精彩也最复杂的部分。目标是利用已控主机作为跳板访问和控制网络中的其他主机。基于凭据的横向移动 这是最主流的方式。核心是“传递哈希”和“票据传递”。传递哈希你不需要知道用户的明文密码只要有他的NTLM哈希就可以用这个哈希去验证身份访问其他机器。工具psexec(来自Sysinternals但微软官方版会要求输入密码)wmiexec(Impacket套件)smbexec(Impacket)。Impacket示例# 使用获取的域管理员哈希通过WMI在目标机器上执行命令 python3 wmiexec.py -hashes :[NTLM_Hash] DOMAIN/Administrator[Target_IP] whoami票据传递在Kerberos认证的域环境中你可以窃取其他用户的TGT或TGS票据然后直接使用该票据去访问服务无需密码或哈希。黄金票据伪造域控制器的KRBTGT账户的TGT票据可以访问域内任何服务。白银票据伪造针对特定服务的TGS票据用于访问该服务。工具Mimikatz可以导出、注入票据。基于服务的横向移动WMIWindows管理规范功能强大。可以通过WMI远程执行命令、创建进程。命令wmic /node:[Target_IP] /user:[User] /password:[Pass] process call create cmd.exe /c whoami C:\test.txtWinRMWindows远程管理。如果目标开启了WinRM服务默认端口5985/5986可以使用Enter-PSSession或evil-winrm工具进行连接。SMB利用SMB协议执行命令如经典的psexec。RDP远程桌面。如果拿到了有RDP登录权限的凭据可以直接图形化登录。SSH在Linux/Unix内网中通过SSH密钥或密码进行跳转。利用漏洞的横向移动 如果内网中存在未修补的漏洞如MS17-010可以直接利用进行横向传播像蠕虫一样。横向移动的跳板与代理 你不能总是从自己的攻击机直接连接内网深处的目标。你需要建立代理通道。SOCKS代理在已控主机上搭建一个SOCKS代理服务让你的攻击流量通过它转发到内网。工具EarthWorm经典的国产多平台代理工具功能强大。frp高性能的反向代理工具配置灵活。Neo-reGeorgHTTP隧道工具常用于突破网络限制。操作流程在已控主机跳板机上传代理工具的服务端。在攻击机上运行客户端连接跳板机的服务端。配置你的扫描器、漏洞利用工具等通过本地的代理端口如1080发送流量。3.4 持久化与后渗透站稳脚跟达成目标拿到关键权限后如何保住成果并挖掘价值持久化创建后门账户在本地或域内添加隐藏的管理员账户。计划任务创建定时启动的后门。服务安装一个自启动的恶意服务。启动项修改注册表或启动文件夹。WMI事件订阅一种高级的、隐蔽的持久化方式当特定系统事件触发时执行payload。DLL劫持替换系统或应用常用的DLL。凭据窃取LSASS内存转储如前所述使用Mimikatz。SAM数据库转储reg save HKLM\SAM sam.save和reg save HKLM\SYSTEM system.save然后导出到本地用secretsdump.py(Impacket) 破解。LSA Secrets注册表中存储的机密信息。浏览器密码使用LaZagne、Mimikatz等工具提取。密码管理器针对如Keepass、Lastpass等。信息搜索与数据定位文件搜索搜索包含“password”、“secret”、“config”、“backup”等关键词的文件。Windowsfindstr /s /i password *.txt *.xml *.configLinuxgrep -r -i password /home /etc 2/dev/null数据库连接字符串在Web配置文件、源代码中查找。源代码与文档定位企业的核心资产。4. 内网渗透实战流程与核心环节实现光说不练假把式。下面我将模拟一个典型的、简化的内网渗透流程将上述技术串联起来。假设我们通过一个Web漏洞如SQL注入拿到了内网一台Web服务器Windows的Webshell权限是iis apppool\defaultapppool。4.1 阶段一立足与初步侦察确认立足点通过Webshell执行whoami和ipconfig确认我们是一台位于192.168.52.0/24网段的Windows服务器用户权限很低。基础信息收集systeminfo查看系统版本和补丁为后续提权做准备。netstat -ano查看网络连接发现它可能还连接着数据库如192.168.52.141:1433。net usernet localgroup administrators查看本地用户和管理员。net view尝试查看当前网段的邻居但可能因为权限失败。上传工具通过Webshell上传一个功能齐全的“大马”或分块上传我们的工具包如包含nmap.exe,mimikatz.exe,powercat.ps1等。注意免杀处理。4.2 阶段二权限提升与深入侦察尝试提权运行Windows-Exploit-Suggester或类似脚本分析systeminfo输出发现系统未打MS16-032补丁。上传MS16-032的提权EXP并执行成功获得NT AUTHORITY\SYSTEM权限的交互式Shell例如反弹一个SYSTEM权限的meterpreter。域信息收集在新的高权限Shell中运行net time /domain。如果成功返回域控制器时间说明这台机器加入了域。net config workstation查看计算机名和登录的域。net group domain computers /domain尝试枚举域内计算机需要域用户权限。此时我们可能还没有域用户凭据。凭据窃取运行Mimikatzprivilege::debug-sekurlsa::logonpasswords。运气好内存中抓取到了域管理员或高权限域用户的明文密码或哈希。这是内网渗透的“金钥匙”。运气一般只抓到了本地用户的哈希。同时转储SAM数据库备用。4.3 阶段三横向移动与扩大战果假设我们抓取到了一个域用户DOMAIN\dev_user的哈希。主机发现使用上传的nmap或通过for /l %i in (1,1,254) do ping -n 1 -w 50 192.168.52.%i | findstr TTL来发现192.168.52.0/24网段的存活主机。端口扫描对存活主机扫描关键端口如445 (SMB)、135 (WMI)、5985 (WinRM)、1433 (MSSQL)、3389 (RDP)。尝试横向移动发现192.168.52.20开放445端口。使用Impacket的psexec.py尝试传递哈希# 在攻击机上执行假设我们已通过代理将流量指向跳板机 python3 psexec.py -hashes :[dev_user_NTLM_Hash] DOMAIN/dev_user192.168.52.20如果成功我们就在192.168.52.20上获得了一个SYSTEM权限的Shell因为psexec服务是以SYSTEM运行的。建立代理在Web服务器第一台跳板上运行ew的socks5服务端。在攻击机上连接建立一个通向192.168.52.0/24网段的代理通道。配置Proxychains让后续所有扫描和攻击流量都通过这个代理。信息收集与再移动在192.168.52.20上重复信息收集和凭据窃取流程。可能发现这台机器是某个部门员工的电脑内存中存有更多凭据。利用新凭据继续向其他网段如10.10.10.0/24或更高价值目标如文件服务器192.168.52.100移动。4.4 阶段四定位与攻击核心目标定位域控制器nslookup查询域名的SRV记录nslookup -typeSRV _ldap._tcp.dc._msdcs.[域名]或者从DNS服务器信息、本地Hosts文件、网络流量中推断。假设域控制器是DC01.DOMAIN.LOCALIP为192.168.52.10。攻击域控制器如果我们已经拥有了域管理员凭据哈希或密码攻击就变得简单。DCSync攻击使用Mimikatz的lsadump::dcsync功能模拟域控制器从真正的DC同步数据从而直接导出域内所有用户的哈希。这是获取域哈希的“核武器”。mimikatz # lsadump::dcsync /domain:DOMAIN.LOCAL /user:Administrator直接远程执行使用域管理员凭据通过WMI或SMB在域控制器上直接执行命令获取完全控制。4.5 阶段五持久化与清理在域控制器上创建隐蔽后门例如创建一个名称与系统服务相似的隐藏计划任务。黄金票据利用从DCSync获取的KRBTGT账户哈希制作一张黄金票据。即使域管理员密码被修改只要KRBTGT密码未改通常很少改这张票据依然有效。数据打包与外泄将收集到的敏感数据数据库备份、源代码、文档压缩、加密通过之前建立的代理通道或利用DNS/HTTP/ICMP等隐蔽隧道缓慢传出。清理痕迹根据情况选择性清除事件日志 (wevtutil cl) 、工具和临时文件。注意专业的蓝队会重点检查日志被清除的行为。5. 常见问题、排查技巧与防御建议实录在实际操作中你会遇到各种各样的问题。下面是我踩过的一些坑和对应的解决思路。5.1 常见问题与排查问题1工具被杀毒软件拦截。现象上传的exe、ps1脚本一运行就被删除。解决免杀处理使用Veil、Shellter等工具对payload进行编码和混淆。或自己编写简单的加载器。内存加载不落地执行。例如使用Invoke-ReflectivePEInjection将PE文件直接加载到内存中执行。使用合法工具尽量使用系统自带的程序或签名的合法工具如certutil.exe,bitsadmin.exe来下载和执行代码。这就是“Living off the Land”战术。禁用AV如果已获得管理员权限可以尝试临时禁用或卸载杀软但动静大。问题2网络不通或端口受限。现象能ping通目标但SMB、WMI连接失败。排查防火墙检查本地和目标的防火墙规则。netsh advfirewall show allprofiles state。主机防火墙临时添加规则放行端口需权限。网络防火墙可能网段间有访问控制列表限制。尝试其他端口或协议如通过80/443端口建立HTTP/HTTPS隧道。代理与路由确认你的代理设置正确流量确实从跳板机发出。问题3传递哈希失败。现象使用正确的哈希但psexec或wmiexec返回权限拒绝。可能原因目标系统版本Windows Server 2012 R2及更高版本默认限制了基于NTLM的远程登录如SMB签名要求、限制空会话等。可能需要启用LocalAccountTokenFilterPolicy或使用其他方法。UAC远程限制对于非内置的本地管理员账户即使它在管理员组远程连接时也会被过滤掉高权限令牌。需要修改注册表FilterAdministratorToken。账户被禁用或登录时间限制。SMB签名如果目标强制要求SMB签名而你的工具不支持也会失败。问题4BloodHound数据收集失败。现象运行SharpHound.exe或BloodHound.py收集器时出错或无结果。排查权限确保运行收集器的账户有足够的域内读取权限通常域用户即可。网络可达确保能访问域控制器和需要枚举的计算机的445等端口。工具版本BloodHound和收集器版本要匹配。杀软拦截BloodHound收集器的行为可能被识别为恶意。尝试使用不同的收集方法如PS1版本或在非工作时间运行。5.2 防御视角与建议理解了攻击才能更好地防御。从防御者角度看应对内网渗透需要多层布防最小权限原则给用户和服务分配刚好够用的权限。域管理员账户仅在域控制器上使用不要在其他任何地方登录。网络分段与隔离将网络划分为不同的信任区域如生产网、办公网、DMZ严格控制区域间的访问。核心资产如域控、数据库放在最内层。强化身份认证启用LAPS本地管理员密码解决方案确保每台机器的本地管理员密码不同且定期更换。强制使用强密码策略并定期更换。部署双因素认证尤其是对特权账户和高价值系统的远程访问。及时修补漏洞建立完善的补丁管理流程尤其是针对MS17-010、PrintNightmare这类能导致横向移动的严重漏洞。启用安全特性启用Windows Defender Credential Guard保护内存中的凭据。启用SMB签名和强制Kerberos认证缓解哈希传递攻击。配置本地安全策略限制远程访问如通过WMI、SMB的账户。加强监控与审计集中收集和分析Windows安全日志、Sysmon日志、网络设备日志。重点关注事件ID 4624登录成功、4625登录失败、4672特权使用、4688进程创建、5140网络共享访问等。部署EDR终端检测与响应或NDR网络检测与响应产品能够识别异常横向移动、凭据窃取等行为。定期进行安全评估聘请专业的红队进行内网渗透测试主动发现防御体系中的盲点和弱点。内网渗透是一场攻防双方在知识、技术和耐心上的全面较量。攻击方在暗处不断寻找信任链条中最薄弱的一环防御方则需要构建一个纵深、联动、智能的防御体系让攻击者举步维艰。希望这篇超详细的解析能为你打开内网安全这扇大门无论是为了攻击还是防御理解其中的原理和脉络都是迈向更高阶的必经之路。记住工具和技术是冰冷的但背后的思路和策略才是灵魂。多搭建实验环境练习多思考“如果我是防守方这里该怎么防”你的技术才能真正得到升华。