2025年渗透测试面试题总结-35(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
一、Java反序列化深度解析
1. 有回显的CC链
2. 反序列化相关协议
3. Shiro漏洞深度剖析
二、内网渗透实战指南
1. 单台Windows主机入侵流程
2. 密码利用策略
3. 不出网WebShell突破
4. PTH攻击原理
5. DCsync攻击详解
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 防御重点:过滤
ObjectInputStream
的resolveClass()
方法3. Shiro漏洞深度剖析
问题定位:Key正确但反序列化失败
- 根本原因:
- serialVersionUID不匹配
- 攻击payload的UID与目标类不一致 →
InvalidClassException
- 依赖库冲突
- 目标环境缺少CC链所需类(如
org.apache.commons.collections.functors.InstantiateFactory
)- 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. 域内主机攻域控路线
四阶攻击链:
- 信息收集
cmd
nltest /dclist:test.com && net group "Domain Controllers"
- 权限提升
- 利用本地提权漏洞获取SYSTEM(如PrintNightmare)
- 凭证窃取
- 抓取内存中的域管Token →
sekurlsa::tickets /export
- 攻陷域控
手法 命令/工具 DCSync lsadump::dcsync /all
PSExec psexec.exe \\dc01 cmd.exe
WMI爆破 wmic /node:dc01 process call create
Kerberoasting Rubeus + Hashcat破解服务账户票据
三、防御对抗建议
Java反序列化
- 黑名单过滤 → 更新至Shiro 1.11+
- 白名单控制 → 重写
ObjectInputStream
的resolveClass
- 禁用危险协议 → 关闭JMX/RMI匿名访问
内网安全
- 域控防护:
- 启用LAPS(本地管理员密码随机化)
- 限制DCSync权限至专属账户
- 横向防御:
- 网络分段 + 主机防火墙限制445/135端口
- 强制SMB签名 + NTLMv2认证