
1. 从“门外汉”到“敲门人”内网渗透的认知起点很多刚接触安全的朋友一听到“内网渗透”四个字脑海里可能立刻浮现出电影里黑客在键盘上噼里啪啦、屏幕上代码滚动的炫酷场景觉得这技术高深莫测离自己很远。实际上内网渗透更像是一场系统性的“城堡探险”。你可以把一家公司的网络想象成一座戒备森严的城堡外部有高墙防火墙、护城河网络隔离而内网渗透的目标就是从外部找到一个不起眼的“侧门”或“窗户”溜进去然后在这个城堡内部自由探索摸清每个房间服务器、终端的布局、守卫安全策略的弱点甚至找到通往核心宝库核心数据库、域控服务器的钥匙。我刚开始学的时候也走过不少弯路总觉得工具和命令是王道疯狂收集各种“神器”和“一键脚本”。后来踩过几次坑才明白工具只是“兵器”而清晰的思路和扎实的基础知识才是“内功心法”。没有内功再好的兵器也发挥不出威力甚至可能伤到自己。这篇分享我就想从一个过来人的角度把内网渗透这套“内功心法”的修炼路径掰开揉碎了讲清楚。它不追求让你立刻成为顶尖高手而是帮你搭建一个从零开始、步步为营的知识框架让你知道每一步在做什么、为什么这么做以及可能遇到哪些“坑”。无论你是安全专业的学生、刚入行的安服工程师还是对网络安全充满好奇的开发者收藏这篇跟着思路走一遍你都能对内网渗透有一个系统且扎实的理解。2. 内网渗透全景图目标、阶段与核心思想在动手之前我们必须先搞清楚这场“探险”的终极目标是什么以及要分几步走。盲目乱撞不仅效率低下还极易触发警报。2.1 渗透的终极目标权限与数据内网渗透的所有行动最终都指向两个核心目标获取更高权限和攫取核心数据。权限的阶梯从最初一个普通用户权限User到本地管理员权限Local Admin再到域内普通用户权限Domain User最终目标是拿到域管理员权限Domain Admin或企业管理员权限Enterprise Admin。拥有了域管权限就相当于拿到了整个城堡所有房间的“万能钥匙”可以任意访问、控制域内的任何一台计算机。数据的价值权限是手段数据是目的。核心数据可能包括域内所有用户的账号密码哈希便于横向移动、源代码、财务数据、客户信息、商业计划等。这些数据的泄露对企业而言往往是灾难性的。2.2 经典渗透阶段一个环环相扣的过程一次完整的内网渗透通常遵循一个相对固定的流程我们可以将其划分为以下几个阶段信息收集这是所有行动的基石。就像侦探破案前要调查现场我们需要尽可能多地收集目标网络的信息。包括但不限于外部IP、域名、子域名、开放的端口及服务、Web应用框架、中间件版本、员工邮箱用于钓鱼、组织架构等。信息收集越充分后续攻击的面就越广。漏洞利用与初始突破基于信息收集的结果寻找脆弱点进行攻击获取第一个立足点。这可能是通过一个Web漏洞如SQL注入、文件上传拿到Web服务器的Shell也可能是通过钓鱼邮件让内部员工点击恶意链接或附件从而在其电脑上执行我们的代码。内网横向移动获得第一个入口点通常称为“跳板机”或“攻击机”后工作才真正开始。我们需要以这台机器为起点向网络内部的其他机器进行渗透和扩散。这个过程的核心就是“横向移动”。权限提升在横向移动的过程中我们获得的初始权限往往很低。我们需要在单台主机上利用系统配置错误、漏洞或弱密码将权限从普通用户提升至本地管理员或系统权限。持久化与权限维持为了防止管理员发现并清除我们的访问我们需要在攻陷的机器上留下“后门”确保即使机器重启、密码更改我们依然能重新获得控制权。常见的如创建计划任务、服务、启动项、隐藏账户等。数据窃取与清理痕迹达到目标后悄无声息地打包并外传所需数据并尽可能清除日志、操作记录等痕迹做到“来无影去无踪”。注意在实际的授权渗透测试或红队演练中必须严格遵守授权范围和法律边界。未经授权的渗透测试是违法行为。本文所有内容仅用于技术学习和授权安全测试场景。2.3 核心思想假设与验证贯穿整个渗透过程的核心思想是大胆假设小心验证。网络环境千变万化没有一套固定的“武功秘籍”能通吃所有场景。你需要根据当前收集到的信息如操作系统版本、安装的软件、开放的端口做出“这里可能存在XX漏洞”或“管理员可能使用了弱密码”的假设然后用工具或手动方式进行验证。验证成功则假设成立进入下一步验证失败则修正假设寻找其他路径。这是一个持续循环、动态调整的过程。3. 筑基篇内网环境与协议核心认知要想在内网里“行走自如”你必须先熟悉这个“城堡”的基本构造和通行规则。这部分知识看似枯燥却是后续所有高级技巧的根基。3.1 内网环境三大件工作组、域与域控工作组Workgroup一种松散的对等网络模式。每台计算机独立管理自己的用户账户和资源就像一个小集市每个摊位计算机自己管自己。要访问其他计算机的资源需要知道那台计算机上的本地账号和密码。工作组环境结构简单但不利于集中管理常见于小型办公室或家庭网络。域Domain一种集中管理的网络模式。由一个或多个域控制器Domain Controller, DC来统一管理域内所有计算机的用户、组策略和安全策略。域内的计算机都“加入”了这个域。用户只需使用一个域账户就可以登录域内任何一台允许其登录的计算机并访问其有权限的网络资源。这就像一个大公司所有员工由人力资源部域控统一管理凭工卡域账户可以进入公司大楼和授权区域。域控制器DC域的核心大脑通常运行Windows Server系统并安装了Active Directory活动目录AD服务。它存储了域内所有对象用户、计算机、组的信息并负责身份验证。拿下域控制器基本就等于控制了整个域。3.2 关键协议深度解析血液与脉络内网通信依赖于一系列协议理解它们就如同理解了城堡内的“暗语”和“密道”。SMBServer Message Block文件共享与打印机共享的基石协议。当你使用\\192.168.1.100这种方式访问共享文件夹时底层用的就是SMB。它也是内网横向移动的“高速公路”。攻击者常利用SMB协议的漏洞如永恒之蓝EternalBlue或弱密码爆破来攻击开启445端口的机器。实操要点使用net view \\192.168.1.100命令可以查看目标机器的共享资源。使用nmap -p 445 --script smb-enum-shares,smb-enum-users 192.168.1.0/24可以扫描网段内开放的SMB共享和用户。NetBIOS over TCP/IPNBT一个老旧的名称服务协议用于网络发现。它监听在UDP 137NetBIOS名称服务、138NetBIOS数据报服务和TCP 139端口。虽然老旧但在很多内网中依然启用可以泄露主机名、工作组/域名等信息。实操要点nbtscan工具可以快速扫描一个网段获取主机的NetBIOS名称和MAC地址是快速绘制内网拓扑的神器。LLMNR/NBNS链路本地多播名称解析/NetBIOS名称服务当DNS解析失败时Windows系统会退而求其次使用LLMNRIPv6或NBNSIPv4即NetBIOS在本地网络中进行广播查询。这为“中间人攻击”创造了条件。攻击场景攻击者可以伪装成被请求的主机响应这些广播查询从而将流量导向自己实施凭据窃取如通过Responder工具。KerberosWindows域环境默认的身份验证协议比古老的NTLM更安全。它基于“票据”进行认证过程涉及客户端、KDC密钥分发中心运行在域控上和服务端三方。核心概念理解可以把Kerberos想象成去游乐场玩。你先去售票处KDC用身份证密码哈希兑换一张通票TGT票据授予票据。然后你想玩过山车访问某个服务你需要拿着通票去售票处换取一张过山车的专用票ST服务票据。攻击者可能会尝试伪造票据黄金票据、白银票据来绕过认证。LDAP轻量级目录访问协议用于查询和修改Active Directory中的目录服务。它运行在域控的389端口636为LDAPS。通过LDAP可以枚举域内的用户、计算机、组等信息是信息收集的关键。实操命令在已加入域的机器上可以使用net user /domain、net group /domain等命令其底层就是通过LDAP查询域控。3.3 内网地址与拓扑发现进入内网后第一件事就是“看地图”。查看本机网络配置ipconfig /all # Windows ifconfig # Linux重点关注IP地址、子网掩码、默认网关、DNS服务器。DNS服务器很可能就是域控制器。探测存活主机ARP扫描在二层网络中最快最准。工具arp-scan(Linux),nmap -sn -PR 192.168.1.0/24。ICMP Ping扫描但可能被防火墙禁止。nmap -sn -PE 192.168.1.0/24。TCP/UDP端口扫描通过扫描常见端口如135, 139, 445, 3389来发现主机。nmap -p 135,139,445,3389 192.168.1.0/24 --open。绘制网络拓扑 通过 traceroute (tracertin Windows) 或更高级的工具如BloodHound的自动采集可以分析出计算机之间的信任关系、用户登录会话等可视化地发现从当前位置到域管理员的最短攻击路径。4. 突破篇初始入口获取与权限提升有了基础知识我们开始实践。第一步是如何从外部“敲开城堡的门”。4.1 常见的初始突破方式Web应用漏洞这是最常见的入口。例如SQL注入通过构造恶意SQL语句获取数据库数据甚至获取服务器权限通过xp_cmdshell等。文件上传漏洞上传一个包含恶意代码的脚本文件如.aspx, .php, .jsp并诱使服务器执行它从而获得WebShell。框架/组件漏洞利用Struts2、Spring、Log4j2等流行框架的已知漏洞直接获取系统权限。实操心得不要只依赖自动化扫描器。手动测试参数、分析请求响应、阅读源代码往往能发现扫描器找不到的深层漏洞。拿到WebShell后第一时间尝试提权并建立更稳定的反向连接。社会工程学-钓鱼攻击技术防御再强人也可能是最弱的一环。通过伪造邮件、网站诱骗员工点击链接、下载附件或输入凭据。鱼叉式钓鱼针对特定目标内容高度定制化成功率极高。凭证钓鱼克隆一个内部登录页面如OA、邮箱登录页诱使用户输入账号密码。注意事项在授权测试中钓鱼演练需要格外谨慎必须获得明确授权并制定详细的方案避免造成不必要的恐慌或实际损失。弱口令与默认口令对SSH、RDP、数据库如MySQL、Redis、管理后台如路由器、交换机、Web后台进行弱口令爆破。永远不要低估“admin/admin”、“root/123456”这种组合的出现频率。4.2 权限提升提权实战详解拿到一个普通用户Shell后我们需要将其升级为管理员或系统权限。Windows提权思路系统信息收集首先全面了解目标。systeminfo | findstr /B /C:OS Name /C:OS Version # 系统版本 whoami /priv # 当前用户权限 net user # 本地用户 net localgroup administrators # 管理员组用户内核漏洞提权寻找未修复的系统漏洞。使用wesng或WinPEAS等工具自动化检查系统补丁情况匹配已知的本地提权EXP如CVE-2021-1678, PrintNightmare。操作流程上传提权EXP到目标 - 执行 - 获得System权限Shell。踩坑记录64位系统要注意EXP的位数匹配。杀毒软件可能会拦截需要做免杀处理。务必先在测试环境验证EXP的稳定性和兼容性。服务与计划任务提权服务路径漏洞如果一个以System权限运行的服务其可执行文件路径指向一个普通用户有写入权限的目录我们就可以替换该文件等待服务重启。不安全的服务权限使用accesschk.exe或PowerUp.ps1脚本检查服务配置如果普通用户对某个服务有修改SERVICE_CHANGE_CONFIG权限可以将其启动命令改为我们的恶意命令。计划任务检查计划任务schtasks看是否有任务以高权限运行且调用的脚本或程序当前用户可写。AlwaysInstallElevated如果注册表项HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated和HKEY_LOCAL_MACHINE...下的值均为1则任何MSI安装包都会以System权限安装。我们可以制作一个恶意的MSI包来提权。凭证窃取与密码复用抓取内存密码使用mimikatz需管理员权限可以抓取LSASS进程内存中的明文密码和哈希。命令privilege::debugsekurlsa::logonpasswords。哈希传递攻击如果我们获取了某个用户的NTLM哈希但不知道明文密码并且目标机器禁用了NTLM认证我们可以尝试使用这个哈希直接进行横向移动而无需破解。工具mimikatz的pth模块或impacket套件中的psexec.py。Linux提权思路信息收集uname -a # 内核版本 sudo -l # 当前用户可以以root权限运行哪些命令重中之重 find / -perm -us -type f 2/dev/null # 查找SUID文件 crontab -l # 查看当前用户的计划任务利用SUID文件SUID文件在执行时会以文件所有者的权限运行。如果找到一个属主是root且具有SUID权限的命令如find,vim,bash等并且我们可以控制其参数就可能提权。例如古老的find命令提权find . -exec /bin/bash -p \;。sudo滥用sudo -l命令列出当前用户无需密码即可以root身份运行的命令。如果其中包含vim,less,more,man,awk等可以进入交互模式或执行系统命令的程序就可以利用它们逃逸到root shell。例如sudo vim -c !bash。内核漏洞提权和Windows类似使用linux-exploit-suggester等工具检测可能的内核漏洞然后上传并编译对应的EXP。环境变量劫持如果有一个以root权限运行的程序它调用了另一个命令如ls但没有使用绝对路径我们就可以通过修改PATH环境变量让我们自己的恶意ls程序优先被执行。计划任务Cron提权检查系统级/etc/crontab和用户级的cron任务看是否有任务以root权限运行且调用的脚本当前用户可写。5. 纵横篇内网横向移动的艺术进入内网并在一台机器上站稳脚跟后真正的挑战才开始如何从A点移动到B点、C点……直至目标。5.1 凭证获取与利用横向移动的燃料就是凭证用户名和密码/哈希。本地凭证抓取如前所述使用mimikatzWindows或从/etc/shadow文件读取Linux需root权限。网络嗅探与中间人攻击ARP欺骗通过欺骗网关和目标主机将它们的流量导向你的攻击机从而嗅探到明文密码或哈希针对NTLMv1等弱协议。工具Ettercap,BetterCAP。LLMNR/NBNS投毒使用Responder工具监听并响应LLMNR/NBNS请求诱导受害者向你发送NTLMv2哈希然后可以离线破解。密码喷洒攻击不同于暴力破解一个用户试很多密码密码喷洒是使用一个或几个常用密码去尝试域内的所有用户。这样可以避免触发账户锁定策略。工具DomainPasswordSpray.ps1。5.2 横向移动的主要手段利用SMB/WMI执行命令psexec微软官方工具通过SMB服务在远程主机上创建服务并执行命令。需要目标管理员账号密码。impacket套件中有Python版psexec.py domain/user:passwordtarget_ip。wmiexec通过Windows管理规范WMI远程执行命令比psexec更隐蔽不会创建服务。impacket的wmiexec.py非常好用。smbexec类似psexec但通过文件共享传递命令输出。impacket的smbexec.py。利用计划任务通过schtasks命令在远程主机上创建计划任务来执行我们的载荷。schtasks /create /S 192.168.1.10 /U DOMAIN\AdminUser /P Password /RU SYSTEM /SC ONCE /TN Backdoor /TR C:\shell.exe /ST 00:00 schtasks /run /S 192.168.1.10 /TN Backdoor远程桌面RDP与SSH如果获取到有远程登录权限的账号密码直接使用RDP或SSH客户端连接是最直接的方式。对于RDP可以尝试“受限管理员模式”或使用mimikatz开启。WinRMWindows Remote ManagementWindows Server 2012及以上版本默认开启的远程管理服务端口5985/5986。可以使用evil-winrm工具进行连接前提是用户属于远程管理组。票据传递攻击这是Kerberos协议下的高级横向移动技术。黄金票据在获取域控的krbtgt账户的NTLM哈希后可以伪造任意用户的TGT票据从而访问域内任何服务。拥有黄金票据就等于拥有了整个域。白银票据在获取了某个服务账户如CIFS文件服务的NTLM哈希后可以伪造访问该特定服务的ST票据。权限比黄金票据低但不需要与KDC域控交互更隐蔽。实操警告票据攻击非常强大且隐蔽但操作复杂需要精准把握票据的有效时间、域名、SID等信息。一个参数填错就会失败。5.3 代理与隧道搭建打通攻击路径内网机器通常不能直接访问外网。我们需要在跳板机上建立“隧道”将内网的流量代理出来或将我们的攻击流量送进去。正向代理 vs 反向代理正向代理客户端明确知道自己通过代理访问服务器。适用于我们控制跳板机让跳板机帮我们访问内网其他资源。反向代理客户端不知道代理的存在它访问一个公开服务器而这个服务器将请求转发到内网的真实服务器。适用于我们将内网的服务如3389端口映射到公网VPS上方便连接。常用隧道工具frp / ngrok功能强大的反向代理工具配置简单支持TCP/UDP/HTTP等多种协议。EarthWorm (ew) / Neo-reGeorg经典的SOCKS5代理工具体积小功能专一常用于HTTP/HTTPS隧道。SSH隧道利用SSH协议自带的端口转发功能是最隐蔽的方式之一。本地转发ssh -L 本地端口:目标主机:目标端口 跳板机用户跳板机IP。将本地端口的流量通过跳板机转发到目标主机。远程转发ssh -R 跳板机端口:目标主机:目标端口 跳板机用户跳板机IP。将跳板机端口的流量转发到我们本地能访问的目标主机。常用于突破防火墙。Proxifier / Proxychains代理客户端工具可以将指定应用程序的流量强制通过我们建立的SOCKS/HTTP代理发出实现全局或应用级的代理。6. 域渗透核心Active Directory攻防要点在Windows域环境中Active Directory是皇冠上的明珠也是攻击者的终极目标。6.1 AD信息收集自动化手动命令效率低使用工具进行自动化枚举是必然选择。PowerViewPowerShell脚本是BloodHound的前身功能强大。Import-Module .\PowerView.ps1 Get-NetDomain # 获取域信息 Get-NetUser | select cn,description,lastlogon # 获取所有域用户 Get-NetComputer | select name,operatingsystem # 获取所有域计算机 Get-NetGroup -GroupName Domain Admins # 获取域管理员组成员BloodHound划时代的AD域渗透分析工具。它通过一个采集器SharpHound收集域内的关系数据用户、组、计算机、会话、权限等然后以图数据库的方式呈现自动分析出从当前用户到域管理员的最短攻击路径。它让复杂的域关系一目了然。使用流程在域内一台机器上运行SharpHound.exe采集数据 - 将生成的zip文件导入BloodHound界面 - 在界面中进行路径分析和查询。6.2 关键攻击路径与利用BloodHound通常会揭示出几种经典的攻击路径ACL滥用AD中的对象用户、计算机都有访问控制列表。如果普通用户对某个高权限组如Domain Admins或用户有“写入权限”、“所有扩展权限”等就可能直接修改其成员或属性将自己加入该组。Kerberoasting攻击者请求所有配置了SPN服务主体名称的用户账户的ST票据。这些票据使用对应用户的哈希进行加密。攻击者将票据导出后可以离线暴力破解因为服务账户的密码有时强度不高从而获取服务账户的明文密码。工具Rubeusimpacket的GetUserSPNs.py。AS-REP Roasting如果域用户设置了“不需要预认证”攻击者可以直接为其请求AS-REP响应其中包含使用该用户密码加密的数据可以离线破解。委派攻击非约束委派配置了非约束委派的服务器可以代表用户访问域内任何服务。如果攻击者控制了该服务器并诱使域管理员访问它就能捕获域管理员的TGT票据。约束委派更常见。服务器只能代表用户访问特定服务。如果攻击者拥有配置了约束委派的服务账户的密码/哈希就可以伪造票据访问指定的服务。6.3 权限维持与后门拿到域管权限后需要考虑如何长期、隐蔽地保持控制。DCShadow攻击一种极其隐蔽的后门技术。攻击者将一台已控的域成员服务器伪装成域控制器然后向真实的域控制器推送恶意的AD对象更改如添加一个隐藏的后门用户到管理员组。由于是“域控制器之间的同步”很难在日志中追踪。Skeleton Key由mimikatz实现。它向域控的LSASS进程注入恶意代码在内存中给所有用户添加一个“万能密码”。使用这个万能密码可以以任何域用户的身份登录但原始用户的真实密码依然有效。重启域控可清除。DSRM密码同步目录服务还原模式DSRM是域控的本地管理员账户。攻击者可以将域管的NTLM哈希同步到DSRM账户然后通过DRSM账户登录域控。创建隐藏账户创建以$结尾的用户如admin$这类账户在net user命令中默认不显示但并非绝对隐蔽。更高级的方法是直接修改AD数据库文件ntds.dit但风险极高。7. 防御视角与实战避坑指南只懂攻击不懂防御知识体系是不完整的。从防御者蓝队的角度思考能让你更好地理解攻击手法也能在渗透测试时更隐蔽。7.1 常见防御措施与绕过思路杀毒软件/EDR防御实时监控进程、内存、文件行为拦截恶意软件。绕过使用免杀技术。包括代码混淆、加壳、分离加载器与载荷、使用白名单程序如msbuild.exe,installutil.exe执行恶意代码Living Off The Land。网络监控与IDS/IPS防御检测异常流量模式、已知攻击特征。绕过使用加密隧道如HTTPS, DNS隧道、流量伪装、降低扫描频率、使用合法的协议端口如将C2流量放在80/443端口。强密码策略与多因素认证防御增加密码爆破和猜测难度。绕过转向利用漏洞、钓鱼窃取凭证、或者寻找配置错误如可写的服务路径而非直接对抗密码策略。最小权限原则与网络分段防御限制用户和服务的权限将网络划分为不同区域阻止攻击者横向移动。绕过需要更精细的信息收集找到特权提升的漏洞或配置错误利用有限的权限作为跳板逐级突破分段边界。7.2 实战中的高频“坑点”与技巧工具被拦截直接上传mimikatz.exe、nc.exe大概率会被杀。解决方案使用源码编译或使用现成的免杀版本需自行寻找或制作。使用内存加载无文件落地技术如PowerShell的Invoke-ReflectivePEInjection。使用系统自带工具或脚本如certutil下载文件bitsadmin传输数据PowerShell执行命令。操作触发警报频繁的端口扫描、大量的失败登录日志、异常的WMI/SMB连接都可能触发SIEM告警。技巧尽量使用低频、慢速扫描。横向移动时优先使用目标内网已有的管理通道如WinRM、已有管理软件而非暴力开新端口。操作完成后有条件的话清理相关日志wevtutil。环境不稳定内网机器可能重启、掉线获得的Shell可能意外断开。技巧获得Shell后第一时间建立持久化后门如计划任务、服务。使用screenLinux或nohup让命令在后台稳定运行。对于Windows可以创建隐藏的计划任务。信息收集混乱渗透过程中会产生大量信息IP、账号、密码、哈希、漏洞。技巧养成好习惯使用笔记软件如OneNote, CherryTree或命令行工具如keepnote实时记录。为每个目标建立独立目录存放扫描结果、截图、凭证文件等。心理素质在真实的攻防演练中时间压力、蓝队的反制都可能带来紧张情绪。心得前期准备越充分应急预案越多心态就越稳。每进行一步操作都想好下一步和退路。不要在一个死胡同里浪费太多时间及时切换攻击路径。内网渗透是一个庞大而精深的领域这篇长文也只能勾勒出其核心骨架和关键脉络。真正的精通源于在合法授权环境下的无数次实战、复盘和思考。记住工具和技术迭代很快但网络协议原理、系统设计思想和攻防对抗的逻辑是相对稳定的。打好基础建立体系化的思维保持持续学习的好奇心你才能在这个领域走得更远。最后再次强调所有技术都应在法律和道德允许的范围内使用用于提升系统安全而非破坏它。