找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3336

积分

0

好友

448

主题
发表于 10 小时前 | 查看: 0| 回复: 0

做过红队的小伙伴,对“打点”一定不陌生,这是一项基本技能。所谓打点,其核心目标就是拿到目标网络外围某一台机器的控制权(shell)。

打点的直接目的一般是利用这台机器作为跳板,进而深入目标内网。在时间充裕的理想情况下,打点并非难事。系统可能存在未修复的漏洞,人员安全意识的薄弱也可能成为突破口,例如通过钓鱼邮件。理论上,甚至可以考虑近源渗透或非常规手段。这一切本质上都可以归结为一道数学题:计算投入的时间、金钱成本与成功进入内网后可能获得的收益。

然而,从企业内普通安全从业者的视角出发,实际项目往往时间紧、任务重,外部资源有限,能够依赖的几乎只有自身的技术储备。在这种条件下,个人技术能力便成为了主导因素。一个红队人员是否具备强悍的快速打点能力,常常是区分普通团队与优秀团队的关键。

当然,有人可能会说,有些场景允许更长的渗透时间,或者在非项目的实战中,可以慢慢研究。但我们必须正视主流规则:主流CTF赛事解题时间通常只有1-2天,许多攻防项目周期也就是一周,在SRC漏洞奖励计划中,往往是第一个挖到漏洞的人才能获得奖金。这些是客观的游戏规则,对所有人都是平等的。项目时间只有几天,这就是现实,寻找理由并无太大意义。

从公司管理角度出发,正因为项目时间紧迫,而打点(尤其是初期信息搜集)很大程度上是一项重复性高、技术门槛相对较低的“体力活”,所以投入更多人手进行信息搜集,效果通常会更显著。

总而言之,打点本身是一种“遍历”行为。攻击目标就像一个被围墙保护的城堡,红队要做的事情就是围着围墙仔细探查,敲敲打打,寻找围墙的裂缝或缺口,然后趁机溜进去。在面对大量目标时,这无疑是一项繁重的劳动。下文会详细解释为何我反复强调其“体力劳动”的属性。

打点的基本方法论

基本流程可以概括为:信息搜集 -> 发现脆弱资产 -> 漏洞利用 -> 获取Shell。说起来简单,但其中最消耗精力、最“肝”的部分莫过于信息搜集,这是纯粹的“体力活”。

这个过程虽然可以用工具进行一定程度的优化,但我依然认为它是最需要耐心和细致的一个环节。这就像大学生和小学生(代表不同水平的技术人员)一起用计算器(比喻各种自动化工具,如FOFA、Goby、OneForAll等)去计算1万道加减乘除题(比喻海量的资产,如域名、子域名、C段),其实很难拉开技术上的绝对差距。许多头部安全公司早已认识到这一点,因此在大型攻防演练中,通常会派遣大量人员进行资产收集,筛选出脆弱资产后再交由后续的漏洞利用专家进行突破,以实现快速得分。

虽然信息搜集看似“无脑”,但标准步骤依然需要遵循,通常包括以下几个环节:

  1. 明确目标:当项目经理告知攻击目标(通常是公司名称)后,首先通过“企查查”等平台查询目标公司及其子公司、关联公司的全量信息。
  2. 域名搜集:获取上述公司名称列表后,使用 OneForAll 等工具进行子域名爆破,得到一批目标子域名。
  3. IP与C段解析:将获取的子域名列表交给 Eeyes 等工具进行解析,获取每个域名对应的真实IP地址,并进一步得到其所在的C段信息。
  4. 资产扫描与初筛:将IP和C段信息导入 FOFA 等网络空间测绘引擎进行快速资产发现,同时使用 FScan 等工具进行快速端口扫描和常见漏洞检测。
  5. 检查初步成果:如果运气足够好,此时 FScan 可能已经爆出了一些可直接利用的漏洞(例如弱口令、未授权访问)。这属于小概率事件,但如果发生,便可直接进入漏洞利用阶段。若没有,则进入下一步。
  6. 指纹识别与重点筛查:查看 FOFA 获取的资产信息,可以配合 Ehole 等指纹识别工具快速筛选出重点资产。例如,重点寻找 ShiroFastjson 等存在知名反序列化漏洞框架的站点(同样是小概率事件)。如果发现,则尝试利用。若仍无收获,进入下一步。
  7. 心态调整:经过以上筛选,时间可能已过去不少,但毫无进展,容易产生焦虑。此时不建议硬扛,应适当休息,调整心态,以保证后续几天的工作效率。调整好后,继续步骤8。
  8. 评估与决策:经过上述流程,Web层面的常见漏洞基本已排查一遍。若仍无发现,说明目标系统日常安全自查可能比较到位,常见高危漏洞已修复。如果是大型攻防演练,拥有多个目标,建议更换目标,重复步骤1-7。如果是对单一单位的定向攻防,则必须继续深挖,进入步骤9。
  9. 聚焦“三板斧”漏洞:虽然未发现直接导致RCE(远程代码执行)的系统,但信息搜集过程中很可能发现了大量的登录后台、用户注册、管理员入口等交互型资产。这里需要引入“攻防演练三板斧”漏洞,它们是在时间有限情况下的重点突破方向:
    • 反序列化漏洞:最受青睐的漏洞之一,一旦成功利用,通常能直接获取Shell。但如今遍地都是 Shiro 漏洞的时代已渐行渐远,可遇不可求。
    • 文件上传漏洞:经典漏洞。测试时,首先判断是白名单还是黑名单过滤。白名单则尝试结合文件包含等漏洞进行绕过;黑名单则尝试所有常见绕过姿势(如双写后缀、大小写、.::$DATA、解析漏洞等)。即使上传成功,寻找文件路径也可能是个挑战,但总比上传失败要好。
    • SQL注入漏洞:更加经典的漏洞。注入后,权限是关键。低权限数据库用户可能直接“GG”;若是高权限用户(如DBA),则可以尝试通过注入点向服务器写入Webshell。
      在仅有的几天攻防演练中,其他类型的漏洞(如SSRF、XXE)虽然重要,但投入产出比可能不高。建议将精力集中于精研上述三种漏洞的发现与利用。
  10. 针对登录点的测试:对各类登录系统尝试弱口令爆破和SQL注入测试。弱口令进入后台后,重点寻找文件上传功能。SQL注入建议先用 Xray + Burp Suite 进行被动或主动扫描探测,对有注入迹象的请求再使用 SQLmap 进行深入利用。
  11. 拓展信息搜集渠道:如果常规方法无效,可以尝试在网盘、GitHub、社工库、公开泄露数据库中搜索目标单位或员工的相关信息,寻找密码泄露、API密钥、源码等敏感数据。
  12. 关注移动端与新媒体:检查目标单位的微信公众号、独立APP、微信小程序,这些非传统Web资产有时会存在安全薄弱点。
  13. 高阶信息搜集技巧:尝试域传送漏洞、通过备案号反查、IP反查、SSL证书关联、Google 搜索特定C段语法等方式,扩大资产发现面。
  14. 目录与路径爆破:对筛选出的可疑站点,使用 Dirsearchdirmap 等工具进行目录爆破,寻找备份文件、管理员页面、未引用的API接口等。
  15. 尝试社会工程学:制作钓鱼邮件或网页,向目标员工发送。这也是一项需要精心设计和大量投递的“体力活”。
  16. 申请近源渗透:如果所有远程手段均告失败,可以考虑向项目组申请进行近源渗透,携带设备尝试物理接近或无线网络攻击。

列举这么多步骤,正是为了说明:虽然信息搜集是开启后渗透阶段的基石,但它是一项体力活,这是不争的事实。因为它没有太高的技术门槛,本质上是按照检查清单(Checklist),使用各种工具进行重复性尝试。

因此,通常意义上的“快速打点”,很大程度上就是比拼谁能在最短时间内,更全面、更高效地“试完”所有检查项。尽管目前大部分工作已由工具实现半自动化,但在海量资产面前,一个熟练的信息搜集人员,其工作模式更像是流水线上的工人,不断地用工具进行筛选和标记。一些精通高阶技巧(如成功率极高的电话钓鱼、专业的钓鱼邮件撰写与样本开发)的专家,在实施这些高级攻击前,同样需要精准的信息搜集作为支撑。而这些专家通常不愿亲自去做基础的搜集工作,因为他们深知这项工作的性质。

从公司层面,要快速打点,最直接的方法是投入更多人力和资源进行平行作业。从个人层面,要提升效率,则需要在忍受枯燥过程的同时,不断提升工具使用的熟练度,并最好能进行二次开发,将半自动化的环节串联起来,优化流程,从而实现效率的质的提升。

打点的技术分水岭

很多时候,你找到了一个脆弱资产,却未能利用成功,而其他人却成功了。这是实战中非常普遍的现象,这就引出了打点过程中的技术分水岭——漏洞利用环节

利用失败的原因多种多样:目标机器明明出网,反弹Shell却怎么也回不来;能够反弹Shell,但连接极不稳定,时断时续;可以写入内存马并能连接,但上传或下载稍大的文件就会失败;能够执行命令,连接也稳定,但执行某些特定命令(如添加用户)就会失败……

此时,技术人员便开始脱离纯粹的“苦力劳动”阶段,进入到真正区分技术能力的领域。判断一项工作是苦力还是技术活,一个简单标准就是:它是不是“谁都能做”。实战中的漏洞利用往往涉及对底层原理(如系统机制、协议细节、防护软件行为)的深刻理解和灵活的绕过技巧,这对渗透人员的基本功和联想能力是极大的考验。

举一个稍显极端的例子——CTF比赛。解题需要真正的理解与创造性思维,不会就是不会。而信息搜集,在掌握了基本方法后,更多比拼的是熟练度和耐力,技术深度上的差异并不像漏洞利用环节那样悬殊。

对于技术人员个体而言,如果只满足于做一个信息搜集的“熟练工”,是很容易被替代的。应当将更多时间投入到技术的深化上,建立自己的核心竞争力。技术的深化,扎实的代码能力是基础,进一步深入理解各类操作系统、应用框架和漏洞的原理是延伸。通过持续学习和突破,最终才能脱离低水平循环,迈向更高的技术层面。

当然,在项目中进行信息搜集是工作职责,不可避免。公司雇佣安全人员,其中一部分价值正是体现在这项基础工作上。而个人技术栈的突破与延伸,则是关乎自身职业发展的长远投资。更优的策略可能是:先集中一段时间高强度练习信息搜集,并辅以自研脚本或工具将流程效率最大化。当技能熟练到足以在项目中稳定产出时,便能很好地完成公司交付的任务。此后,再将更多精力投入到漏洞研究、代码审计、工具开发等更具深度的方向上,实现个人能力的跃迁,同时也能在像云栈社区这样的技术论坛中找到更多志同道合者,交流前沿的安全技术。

本文主要侧重于分享红队外网打点的整体思路、工作流程以及个人在效率与深度间的权衡思考。具体的工具使用命令、漏洞利用的详细EXP、各种Bypass技巧等,在各大安全技术论坛和博客上已有大量优秀文章,此处不再赘述。本文更大程度上是希望将做一件事的动机以及如何平衡利弊、高效达成目标的方法论分享出来,这些多源于个人实践经验与反思,难免有不足之处,欢迎大家指正。

网络安全技术成长路线图




上一篇:STM32Cube AI Studio:ST官方AI模型部署利器上手评测
下一篇:技术管理进阶:CTO如何通过团队架构设计驱动技术战略落地
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-26 16:22 , Processed in 1.475739 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表