一、告警类型:
- 暴力破解
- 异常登录
- 反弹shell
- 本地提权
- 后门检测
- web后门
- 可疑操作
- web命令执行
- 内存后门
- 异常文件监控
- 微蜜罐
- 病毒查杀
二、简单的判研
暴力破解
1.查看攻击IP的来源属于内网还是外网
2.内网情况
A.查看IP的覆盖面,如同一源IP爆破同一网段的多台主机或是多个源IP爆破同一主机
B.询问客户是否是内网IP进行扫描导致 ,例如内部的扫描器
C.建议客户在护网期间或重保期间,不要进行内部扫描,或扫描期间对监控人员进行通知(需精确到扫描时间及扫描范围)
D.同时看爆破次数及详情,一般来说如果为批量内网爆破,告警主机的告警次数及详情会较为相似。
E.查看爆破时间,是否为凌晨或其他非正常工作时间
F和客户进行沟通确认。
3.外网IP
A.一般来说,只要不是弱口令,不会有太大的问题,根据客户的要求决定是否封禁。
B.封禁的两种方式——都需要和客户进行沟通确认是否封停
方式一:直接爆破告警后直接封停,建议在未自动封停时先手动点封停
方式二:和客户沟通是否需要用微隔离快速任务进行封禁,手动用微隔离快速任务封禁(该操作会在机器的防火墙iptables上添加相关的drop规则)
异常登录
通常异常登录需要配置正常的登录的规则才会有告警,所以出现告警时,可以直接询问客户是否未自己操作,可疑概率较大。
反弹shell
A.查看告警的详情进程树看是否符合反弹shell的命令,若是没见过的命令行且并不能是否存在恶意,自行百度,确认异常操作后需跟相关人员进行确认。
B.主要查看进程树关系以及命令行
如进程树最后几项命令时是由web中间件发起的,后面是反弹shell的命令及进程,大概率是有问题的需检查告警IP主机是是否存在高危的RCE漏洞和webshell(如果反弹到的主机IP为内网IP,有可能表示该内网主机可能也失陷了,需要一同排查。)
C.存在一定的误报概率,查看进程树中倒数几个命令行内容,若判断是执行的业务脚本之类的,虽然最后确实连通了某个IP,但这就属于误报,需要结合业务来判断。
本地提权
查看告警详情进程树
A.查看最后一个告警进程的命令行判断是否存在恶意
B.查看运行用户的变化,如果为一个web用户、数据库用户、应用用户等非root用户变成root用户,则可疑性较大。
C.需要了解常见的提权方式,无法确认是否为提权的,自行百度
后门检测
首先要确定告警的类型:
- 可疑进程
- 隐藏进程
- 应用后门
- Rootkit
- 可疑脚本内容
- HackTool、Trojan
- 可疑模块
- 其他
1.可疑进程参数
主要是基于一些常用攻击命令中携带的参数做匹配来告警例如frp等
Linux:
A.
a一部分是可以明确看出是哪种恶意程序的参数,可以直接定位,相对好判断,可以查看检测说明,相对好判断。
b查看静态信息(文件所属用户,用户组等)根据文件系统的权限继承原则,可以辅助确认是哪个应用或用户被攻破,例如(所属用户是redis,则可能是redis未授权访问攻击的,所属用户是liming,则liming的密码大概率已丢失(若是文件密码丢失,要检查对应失陷用户的操作日志,查看执行了哪些命令)。
c查看文件的修改时间(ctime)只有对文件进行赋权等操作是才会更改ctime,根据ctime可大致判断该文件的落地时间,大概率是攻击者攻入的时间。
d查看进程树,查看上方父进程,是否是web中间件之类的,可能通过RCE漏洞打入后写进后门。如果上方父进程为系统进程,则需要进一步的判断,如crontab,是计划任务启动,可能是攻击者建立的计划任务后门,父进程为system启动,则有可能为通过ssh连入,之后上传运行的。
windows
情况比Linux来说相对复杂一些
可疑进程参数会涉及一些比较明显的工具利用,包括安att&ck中的一些组件利用等,还有涉及注册表等一些操作。这种情况一般攻击者已经拿到主机的权限了,需要通过多种告警来结合判断。
2.隐藏进程——攻击者常用的隐藏后门的方式,存在一定的误报
a.查看静态信息,看文件所属用户、用户组、判断文件是哪个用户传入的,对该用户操作记录或该用户对应应用进行排查。
b.查看文件位置,有些可以通过存放位置大致判断出是否为恶意文件,常见的如/tmp,/var/tmp
c.查看修改时间,大致判断攻入时间
d.查看进程树,大致判断该文件的落地方式
e.查看文件类型,Linux下通过file命令查看该文件的类型,之后方便进一步判断,若文件类型与后缀名不一致的情况,大概率是恶意文件。例如后缀名为java,但文件类型问Linux可执行文件。
f.上传的微步或virustotal中进行判别
3.应用后门——攻击者通过替换系统默认程序留后门的方式
a。一般是因为升级软件后没有更新rpm缓存导致,可以把告警中的sha256值(对于任意长度的消息,SHA256都会产生一个256位的哈希值,称作消息摘要。)在威胁情报网站进行查询判别。如果是真实后门文件——查看静态信息,查看
传入时间,查看文件所属用户、用户组、判断文件是哪个用户传入的,对该用户操作记录或该用户对应应用进行排查,如果确认不是后门,进行加白。
4.Rootkit——一般的告警内容是发现与一直的rootkit相同的特征文件
Rootkit是一种通过修改操作系统内核或更改指令执行路径,来隐藏系统对象(包括文件、进程、驱动、注册表项、开放端口和网络连接等),以逃避或者规避标准系统机制的程序。
Rootkit源于UNIX系统,Root指拥有所有特权的管理员,Kit是管理工具,由此可以认为Rootkit就是而已获取管理员特权的工具,利用其越权。
Rootkit提供服务而非实现服务,3种服务:隐遁;侦察;控制。
a.下载该文件上传至威胁情报网站进行判别,或通过sha256值进行查询,可能存在一定的误报,确认是恶意文件后,查看静态信息进一步排查关联。
5.可疑脚本内容
a.通过规则检查脚本内容来进行判断,存在一定的误报
b.确认为恶意时,需要对脚本内容进行判断,查看静态信息判断入口
6.Hack Tool、Trojan等类
这种有点类似杀毒的功能,基本都可以明确检测出具体的工具或后门类型,如msf、一些隧道工具
排查方式也是通过静态信息的时间来判断文件落地时间,通过进程信息判断启动方式,是计划任务,还是桌面双击启动
7.可疑模块——误报较高
8.其他
通用方法——上传恶意文件至威胁情报平台进行判研,确认恶意,查看静态信息,对应文件用户,上传时间,进程,判断入口点。使用恶意文件对应的sha256值进行判研。
web后门
一般指webshell等动态脚本类恶意文件
1.代码执行
jsp、jspx等
A通过反序列化漏洞攻入——通过安全风险-漏洞检测模块查看告警主机是否有例如shiro、fastjson等其他存在的rce漏洞的组件
B通过web的文件上传功能——1,若无相应的漏洞组件,则大概率通过上传功能直接上传,需要通过web日志,定位webshell出现时间,查看webshell路径第一次出现的web日志,判断攻击入口。
通过webshell所在目录用途,大致判断前台功能点,如webshell目录下其他文件均为合同文件,则前台可能是某上传合同的功能存在漏洞
C SQL注入
1.有流量设备
从流量设备查看对应时间点的访问记录,可以找到入口
2.无流量设备
查看对应web日志,如果为get型,可以直接从URL参数找到攻击点,如果为post型,则先定位命令执行的时间点,查看攻击发生前的web日志,当发现大量的重复URL时就是攻击入口。
php等
A通过web的文件上传功能
B SQL注入
2.系统执行
3.其他
可疑操作
基于正则规则对攻击者常用手法进行的匹配判断
确认为恶意操作后可通过审计日志对前后的操作进行审计,查看是否进行恶意行为。着重关注登录用户、执行命令用户、实际执行命令进程、登录IP、执行 命令进程。
若不确定是否为恶意,例如有些运维也习惯执行history -c,或其他命令造成告警。通过告警的上下文执行的命令是否还有其他的可以操作,若还是无法判断,则联系用户进行确认。
web命令执行
大多数是基于进程树调用关系来进行判断。
主要看系统的命令执行的内容是否为恶意的,以及整个进程树的调用过程。
——如果进程树父进程为php相关(php-fpm)或iis相关(w3wp.exe),后续恶意进程执行的为系统命令,攻击者大概率通过webshell上传或SQL注入进一步执行的命令,需要进行webshell或漏洞排查。
——如果进程树父进程为Java相关父进程,tomcat,weblogic等---通过组件或中间件rce漏洞直接执行可以通过风险发现中的漏洞检测功能做简单的排查--或者通过webshell执行(任意文件上传,SQL注入)
内存后门
内存webshell类:
看告警详情,对于常见的内存后门一般都可以直接识别,主要还是需要下载Java源码下来进行分析,看下有没有执行系统命令之类的内容——内存后门一般都是rce直接植入的,所以排查方式与上面的web命令执行的排查方式基本一致,有些是为了隐蔽性,通过已有的webshell进一步植入的内存马
内存恶意代码:
看告警详情,看是不是报的恶意工具,还是恶意的shellcode,然后对sha256值进行分析,威胁情报平台没有的话可以考虑下载下来恶意文件进行上传分析——一些其他厂商的edr之类也会产生报警,一般来说最外部也是通过一些rce漏洞打进来的,进一步在内存里执行,如果是已经在内网,想要在另一台主机上直接内存执行的话,需要先获取权限,例如通过钓鱼之类的,这就需要从别的方面进行检测。
异常文件监控
主要是针对一些系统自带敏感文件的一些读写改的监控。
告警会比较多,监控时要多利用进程树,以及涉及的文件及操作,综合判断该行为是否为正常的业务行为,对于攻击行为的判断需要有一定的经验,也需要结合业务场景去判断。确认发生攻击时,需要结合审计日志以及其他告警进行排查。
微蜜罐
主要是为了捕获高级攻击者的隐蔽扫描行为
当出现同一源IP短时间内对不同IP的多个端口或一个端口进行扫描时,则有较大概率判断为攻击行为,对攻击IP进行排查即可
有些运维工具也会产生类似的告警如ansible
有时也会有一些有经验的攻击者不会进行大范围的扫描,只会手动精确的对某一台进行少量的端口测试,这时候的微蜜罐可能无法发挥作用。