1 文件分析
1.1 临时目录排查
黑客往往可能将病毒放在临时目录(tmp/temp),或者将病毒相关文件释放到临时目录,因此需要检查临时目录是否存在异常文件。
假设系统盘在C盘,则通常情况下的临时目录如下:
C:Users[用户名]Local SettingsTemp
C:Documents and Settings[用户名]Local SettingsTemp
C:Users[用户名]桌面
C:Documents and Settings[用户名]桌面
C:Users[用户名]Local SettingsTemporary Internet Files
C:Documents and Settings[用户名]Local SettingsTemporary Internet Files
注:[用户名] 根据实际环境用户得出,常见用户名是Administrator,建议所有用户都检查一下。
1.2 浏览器相关文件
黑客可能通过浏览器下载恶意文件,或者盗取用户信息,因此需要检查下浏览器的历史访问记录、文件下载记录、cookie信息,对应相关文件目录如下:
C:Users[用户名]Cookies
C:Documents and Settings[用户名]Cookies
C:Users[用户名]Local SettingsHistory
C:Documents and Settings[用户名]Local SettingsHistory
C:Users[用户名]Local SettingsTemporary Internet Files
C:Documents and Settings[用户名]Local SettingsTemporary Internet Files
1.3 最近打开文件
检查下最近打开了哪些文件,可疑文件有可能就在最近打开的文件中,打开以下这些目录即可看到:
C:Users[用户名]Recent
C:Documents and Settings[用户名]Recent
1.4 文件修改时间
可以根据文件夹内文件列表时间进行排序,查找可疑文件。一般情况下,修改时间越近的文件越可疑。当然,黑客也有可能修改”修改日期“。
注:点击”修改日期“,使之按最近修改时间排序,优先检查下”修改日期“最近的文件。
1.5 System32目录与hosts文件
System32也是常见的病毒释放目录,因此也要检查下该目录。hosts文件是系统配置文件,用于本地DNS查询的域名设置,可以强制将某个域名对应到某个IP上,因此需要检查hosts文件有没有被黑客恶意篡改。
C:windowsSystem32
C:WindowsSystem32drivershosts
这里以hosts文件为例,如上图,检查3种异常:
1.知名站点,检查对应IP是否真的归属该站点,防止”钓鱼“
2.未知站点,检查该域名和IP是否恶意
3.无法访问的安全站点,即IP是否指向127.0.0.1、0.0.0.0等本地地址、无效地址
2 网络行为排查
2.1 重要辅助站点
1. https://www.virustotal.com/ , 国外知名安全站点,需翻墙,可查询文件MD5、IP、域名、URL是否恶意,也可上传文件进行病毒扫描。
2. https://x.threatbook.cn/ , 国内威胁情报站点,可查询文件MD5、IP、域名、URL是否恶意,也可上传文件进行病毒扫描。
3. http://beian.cndns.com/,国内站点备案查询,所有有企业备案的国内站点可认为是可信站点。
4. http://www.alexa.com/,全球站点排行查询,top100万的站点可认为是可信站点(国外站点没有备案这一说法)。
5. google与Baidu等搜索引擎,输入文件MD5/IP/域名,有时候可以查询到对应病毒信息。
2.2 网络连接排查
使用命令 netstat -ano 查看当前的网络连接,排查可疑的服务、端口,外连的IP。
如发现netstat定位出的pid有问题,可再通过tasklist命令进一步追踪该可疑程序。
2.3 流量分析
流量分析可以使用Wireshark,主要分析下当前主机访问了哪些域名、URL、服务,或者有哪些外网IP在访问本地主机的哪些端口、服务和目录,又使用了何种协议等等。
例如,使用Wireshark观察到,主机访问了sjb555.3322.org这种动态域名,即可粗略猜测这是一个C&C服务器。
2.4 漏洞与补丁信息
使用命令systeminfo,查看系统版本信息以及补丁信息,确认当前系统是否存在漏洞、是否已经打了相应的补丁。
可重点关注下远程命令执行漏洞,如MS08-067、MS09-001、MS17-010(永恒之蓝)……
3 可疑进程分析
3.1 进程名字异常与伪装
进程名字异常是指某些进程的名字是随机产生的,因此高度可疑,例如:
某感染环境,打开任务管理器,发现有大量名字随机的进程,如hrlB3.tmp、hrlCC.tmp、hrlCD.tmp、hrlC3.tmp、hrlC5.tmp、hrlD5.tmp、hrl6.tmp、hrlEE.tmp。不仅文件后缀不是典型的exe,名字也是随机产生的,这种肯定是异常进程。
进程名字伪装是指某些进程的名字伪装成跟系统进程名字相似的名字,目的是为了混淆视听,使经验不足或看走眼的管理员以为是正常进程或文件。
3.2 进程信息排查
进程信息的排查推荐使用PC Hunter、Process Hacker。
PC Hunter(官网www.xuetr.com)是一个Windows系统信息查看软件,可协助排查木马、后门等病毒,功能包含:
1.进程、线程、进程模块、进程窗口、进程内存、定时器、热键信息查看,杀进程、杀线程、卸载模块等功能
2.内核驱动模块查看,支持内核驱动模块的内存拷贝
3.SSDT、Shadow SSDT、FSD、Keyboard、TCPIP、Classpnp、Atapi、Acpi、SCSI、Mouse、IDT、GDT信息查看,并能检测和恢复ssdt hook和inline hook
4.CreateProcess、CreateThread、LoadImage、CmpCallback、BugCheckCallback、Shutdown、Lego等Notify Routine信息查看,并支持对这些Notify Routine的删除
5.端口信息查看
6.查看消息钩子
7.内核模块的iat、eat、inline hook、patches检测和恢复
8.磁盘、卷、键盘、网络层等过滤驱动检测,并支持删除
9.注册表编辑
10.进程iat、eat、inline hook、patches检测和恢复
11.文件系统查看,支持基本的文件操作
12.查看(编辑)IE插件、SPI、启动项、服务、Host文件、映像劫持、文件关联、系统防火墙规则、IME
13.ObjectType Hook检测和恢复
14.DPC定时器检测和删除
15.MBR Rootkit检测和修复
16.内核对象劫持检测
17.其它一些手工杀毒时需要用到的功能,如修复LSP、修复安全模式等
界面如下图所示,可重点检查下颜色为红色的异常项:
此外,Process Hacker也一款不错的进程分析工具,可以通过这个工具寻找有异常网络连接的进程,也可直接dump进程的内存空间,发现隐藏的模块。
3.3 模块空间检查
找到可疑进程并不意味着该进程对应的exe文件就是病毒,有些病毒可能是将恶意dll注入到系统进程中去的。
对于可疑进程,需要将进程所加载的模块都检查一下,例如利用Process Hacker,双击可疑进程,即可查看其加载的模块如下:
4 启动项排查
4.1 排查Logon启动项
黑客为了保持病毒能够开机启动、登录启动或者定时启动,通常会有相应的启动项,因此有必要找出异常启动项,并删除之。启动项的排查,这里引入一个非常好用的工具,工具名字Autoruns(官网www.sysinternals.com)。
点击运行Autoruns,首先检查Logon(登录启动项),如下图:
检查是否登录的时候启动了异常的程序。
4.2 服务启动项
病毒也有可能是以创建服务启动项的方式保持长久运行,点击Autoruns的Services功能,如下图,检查是否有异常的服务启动项。
4.3 定时或计划任务
如果有定时或计划任务启动项,也要检查下(点击Autoruns的Scheduled Tasks功能)。通常这一项是空白的,如下图。如果有内容,则需要排查确认是否有某些应用或服务创建了这些启动项。
4.4 其它启动项
其它所有的启动项,均可以在”Everything“那一栏找到,这里面的启动项也有可能是病毒创建的,需排查之。