不喜勿喷,仅供参考
注:下面问题我结合chatGPT和个人理解的一些总结的话,不保证精确度,大家用自己的话整理一下
1、给出一个1433端口的字节流形式的告警数据包你会如何分析
首先,1433端口是mssql数据库的服务端口,我们首要分析就是确认出针对1433端口的攻击行为有哪些,大致可能会有针对暴力破解的攻击,sql注入的攻击,端口扫描的 那么总结下数据流一般的特征: 首先是暴力破解的: 在数据流中,可以检测到带有大量尝试的IP地址,并且登录失败或异常登录流量的模式可以有助于识别攻击行为。 sql注入攻击:在数据流中,可以看到针对数据库的恶意命令或查询,它们可能包含非法字符或SQL语句的异常组合。检测异常查询和命令流量,可以协助发现SQL注入攻击。 端口扫描: 在数据流中,你可以看到大量的端口扫描请求和数据包,这些请求通常来自不明或不寻常的IP地址,并且目标IP地址数量有限。扫描请求时区分为UDP和TCP,其中TCP的扫描请求率更高,可以帮助检测到扫描行为。
2、 给出一个log4j的原始报文数据包,你会如何分析
这个问题的重点,应该是问你了解哪些log4j的漏洞,他们在报文数据中有什么特征,这里我们简单举例来说明一下即可。 这里我们就根据最近的log4j2(CVE-2021-44228)这个漏洞来进行举例分析,我们可以在报文中格局一些关键词来进行检索
-
"enrollable"、"name"、"Level"、"pattern"、"lookup"、"appender"和"logger"等关键词。这些关键词在log4j的配置文件中经常出现,攻击者可以通过它们注入恶意代码并实现远程命令执行。 -
"java" 或 "javax"等字符串。这些字符串通常与Java类有关,攻击者可以通过从这些字符中注入可执行代码来利用漏洞。 -
关注远程执行命令的一些代码,比如log4j2的远程执行命令:${jndi:ldap://xxx.xxx.xxx.xxx:1389/Ex} ,通过检索里面的关键单词进行查看。 识别到这些关键词后,我们应该立即检查应用程序的log4j配置文件,查看是否存在配置文件中的问题或使用过时的log4j版本,立即升级到最新版本以解决漏洞。
、你觉得他的请求体会是攻击的payload吗?假如就是一个log4j的命令执行的告警,怎样分析?
这个问题总体来说和上面差不多,首先是判断是不是一个攻击的payload 首先我们初步判断: 一般的攻击payload中会有大量特殊字符,会出现异常行为,如错误提示,恶意重定向等,或者比较明显的或有注入,xss等明显的攻击代码在其中。然后根据我们怀疑的对象进行下一步具体分析。
-
向公共Payload库提交Payload。提交Payload到个公共Payload库,比如Github上的PayloadsAllTheThings或PayloadsProject等,这些Payload库通常会对所提交的Payload进行审核和验证,以保证其中不包含恶意代码。 -
分析Payload的行为。这种方法需要使用专业的Payload分析工具,例如Burp Suite或Fiddler等,对Payload进行分析和监控,以检查它是否存在与攻击有关的行为,例如XSS攻击或SQL注入等,以此来判断Payload是否为恶意。 -
使用漏洞扫描器。漏洞扫描器可以对目标网站或应用程序进行安全测试和检查,以发现潜在的安全漏洞和攻击点,进而判断所提交的Payload是否能够成功攻击目标。 -
静态和动态分析。可以对Payload进行静态代码分析,查看其源代码,检测是否存在可以利用的代码。同时,也可以对Payload进行动态分析,让它运行在一个沙盒环境中,并观察Payload的行为,以此来判断Payload是否可疑。 总结就是可以通过payload库(github上的)进行搜索,通过专业的分析工具进行分析,将payload放置沙盒中或者虚拟机中进行行为判断。
4、请求中命令执行到底是写在哪里的?
这个问题的考察的是命令执行漏洞一般出现的位置(个人理解) 命令注入(Command Injection)的攻击Payload通常是以一组用户可控制的数据,如参数、标头或Cookie等的形式发送到服务器上 一般出现在: 1、用户输入的参数或者数据的地方 2、程序自动生成查询参数,攻击者可以在程序生成过程中修改进行命令执行 3 、系统调用接口:系统调用接口是应用程序调用系统服务的接口,如果对用户输入或数据未进行适当的验证、过滤和转义,就可能导致执行特权操作的安全漏洞
5、你研究过http相响应和请求包吗?了解他们的字段,有些什么字段?
HTTP请求包含以下重要字段:
-
请求方法(Method):请求方法用于指定客户端请求的方式,常见的方法有GET、POST、PUT、DELETE等。 -
请求URL(URL):请求URL是指请求的目标资源的地址。 -
协议版本(HTTP Version):协议版本用于指定请求所使用的HTTP协议版本,常用的协议版本有HTTP/1.0、HTTP/1.1、HTTP/2.0等。 -
请求头部(Headers):请求头部用于传递一些额外的信息,例如客户端的User-Agent、Accept-Encoding、Authorization等。 -
请求实体(Entity):请求实体主要用于POST请求,表示请求的实体内容,例如表单数据。 HTTP响应包含以下重要字段: -
状态码(Status Code):状态码用于指示HTTP请求处理的结果是否成功或失败,常见的状态码有200表示成功,404表示找不到资源,500表示服务器内部错误等。 -
协议版本(HTTP Version):与请求部分一致,表示响应所使用的HTTP协议版本。 -
响应头部(Headers):响应头部包含在HTTP响应之中的头部信息,包括服务器类型、时间、响应体的长度等。 -
响应实体(Entity):与请求实体类似,表示响应内容的实体。
7、应急有做过吗,你结合一下实际的案例说一下
这里我建议去公众号搜一篇应急响应的文章,或者网上找,整理一下整理成自己的话。 我整理的,不要抄袭哦: 去年护网的时候,遇到过一次,当时红队第四天忽然提交了一份攻击报告,扣了我们几千分,然后当时进行了一次应急响应,因为误报很多,一时间毫无头绪,根据当时同事建议直接去服务器排查,其实工作量也挺大,当时运气好排查到第二台就发现了问题,存在内网的一个16服务器对多个服务器进行了登录行为。 通过询问客户运维人员得知大量服务器使用了相同的弱口令,通过登录这个内网16服务器,发现这个上面运行了一个泛微OA系统,登录日志中存在恶意IP对其进行爆破 查看中间件,发现同样存在攻击事件,利用的是泛微OA WorkflowServiceXml远程代码执行漏洞。 然后排查了服务器系统日志,发现大量guest登录失败和成功的事件,查看系统用户信息发现红队新建的多个账号,通过guest创建时间,对比攻击时间是一个时间,红队登录guest账号之后上传了横向扩散的脚本和回连工具。 并且在回收站中发现XX.jsp后门,实现建立socket隧道连接。 并且在访问日志中可以看到访问该jsp动作。发现攻击IP 在c盘的用户/公用,目录下找到恶意文件运行的脚本,并且打开后可以看到这个脚本在调用emessage-http.exe工具,并且回连到恶意IP,找到第六个攻击IP。以及通过PsExec64.exe进行提权操作。 攻击者的进攻路线梳理: 利用暴露在公网的泛微OA漏洞->上传后门、建立稳定回连通道、提权->横向扫描渗透->发现大量服务器存在同口令,直接拿下,一波肥。
9、溯源会吗,大概是什么溯源方式呢?
会一点,大概是通过分析流量,同源分析,来定位域名IP等,结合实战的列子,有时攻击者的工具可能是自己编写,在github一类平台发布过,或者工具中暴露自己的一些信息,结合社工库等方式进行溯源。 还有就是通过网络抓包,获取攻击者的控制域名信息等。 举例: 攻击者在入侵成功后,留下的启动脚本中包含了攻击者的个人网络id,通过对该网络ID及QQ号码进行溯源分析,最终也成功定位到攻击者。
10、你会那个样本分析吗,病毒的样本分析,就是二进制那一块的。
最后这个问题有点超纲了,我的建议是不会的就不要回答了,万一真的抓去了做这个,那真的是一把抓瞎,根本不是短时间可以学会的东西。
原文始发于微信公众号(富贵安全):中级研判,无偿分享
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论