2025年渗透测试面试题总结-35(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

一、Java反序列化深度解析

[1. 有回显的CC链](#1. 有回显的CC链)

[2. 反序列化相关协议](#2. 反序列化相关协议)

[3. Shiro漏洞深度剖析](#3. Shiro漏洞深度剖析)

二、内网渗透实战指南

[1. 单台Windows主机入侵流程](#1. 单台Windows主机入侵流程)

[2. 密码利用策略](#2. 密码利用策略)

[3. 不出网WebShell突破](#3. 不出网WebShell突破)

[4. PTH攻击原理](#4. PTH攻击原理)

[5. DCsync攻击详解](#5. DCsync攻击详解)

[6. 域内主机攻域控路线](#6. 域内主机攻域控路线)

三、防御对抗建议

Java反序列化

内网安全

复制代码
Java反序列化
1.有哪些CC链是有回显的
2.Java反序连化相关的协议
3.熟悉的Java的漏洞,选一个来深入问,shior系列,550,721原理,key对了无法反序列化,不是无链的原因
  - serialVersionUID

内网
1.有一台Windows机器你会做些什么
2.有明文密码,密文密码你会做些啥。
3.有个基于webshell的,但TCP不出网,不会怎么做。
4.PTH
5.DCsync原理,DCsync是那个协议
6.有台Windows域内机子,你怎么打域控

一、Java反序列化深度解析

1. 有回显的CC链
链名称 回显实现方式 依赖条件
CC2 通过TemplatesImpl直接修改HTTP响应 需反射获取Response对象
CC4 结合BasicDataSource加载字节码 需存在Tomcat容器环境
CC6 利用TransletClassLoader输出到页面 JDK≤8u65(可绕过安全限制)

关键技巧

复制代码
java`// 反射获取Response对象示例 Thread.currentThread().getContextClassLoader() .loadClass("org.apache.catalina.connector.Response") .getMethod("getWriter").invoke(ctx).write("hacked");`
2. 反序列化相关协议
协议 风险点 经典漏洞
RMI UnicastRef远程方法调用 JRMP反序列化(CVE-2018-3243)
JMX MBeanServer连接反序列化 CVE-2016-3427
HTTP 参数/base64传输序列化数据 Shiro-550
LDAP JNDI注入触发类加载 Fastjson 1.2.24

防御重点 :过滤ObjectInputStreamresolveClass()方法

3. Shiro漏洞深度剖析

问题定位:Key正确但反序列化失败

  • 根本原因
    1. serialVersionUID不匹配
      • 攻击payload的UID与目标类不一致 → InvalidClassException
    2. 依赖库冲突
      • 目标环境缺少CC链所需类(如org.apache.commons.collections.functors.InstantiateFactory
    3. JDK版本限制
      • JDK≥11无法使用com.sun 包内部类

解决方案

复制代码
mermaid`graph LR A[检测失败] --> B{检查依赖} B -->|缺少CC库| C[改用无依赖链如ROME] B -->|UID不匹配| D[用ASM修改本地类UID] B -->|高版本JDK| E[使用TemplatesImpl链`

二、内网渗透实战指南

1. 单台Windows主机入侵流程
复制代码
mermaid`sequenceDiagram 提权->信息收集: whoami /priv & systeminfo 信息收集->凭证获取: mimikatz.exe 凭证获取->网络探测: netstat -ano & arp -a 网络探测->持久化: 注册表/WMI/服务 `
2. 密码利用策略
密码类型 攻击手段 工具
明文密码 直接登录RDP/SMB xfreerdp / psexec
NTLM Hash Pass-the-Hash (PTH) mimikatz # sekurlsa::pth
Kerberos Overpass-the-Hash Rubeus asktgt
3. 不出网WebShell突破

解决方案

  • 协议隧道
    • HTTP隧道 → reGeorg + Proxychains
    • DNS隧道 → dnscat2
  • 端口复用
    • 劫持现有服务端口(如80)传输ICMP数据(ICMP隧道)
  • 本地提权
    • 利用内核漏洞(如CVE-2021-36934)获取SYSTEM权限操作注册表
4. PTH攻击原理

流程

复制代码
mermaid`graph LR A[获取NTLM Hash] --> B[绕过认证] B --> C[目标服务SMB/WinRM] C --> D[以用户身份执行命令]`

对抗检测

  • 禁用NTLM认证 → 组策略启用Kerberos优先
  • 启用SMB签名
5. DCsync攻击详解
  • 协议基础

    • 利用MS-DRSR协议(目录复制服务远程协议)
    • 默认端口:TCP/135(RPC) + 动态端口
  • 攻击原理

    • 模拟域控制器请求同步账户密码哈希
    • 需账户具备Replicating Directory Changes权限
  • 检测命令

    复制代码
    bash`mimikatz# lsadump::dcsync /domain:test.com /user:krbtgt`
6. 域内主机攻域控路线

四阶攻击链

  1. 信息收集

    复制代码
    cmd`nltest /dclist:test.com && net group "Domain Controllers"`
  2. 权限提升

    • 利用本地提权漏洞获取SYSTEM(如PrintNightmare)
  3. 凭证窃取

    • 抓取内存中的域管Token → sekurlsa::tickets /export
  4. 攻陷域控

    手法 命令/工具
    DCSync lsadump::dcsync /all
    PSExec psexec.exe \\dc01 cmd.exe
    WMI爆破 wmic /node:dc01 process call create
    Kerberoasting Rubeus + Hashcat破解服务账户票据

三、防御对抗建议

Java反序列化
  • 黑名单过滤 → 更新至Shiro 1.11+
  • 白名单控制 → 重写ObjectInputStreamresolveClass
  • 禁用危险协议 → 关闭JMX/RMI匿名访问
内网安全
  • 域控防护
    • 启用LAPS(本地管理员密码随机化)
    • 限制DCSync权限至专属账户
  • 横向防御
    • 网络分段 + 主机防火墙限制445/135端口
    • 强制SMB签名 + NTLMv2认证