banner
[面包]MrTwoC

[面包]MrTwoC

你好,欢迎来到这个基于区块链的个人博客 名字:面包 / MrTwoc 爱好:跑步(5/10KM)、咖啡、游戏(MMORPG、FPS、Minecraft、Warframe) 兴趣方向:Rust、区块链、网络安全、量子信息(量子计算)、游戏设计与开发
bilibili
steam
email
github

安全告警事件分析

安全设备#

在日常安全运维以及特殊时期的重点防护中,对于安全人员来说最重要的就是多种多样的安全防护设备,比如态势感知,WAF,防火墙,EDR,蜜罐等。

1. 防火墙:#

定位:访问控制类产品,网络出现后的第一类安全产品。
功能:隔离内网、外网以及 DMZ 区(业务系统对外发布区,Web 应用服务器,邮件服务器等)并控制用户访问。
部署方式:通常部署在网络边界或者重要系统边界。通常工作在网络层。

2.IPS:#

定位:访问控制类产品,入侵防御系统。功能:能够对流经设备的网络流量进行分析、监控,最重要的是发现攻击后,能够及时拦截阻断。它是防火墙的重要补充。如果说防火墙是第一道防御线,那么 IPS 就是第二道
部署方式:通常串接在网络主干链路上,或者重要业务系统边界,通常由防火墙的地方就有 IPS。

3.WAF#

定位:访问控制类产品,Web 应用防火墙。功能:专门针对基于 HTTP/HTTPS 协议的流量,对来自 Web 应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。
部署方式:通常部署在 Web 应用边界。通常工作在应用层。
与防火墙的区别与防火墙是两类不同的产品。传统防火墙工作在网络层,提供 IP 地址、端口的访问控制和阻断,不对应用层做防护和过滤。而 WAF 专注于应用层,是对所有的 WEB 应用信息进行解析、过滤,解决注入攻击、网页篡改、网页挂马、敏感信息泄露等 WEB 安全问题。
与 IPS 的区别:虽然都能够抵御攻击,而且在检测拦截许多攻击行为的时候,功能有所重合。但是 WAF 区别于 IPS 最大的地方,就是针对 WEB 应用的防护。IPS 的防护范围很广,只要发现攻击行为都会检测、拦截,其中也包括对 HTTP/HTTPS 流量的分析。而 WAF 只负责针对 WEB 系统的防护,对 HTTP/HTTPS 流量的双向解码和分析更加完整、全面,可以应对 WEB 应用中的各类安全威胁,如 SQL 注入、XSS、跨站请求伪造攻击、Cookie 篡改以及应用层 DDoS 等,从 WEB 防护的专业性上来说,WAF 比 IPS 强很多。

安全事件分析思路及逻辑#

在一般的安全运维以及重保值守过程中,安全工程师们最常使用的设备就是上面介绍过的 IPS,有实力的安全厂商也都会开发自己的 IPS 设备,下面我们以某个设备为例,对整个安全值守的思路进行讲解。
image.png

优先关注实时攻击分析页面的安全事件#

IPS 设备的告警页面基本大同小异,以下图为例,我们可以通过选择不同的变量来对需要显示的告警信息进行过滤,包括关注的资产范围、优先关注的事件类型、事件危害等级,攻击状态等,还可以联动其他安全设备对可疑 IP 进行封禁,对排除风险的 IP 进行加白等操作。

通过查看安全告警的详情发现攻击 IP,对 IP 进行封禁#

当多个攻击者 IP 同属于一个网络时,在确认为恶意后,可以针对该网段进行封禁。
image.png
image.png

安全设备告警页面展示的告警信息一般是经过聚合的有威胁的情报,如果需要有针对性行的对安全检测信息或者 http 审计日志进行分析的话,可以到日志中心进行查找。#

image.png

其他的就是一些安全设备附加的工程,比如近期的漏洞检查,弱密码检查,系统脆弱性检查等,这些都可以根据需要,随时展开。#

image.png

常见的攻击告警分析#

暴力破解#

账号爆破作为实施成本较低的攻击方式,非常受到青睐,基本算是所有攻击中排名前几的攻击方式,基本特征就是短时间内大量的登录请求,发起攻击的点有很多,包括 SMB, 邮件,ftp,sslvpn,rdp,ssh,telnet,mysql 协议等。
误报排除方法:

  1. 查看日志:暴力破解安全事件来自审计日志或者暴力破解安全日志生成。

查看时间,是否为连续大量的访问日志或者暴力破解安全日志,并确认是否每次暴力破解安全日志之间的间隔相似。

  1. 查看事件趋势,是否在一段时间内发起大量的访问,如图:

短时间内发起了大量的请求,一般不会是误报,需要去相应终端尽行排查。image.png

  1. 到终端查看登录日志,是否存在大量的登录失败日志不同协议爆破破解查看的方法不同

win 系统日志位置:rdp/smb 都能在事件查看器里找 4625 的登录事件
image.png
Linux:
查询 UID 为 0 的用户
awk -F: '$3==0 {print $1}' /etc/passwd
查看 sudo 权限的用户
more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
可以远程登录的账号信息
awk '/$1|$6/{print $1}' /etc/shadow

这条指令可以查询登录失败的记录,但是我可能输错了,查不出东西来,可能是虚拟机没有登录失败过
image.png

Web 路径探测#

可疑 IP 或者内网主句在较短时间内请求了目的系统较多的 web 目录
image.png
误报排除方法
1、如果短时间内扫描大量不存在的 web 页面 (人工达不到的速度,比如上面一分多钟达到 208 次)那就很有可能是在探测 web 目录是否存在一些中间件。
2、查看扫描的部分路径是否一些常见中间件的 url,比如上面一直扫描 web 是否存在 mysql 的管理工具,如果扫描到 mysql 管理工具可能利用工具存在漏洞进行渗透,那就不是误报,或者扫描一些 webshell 路径是否存在的时候会扫描一些奇奇怪怪的不存在的页面,比如 xx. php/db. php/shell. php 等。扫描路径一般带有一些规律的,可以分为以下几类:
a、数据库管理页面 (phpmyadmin,adminer 等)
b、后台管理页面(manage.php , admin. php 等)
c、文本编辑器特定路径(ewebeditor, ueditor)
d、部分 webshell 地址 (shell.php)
3、如果路径里面都是一些普通的 html 页面、客户自己的业务页面则为误报,比如扫描很多 index.index.html default. php 等,这种场景一般是客户自己一些正常业务发出的大量请求。

永恒之蓝漏洞利用攻击#

永恒之蓝,永恒浪漫等漏洞利用攻击是通过 ips 规则识别到的,属于系统漏洞攻击,数据包不能直接查看。
误报排除方法
永恒系统的漏洞误报很少,若一台主机对多台主机发起时,基本不是误报,还可以查看主机是否有别的行为比如扫描等行为。查看日志,是否有访问 445 端口的漏洞利用攻击日志,数据包为 16 进制。
1、可以通过 16 进制转字符查看https://www.bejson.com/convert/ox2str/,查看内容是否为误报。其它系统攻击若有 16 进制数据包记录,也可以尝试使用该办法。

WebShell 上传#

检测 webshell 上传,在提交的请求中有 webshell 特征的文件或者一句话木马字段。可以网上检索到 webshell。
1、若查看到日志,为乱码(实际为二进制无法读取)可判断为误报。
2、若 SIP 提示的链接下载的 webshell 文件为正常文件也可判断为误报。
如果自己拿不准的话,将样本的 md5 或者样本上传到 virustotal 或者微步云沙箱进行检查
image.png
3、查看到多条日志,提交的数据包都是相同的 webshell 文件,可以判断是否为客户的业务行为,为误报。如下图,所有的日志都是相同的,判断为客户业务行为。
4、若为复杂的代码格式,含有 eval 等危险函数,各种编码转换和加密字符串的,基本为正报。
image.png
5、对于编码的 webshell,需要进行解码查看,Accept-Charset 字段值进行 base64 解码
image.png
解码结果让如下图,包含 syetem ()、echo ()、certutil.exe 等敏感关键字,且不涉及业务内容,判断为真实漏洞探测行为。
image.png

SQL 注入攻击#

Sql 注入通过判断 web 请求提交的字段中是否有数据库查询语句或者关键词进行判断。
误报排除方法
1、查看日志,是否存在数据库查询的关键字,如 select,where,union,等,并判断提交的语句是否为客户业务请求不规范所导致。
(PPT 少了 2-5,可能是删掉了)
6、通过返回包判断是否攻击成功,下图判断为攻击行为,但是无返回包,判断为攻击不成功。image.png

XSS 攻击#

看日志中是否存在或类似的变形的字符串,这类是属于探测类攻击
看日志中是否存在外部 url 地址,这些地址可能是用于接收管理员信息的第三方平台。
误报排除方法
1、如果出现大量 xss 攻击日志,但日志内容格式都是一样的,没有明显变化,则可能是误判
2、如果攻击日志为 json 类数据,需和客户确认是否是正常业务,如果是正常业务,则为误判

扫描攻击#

分为 IP 扫描,端口扫描,在一定时间能访问了大量的 IP 或者端口,在扫描 IP 时会记录 IP,扫描端口时不会记录端口。
1、当风险主机访问了多个主机的 445 端口,会认为是扫描行为。其它协议的扫描行为举证类似。需要审计到正常访问的流量,并且连接时长会很短,每个扫描的间隔会也会很短。
2、主机遭受外网主机的 TCP 端口扫描
image.png
误报排除方法
1、可直接通过平台 netflow (网络流量日志)判断。提前是 ips 需要记录对应方向的网络流量日志。对于主机发起扫描事件,直接在日志中设定筛选条件为: src_ip。过滤出该 IP 所有的网络流量日志,点击目的端口的小漏斗,查看是否存在大量的端口记录,如果存在大量端口访问记录,切每个端口访问次数都很小,则认为是端口扫描正判。
对于 IP 扫描则看目的 IP 是否多个,是否属于同一个网段,思路都是一样的。
2、若如当前还有扫描行为,可以到终端上查看连接情况,使用火绒剑或者 SIP 闭环工具,可以监听一段时间的网络连接,发现连接的进程,确认是否为误报。其它扫描协议判断方法相似。
3、确认为扫描事件后,向客户了解是否有类似行为的运维工具在运行,若有需要将工具的 IP 进行加白。
4、如检测到的扫描事件为目的端口不变,目的 IP 是零散的,很可能是 p2p 应用的行为。可能通过上网搜索被扫描端口,进行确认
5、对于主机遭受互联网主机扫描行为,需要确认主机是否对外开放了端口
(1)是否为业务所需要,若不需要建议通过出口设备关闭映射关系。
(2)确认是否为客户业务行为。

扫描攻击 - 系统命令注入#

系统命令注入,查看到有相关报警后,可以直接查看日志检索中心,查看到提交的系统命令。
如 "rm -f”、“cmd”、“cd” 等系统命令。
误报排除方法
1、可与客户核对,是否业务有该行为,若没有,可判断是有攻击行为。
2、若返回的包为乱码并确认传输数据为非加密时,可以通过请求的数据类型是否为图片等导致展示为乱码。可以判断为误报

Struts2 攻击#

Struts2 属于远程命令执行导致的安全问题。通过修改 HTTP 请求头中的 Content-Type 值或其它字段来触发该漏洞,导致远程执行代码。
下图显示请求数据包请求体内容包含 echo、cmd、bin/bash 等恶意代码,判断为恶意代码被平台识别为远程代码执行
image.png
误报排除方法
1、首先检查 Content-Type 字段,正常 Content-Type 提交的为文件类型字段,不会提交为执行语句。
2、Struts2 攻击不是所有的攻击 payload 都在 content-type 里面的。核心排查思路应该是查看请求方向数据是否有反序列化代码,就是 java.getruntime 这类代码。只要存在一般都不是误报。
至于是否攻击成功,则要看 java 中的命令是否有对应的结果在响应页面输出。以上图中的攻击举例,cmd=‘netstat -ano’是在查询端口连接情况,就去响应页面看是否有对应的返回数据。
下图无返回数据,判断攻击失败。
image.png

目录遍历攻击#

判断条件较简单,只要请求中有 ../ 或者..\ 就会判断为目录遍历攻击
image.png

误报排除方法
确认主机业务情况,是否在业务传输数据包中存在 “../“易被识别为目录遍历的字符。如下图,数据包中存在../../../../../ ../etc/passwd.jpg 恶意代码,尝试遍历 etc/passwd 内容,判断为真实攻击行为
image.png

判断是否攻击成功。
下图显示响应中未返回任何相关敏感信息,判断为攻击未成功。
image.png

邮件安全#

邮件安全包括收、发邮件中的病毒邮件,垃圾邮件和钓鱼邮件中的安全问题,只能检测 pop3/imap/smtp 和 web 的 http 邮件,不支持检测加密邮件的安全事件。
误报排除方法
1、病毒邮件
判断邮件下载的附件信息,是否为病毒,可以将文件的 md5 上传至 vt 上进行确认。
2、垃圾邮件
判断邮件内容或者主题是否存在垃圾信息关键词
image.png

3、钓鱼邮件
判断邮件中是的 URL 或者文件是否为恶意。
image.png

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

信息泄露攻击#

信息泄露攻击为在攻击起发起请求后,服务器返回系统,中间件等的版本号信息,黑客可以通过返回的版本号信息,找到对应版本存在的漏洞,进行攻击。
误报排除方法
1、查看日志数据包中否有反馈版本号信息,phpinfo 信息或者是网站源码。
image.png
2、若是反馈内容没有版本信息,可以展开,查看访问的路径,若没有找到有用信息,可以确认为误报。

威胁情报类检测#

如访问了某家族的通信域名
image.png
误报排除方法
以下分析流程使用所有访问恶意域名的安全事件。分析步骤,
1、到 wiki.sec. sangfor. com.cn 上查看看检测结果。
或者去微步或者 vt 上可以进一步确认,如果在微步或者 vt 上也没有,还是走以下的步骤。
image.png
3、使用 EDR 等终端安全设备进行全盘扫描,确保扫描时设备的规则库已经更新到最新版本
4、如果没有使用 edr 查杀到,确认客户主机是否已经有安装过杀软,检查杀软的杀毒记录,以
及白名单记录,是否有可疑的病毒文件。

Webshell 后门#

Webshell 后门事件为 webshell 已经被上传到 web 服务器后,并被访问后检测出来的事件。是事后安全事件。
误报排除方法
1、检测出来的 webshell 后门误报极少,存在一定的漏报情况。需要有访问 webshell 的流量才能识别。可以在如下图直接找到后门文件,再放到 windows 下用 D 盾查杀一下就能确认。
image.png

黑链#

通过检测关键字识别出存在黑链的网站,如赌博等关键字。
误报排除方法
1、客户网站发的帖子中存在黑链关键字导致误报。
2、有些稍微高级黑链无法在界面上直观看到的,可以使用浏览器查看源代码,找到黑链关键字。
3、再高级些的黑链也不能在源代码中直观看到,会调用 js 等函数实现,如搜索引擎能查看到黑链但是打开网站无法查看到。这里可以使用 burpsuite 或者
wireshark 访问网站进行跟踪发现黑链的调用后访问的地址。
image.png

Shell 反弹#

只在日志检测中心可以查看,检测是主机有外连的 ssh 连接,会被判断为 shell 反弹。
误报排除方法
大部分是误报,只有日志,没有安全事件。
若还有连接,可以到主机上使用进程分析工具,监测进程连接 SIP 报的目的端口的情况。

HTTP 定时请求可疑文件#

通过定时下载恶意文件,对病毒进行保活。在一定时间间隔像外网进行请求。
image.png
误报排除方法
1、查看下载时间是否有定时特征,比如上述截图主机存在一个小时下载一次恶意程序的行为,如果没有定时特征可能是算法有问题
2、查询下载 URL 里面的域名 / IP 的威胁情报信息,如果域名或者 IP 是黑的那基本不会是误报了。
3、通过 URL 直接放到开源云沙箱(比如 VT、微步云沙箱)如果 URL 没有失效且能够杀出毒就肯定不会是误报
4、如果威胁情报没有信息而且 URL 已经失效可以谷歌域名 / IP 的信誉度如何,如果是一些正常公司的域名 / IP 则有可能是误报

下载伪造文件#

通过对比文件后缀与 SIP 检测到的文件头信息进行对比是否相同,不相同时为伪造文件。
image.png
误报排除方法
l、查看 URL 里面的文件后缀文件类型与文件头是否符合,比如这里 URL 里面的文件后缀是一个 rar 压缩文件但是发现文件的文件头其实是一个 ELF 可执行文件,这种就不会是误报
2、一般 URL 里面的域名 / IP 很多也被威胁情报收录了,能够查到相关的威胁情报
3、如果是客户自己的业务,确实存在一个错误后缀类型的可执行文件那可以定义为误报(这种情况概率太低)

主机存在下载恶意程序的行为#

通过 http 下载可执行程序,通过域名 / IP/url 的威胁情报识别下载是否为恶意。
误报排除方法
1、最常用的手段还是查一下 URL 里面域名 / IP 的威胁情报,如果是黑的就是准的,如果是知名网站则是误报
2、可以把 URL 还有效,放到云沙箱(vt)杀一下

主机存在恶意泄露数据风险#

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

主机存在 CobalStrike 通信行为#

URL 包含的域名 /ip 基本都是 C2 服务器
image.png
误报排除方法
1、先确认检测到的 IP 和可疑路径是否指向单位正常业务。
2、如果检测到的路径非正常业务而是互联网资源,则可以在 VT 和微步上查询相关 url/ip 的信息,并从 url 下载样本进行杀毒检测 / 人工检视。

主机存在 ICMP 隧道通信行为#

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

误报排除方法
1、在规则库没有变化时,突然检测到发起大量访问次数,为可疑行为
2、使用终端杀毒软件在终端上查杀是否存在 icmp 隧道通信的客户端工具。

内网远程创建任务#

检测是否远程创建服务的执行命令
image.png
误报排除方法
1、远程创建服务这个动作不会是误报,检测原理就是检测是否远程创建服务,比如上面的那个举证就是主机 200.200.20.208 对 200.200.0.5 远程执行了一个命令 \ |VSS\C$ \KHUOvydR.exe。
2、上面只是说能肯定创建了服务,但是运维场景也有可能出现这种动作,比如管理员通过类似于 psexe 的工具对远程主机进行管理(这种情况下目前还没遇到过),这种情况下问下客户运维人员是否执行正常命令即可。也可以自己通过命令大概判断一下,比如上面那个文件名比较杂乱,一看就不是好东西。

内网远程创建定时任务#

与远程创建服务相似很少有远程创建定时任务的运维操作。
image.png
误报排除方法
1、这个举证描述已经比较清楚,主机 1.1.1.1 对主机 1.1.1.2 远程创建了一个定时任务,首先 1.1.1.1 肯定已经发出这个创建定时任务的动作,这个不会误报,而且如果显示创建成功,可以查看 1.1.1.2 是否有被创建成功的定时任务。
2、与创建服务类型,有极端情况下应该是运维人员在搞事情,但是目前也是还没遇到过,可以看看定时任务执行的命令可以看看这个定时任务是定时执行什么命令,一般可以通过执行的命令来看是否恶意的定时任务,比如定时执行一个 powshell 命令,那就基本是恶意的了。

内网 SMB 一对多登录#

看图可以得知,有攻击者还使用一个账号对多台主机进行登录尝试
image.png
误报排除方法
1、这个基本不会误报,当黑客拿到一个账号密码之后会对多个主机进行登录,其中登录失败的比例比较高,误报场景还没发现。
可以查看 windows 的安全日志,登录失败日志。

内网系统信息探测#

检测到主机对多个主机进行匿名登录
image.png

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

日报以及总结报告的编写#

日报的编写#

在正常的安全运维服务中,特别是在重要时期的安全运维服务中,无论客户是否要求提交日报,都应该在当天值守完成后及时编写日报,这不仅仅是对当天工作的一个总结,更会在最后的总结报告的编写上提供巨大的帮助。
日报应包含数据周期,值守范围,使用的设备,现场人员,当日监测情况,应急处置情况等。

总结报告#

总结报告相对于日报在数据上肯定没有那么详细,其更注重的是整个项目周期内的整体防守情况,除去一些基本信息如周期,人员,设备等信息,总体的攻击类型以及各类攻击的分布式更加需要体现的,因为这更能暴露出系统当前的薄弱点。对各重大攻击事件在日报中可能只能关注到本日的情况,但是在总结报告中我们可以尝试将一类或者几类攻击综合进行考虑,对一些同源性的攻击连贯的进行梳理,总结出攻击者的攻击路径,精确定位当前系统的问题所在。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。