安全设备
在日常安全运维以及特殊时期的重点防护中,对于安全人员来说最重要的就是多种多样的安全防护设备,比如态势感知,WAF,防火墙,EDR,蜜罐等。
1.防火墙:
定位:访问控制类产品,网络出现后的第一类安全产品。
功能:隔离内网、外网以及DMZ区(业务系统对外发布区,Web应用服务器,邮件服务器等)并控制用户访问。
部署方式:通常部署在网络边界或者重要系统边界。通常工作在网络层。
2.IPS:
定位:访问控制类产品,入侵防御系统。功能:能够对流经设备的网络流量进行分析、监控,最重要的是发现攻击后,能够及时拦截阻断。它是防火墙的重要补充。如果说防火墙是第一道防御线,那么IPS就是第二道
部署方式:通常串接在网络主干链路上,或者重要业务系统边界,通常由防火墙的地方就有IPS。
3.WAF
定位:访问控制类产品,Web应用防火墙。功能:专门针对基于HTTP/HTTPS协议的流量,对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。
部署方式:通常部署在Web应用边界。通常工作在应用层。
与防火墙的区别
与IPS的区别:虽然都能够抵御攻击,而且在检测拦截许多攻击行为的时候,功能有所重合。但是WAF区别于IPS最大的地方,就是针对WEB应用的防护。IPS的防护范围很广,只要发现攻击行为都会检测、拦截,其中也包括对HTTP/HTTPS流量的分析。而WAF只负责针对WEB系统的防护,对HTTP/HTTPS流量的双向解码和分析更加完整、全面,可以应对WEB应用中的各类安全威胁,如SQL注入、XSS、跨站请求伪造攻击、Cookie篡改以及应用层DDoS等,从WEB防护的专业性上来说,WAF比IPS强很多。
安全事件分析思路及逻辑
在一般的安全运维以及重保值守过程中,安全工程师们最常使用的设备就是上面介绍过的IPS,有实力的安全厂商也都会开发自己的IPS设备,下面我们以某个设备为例,对整个安全值守的思路进行讲解。
优先关注实时攻击分析页面的安全事件
IPS设备的告警页面基本大同小异,以下图为例,我们可以通过选择不同的变量来对需要显示的告警信息进行过滤,包括关注的资产范围、优先关注的事件类型、事件危害等级,攻击状态等,还可以联动其他安全设备对可疑IP进行封禁,对排除风险的IP进行加白等操作。
通过查看安全告警的详情发现攻击IP,对IP进行封禁
安全设备告警页面展示的告警信息一般是经过聚合的有威胁的情报,如果需要有针对性行的对安全检测信息或者http审计日志进行分析的话,可以到日志中心进行查找。
其他的就是一些安全设备附加的工程,比如近期的漏洞检查,弱密码检查,系统脆弱性检查等,这些都可以根据需要,随时展开。

常见的攻击告警分析
暴力破解
账号爆破作为实施成本较低的攻击方式,非常受到青睐,基本算是所有攻击中排名前几的攻击方式,基本特征就是短时间内大量的登录请求,发起攻击的点有很多,包括SMB,邮件,ftp,sslvpn,rdp,ssh,telnet,mysql协议等。
误报排除方法:
- 查看日志:暴力破解安全事件来自审计日志或者暴力破解安全日志生成。
查看时间,是否为连续大量的访问日志或者暴力破解安全日志,并确认是否每次暴力破解安全日志之间的间隔相似。
- 查看事件趋势,是否在一段时间内发起大量的访问,如图:
短时间内发起了大量的请求,一般不会是误报,需要去相应终端尽行排查。
- 到终端查看登录日志,是否存在大量的登录失败日志不同协议爆破破解查看的方法不同
win系统日志位置:rdp/smb都能在事件查看器里找4625的登录事件
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
这条指令可以查询登录失败的记录,但是我可能输错了,查不出东西来,可能是虚拟机没有登录失败过
Web路径探测
可疑IP或者内网主句在较短时间内请求了目的系统较多的web目录
误报排除方法
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或者微步云沙箱进行检查
3、查看到多条日志,提交的数据包都是相同的webshell文件,可以判断是否为客户的业务行为,为误报。如下图,所有的日志都是相同的,判断为客户业务行为。
4、若为复杂的代码格式,含有eval等危险函数,各种编码转换和加密字符串的,基本为正报。
5、对于编码的webshell,需要进行解码查看,Accept-Charset字段值进行base64解码
解码结果让如下图,包含syetem()、echo()、certutil.exe等敏感关键字,且不涉及业务内容,判断为真实漏洞探测行为。
SQL注入攻击
Sql注入通过判断web请求提交的字段中是否有数据库查询语句或者关键词进行判断。
误报排除方法
1、查看日志,是否存在数据库查询的关键字,如select,where,union,等,并判断提交的语句是否为客户业务请求不规范所导致。
(PPT少了2-5,可能是删掉了)
6、通过返回包判断是否攻击成功,下图判断为攻击行为,但是无返回包,判断为攻击不成功。
XSS攻击
看日志中是否存在或类似的变形的字符串,这类是属于探测类攻击
看日志中是否存在外部url地址,这些地址可能是用于接收管理员信息的第三方平台。
误报排除方法
1、如果出现大量xss攻击日志,但日志内容格式都是一样的,没有明显变化,则可能是误判
2、如果攻击日志为json类数据,需和客户确认是否是正常业务,如果是正常业务,则为误判
扫描攻击
分为IP扫描,端口扫描,在一定时间能访问了大量的IP或者端口,在扫描IP时会记录IP,扫描端口时不会记录端口。
1、当风险主机访问了多个主机的445端口,会认为是扫描行为。其它协议的扫描行为举证类似。需要审计到正常访问的流量,并且连接时长会很短,每个扫描的间隔会也会很短。
2、主机遭受外网主机的TCP端口扫描
误报排除方法
1、可直接通过平台netflow (网络流量日志)判断。提前是ips需要记录对应方向的网络流量日志。对于主机发起扫描事件,直接在日志中设定筛选条件为: src_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等恶意代码,判断为恶意代码被平台识别为远程代码执行
误报排除方法
1、首先检查Content-Type字段,正常Content-Type提交的为文件类型字段,不会提交为执行语句。
2、Struts2攻击不是所有的攻击payload都在content-type里面的。核心排查思路应该是查看请求方向数据是否有反序列化代码,就是java.getruntime这类代码。只要存在一般都不是误报。
至于是否攻击成功,则要看java中的命令是否有对应的结果在响应页面输出。以上图中的攻击举例,cmd=‘netstat -ano’是在查询端口连接情况,就去响应页面看是否有对应的返回数据。
下图无返回数据,判断攻击失败。
目录遍历攻击
判断条件较简单,只要请求中有 ../或者..\ 就会判断为目录遍历攻击
误报排除方法
确认主机业务情况,是否在业务传输数据包中存在“../“易被识别为目录遍历的字符。如下图,数据包中存在../../../ ../../ ../ etc/passwd.jpg恶意代码,尝试遍历etc/passwd内容,判断为真实攻击行为
判断是否攻击成功。
下图显示响应中未返回任何相关敏感信息,判断为攻击未成功。
邮件安全
邮件安全包括收、发邮件中的病毒邮件,垃圾邮件和钓鱼邮件中的安全问题,只能检测pop3/imap/smtp和web的http邮件,不支持检测加密邮件的安全事件。
误报排除方法
1、病毒邮件
判断邮件下载的附件信息,是否为病毒,可以将文件的md5上传至vt上进行确认。
2、垃圾邮件
判断邮件内容或者主题是否存在垃圾信息关键词
3、钓鱼邮件
判断邮件中是的URL或者文件是否为恶意。
4、主机存在可疑邮件外发行为
检测原理:判断主机是否使用过多域名的邮箱进行邮件外发
如果该主机的邮件业务是客户的正常业务,则为误报. 否则该主机可能感染了mailer,需要排查异常进程。
信息泄露攻击
信息泄露攻击为在攻击起发起请求后,服务器返回系统,中间件等的版本号信息,黑客可以通过返回的版本号信息,找到对应版本存在的漏洞,进行攻击。
误报排除方法
1、查看日志数据包中否有反馈版本号信息,phpinfo信息或者是网站源码。
2、若是反馈内容没有版本信息,可以展开,查看访问的路径,若没有找到有用信息,可以确认为误报。
威胁情报类检测
如访问了某家族的通信域名
误报排除方法
以下分析流程使用所有访问恶意域名的安全事件。分析步骤,
1、到wiki.sec. sangfor. com.cn上查看看检测结果。
或者去微步或者vt上可以进一步确认,如果在微步或者vt上也没有,还是走以下的步骤。
3、使用EDR等终端安全设备进行全盘扫描,确保扫描时设备的规则库已经更新到最新版本
4、如果没有使用edr查杀到,确认客户主机是否已经有安装过杀软,检查杀软的杀毒记录,以
及白名单记录,是否有可疑的病毒文件。
Webshell后门
Webshell后门事件为webshell已经被上传到web服务器后,并被访问后检测出来的事件。是事后安全事件。
误报排除方法
1、检测出来的webshell后门误报极少,存在一定的漏报情况。需要有访问webshell的流量才能识别。可以在如下图直接找到后门文件,再放到windows下用D盾查杀一下就能确认。
黑链
通过检测关键字识别出存在黑链的网站,如赌博等关键字。
误报排除方法
1、客户网站发的帖子中存在黑链关键字导致误报。
2、有些稍微高级黑链无法在界面上直观看到的,可以使用浏览器查看源代码,找到黑链关键字。
3、再高级些的黑链也不能在源代码中直观看到,会调用js等函数实现,如搜索引擎能查看到黑链但是打开网站无法查看到。这里可以使用burpsuite或者
wireshark访问网站进行跟踪发现黑链的调用后访问的地址。
Shell反弹
只在日志检测中心可以查看,检测是主机有外连的ssh连接,会被判断为shell反弹。
误报排除方法
大部分是误报,只有日志,没有安全事件。
若还有连接,可以到主机上使用进程分析工具,监测进程连接SIP报的目的端口的情况。
HTTP定时请求可疑文件
通过定时下载恶意文件,对病毒进行保活。在一定时间间隔像外网进行请求。
误报排除方法
1、查看下载时间是否有定时特征,比如上述截图主机存在一个小时下载一次恶意程序的行为,如果没有定时特征可能是算法有问题
2、查询下载URL里面的域名/IP的威胁情报信息,如果域名或者IP是黑的那基本不会是误报了。
3、通过URL直接放到开源云沙箱(比如VT、微步云沙箱)如果URL没有失效且能够杀出毒就肯定不会是误报
4、如果威胁情报没有信息而且URL已经失效可以谷歌域名/IP的信誉度如何,如果是一些正常公司的域名/IP则有可能是误报
下载伪造文件
通过对比文件后缀与SIP检测到的文件头信息进行对比是否相同,不相同时为伪造文件。
误报排除方法
l、查看URL里面的文件后缀文件类型与文件头是否符合,比如这里URL里面的文件后缀是一个rar压缩文件但是发现文件的文件头其实是一个ELF可执行文件,这种就不会是误报
2、一般URL里面的域名/IP很多也被威胁情报收录了,能够查到相关的威胁情报
3、如果是客户自己的业务,确实存在一个错误后缀类型的可执行文件那可以定义为误报(这种情况概率太低)
主机存在下载恶意程序的行为
通过http下载可执行程序,通过域名/IP/url的威胁情报识别下载是否为恶意。
误报排除方法
1、最常用的手段还是查一下URL里面域名/IP的威胁情报,如果是黑的就是准的,如果是知名网站则是误报
2、可以把URL还有效,放到云沙箱(vt)杀一下
主机存在恶意泄露数据风险
出现目录遍历成功的情况、出现.svn/.git源码泄露的情况、备份源码泄露情况、备份数据库文件泄露的情况。
误报排除方法
敏感信息泄露主要分为几种情况:出现目录遍历成功的情况、出现 .svn/.git源码泄露的情况、备份源码泄露情况、备份数据库文件泄露的情况,直接访问url就可以访问到,比较明显,比如下面的情况,就是.svn目录放到了web目录被访问到了,可以造成源码泄露
主机存在CobalStrike通信行为
URL包含的域名/ip基本都是C2服务器
误报排除方法
1、先确认检测到的IP和可疑路径是否指向单位正常业务。
2、如果检测到的路径非正常业务而是互联网资源,则可以在VT和微步上查询相关url/ip的信息,并从url下载样本进行杀毒检测/人工检视。
主机存在ICMP隧道通信行为
隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式,使用隧道传递的数据可以是不同协议的数据帧或包。隧道协议将其他协议的数据帧或包重新封装,然后通过隧道发送。ICMP隧道将数据封装在ICMP协议的ping数据包中,利用防火墙不会屏蔽ping数据包的特点,将数据传送出去。
比如,主机疑似与多个主机进行ICMP隧道通信,共计517次,次数较多,需要排查。
误报排除方法
1、在规则库没有变化时,突然检测到发起大量访问次数,为可疑行为
2、使用终端杀毒软件在终端上查杀是否存在icmp隧道通信的客户端工具。
内网远程创建任务
检测是否远程创建服务的执行命令
误报排除方法
1、远程创建服务这个动作不会是误报,检测原理就是检测是否远程创建服务,比如上面的那个举证就是主机200.200.20.208对200.200.0.5远程执行了一个命令 \|VSS\C$\KHUOvydR.exe。
2、上面只是说能肯定创建了服务,但是运维场景也有可能出现这种动作,比如管理员通过类似于psexe的工具对远程主机进行管理(这种情况下目前还没遇到过),这种情况下问下客户运维人员是否执行正常命令即可。也可以自己通过命令大概判断一下,比如上面那个文件名比较杂乱,一看就不是好东西。
内网远程创建定时任务
与远程创建服务相似很少有远程创建定时任务的运维操作。
误报排除方法
1、这个举证描述已经比较清楚,主机1.1.1.1对主机1.1.1.2远程创建了一个定时任务,首先1.1.1.1肯定已经发出这个创建定时任务的动作,这个不会误报,而且如果显示创建成功,可以查看1.1.1.2是否有被创建成功的定时任务。
2、与创建服务类型,有极端情况下应该是运维人员在搞事情,但是目前也是还没遇到过,可以看看定时任务执行的命令可以看看这个定时任务是定时执行什么命令,一般可以通过执行的命令来看是否恶意的定时任务,比如定时执行一个powshell命令,那就基本是恶意的了。
内网SMB一对多登录
看图可以得知,有攻击者还使用一个账号对多台主机进行登录尝试
误报排除方法
1、这个基本不会误报,当黑客拿到一个账号密码之后会对多个主机进行登录,其中登录失败的比例比较高,误报场景还没发现。
可以查看windows的安全日志,登录失败日志。
内网系统信息探测
检测到主机对多个主机进行匿名登录
误报排除方法
这个基本不会出现误报,驱动人生经常使用该方法,对目标主机探测一下系统版本等信息。MSF的smb_verison模块就是通过该方式进行系统信息探测,在流量上表现的是对多个主机进行匿名登录,这种正常场景以及运维场景都没有。
日报以及总结报告的编写
日报的编写
在正常的安全运维服务中,特别是在重要时期的安全运维服务中,无论客户是否要求提交日报,都应该在当天值守完成后及时编写日报,这不仅仅是对当天工作的一个总结,更会在最后的总结报告的编写上提供巨大的帮助。
日报应包含数据周期,值守范围,使用的设备,现场人员,当日监测情况,应急处置情况等。
总结报告
总结报告相对于日报在数据上肯定没有那么详细,其更注重的是整个项目周期内的整体防守情况,除去一些基本信息如周期,人员,设备等信息,总体的攻击类型以及各类攻击的分布式更加需要体现的,因为这更能暴露出系统当前的薄弱点。对各重大攻击事件在日报中可能只能关注到本日的情况,但是在总结报告中我们可以尝试将一类或者几类攻击综合进行考虑,对一些同源性的攻击连贯的进行梳理,总结出攻击者的攻击路径,精确定位当前系统的问题所在。
部分信息可能已经过时
