预防攻击:网络安全事件研判

        在当今信息时代,安全事件不断涌现,给个人和组织带来了巨大的威胁。为了保障信息的安全,我们需要建立一套科学、有效的安全事件分析思路及逻辑。本文将从几个方面介绍如何对安全事件进行分析,以期为读者提供一些有用的指导。

一、明确目标:

首先,对于每个安全事件,我们需要明确分析的目标是什么。是查找安全漏洞?还是追踪攻击来源?或者是恢复系统功能?明确目标可以帮助我们更好地制定策略和计划,避免盲目行动。

二、收集证据:

在进行安全事件分析时,收集可靠的证据是至关重要的。可以通过监控日志、事件记录、网络流量包等方式获取。同时,需要确保证据的完整性和可信度,避免被篡改或伪造的信息影响结果。

        研判工作要充分利用已有安全设备(需要提前了解客户的网络拓扑以及部署设备情况),分析其近期的设备告警,将全部流量日志(日志条件:源地址,目的地址,端口,事件名称,时间,规则ID,发生次数等)根据研判标准进行筛选(像挖矿、蠕虫、病毒、拒绝服务这类不太可能为攻击方发起的攻击的事件,直接过滤掉,减少告警数量),一般情况下,真实攻击不可能只持续一次,它一定是长时间、周期性、多IP的进行攻击

        对于告警结合威胁情报库如:微步、奇安信威胁情报中心等对于流量日志的原 IP 地址进行分析,判断其是否为恶意攻击,推荐使用微步的插件,如果确认为攻击行为或者不能确认是否为攻击行为,进行下一步操作,在之前准备好的表格中查找 IP 是否为客户内网部署的设备,如果不是,继续进行下一步,在事件上报平台查看是否有其他人提交过,如果没有,则上报

        然后根据流量日志,对请求数据包和返回数据包分析判断其是否为误报,需要留意 X-Forwarded-For(简称XFF)和x-real-ip 可以了解些 webshell 工具的流量特征,尤其是免杀 webshell,有可能不会被设备识别

最后上报事件时,尽可能提供完整的截图,包括源 ip、目的ip,请求包请求体,响应包响应体等重要信息,以方便后续人员研判溯源

三、分析过程:

  1. 事件重现:通过分析收集到的证据,尝试还原事件的发生过程,对于一次攻击事件,了解攻击者的入侵路径和攻击手段是非常重要的。可以借助安全分析工具、网络流量分析等技术手段进行。

  2. 漏洞分析:如果事件是由系统漏洞引起的,那么我们需要深入分析该漏洞的来源和原因。这包括对操作系统、应用程序和网络设备等进行安全性评估,以及对漏洞的补丁情况进行审查。

  3. 攻击溯源:对于攻击事件,追踪攻击者的真实身份和攻击来源是重要的任务。通过分析网络流量、IP地址等信息,可以尝试追溯攻击者的位置和身份。

  4. 影响评估:对于受到安全事件影响的系统或数据,需要进行全面评估。确定损失程度,制定恢复计划,并采取相应的措施来修复漏洞、恢复系统功能。

1)暴力破解

场景:基本特征就是短时间内大量的登录请求
​包括SMB 邮件 ftp sslvpn rdp ssh telnet mysql协议等
​误报排除方法:查看时间,是否为连续时间有大量的访问日志或者暴力破解安全日志,并确认是否每次暴力破解安全日志之间的间隔相似
​短时间内发起了大量针对某一个IP地址的请求,一般不会是误报,需要去相应终端尽行排查
​到终端上查看登录日志,是否存在大量的登录失败日志

Windows: rdp/smb都可以在事件查看器中找4625的登录信息事件

​Linux: 除root之外,是否还有其它特权用户(uid 为0)
​/etc/passwd

可以远程登录的帐号信息
​/etc/shadow

​统计了下日志,发现大约有多少次登录失败的记录,确认服务器遭受暴力破解
​grep -o “Failed password” /var/log/secure|uniq -c

2)Web路径探测

场景:疑IP或者内网主句在较短时间内请求了目的系统较多的web目录
误报排除方法:如果短时间内扫描大量不存在的web页面(人工达不到的速度,比如一分多钟达到208次)那就很有可能是在探测web目录是否存在一些中间件

查看扫描的部分路径是否一些常见中间件的url,比如上面一直扫描web是否存在mysql的管理工具,如果扫描到 mysql管理工具可能利用工具存在漏洞进行渗透,那就不是误报,或者扫描一些webshell路径是否存在的时候会扫描 一些奇奇怪怪的不存在的页面,比如xx.php/db.php/shell.php等。扫描路径一般带有一些规律的,

​可以分为以下几类:数据库管理页面(phpmyadmin,adminer等)、后台管理页面(manage.php , admin.php 等)、文本编辑器特定路径(ewebeditor,ueditor)、部分webshell地址(shell.php)

​如果路径里面都是一些普通的html页面、客户自己的业务页面则为误报,比如扫描很多index.php index.html default.php等,这种场景一般是客户自己一些正常业务发出的大量请求

​​3)永恒之蓝漏洞利用攻击

场景:永恒之蓝,永恒浪漫等漏洞利用攻击是通过ips规则识别到的,属于系统漏洞攻击,数据包不能直接查看
​误报排除方法:永恒系统的漏洞误报很少,若一台主机对多台主机发起时,基本不是误报,还可以查看主机是否有别的行为比如扫描等行为。查看日志,是否有访问445端口的漏洞利用攻击日志

数据包为16进制
​可以通过16进制转字符查看https://www.bejson.com/convert/ox2str/,查看内容是否为误报。其它系统攻击若有16进制数据包记录,也可以尝

4)Webshell上传

场景:检测webshell上传,在提交的请求中有webshell特征的文件或者一句话木马字段。可以网上检索到webshell
​误报排除方法:若查看到日志,为乱码(实际为二进制无法读取)可判断为误报

若SIP提示的链接下载的webshell文件为正常文件也可判断为误报

如果自己拿不准的话,将样本的md5或者样本上传到virustotal或者微步云沙箱进行检查

webshell一般不会重复上传,查看到多条日志,提交的数据包都是相同的webshell文件,可以判断是否为客户的业务行为,为误报。如下图,所有的日志都是相同的,判断为客户业务行为

若为复杂的代码格式, 含有eval等危险函数, 各种编码转换和加密字符串的,基本为正报

​对于编码的webshell,需要进行解码查看,Accept-Charset字段值进行base64解码,解码结果包含syetem()、echo()、certutil.exe等敏感关键字,且不涉及业务内容,判断为真实漏洞探测行为

5)Sql注入攻击

场景:Sql注入通过判断web请求提交的字段中是否有数据库查询语句或者关键词进行判断。

误报排除方法:查看日志,是否存在数据库查询的关键字,如select,where,union,等,并判断提交的语句是否为客户业务请求不规范所导致

​通过返回包判断是否攻击成功,若判断为攻击行为,但是无返回包,判断为攻击不成功

​​6)XSS攻击

场景:看日志中是否存在或类似的变形的字符串,这类是属于探测类攻击
​看日志中是否存在外部url地址,这些地址可能是用于接收管理员信息的第三方平台。

误报排除方法:如果出现大量xss攻击日志,但日志内容格式都是一样的,没有明显变化,则可能是误判

​如果攻击日志为json类数据,需和客户确认是否是正常业务,如果是正常业务,则为误判

​​7)扫描攻击

场景:分为IP扫描,端口扫描,在一定时间能访问了大量的IP或者端口,在扫描IP时会记录IP,扫描端口时不会记录端口

当风险主机访问了多个主机的445端口,会认为是扫描行为。其它协议的扫描行为举证类似。需要审计到正常访问的流 量,并且连接时长会很短,每个扫描的间隔会也会很短

主机遭受外网主机的TCP端口扫描

误报排除方法:可直接通过平台netflow(网络流量日志)判断。提前是ips需要记录对应方向的网络流量日志。对于主机发起扫描事 件,直接在日志中设定筛选条件为:src_ip:ip。过滤出该IP所有的网络流量日志,点击目的端口的小漏斗,查看是否 存在大量的端口记录,如果存在大量端口访问记录,切每个端口访问次数都很小,则认为是端口扫描正判

​对于IP扫描则看目的IP是否多个,是否属于同一个网段,思路都是一样的

若如当前还有扫描行为,可以到终端上查看连接情况,使用火绒剑或者SIP闭环工具,可以监听一段时间的网络连接,发现连接的进程,确认是否为误报。其它扫描协议判断方法相似

确认为扫描事件后,向客户了解是否有类似行为的运维工具在运行,若有需要将工具的IP进行加白

​如检测到的扫描事件为目的端口不变,目的IP是零散的,很可能是p2p应用的行为。可能通过上网搜索被扫描端口,进行确认

对于主机遭受互联网主机扫描行为,需要确认主机是否对外开放了端口,是否为业务所需要,若不需要建议通过出口设备关闭映射关系;确认是否为客户业务行为

​​8)系统命令注入

场景:查看到有相关报警后,可以直接查看日志检索中心,查看到提交的系统命令。如“rm -f”、“cmd”、“cd”等系统命令

误报排除方法:可与客户核对,是否业务有该行为,或没有,可判断是有攻击行为

若返回的包为乱码并确认传输数据为非加密时,可以通过请求的数据类型是否为图片等导致展示为乱码。可以判断为误报

​9)Struts2攻击

场景:Struts2属于远程命令执行导致的安全问题。通过修改 HTTP 请求头中的 Content-Type值等其它字段来触发该漏洞,导 致远程执行代码

若显示请求数据包请求体内容包含echo、cmd、bin/bash等恶意代码,可能判断为恶意代码被平台识别为远程代码执行

误报排除方法:首先检查Content-Type字段,正常Content-Type 提交的为文件类型字段,不会提交为执行语句

核心排查思路应该是查看请求方向数据是否有反序列化代码,例如java.getruntime,Struts2攻击不是所有的攻击 payload都在content-type里面的,至于是否攻击成功,则要看java中的命令是否有对应的结果在响应页面输出,无 返回数据,判断攻击失败

​10)目录遍历攻击

场景:判断条件较简单,只要请求中有…/或者…\就会判断为目录遍历攻击

误报排除方法:确认主机业务情况,是否在业务传输数据包中存在“…/“易被识别为目录遍历的字

例如,数据包中存在…/…/…/…/…/…/etc/passwd.jpg恶意代码,尝试遍历etc/passwd内容,判断为真实攻击行为

显示响应中未返回任何相关敏感信息,判断为攻击未成功

11)邮件安全

场景:邮件安全包括收、发邮件中的病毒邮件,垃圾邮件和钓鱼邮件中的安全问题,只能检测pop3/imap/smtp和web的http邮 件,不支持检测加密邮件的安全事件

误报排除方法:病毒邮件,判断邮件下载的附件信息,是否为病毒,可以将文件的md5上传至vt上进行确认

​ 垃圾邮件,判断邮件内容或者主题是否存在垃圾信息关键词
​ 钓鱼邮件,判断邮件中是的URL或者文件是否为恶意

主机在可疑邮件外发行为,检测原理:判断主机是否使用过多域名的邮箱进行邮件外发,如果该主机的邮件业务是客户的正常业务, 则为误报. 否则该主机可能感染了mailer, 需要排查异常进程

12)信息泄露攻击

场景:信息泄露攻击为在攻击起发起请求后,服务器返回系统,中间件等的版本号信息,黑客可以通过返回的版本号信 息,找到对应版本存在的漏洞,进行攻击

误报排除方法:查看日志数据包中否有反馈版本号信息,phpinfo信息或者是网站源码

若是反馈内容没有版本信息,可以展开,查看访问的路径,若没有找到有用信息,可以确认为报

13)威胁情报类检测

场景:如访问了某家族的通信域名

误报排除方法:以下分析流程使用所有访问恶意域名的安全事件。分析步骤:

​ 1、到wiki.sec.sangfor.com.cn上查看看检测结果。

或者去微步或者vt上可以进一步确认,如果在微步或者vt上也没有,还是走以下的步骤

2、使用EDR等终端安全设备进行全盘扫描,确保扫描时设备的规则库已经更新到最新版本

3、如果没有使用edr查杀到,确认客户主机是否已经有安装过杀软,检查杀软的杀毒记录,以及白名单记录,是否 有可疑的病毒文件

​14)Webshell后门

场景:Webshell后门事件为webshell已经被上传到web服务器后,并被访问后检测出来的事件。是事后安全事件

误报排除方法:检测出来的webshell后门误报极少,存在一定的漏报情况。需要有访问webshell的流量才能识别。可以在如下图直 接找到后门文件,再放到windows下用D盾查杀一下就能确

15)黑链

场景:如赌博等关键字,通过检测关键字识别出存在黑链的网站

误报排除方法:客户网站发的帖子中存在黑链关键字导致误报

有些稍微高级黑链无法在界面上直观看到的,可以使用浏览器查看源代码,找到黑链关键字

再高级些的黑链也不能在源代码只直观看到,会调用js等函数实现,如搜索引擎能查看到黑链但是打开网站无法查看 到。这里可以使用burpsuite或者wireshark访问网站进行跟踪发现黑链的调用后访问的地址

16)Shell反弹

场景:只在日志检测中心可以查看,检测是主机有外连的ssh连接,会被判断为shell反弹

误报排除方法:大部分是误报,只有日志,没有安全事件

若还有连接,可以到主机上使用进程分析工具,监测进程连接SIP报的目的端口的情况

17)HTTP定时请求可疑文件

场景:通过定时下载恶意文件,对病毒进行保活。在一定时间间隔像外网进行请求

误报排除方法:查看下载时间是否有定时特征,比如主机存在一个小时下载一次恶意程序的行为,如果没有定时特征可能是算法有问题

查询下载URL里面的域名/IP的威胁情报信息,如果域名或者IP是黑的那基本不会是误报了

通过URL直接放到开源云沙箱(比如VT、微步云沙箱)如果URL没有失效且能够杀出毒就肯定不会是误报

威胁情报没有信息,而且URL已经失效可以谷歌域名/IP的信誉度如何,如果是一些正常公司的域名/IP则有可能是误 报

​​18)下载伪造文件

场景: 通过对比文件后缀与SIP检测到的文件头信息进行对比是否相同,不相同时为伪造文件

误报排除方法:URL里面的文件后缀文件类型与文件头是否符合,比如这里URL里面的文件后缀是一个rar压缩文件但是发现文件 的文件头其实是一个ELF可执行文件,这种就不会是误报

​一般URL里面的域名/IP很多也被威胁情报收录了,能够查到相关的威胁情报

​概率太低的情况:如果是客户自己的业务,确实存在一个错误后缀类型的可执行文件那可以定义为误报

​​19)主机存在下载恶意程序的行为

场景:通过http下载可执行程序,通过域名/IP/url的威胁情报识别下载是否为恶意。

误报排除方法:最常用的手段还是查一下URL里面域名/IP的威胁情报,如果是黑的就是准的,如果是知名网站则是误报

​可以把URL还有效,放到云沙箱(vt)杀一下

​20)主机疑似存在恶意泄露数据风险

场景:出现目录遍历成功的情况、出现.svn/.git源码泄露的情况、备份源码泄露情况、备份数据库文件泄 露的情况

误报排除方法:敏感信息泄露主要分为几种情况:出现目录遍历成功的情况、出现.svn/.git源码泄露的情况、备份源码泄露情况、备 份数据库文件泄露的情况,直接访问url就可以访问到,比较明显,比如.svn目录放到了web目录 被访问到了,可以造成源码泄露

​​21)主机存在CobaltStrike通信行为

场景:URL包含的域名/ip基本都是C2服务器

误报排除方法:先确认检测到的IP和可疑路径是否指向单位正常业务

如果检测到的路径非正常业务而是互联网资源,则可以在VT和微步上查询相关url/ip的信息,并从url下载样本进行 杀毒检测/人工检视

​​22)主机存在ICMP隧道通信行为

场景:利用防火墙不会屏蔽ping数据包的特点,将数据传送出去。隧道技术是一种通过使用互联网络的基础 设施在网络之间传递数据的方式,使用隧道传递的数据可以是不同协议的数据帧或包。隧道协议将 其他协议的数据帧或包重新封装,然后通过隧道发送。ICMP隧道将数据封装在ICMP协议的ping数据 包中
​比如,主机疑似与多个主机进行ICMP隧道通信,共计517次,次数较多,需要排查

误报排除方法:在规则库没有变化时,突然检测到发起大量访问次数,为可疑行为

使用终端杀毒软件在终端上查杀是否存在icmp隧道通信的客户端工具

​​ 23)内网远程创建任务

场景:检测是否远程创建服务的执行命令

误报排除方法:远程创建服务这个动作不会是误报,检测原理就是检测是否远程创建服务,比如上面的那个举证就是主机 200.200.20.208对200.200.0.5远程执行了一个命令\VSS\C$\KHUOvydR.exe

概率低的情况:上面只是说能肯定创建了服务,但是运维场景也有可能出现这种动作,比如管理员通过类似于psexe 的工具对远程主机进行管理(这种情况下目前还没遇到过),这种情况下问下客户运维人员是否执行正常命令即 可。也可以自己通过命令大概判断一下,比如上面那个文件名比较杂乱,一看就不是好东西。

​​ 24)内网远程创建定时任务

场景:与远程创建服务相似很少有远程创建定时任务的运维操作

误报排除方法:这个举证描述已经比较清楚,主机1.1.1.1对主机1.1.1.2远程创建了一个定时任务,首先1.1.1.1肯定已经发出这个创 建定时任务的动作,这个不会误报,而且如果显示创建成功,可以查看1.1.1.2是否有被创建成功的定时任务。

与创建服务类型,有极端情况下应该是运维人员在搞事情,但是目前也是还没遇到过,可以看看定时任务执行的命 令可以看看这个定时任务是定时执行什么命令,一般可以通过执行的命令来看是否恶意的定时任务,比如定时执行 一个powshell命令,那就基本是恶意的了。

​​25)内网SMB一对多登陆

场景:有攻击者还使用一个账号对多台主机进行登录尝试

误报排除方法:这个基本不会误报,当黑客拿到一个账号密码之后会对多个主机进行登录,其中登录失败的比例比较高,误报场景还 没发现。可以查看windows的安全日志,登录失败日志。

​​26)内网系统信息探测

场景:检测到主机对多个主机进行匿名登录

误报排除方法:这个基本不会出现误报,驱动人生经常使用该方法,对目标主机探测一下系统版本等信息。MSF 的smb_verison模块 就是通过该方式进行系统信息探测,在流量上表现的是对多个主机进行匿名登录,这种正常场景以及运维场景都没有。

结语: 安全事件分析是确保信息安全的重要环节,一个合理的思路和逻辑可以帮助我们更好地应对安全威胁。但需要注意的是,安全是一个动态的过程,我们也需要不断学习和更新知识,以适应不断变化的安全环境。只有保持警惕,才能更好地保护我们的信息安全。

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Adler学安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值