随着主机安全的问题日渐突显,挖矿勒索后门等病毒隐蔽手法越来越多种多样,仅仅依靠传统的安全工具不能完全查杀出相关恶意程序。安全事件具有突发性,复杂性与专业性,基于windows的一些运行机制人工排查安全事件需要从多个方面去检查与清除,抛砖引玉提出以下思路供参考。
0×1 检查思路
恶意程序本身有网络行为,内存必然有其二进制代码,它要么是进程的 DLL /如此模块,通常为了保活,它极可能还有自己的启动项,网络心跳包。
总之,可以归结为如下 4 点要素:流量,内存,进程,启动项再加上外部信息,如威胁情报,就可以形成比较完整的证据链。
0X2 病毒查杀
定位到可能存在恶意软件的主机后,首先先使用杀毒软件或者 EDR 工具进行全盘扫描查杀一些简单常见热门的病毒一般都被收录在热门的特征库里面,扫描出来就可以以最小的时间成本识别与解决恶意文件。
根据一些杀毒软件的报警就可以标识出恶意软件的类型与名字,如下图
为此一个兰塞姆(勒索)类型的Wannacry(想哭)家族的病毒样本,对于此类情况往往可以直接一键处理较为简单。
0×3 流量
无论是挖矿病毒,僵尸网络,肉鸡, CC 服务器,内网传播等恶意行为都需要与其他主机进行通信,则本地必须调用相应的网站链接。包括本地地址,本地端口,远程地址,远程端口等操作。如果远程地址为一个恶意网站,便可以轻易获取到系统的中毒进程,方便快捷的定位问题。
检查系统的连接情况使用 netstat 命令或者借助一些成熟的工具如PChunter ,TCPViewer 有利于更加直观的查看进程情况。
通过此图可以发现 mssecsvc.exe 对大量随机的外网IP 的445 端口进行SYN 包的探测,这是Wannacry 病毒的传播过程。
对于一些其他的通信过程流量,我们往往需要通过其他方式来识别,这里推荐的Wireshark 的抓包工具进行抓包识别恶意流量,以下为Nmap的的端口扫描的数据包。
0×4 进程
病毒文件在系统中运行必定依赖于exe可执行程序,windows当中简单的将程序分成三大类:
1. Windows核心进程 // 如
2.系统进程// svchost.exe(Windows服务主进程) 、lsm.exe(本地回话管理器)
3.用户进程 // qq.exe(腾讯QQ主程序) 、chrom.exe(Google浏览器)
主要有三种模式在系统中运行:
1.病毒自己的exe程序
2. 注入到系统程序
3. 其他方式
这里可以使用PChunter工具对进程进行查看识别,如下的这个Wmipvrse.exe无厂商签名且名字有点诡异。
常规方式可以通过百度查看一下,或者计算一下程序的Md5数值之后上Virustotal进行进一步确认,通过一些网友的评论与一些威胁情况往往可以判断出一些可疑的文件。
使用工具计算一下文件的hash数值,建议提取Md5格式如下:
D2A4D1247752FB186841FF4C2985341B
然后上virustotal进行查看网址如下:
#p#分页标题#e#
平台能够准备识别,并提示类型Misc.Riskware.BitCoinMiner(比特币挖矿机),英语不好可百度之。
还有一些其他类似于dll注入、PE文件注入、无文件攻击、驱动注入、MBR感染等其他方式这里不多做讨论,特殊情景需要特殊处理。
0×5 自启动项
病毒为了实现保活,不可避免会添加或修改启动项、服务项,因此启动项也是非常重要的入手调查点。黑客为了保持病毒能够开机启动、登录启动或者定时启动,通常会有相应的启动项。
这里可以通过借助工具autoruns进行查看,主要检查点为开机自启动与计划任务以及一些系统服务。
比如这个注册表
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run处的有一个伪装成Chrome的C:\Windows\servicecrsssr.vbs的启动项,就是病毒的自己添加的,定位到路径后直接删除。
0×6 内存
恶意程序运行在windows系统当中必然会加载到系统内存当中,程序可以通过获取到系统进程与用户进程的PID之后,需要根据系统的Pid导入系统当中的PE文件进行确认,这里使用pd进行dump文件。
下载连接如下:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
这里输入pd64.exe -pid 可疑进程pid -o 输出路径:
后续可以进一步使用IDA(交互式反汇编器专业版人们常称其为IDA Pro,或简称为IDA)或者ollydbg(od反汇编工具)对PE进行分析导出的文件列表如下:
0×7 总结
1.选择合适的工具可以减少大量的成本,君子生非异也 善假于物也。
2.心上学,事上练、知行合一、少度娘、多谷歌。