Hvv蓝队常问面试题

admin 2023年6月24日00:23:34评论127 views字数 6537阅读21分47秒阅读模式

研判常问面试题

常见webshell管理工具交互流量特征都有哪些?
1、菜⼑特征:PHP 类 WebShell流量中eval函数用于执行传递的攻击 payload,流量参数z0、z1、z22、冰蝎3.0:默认内置 16 个 user-agent,content-type为application/octet-stream3、蚁剑:PHP 类 WebShell流量最中明显的特征为 @ini_set ("display_errors","0");

菜刀特征:

默认的webshell中链接密码都是caidaoua头为百度爬虫、请求体中存在eavlbase64等特征字符响应包中包含X@Yphpwebshel中流量参数z0z1z2
冰蝎3.0    
默认内置 16 个 user-agent,content-type为application/octet-stream** 请求包中content-length 为57405720(可能会根据Java版本而改变)**每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache**

冰蝎2.0

建立连接后 所有请求 **Cookie的格式都为: Cookie: PHPSESSID=; path=/;**静态分析:各种语言的webshell中都会存在**16位数的连接密码**,默认变量为key

冰蝎3.11流量特征

1、header头顺序是颠倒的2、发送包是base64,返回包是字节数组,所以会乱码3、如果冰蝎密码不对,会出现两个连接,第一个是post 第二个是get 
1. content-type为application/octet-stream ,请求包中content-length 为5740或5720(可能会根据Java版本而改变),每一个请求头中存在Pragmano-cacheCache-Control: no-cache2.异常User-Agent---- 出现WOW64等3. 频繁访问默认的路径/conn.jsp

蚁剑

PHPWebShell流量最中明显的特征为 @ini_set ("display_errors","0");同时会带有base64编码解码等字符特征, **每个请求体都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)开头**。并且存在base64等字符,响应包的结果返回格式为 随机数 结果 随机数

哥斯拉:

不修改User-Agent,User-Agent会类似于Java/1.8.0_121(具体什么版本取决于JDK环境版本)在请求包的Cookie中有一个非常致命的特征,最后的分号标准的HTTP请求中最后一个Cookie的值是不应该出现;的
请求包的特征
1. “pass=”起始2. 请求包较长 响应包为03. 一个tcp包里面有三个http

响应包特征

整个响应包的结构体征为:md5前十六位+base64+md5后十六位

哥斯拉4.0.1中JAVA_AES_BASE64特征流量特征

host密码和base64字符串是密码=base64字符串的形式发送包是密码=bae64字符串的形式,返回包是类base64字符串的格式
1. 对称加密算法:JAVA_AES_BASE64是哥斯拉4.0.1使用的对称加密算法;因此可以根据哥斯拉4.0.1的流量中是否包含JAVA_AES_BASE64来判断是否为哥斯拉4.0.1攻击流量2. 长度固定:哥斯拉4.0.1使用JAVA_AES_BASE64算法对数据进行加密后,加密后数据的长度是固定的因此,可以根据攻击流量的长度是否固定来判断是否为哥斯拉4.0.1攻击流量3. 常见数据前缀:哥斯拉4.0.1加密的数据在明文数据前会添加特定的前缀;因此,可以根据攻击流量中是否包含常见的数据前缀来判断是否为哥斯拉4.0.1攻击流量。

内存马

先判断是通过什么方法注入的内存马,可以先查看web日志是否有可疑的web访问日志如果是filter或者listener类型就会有**大量url请求路径相同参数不同的,或者页面不存在但是返回200的**查看是否有类似哥斯拉、冰蝎相同的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本吻合通过查找**返回200的url路径对比web目录下是否真实存在文件,如不存在大概率为内存马**如在web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据-业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。

java内存马类型

filter listener servlet websocket javaagent

shiro反序列化漏洞原理?

1.浏览器或服务器重启后用户不丢失登录状态,Shiro 支持将持久化信息序列化并加密后保存在 CookierememberMe 字段中,下次读取时进行解密再反序列化。但是在 Shiro 1.2.4 版本之前内置了一个默认且固定的加密 Key导致攻击者可以伪造任意的 rememberMe Cookie,进而触发反序列化漏洞
Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞那么,Payload产生的过程: 命令=>序列化=>AES加密=>base64编码=>RememberMe Cookie值在整个漏洞利用过程中,比较重要的是AES加密的密钥如果没有修改默认的密钥那么就很容易就知道密钥了

shiro550与shiro721的区别:

1、这两个漏洞主要区别在于Shiro550使用已知密钥碰撞,只要有足够密钥库(条件较低),不需要Remember Cookie2、Shiro721的ase加密的key基本猜不到,系统随机生成,可使用登录后rememberMe去爆破正确的key值,即利用有效的RememberMe Cookie作为Padding Oracle Attack的前缀,然后精心构造 RememberMe Cookie 值来实现反序列化漏洞攻击,难度较高

流量层面分析shiro反序列化漏洞是否攻击成功?

1. 在HTTP请求头Cookie里出现rememberMe字段以及可能出现自定义类型例如c: aWQ=,响应体中出现大量编码字符串,若需要判断是否攻击成功,需对请求数据和响应体内容进行解密判断2. 检查请求头中的"rememberMe" cookie。攻击者可能会在此处插入恶意序列化数据3. 观察服务器响应。如果服务器返回了异常错误信息,如Java反序列化异常,可能表明攻击成功分析应用程序日志:如果日志中出现了异常堆栈跟踪,可能表明攻击成功例如,攻击者发送了一个包含恶意序列化数据的请求,服务器响应了一个包含Java反序列化异常的错误信息这可能表明攻击成功。
在发生命令执行攻击时,如何判断是struts2漏洞执行命令?
1. 在请求头中存在OGNL表达式,一般在url中会出现的攻击特征主要是:.action?method | ?redirect:$ 在conten-type中出现的攻击特征主要有:%{#context 、在报文体中出现的攻击特征主要有:#_memberAccess 等2. 判断请求中是否包含特定的 Struts2 关键字,如"method:""redirect:"等,这些关键字可能是用于执行命令的操作;3. 检查请求中是否包含"Content-Type"头字段,并且值为"application/x-www-form-urlencoded",这是 Struts2 框架默认的 Content-Type 值,用于处理 POST 请求;4. 检查请求参数中是否包含OGNL表达式,如"${}""%{}"等字符;5. 检查请求是否包含一个名为"class"的参数,值为"java.lang.Runtime",这个参数可以用于执行系统命令

如何在流量层面分析struts2命令执行是否成功

1.查看请求头或请求体中是否含有OGNL表达式,Struts2 命令执行的原理是通过 Ognl 表达式执行 java 代码2.查看请求头或请求体中是否存在命令执行类代码3.查看响应体是否返回上述命令执行的结果

威胁情报类告警产生误报的原因是什么?

1、防火墙、邮件网关有发起黑域名解析的行为可能是误报2、威胁情报失效了

如何分析文件上传告警是否攻击成功?

1、查看响应体响应结果判断服务器是否接受了该上传请求,上传成功通常状态码为200,查看响应体中是否响应了上传路径,访问该上传路径查看文件是否被解析是否存在2、通过查看态势感知日志判断文件是否落地3、登陆受害者主机全局搜索上传文件

如何判断Cobalt Strike攻击流量?

1、http-beacon通信中,默认使用get方法向/dpixel、/__utm.gif、/pixel.gif等地址发起请求,同时请求头存在cookie字段并且值为base64编码2、dns-beacon通信中,默认使用cdn.、www6.、api.、www.、post.为开头发起dns请求,并且查询结果伴随0.0.0.00.0.0.800.0.0.241等非常规IP3、心跳包间隔一定时间,均有通信,且流级上的上下行数据长度固定4、常见User-Agent:Cobalt Strike通常使用自定义的User-Agent字符串,例如Mozilla/5.0 (Windows NT 10.0; Win64; x64) Cobalt Strike5、命令和控制流量:Cobalt Strike的HTTP请求中可能包含与C2服务器通信的命令和控制信息,这些信息在正常的Web请求中不会出现。

发生挖矿木马事件通过流量层面如何判断真实性?

1. 通信端口:挖矿木马可能会使用特定的端口进行通信。例如,Monero挖矿木马通常会使用TCP端口33335555进行通信2. 通信流量:挖矿木马的通信流量可能会具有特定的特征,例如大量的高速数据传输和周期性的通信,在数据包中可以看到大量的计算资源使用信息和挖矿结果信息3. 进程和文件系统:挖矿木马可能会创建特定的进程和文件来执行挖矿操作。例如,Monero挖矿木马通常会在操作系统上创建名为"xmrig"的进程,并在文件系统上创建名为"config.json"的配置文件4. 系统资源:挖矿木马可能会占用系统资源,例如CPU和内存,并可能导致系统崩溃或变得缓慢。5. 判断流量的数据:挖矿木马通常会在通信中发送一些特定的数据,例如挖矿难度、钱包地址、挖矿程序版本等如果流量中存在这些数据,就可能存在挖矿木马6. 看数据包的详细信息,看终端或者服务器是否有与矿池交互的信息,判断是否存在登录到矿池(method“:”login“)、从矿池接收任务(”method“:”job“)字段,在载荷内容中是否存在ok、success等字段

Apache Log4j2 远程代码执行漏洞原理?

Apache Log4j2 框架中存在一个名为 JNDI Lookup 的功能,它允许通过配置文件中的 JNDI 名称引用外部资源。攻击者构造一个特殊的日志消息,其中包含恶意的 JNDI 名称,并通过网络发送给受影响的应用程序。当应用程序使用 Log4j2 框架解析日志消息时,它会尝试查找和引用该 JNDI 名称。如果恶意的 JNDI 名称指向一个恶意的远程资源,例如恶意的 LDAP 服务器或 RMI 服务,攻击者可以控制该远程资源的内容和行为。攻击者可以在恶意的远程资源中注入恶意代码,并在目标系统上执行任意命令或获取敏感信息。

流量层面分析Apache Log4j2 远程代码执行漏洞是否攻击成功?

1、dnslog类:查看是否存在源ipdnslog的外联日志记录2、命令执行攻击2.1 有回显:响应体中存在命令执行结果2.2无回显 :存在源ipldap服务ip的外联日志记录
已知攻击者IP,如何溯源定位攻击人员?
1、IP反查注册信息,可能会查询到域名,通过域名查询备案和whois信息,可能会查出邮箱电话,通过社工库查询相关邮箱和电话信息定位人员支付宝,微信转账;微博,百度贴吧等2、通过白泽系统查询IP标记情况,查看攻击者IP日常访问数据内容,判断攻击者人员信息
安全设备发现一台Linux主机触发挖矿告警,上机排查该机器执行ps,top命令未发现挖矿及恶意进程,现在怀疑ps,top命令被替换,动态链接库被劫持,请问应该如何处理?
1、使用cat /etc/ld.so.preload命令查看动态链接库文件是否加载有so文件,提取加载的so文件上传至威胁情报平台,判断是否为恶意so文件2、清除so文件,使用ldconfig命令重新加载动态链接库,执行ps,top命令查看是否可以发现挖矿进程信息3. 确认ps和top命令是否被替换:可以使用命令"which ps""which top"查看这两个命令的路径是否为系统默认路径"/bin/ps""/usr/bin/top"如果不是则说明被替换。也可以通过比较ps和top命令的md5值来判断是否一致。2. 确认动态链接库是否被劫持:可以使用命令"ldd /bin/ps""ldd /usr/bin/top"查看这两个命令依赖的动态链接库是否正常,如果有动态链接库被替换,则会发现其中一些动态链接库路径不对4. 恢复被替换的命令和动态链接库:如果确认被替换,可以从系统安装介质或官方网站上下载对应版本的ps和top命令和动态链接库,替换掉被替换的文件即可。5. 检查系统安全:替换命令和动态链接库只是暂时的措施,需要进一步排查系统安全状况,比如查杀恶意程序、加强访问控制、更新系统补丁等,以防止类似问题再次发生6. 借助工具busybox

如何分析排查钓鱼邮件事件?

1.确认邮箱批量发送时间点2.排查邮箱登录日志,发现【恶意IP】在【什么时间】通过web登录成功;3.查看邮件内容,确认钓鱼邮件的影响和目的;4.排查浏览器或上网行为,判断是否访问过钓鱼页面;5.对访问过的设备进行全盘查杀
分析邮件头部:查看邮件的原始头部信息检查发件人的真实地址、邮件服务器的来源、邮件传输路径等注意查看"Received"字段,查看是否存在异常的邮件转发或代理分析链接与附件,添加至黑名单查看有多少内网ip访问过这个链接或者ip,双向排查
如何研判sql注入类型告警事件?
1.排除302、404、301、502,非200状态码2.判断请求包内相关的sql语句是否为恶意的SQL语句3.判断响应体内是否包含数据库敏感信息,或者系统信息。

如何研判JBOSS 反序列化漏洞攻击成功?

1.在访问JBOSS漏洞页面/invoker/readonly后,返回值为5002.请求体有llections.map.LazyMap、keyvalue.TiedMapEntry攻击链特征并且有明显的命令执行行为比如whoami3.在返回500 堆栈报错页面内容中包含了系统返回内容 比如系统用户:root

如何研判Fastjson反序列化漏洞攻击成功?

1.请求头:method: POST content_type: application/json2.请求体:data:com.sun.rowset.JdbcRowSetImpl,dataSourceName,@type3.请求体: 包含攻击者C2服务器地址4.状态码为:400  也可能是5005.通过态势感知平台进行回溯分析,在分析中心输入语法:(sip:(失陷服务器IP) OR sip:(攻击者C2IP)) AND (dip:(失陷服务器IP) OR dip:(攻击者C2IP))

原文始发于微信公众号(Poker安全):Hvv蓝队常问面试题

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月24日00:23:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Hvv蓝队常问面试题http://cn-sec.com/archives/1829083.html

发表评论

匿名网友 填写信息