引子
系统基本信息
目的:对系统信息有个大概的了解。
操作:运行输入msinfo32命令查看系统的基本信息,包括硬件资源、组件、软件环境。
可以多关注软件环境下的选项,包括了驱动程序、环境变量、网络连接、运行任务、加载模块、服务、启动程序等。
获取系统基本信息除了msinfo32外,也可以在cmd下运行systeminfo命令来查看相关的信息:
用户信息
目的:查看是否有隐藏账号。
操作:1,使用net user命令查看相关用户,net user xxx查看指定账户的详细信息,该方法无法查看到隐藏账户。
2,图形化查看:运行处输入lusrmgr.msc打开计算机管理查看用户选项,账号以$结尾的为隐藏账户。
3,注册表查看是否存在克隆账号,运行处输入命令regedit打开注册表,选择HLM-SAM,右键选择权限-高级,把下面那个选项勾上:
win10系统上有些区别,需要启用继承,然后最后一个选项打勾:
确认后F5刷新,然后就可以查看相关用户的信息了:
0000001F4是Administrator用户的,查看它的F值,大概看一下,因为要和其它000000开头的其它用户做比较,一样的话,很可能就是克隆账户。
如果看的不方便,可以右键导出,然后本地打开做对比。如果导出格式为reg,则需要用文本软件打开:
4,使用wmic查看系统账户,cmd运行命令wmic useraccount get name,SID,该方法可查到隐藏账户。
启动项
目的:查看是否有自启动木马。
操作:1,通过运行处输入msconfig打开系统配置,查看启动相关信息。
2,注册表查看,相关项说明如下:
HKCR存储了启动应用程序所需要的全部信息,例如应用程序的扩展名、驱动程序名、与文档之间的关系、应用程序图标等等。
HKCU存储了当前登录系统用户的配置信息,例如用户文件夹、屏幕设置、控制面板设置等。
HKLM存储了计算机的系统信息,包括硬件、操作系统等信息。
HKU存储了计算机所有用户的配置数据,这些数据只有用户登录系统时才能访问,例如当前用户使用的图标,激活的程序组,开始菜单的内容、颜色及字体等。
HKCC:存储了当前硬件的配置信息,其中的信息是从HKLM中映射出来的。在注册表中,其实相当于就两个表键,HKLM和HKU,其它表键基本都是从某个分支映射出来的,相当于快捷方式或者表名。
可以在以下位置查看相关启动项:
3,命令行查询注册表内容,使用reg query命令查询:
reg query "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun"
计划任务
目的:查看计划任务判断是否有马留存。
操作:1,计算机管理中查看计划任务,可以使用命令compmgmt.msc打开计算机管理,或者直接命令taskschd.msc打开计划任务。
2,PowerShell命令查看计划任务,输入Get-ScheduledTask查看所有的计划任务:
3,schtasks命令获取计划任务:
防护墙查看
目录:通过入站规则或出战规则,找出异常的流量。
操作:1,通过图形化查看,运行处输入firewall.cpl打开防火墙,点击高级设置,查看出站规则和入站规则。
2,命令行查看,命令行输入netsh firewall show state,如果是像win10这样的系统,上面命令有稍微的改动,win10查看命令:netsh advfirewall firewall show rule name=all,内容比较多可输出到文件中查看。
进程排查
目的:找到恶意进程的PID、程序路径、PPID、加载的DLL等。
操作:1,Ctrl+Shift+Esc打开任务管理器,查看进程信息,在一些列名称上右键可调出菜单,选择可选项,这里建议把PID、进程名称和命令行都选上。
2,tasklist命令查看进程,命令行输入tasklist查看所有进程信息。
输入/?可查看命令的帮助信息,例如svc参数可查看进程上相应的服务。
如果要查看进程下面调用的DLL,可以使用m参数:
如果想查看特定dll的引用,可以在m参数后面跟dll名称:
tasklist支持筛选功能,可通过fi参数结合一些大于等于那些符号来进行条件筛选,例如筛选PID大于200的进程:
3,可以结合netstat命令进行排查。这里先使用netstat -ano | findstr "ESTABLISHED"查看目前已存在的连接:
例如PID为2192的出现了多次,有点可疑,想排查下它所属的应用程序,那么就可以再执行tasklist | findstr "2192":
或者为了方便可以直接给netstat添加一个b参数,该参数可显示关联的应用程序。
4,使用powershell进行查看,执行如下命令,可查看ppid:
Get-WmiObject win32_process | select name,processid,parentprocessid,path
服务排查
目的:排查是否有恶意服务。
操作:运行处输入services.msc打开服务窗口即可。
文件痕迹排查
1,敏感目录temp/tmp排查,查看C盘符下的temp或tmp目录下是否有可疑文件。
2,浏览器记录排查,攻击者可能会使用浏览器下载一些后续的工具或者木马。重点关注下历史记录、下载记录等。
3,查看recent文件,该文件存储了最近运行文件的快捷方式,通过分析最近运行的软件,排查可疑文件。老系统一般在用户名下的recent下,我这里win10位置如下图。
4,查看prefetch文件,prefetch称为预读取,当系统软件前几次打开运行时,系统会把相应的情况以pf格式存放到prefetch文件夹下,随后软件再启动,会先读取相应的pf文件,加快打开速度。prefetch位置在c:windowsprefetch。
5,查看指定时间内的文件,根据攻击发生的时间前后,搜索相关的文件。
6,查找webshell,有很多相关工具,例如d盾、hwskill、河马等。
日志分析
Windows下日志有系统日志、应用程序日志和安全性日志。该三类日志存储位置如下:
windows 2000/Windows XP/Windows Server 2003/:
系统日志:C:WINDOWSSystem32configSysEvent.evt
应用程序日志:C:WINDOWSSystem32configAppEvent.evt
安全性日志:C:WINDOWSSystem32configSecEvent.evt
windows vista/win7/win8/win10/windows server2008及以上:
系统日志:%systemroot%System32WinevtLogsSystem.evtx
应用程序日志:%systemroot%System32WinevtLogsApplication.evtx
安全性日志:%systemroot%System32WinevtLogsSecurity.evtx
运行处输入eventvwr打开事件查看器,即可看到Windows日志栏。
1,系统日志,可查看事件ID为8033的,代表系统运行中一些重大问题,例如数据丢失、错误、崩溃等。
2,应用程序日志,记录了应用程序产生的各类事件。
3,安全日志,记录了与安全相关的事件,例如登录、退出、登录是否成功、系统文件的创建删除更改等操作都会被记录。以下是4625系统尝试登录失败的记录。
基本上现在使用的系统都支持powershell,也可以多关注下powershell日志。
4,日志分析工具有fulleventlogview、event log explorer、log parser等。需要注意的是log parser是一个命令行工具,使用类似sql语句查询:
内存分析
很多木马可能会内存化,隐藏比较深,比如在物理内存或者页面交互文件中,隐藏进程等情况,通过系统上查询的相关信息无法找到,那么可能就需要进行内存取证,内存获取分为一些类型,比如说基于内核的内存获取、基于系统崩溃转储的内存获取,或者是基于虚拟化快照的内存获取。
1,基于内核的内存获取常用的工具有dumpit、redline、ram capturer、ftk imager等。
2,基于系统崩溃的转储可以在系统属性-高级-启动和故障恢复-设置-核心内存转储进行获取。
3,基于虚拟化内存,相当于快照,例如Vmware workstation,esxi,其中vmem文件就是镜像。
获取内存后需要对内存进行查看和分析,一些软件例如redline,volatility,具体使用可参考官方说明。
流量分析
有时候可能需要分析了系统的当前流量情况,需要进行一些抓包分析,常用的工具就是Wireshark,网上和官网都有相关的使用说明,这里不在赘述。
威胁情报
威胁情报也会常用到,我们后面可能需要对一个IP或者域名或者是一个文件进行威胁情报查询,威胁情报有很多在线站点可以参考使用。例如微步、奇安信情报中心、360情报中心、绿盟情报中心、VenusEye情报中心、安恒情报中心、360网络安全研究,AlienVault等。
相关工具
除去上面提到的一些工具外,还有其它一些工具也可以辅助我们做应急,例如SysinternalsSuite工具集,PCHunter、火绒剑、PowerTool、Process Monitor、ThreatHunting、WinPrefetch View、WifiHistory View等。
思维导图总结
本文始发于微信公众号(aFa攻防实验室):Windows应急响应
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论