01
—
procmon
当启动procmon的时候就会立即开始捕获事件,界面展示的相关信息如下:
`Time of Day: 事件发生时间``Process Name: 进程名称``PID: 进程id``Operation: 进程的操作``Path: 进程操作的路径,可以是注册表、文件、网络通信等等``Result: 操作结果``Detail: 关于操作的具体描述`
由于procmon捕获的事件数据量很大,直接分析比较困难,因此需要使用过滤语法筛选出有用的信息,在对恶意软件进行分析时,一般关注恶意软件正在创建、删除和修改哪些文件、注册表项,存在哪些网络连接以及正在加载哪些 DLL 等等。基于上述经验,在应急响应时,可以使用procmon监控触发以上事件的进程。
`CreateFile: 创建文件``WriteFile: 将数据写入文件``SetRenameInformationFile: 对文件重命名``SetDispositionInformationFile: 删除文件``RegCreateKey: 创建注册表``RegSetValue: 设置注册表键值``RegDeleteKey: 删除注册表键``RegDeleteValue: 删除注册表值``TCP Connect, TCP Receive, UDP Send, UDP Receive: TCP/UDP连接``Load Image: 加载dll或者可执行文件``Process Create: 创建进程``CreatePipe: 创建管道`
选择菜单栏 -> Filter -> filter或按“Ctrl+L”使用过滤功能。
例如,监控进程创建文件,进行如下配置
02
—
Autoruns
Autoruns主要是展示操作系统中自启项目的位置,利用autoruns识别恶意软件主要有以下几点思路。
数字签名验证
通过配置Options - Scan Options 来验证可执行文件是否使用有效的数字签名。如下图,粉色:表示该项对应的文件没有数字签名或者签名不匹配。
与VT联动
Autoruns默认集成了VT。它可以发送哈希值或者可执行文件联动VT进行扫描,识别主机上恶意文件。如下所示,其中一个文件VT有49个引擎报毒,大概率就是恶意软件。
隐藏微软官方程序
选择隐藏微软官方程序,可以从清除大量的无用启动项以便于我们筛选出真正的恶意程序。不建议使用隐藏VT无毒程序,因为免杀的恶意软件在VT可能不会检出,而事实上该文件是恶意的。
特定用户的启动项
默认情况下Autoruns仅搜索运行该工具的用户的启动项。因此需要切换用户检查其他用户的启动项。
03
—
reg_hunter
reg_hunter是一款注册表搜索、取证工具。工具内置了一些恶意软件的检测规则,例如,检测注册表键值对中存在调用cmd、powershell。
使用方法
`注册表内容:``-a: 检测所有注册表项``-x: 检测常用的注册表项``-k: 检测指定的注册表项目``注册表hunting:``-b: 搜索REG_BINARY值中可能存在的MZ头文件``-c: 搜索键值对中包含cmd.exe、powershell.exe``-e: 搜索存在加密键值对``-f: 搜索引用文件的键值对``-i: 搜索包含IP的键值对``-y: 搜索可疑字符``-z: 调用所有hunting规则``注册表时间检索``--start: 开始时间` `--end;结束时间`
例如:
`#搜索包含IP的键值对,结果中有条目不是真正的IP地址。``reg_hunter_x64.exe -a -i`
`#搜索包含cmd.exe键值对``reg_hunter_x64.exe -a -c cmd.exe`
`#基于时间搜索,搜索2021年7月3至7月4日创建的包含IP的键值对``reg_hunter_x64.exe -a -i --start 2021-07-03T00:00:00 --end 2021-07-04T00:00:00`
当然还有其他搜索姿势,利用不同的搜索语法可以帮助我们分析注册表是否存在恶意键值对。