渗透测试
渗透测试
渗透测试是什么:以证明影响为目的的授权模拟攻击
在书面授权范围内模拟攻击者,产出「利用链成立」的证据链。它解决的问题是:漏洞扫描器报出缺陷不等于有人能借它造成真实损失。与相邻工作分界:漏洞扫描(vulnerability scanning)自动化、广度优先、误报多;红队(red teaming)目标导向且隐蔽,顺带检验防守方的检测响应;安全审计(security audit)对照标准逐项合规而不主动利用。渗透测试居中:手动加工具、深度优先、以真实利用证明风险。入场券与技术无关:无书面授权的测试即非法入侵,授权范围(scope)与交战规则(ROE)先于一切动作。
渗透测试的核心问题分层
四个递进的问题构成学科主干。入场:威胁建模先于动手,资产价值排序决定精力分配,公网面优先内网面、认证边界优先已登录功能。发现:侦察分被动(OSINT)与主动(端口扫描、目录爆破),枚举的产出不是列表而是优先级,管理面、免登录写面、代理转发面常年高价值。真假:「扫描器说有」与「利用链成立」之间隔着的验证劳动是渗透测试的本体,打之前先读目标防护做在哪一层,防守做对时不硬刚,「已防护」同样写进报告防回归。价值:定级看影响链不看点位,报告三要素是可复现步骤、业务语言的影响、一行能改的修复建议。
认证攻击的路线选择:拿到 hash 先问环境接受什么协议
NTLM(NT LAN Manager)是质询-响应式认证:认证全程只传输「用密码 hash 加密的质询」,不传明文,因此 hash 等价于密码本身。由此派生三条路线:Pass-the-Hash 直接拿 hash 应答 NTLM 认证;relay 中继把受害者的认证响应原样转发给另一台服务器(要求目标未开 SMB 签名);Overpass-the-Hash 在 Kerberos-only 环境把 NTLM hash 换取 Kerberos 票据(TGT)后走 Kerberos 协议。破解明文是最后的选项:存在可中继目标时连明文都不需要。
CVSS v4.0 的四组指标与定级现实
CVSS 由 FIRST 组织维护,v4.0 把分数拆成四组:Base(漏洞内在质量)、Threat(利用成熟度)、Environmental(按部署环境修正)、Supplemental(补充信息)。CVE 编号回答「这是什么洞」,CVSS 回答「有多严重」;同一个 SQL 注入打内网测试库与公网生产库,差异落在环境组修正上。一线做法:Base 分数进表格保持可比性,环境修正写成影响段里的口头论证,让「高分为什么定中危」的质问在报告内部就有答案。
反序列化漏洞的 RCE 判据:gadget 链可用性
gadget 指目标程序依赖库里本身无害、但可被攻击者借力调用的普通代码片段,单个 gadget 不构成危害,串成利用链(gadget chain)才能从反序列化入口走到命令执行。判据一句话:no chain, no execution,目标 classpath 里没有可用链时,反序列化漏洞只能降级写 DoS 或理论风险,不能标 RCE。扫描器不会替你查这一步。
廉价信号改道:枚举阶段就重排战场优先级
有经验的做法是在枚举阶段收集「改道信号」随时重排优先级,而非按清单顺序打完所有洞。几条硬规则:AD 环境拿到 DCSync 后停止一切主机级提权(krbtgt 路径一票压过全部);云环境 SSRF 只要能触达 169.254.169.254 元数据端点,发现定性立即从端口扫描改写为凭据泄露;Linux 提权先看 sudo -l 输出再谈 exploit,多数提权是配置错误而非 CVE。
配置滥用优先于 CVE 利用
CVE 利用要求目标补丁差且漏洞可靠,还有进程崩溃与触发 EDR 告警的风险;ACL 配错、委派滥用、ADCS 模板可写这类配置弱点不需要 exploit、不崩进程,产物也更持久(错误策略签发的证书以年计有效期,且扛得住目标改密码,而 Kerberoast 的 hash 随密码失效)。面对陌生目标先枚举「它自己配错了什么」,再考虑「它缺了哪个补丁」。
知识库按原语归档,工具文档按需临时查
工具页(flag、UI、API)一两年就面目全非,原语页(SSRF、ACL 滥用、tcache 投毒)十年不变,个人知识库按原语组织才能长期复利。配套一条交付纪律:报告引用 MITRE ATT&CK 编号前先查该 ID 是否已废弃(deprecated),过期编号出现在交付物里会被内行当作未实操的信号。
见:FIRST CVSS v4.0 规范、corpus-pentest 决策手册(本地语料 ~/.claude/skills/corpus-pentest/cheatsheet.md)