记一次对Windows应急响应处置流程的学习

应急响应技能栈

Windows常用命令与分析工具

 

Windows基础

1、文件排查

2、进程排查

3、系统信息排查

4、工具排查

5、日志排查

 

文件排查

开机启动有无异常文件

【开始】➜【运行】➜【msconfig】

图片1.png

 

敏感的文件路径

%WINDIR% %windir%实际上是Windows系统默认设置的一个环境变量,表示Windows系统的安装目录

%WINDIR%\system32 系统目录

%TEMP% 临时文件

%LOCALAPPDATA% 应用程序本地数据

%APPDATA% 一个对Application Data路径的简记形式

排查技巧:很多文件怎么筛选最有可能是异常的,或者说哪些是系统里常见无害的。如按入侵时间,sh,bat后缀。

 

各个盘下的temp(tmp)相关目录下查看有无异常文件

TMP和TEMP:Windows产生的临时文件

图片2.png

 

查看Recent文件夹

Recent是系统文件夹,里面存放着你最近使用的文档的快捷方式,查看用户recent相关文件,通过分析最近打开分析可疑文件:

【开始】➜【运行】➜【%UserProfile%\Recent】

图片3.png

 

根据文件夹内文件时间

根据文件夹内文件列表时间进行排序,查找可疑文件。当然也可以搜索指定日期范围的文件及文件

图片4.png

查看文件时间,创建时间、修改时间、访问时间,黑客通过菜刀类工具改变的是修改时间。所以如果修改时间在创建时间之前明显是可疑文件(说明该文件有可能是从别的地方下载下来的)

图片5.png

 

进程排查

netstat -ano 查看目前的网络连接,定位可疑的ESTABLISHED

netstat 显示网络连接、路由表和网络接口信息;

参数说明:

-a 显示所有网络连接、路由表和网络接口信息

-n 以数字形式显示地址和端口号

-o 显示与每个连接相关的所属进程 ID

-r 显示路由表

-s 显示按协议统计信息、默认地、显示IP

-e 显示更多信息如用户,inode

-p 显示pid和程序名字

-t 显示tcp链接

-u 显示udp链接

-x 显示unix套接字

 

常见的状态说明:

LISTENING 侦听状态

ESTABLISHED 建立连接

CLOSE_WAIT 对方主动关闭连接或网络异常导致连接中断

图片6.png

查看IP是否可疑,如国外vps地址,矿池地址,结合情报平台进行分析

 

根据netstat定位出的pid,再通过tasklist命令进行进程定位

tasklist 显示运行在本地或远程计算机上的所有进程;

图片7.png

 

根据wmic process 获取进程的全路径

图片8.png

 

任务管理器定位到进程路径

图片9.png

 

查询进程

•wmic process(带有cmdline)

•wmic process list brief

•wmic process where name=“xxxx” get executablepath

删除进程

•wmic process where processid=“2345” delete

图片10.png

 

查询服务

•wmic SERVICE(涵盖服务关联所有信息)

•wmic SERVICE where caption(name)=”xxxxxx” call stopservice

•wmic SERVICE where caption(name)=“xxxxxx" call delete

图片11.png

 

系统信息排查

Windows 计划任务

【程序】➜【附件】➜【系统工具】➜【任务计划程序】

图片12.png

 

Windows帐号信息,如隐藏帐号等

【开始】➜【运行】➜【compmgmt.msc】➜【本地用户和组】➜【用户】

(用户名以$结尾的为隐藏用户,如:admin$)

注意:CMD下是查看不到用户名以$结尾的为隐藏用户

图片13.png

命令行方式:net user,可直接收集用户信息(此方法看不到隐藏用户),若需查看某个用户的详细信息,可使用命令net user username;

图片14.png

 

查看systeminfo信息,系统版本以及补丁信息

图片15.png

例如系统的远程命令执行漏洞MS17-010(永恒之蓝)、MS08-067、MS09-001 …

若进行漏洞比对,建议自建使用Windows-Privilege-Escalation-Exploit;

 

工具排查

PC Hunter

PC Hunter是一个Windows系统信息查看软件

下载地址:http://www.xuetr.com/

功能列表如下:

1.进程、线程、进程模块、进程窗口、进程内存信息查看,杀进程、杀线程、卸载模块等功能

2.内核驱动模块查看,支持内核驱动模块的内存拷贝

3.SSDT、Shadow SSDT、FSD、KBD、TCPIP、Classpnp、Atapi、Acpi、SCSI、IDT、GDT信息查看,并能检测和恢复ssdt hook和inline hook

4.CreateProcess、CreateThread、LoadImage、CmpCallback、BugCheckCallback、Shutdown、Lego等Notify Routine信息查看,并支持对这些Notify Routine的删除

5.端口信息查看,目前不支持2000系统

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.WorkerThread枚举

18.Ndis中一些回调信息枚举

19.硬件调试寄存器、调试相关API检测

20.枚举SFilter/Fltmgr的回调

使用工具,根据什么信息判断异常。常见案例。比如,在敏感目录里,powsershell进程后面跟着一长串参数。进程占满cpu,网络连接频繁。

图片16.png

PC Hunter 数字签名颜色说明:

黑色:微软签名的驱动程序;

蓝色:非微软签名的驱动程序;

红色:驱动检测到的可疑对象,隐藏服务、进程、被挂钩函数;

图片17.png

最简单的使用方法,根据颜色去辨识➜➜➜可疑进程,隐藏服务、被挂钩函数:红色,然后根据程序右键功能去定位具体的程序和移除功能。根据可疑的进程名等进行互联网信息检索然后统一清除并关联注册表;

 

ProcessExplorer

Windows系统和应用程序监视工具

图片18.png

Procexp是常用的进程查看工具

•打开procexp,在标题栏右键,可以勾选其它一些选项卡

图片19.png

•进程标识颜色不同是用于区分进程状态和进程类型,进程开始启动时为绿色,结束时为红色

•可对某个进程进行操作,右键单击即可。

图片20.png

 

日志排查

Windows登录日志排查

图片21.png

【开始】➜【管理工具】➜【事件查看】

【开始】➜【运行】➜【eventvwr】

Windows日志里面可分析的日志非常多,但是最容易看出问题的就是安全日志

 

安全日志主要是会记录一些登录的操作,比如3389远程管理的暴力破解行为,也会记录到这个日志里,通过刚才介绍过的思路,通过时间的维度查找存在过爆破的攻击者ip,然后看他是否有登录成功的记录,就能知道这个攻击者有没有成功爆破进来了。

 

远程rdp爆破的记录,也就是3389端口的爆破,rdp登录的记录会分别以事件id为4624、4625标记登录成功和登录失败。所以思路也是从登录失败的日志中找到可能存在爆破的ip,再去看爆破的ip是否有登录成功的记录。

 

4688 进程创建

4776 远程登录到本机

4720 账号管理加账号 4732 用户组

528 远程登录到本机 2003 登录类型: 10

529 远程登录 密码错误 2003 登录类型: 10

529 远程登录IPC$ SMB 密码错误 登录类型: 3 IPC$扫描没日志

540 远程SMB 成功 登录类型3

683 关闭3389窗口

4624 远程连接

一般看3389 应该是4776 4624 这个

 

主要分析安全日志,可以借助自带的筛选功能

图片22.png

 

主要分析安全日志,可以借助自带的筛选功能

图片23.png

 

中间件日志(Web日志access_log)

nginx、apache

iis

tomcat、jboss、weblogic、websphere

 

然后再到最容易出问题的web日志,也就是中间件日志access_log。

这上面列出来的这些中间件虽然名字不同,但其实它们输出的日志格式都大同小异,所以分析的时候基本上没有什么差异。

 

Web攻击的方法多种多样,但是默认情况下web日志中所能记录的内容并不算丰富,最致命的是web日志是不会记录post内容的,也就是说要从web日志中直接找出攻击者的webshell也就是web后门是非常难的,所以一般来说我们的分析思路都是先通过文件的方式找到webshell,然后再从日志里找到相应的攻击者ip,再去分析攻击者的整个攻击路径,来回溯攻击者的所有行为。

 

但是很多时候会因为各种各样的原因,导致我们只能通过分析web日志去发现webshell,比如黑客在入侵完了之后把webshell删除了,通过文件搜索的方式找不到webshell;或者客户因为一些原因不能让你登录服务器上去排查,只能给你一份日志排查,这时候要排查的话,难度会非常大。所以下面我们们重点讲一下web日志的排查思路。

 

web日志辅助分析工具,如GoAccess,星图,JeffXue/web-log-parser,Graylog,ELK等。大量日志中筛选异常技巧,如搜索exec base64 jspspy 等等。有些shell在get中传参数。upload/static/image目录后面跟着php jsp等后缀 状态码200。在execl中按访问量排名。一个文件源IP少,平均单个IP访问次数过高(攻击者访问shell就那几个ip,正常用户不会访问到shell文件)