0

白帽-和我一起来打靶(红队打靶)(2023)

卡卡角角
3月前 13

获课地址:789it.top/17347/

白帽学院内网靶场实战:30个靶场,把内网渗透从“听说过”变成“我能做”

我第一次意识到自己对内网渗透的认知是“纸糊的”,是在一次真实的攻防演练中。

当时我已经做了两年多的安全运维,看过的漏洞报告堆起来有半人高,CVE编号能背出一长串。自认为“漏洞”这玩意儿,我门儿清。

然后我拿到了一台内网主机的权限。

不是完全控制,只是一个很有限的WebShell,权限低得可怜,什么都干不了。我需要从这个点出发,横向移动到域控服务器。

那一周,我像是被人扔进了一个漆黑的迷宫。靶场里学过的那些“先提权、再扫描、抓哈希、传马”的套路,在真实的、复杂的、充满坑的内网环境里,几乎一个都用不上。

不是因为技术不对,而是因为我从来就没有“系统性地”学过内网渗透。我知道提权的几个方法,但不知道在具体环境下怎么判断该用哪个;我知道抓哈希的命令,但不知道抓到之后在什么情况下能直接用来登录;我知道有代理隧道这回事,但我从来没在自己搭的环境里真正跑通一次。

那次演练的结果不太好看。事后我做了一件事:静下心来,用一个一个的靶场,把内网渗透的每一个环节,从头到尾、从零到一,重新学了一遍。

白帽学院的30个内网靶场,就是我当时用过的训练体系之一。这篇文章,我想以一个程序员(同时也是一名安全学习者)的视角,聊聊内网渗透到底应该怎么学、重点啃哪些硬骨头、以及怎么用靶场把“听说过的知识”变成“能用的技能”。

第一部分:为什么是内网渗透?为什么是靶场?

很多人对内网渗透有一个误解:觉得它是一堆黑客技巧的堆砌——会几个提权漏洞、会抓个哈希、会用mimikatz,就算“会内网渗透”了。

这个误解,跟我当年犯的一模一样。

内网渗透真正的难点,从来不是“单个技巧的难度”,而是“多个技巧在真实环境下的串联能力”。你可以单独学会提权,也可以单独学会抓哈希,但当你只有低权限、网络不通、杀软在盯着、管理员随时可能在登录时,你能不能把这几步连贯地做下来?这才是真正的考验。

这也是为什么靶场如此重要。

在真实的内网环境里,你没有试错的机会。敲错一个命令,可能就触发了告警;走错一步路径,可能就被踢出系统。但在靶场里,你可以随便试、随便踩、随便崩——崩了大不了重置环境。

30个靶场的设计逻辑,我后来才看明白:它不是让你“做30次同样的练习”,而是把一个完整的内网渗透知识图谱,拆解成30个有递进关系的挑战。每个靶场解决一个或几个具体的“战役级”能力,30个走完,你手里就有了一张完整的内网作战地图。

第二部分:30个靶场怎么安排——三条主线、递进学习

把30个靶场全部列出来没有意义。我从学习的角度,把它们归纳成三条能力主线。这三条线不是独立的,而是每一步都建立在前一步的基础上。

主线一:单点突破——从“入口”到“立足点”

内网渗透的第一步,永远是:你拿到了一个入口,但这个入口能给你的东西很少。你怎么从这“很少”的东西出发,获得一个真正的、可操作的立足点?

这条线上,靶场会带你在实战中攻克几个核心问题:

信息收集的“穷尽感”

拿到一个WebShell之后,第一件事是什么?不是急着提权,而是信息收集。但“信息收集”这个词太宽泛了。

靶场会逼你回答一系列非常具体的问题:当前主机的操作系统版本是多少?补丁打到什么程度了?开放了哪些端口?哪些端口有服务在监听?这些服务有没有弱口令或者已知漏洞?当前进程是以什么权限运行的?有哪些杀毒软件或EDR?网络拓扑是什么样的?能ping通哪些内网IP?ARP表里有哪些邻居?DNS服务器是谁?有没有域环境?当前用户在不在域里?

这一长串问题,看文字觉得“这有什么难的”,但真正面对一台陌生主机时,你很容易漏掉关键信息。靶场的设计就在于:它会刻意隐藏一些关键信息,只有当你做了完整的收集动作才能发现。做过一次完整的、有压迫感的收集,你脑子里就会形成一张“检查清单”,以后再做就不会漏了。

提权的“判断力”

提权的方法很多,但真正有用的是:在当前环境下,你到底应该尝试哪个?

靶场会给你设置各种不同的初始条件:有的主机打了所有补丁,内核提权没用,你得去找服务配置问题;有的主机有未引用的服务路径,但目录权限被锁死了;有的主机上你可以用烂大街的漏洞提权,但前提是你得先绕过杀软。

做过足够多的不同场景,你会慢慢形成一种“提权直觉”——不是背命令,而是根据收集到的信息,快速判断最有可能成功的几条路径,然后逐一验证。这种判断力,只能在靶场里反复练习获得。

隧道与代理的“通感”

这是很多初学者卡得最久的地方。你拿到了一台主机,但它只能访问内网的某些网段,不能直接访问你想要的资源。你需要在这台主机上建立一个“跳板”,让你的流量能够通过它,访问到更深层的内网。

概念说起来很简单——正向代理、反向代理、端口转发、Socks隧道。但真正配置起来,尤其是在各种受限环境下(没权限装软件、出网端口被封、流量被检测),你会遇到各种诡异的问题。

靶场的价值就在于:它会给你一个半死不活的环境,让你自己去折腾,直到你能流畅地从你的攻击机,通过跳板机,访问到内网深处的一台主机的RDP或SSH。当你第一次打通这条链路的时候,那种“我能控制这条路径上的一切”的感觉,会让你对内网的理解彻底改变。

主线二:横向移动——从“一个点”到“一张网”

有了立足点之后,真正的游戏开始了。你的目标不是这一台主机,而是整个内网。你需要从这个点出发,像病毒一样扩散到尽可能多的机器。

这条线的靶场,重点训练的是“如何利用内网的信任关系”。

密码与哈希的“货币化”

内网里最宝贵的资源是什么?不是漏洞,是凭证。一个域用户的明文密码或NTLM哈希,可能让你打开好几台主机的大门。

靶场会带你实操:抓到了哈希之后,怎么用?什么情况下可以用哈希直接登录(Pass-the-Hash)?什么情况下需要先破解出明文密码?抓到的是域控管理员的哈希,和抓到的是普通域用户的哈希,策略有什么不同?

你会学会的不只是命令,而是一套“凭证利用”的思维方式——把每一次抓到的密码/哈希都当作“弹药”,系统性地收集、分类、尝试,直到找到可以扩大战果的那一把钥匙。

内网扫描的“隐蔽与效率”

在内网里做扫描,跟在公网完全不同。你不能大张旗鼓地扫,因为内网的IDS/IPS可能比外网更敏感。但你也不能不扫,因为你不扫就不知道下一步往哪儿走。

靶场会给你不同等级的目标网络,让你在“尽可能扫描全面”和“尽可能减少痕迹”之间找到平衡。你会学会:什么情况下用ICMP探测就够了?什么情况下需要半连接扫描?什么情况下得走应用层协议(如SMB枚举)来规避检测?

域环境下的“身份游戏”

域是内网渗透的核心战场。靶场在域环境上的设计是最用心的——它会给你构建一个缩小版的企业域环境,有域控、域成员服务器、普通工作站,甚至有组织单元(OU)和安全组策略(GPO)。

你将在这里实操:怎么枚举域用户和域组?怎么找到域控?怎么利用Kerberos协议的弱点(如黄金票据、白银票据)伪造身份?怎么在拿下一台域成员主机后,一步步逼近域控?

这些技术听起来高深,但其实每一步都有明确的判断标准和操作流程。靶场的作用就是让你在“安全犯错”的环境下,把这些流程走熟、走稳。当你第一次成功伪造黄金票据拿到域控权限时,你会真正理解Kerberos协议的设计缺陷在哪里——这种理解,看书是得不到的。

主线三:痕迹清理与持久化——从“攻得下”到“控得住”

很多初学者做到“拿到域控”就觉得结束了。但真正的内网渗透,尤其是红队演练或渗透测试项目,拿到权限只是中途,你还需要考虑:怎么不被踢出去?怎么在被清理后还能回来?

这条线是30个靶场中难度最高的,也是最容易被忽视的。

持久化的“隐蔽性”

在域控上留一个计划任务做后门?太容易被发现了。靶场会教你更隐蔽的方式:利用域控的组策略做启动脚本、修改现有的服务配置、在WMI中驻留、利用DCOM对象、甚至在Active Directory的某些属性里藏后门命令。

每一种方式都有自己的检测方法和对抗手段。靶场的挑战在于:你会作为“防御者”先看到这些后门被检测出来的日志,然后再作为“攻击者”去设计一个不会被同样方式检测到的持久化方案。攻防视角的来回切换,非常锻炼思维。

日志的“洗与不洗”

内网里到处都是日志——系统日志、安全日志、应用日志、网络设备日志。你的每一步操作,都可能被记录下来。

靶场会带你实操:什么日志可以清?什么日志不能清(清掉反而引起警觉)?怎么只删除特定时间段的特定事件ID?怎么修改日志而不是删除?在企业级的日志集中管理环境(如ELK、Splunk)下,你怎么知道自己被记录了多少?

这些操作,每一个都有真实的命令和工具,但怎么组合使用、什么时候该用什么时候不该用,需要你在靶场的不同场景里反复体会。

第三部分:具体的学习方法——四个“狠招”

上面说的这些能力,30个靶场确实提供了练习的环境。但环境有了,怎么练效率最高?下面是我自己走完这套靶场之后总结的几点。

狠招一:每一关都写“作战日志”

不要只记“我用了什么命令”,要记“我是怎么思考的”。

比如,你在某个靶场里需要提权。你的作战日志应该是这样的格式:

text

当前信息:

- OS: Windows Server 2016,补丁打到2020年

- 当前权限: iis apppool,属于IIS_IUSRS组

- 开启服务: MySQL(3306)、Tomcat(8080)、SMB(445)

- 可写目录: C:\Windows\Temp, D:\web\uploads

尝试路径1: 利用MySQL UDF提权

- 判断: MySQL是以SYSTEM权限运行的,有写文件权限

- 尝试: 上传udf.dll到MySQL插件目录

- 结果: 被杀软拦截

- 下一步: 尝试免杀版本或换其他路径

尝试路径2: 利用Tomcat Manager弱口令

- 判断: 8080端口开放,访问/manager/html需要认证

- 尝试: admin/admin成功登录

- 结果: 可以部署war包,成功拿到更高权限

- 结论: 优先走这条路径

这种“决策树”式的日志,写几十关之后,你会发现自己面对新环境时的思考速度明显变快。因为很多判断已经变成了“半自动反应”——信息收集到位之后,脑子里自然就浮现出几条高概率的路径。

更重要的是,这些日志是你自己的知识库。几个月后遇到类似的环境,翻出来看一眼,比重新Google快十倍。

狠招二:每个靶场做三次——第一次“过”,第二次“懂”,第三次“教”

一次通关,其实学不到最深的东西。因为你会不自觉地用“碰运气”的方式蒙过去。

我的建议是,每个靶场至少做三遍:

第一遍:目标是不看攻略通关。不要追求速度,碰到卡点就硬想、反复试。哪怕花几天时间,也要自己打通。这一遍的目的,是让你体会“真实的卡顿感”——你知道哪里容易卡、什么思路走不通。这些“失败经验”非常宝贵。

第二遍:目标是理解每一步为什么这么走。你可以看官方Writeup或者别人的解题过程,但不要直接照着敲命令。你要问自己:他在这里做这个信息收集,是为了服务后面的哪一步?为什么他选择这个提权方式而不是那个?如果用另一种方式,会不会更隐蔽或更可靠?这一遍的目的,是把“我按照步骤做出来了”升级为“我理解了步骤背后的原理”。

第三遍:目标是能把这个靶场给别人讲明白。找一个完全不懂内网渗透的朋友,或者干脆对着空气讲。从环境描述开始,讲你的信息收集、你的判断、你的尝试、你为什么选择某条路径、你绕过了什么坑。你能讲清楚的地方,就是你真的掌握的地方;你讲不清楚的地方,回去重新理解。

三遍下来,一个靶场的价值至少翻了三倍。

狠招三:给自己制造“意外约束”

靶场环境是确定的,但真实攻防中的变数非常多。在通关的基础上,给自己增加额外的约束条件,是拔高能力的好方法。

比如:

“这次不准用Metasploit,全部手工操作”——强迫你理解每个工具背后的原理

“这次假设有EDR在盯着,每步操作都要最小化痕迹”——锻炼隐蔽能力

“这次假设只能在晚上8点到10点之间操作”——模拟真实攻防中的时间窗口限制

“这次假设我不能修改任何系统文件”——锻炼只读环境下的利用能力

同样一个靶场,换一套约束条件,它就是全新的挑战。30个靶场,每个变出3-4种玩法,你获得的是上百次的“真实场景模拟”。

狠招四:建立自己的“武器库”和“检查表”

不要每次遇到问题都重新Google命令。把常用的工具和命令整理成自己的知识库。

这个知识库分成三部分:

第一部分:命令速查表。按场景分类,比如“信息收集-系统类”“信息收集-网络类”“提权-常见漏洞”“横向-SMB”“持久化-计划任务”。每个条目就一句话,够你复制粘贴快速使用就行。

第二部分:场景-方案映射表。这是更值钱的部分。比如:

场景 高概率方案 备选方案 判断依据

Win2012+, 有数据库服务 UDF提权 数据库备份提权 检查数据库权限和写文件权限

Win2008, 补丁较少 MS15-051 MS16-032 检查补丁号

域内主机, 有SMB 抓哈希横向 委派攻击 检查当前用户是否域用户

这张表是活的,每做一个靶场就更新一次。你做过的靶场越多,这张表就越完善。等到你面对一个真实环境时,这张表就是你最快的“决策助手”。

第四部分:一个被很多人忽略的问题——内网渗透的“法律与伦理”

作为程序员,我习惯性地认为“技术就是技术”。但内网渗透是一个必须时刻把伦理和法律放在心上的领域。

白帽学院的这些靶场,是你在合法的、受控的环境里练习的唯一理由。因为真实的“未经授权的内网渗透”,在任何国家和地区都是严重的违法行为。

即使你是为了提升自己的防御能力,即使你只在自己公司的内部网络做测试——也要走正规流程:拿到书面授权、确定测试范围、明确测试时间窗口、测试完成后提供完整报告、清理所有后门和测试数据。

靶场里的习惯,会带到真实工作中。在靶场里就养成“做完就清理日志、卸载后门”的习惯,养成“每一步操作都有记录”的习惯,养成“不确定能不能做的事先问”的习惯。

这不只是职业道德,更是保护自己的方式。


本站不存储任何实质资源,该帖为网盘用户发布的网盘链接介绍帖,本文内所有链接指向的云盘网盘资源,其版权归版权方所有!其实际管理权为帖子发布者所有,本站无法操作相关资源。如您认为本站任何介绍帖侵犯了您的合法版权,请发送邮件 [email protected] 进行投诉,我们将在确认本文链接指向的资源存在侵权后,立即删除相关介绍帖子!
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!