系统排查
- 在进行受害主机排查时,首先要对主机系统进行基本排查,方便对受害主机有一个初步的了解。
系统基本信息
- Windows系统
-
- 在基础排查时,可以使用Microsoft系统信息工具(Msinfo32.exe),他是Microsoft Windows NT诊断工具(Winmsd.exe)的更新版本。
-
- 系统信息工具
-
-
- 在命令行中输入【msinfo32】命令,打开【系统信息】窗口,如图所示,可以显示本地计算机的硬件资源、组件和软件环境的信息。除了各方面的概述信息,还可以对正在运行任务、服务、系统驱动程序、加载的模块、启动程序等进行排查。
-
-
- 正在运行任务
-
-
- 在【系统信息】窗口中,单击【软件环境】中的【正在运行任务】选项,可查看正在运行任务的名称、路径、进程ID等详细信息,如图所示。
-
-
- 服务
-
-
- 在【系统信息】窗口中,单击【软件环境】中的【服务】选项,可查看服务的名称、状态、路径等详细信息,如图所示
-
-
- 系统驱动程序
-
-
- 在【系统信息】窗口中,单击【软件环境】中的【系统驱动程序】选项,可查看系统驱动程序的名称、描述、文件等详细信息,如图所示。
-
-
- 加载的模块
-
-
- 在【系统信息】窗口中,单击【软件环境】中的【加载的模块】选项,可查看加载的模块的名称、路径等详细信息,如图所示。
-
-
- 启动程序
-
-
- 在【信息系统】窗口中,单击【软件环境】中的【启动程序】选项,可查看启动程序的命令、用户名、位置等详细信息,如图所示
-
-
- 如果只是简单了解系统信息,还可以通过在命令行输入【systeminfo】命令实现,如图所示,可查看主机名、操作系统版本等详细信息。
用户信息
- 在服务器被入侵后,攻击者可能会建立相关账户(有时是隐藏或克隆账号),方便进行远程控制。攻击者会采用的方法主要是如下几种:
-
- 第一种是最明目张胆的,即直接建立一个新的账户(有时为了混淆视听,账号名称与操作系统常用名称相似);
- 第二种是激活一个系统中的默认账户,但这个账户是不经常使用的;
- 第三种是建立一个隐藏账户(在windows系统中,一般在账户名称最后加$)。
- 无论攻击者采用那种方法,都会在获取账号后,使用工具或是利用相关漏洞将这个账号提升到管理员权限,然后通过这个账户任意控制计算机。
- 在windows中,排查恶意账户的方法有4种。
-
- 命令行方法
-
-
- 在命令行中输入【net user】命令,可直接收集用户账户信息(注意,此方法看不到以$结尾的隐藏账号),若需查看某个账号的详细信息,可在命令行中输入【net user username】命令(username为具体的用户名)。使用【net user WDAGUtilityAccount】命令,查看该账户的详细信息,如图所示
-
-
- 图形界面方法
-
-
- 打开【计算器管理】窗口,单击【本地用户和组】中的【用户】选项,可查看隐藏账户,名称以
”就是一个隐藏账户。也可以在命令行中输入【lusrmgr.msc】命令,直接打开图形界面,查看是否有新增/可疑的账户。
-
- 打开【计算器管理】窗口,单击【本地用户和组】中的【用户】选项,可查看隐藏账户,名称以
-
-
- 注册表方法
-
-
- 打开【注册表编辑器】的窗口,选择【HKEY_LOCAL_MACHINE】下的【SAM】选项,为该选项添加【允许父项的继承权限传播到该对象和所以子对象。包括那些在此明确定义的项目】和【用在此显示的可以应用到子对象的项目替代所以子对象的权限项目】权限,是当前用户拥有SAM的读取权限,如图所示。
- 添加权限完成后按【F5】键,刷新后即可访问子项并查看用户信息,如图所示。
- 同时,在此项下导出所有以00000开头的项,将所有导出的项与000001F4做对比(该项对应Administrator用户)导出内容做比较,若其中的F值相同,则表示可能为克隆账户。000001F4的值如图所示
- 对导出的F值进行对比,可以发现是系统是否存在克隆账户
-
-
- wmic方法
-
-
- wmic扩展WNI(Windows Management instrumentation,Windows管理工具),提供从命令行接口和批命令脚本执行系统管理支持。在命令行中输入【wmic useraccount get,SID】命令,可以查看系统中的用户信息,如图所示。
-
启动项
- 启动项是开机时系统在前台或者后台运行的程序。操作系统在启动时,通常会自动加载很多程序。启动项是病毒后门等实现持久化驻留的一种常用方法,在应急响应中也是排查的必要项目。
- windows系统中的自启动文件是按照2个文件夹和5个核心注册表子键来自动加载程序的。除了通过相关的工具查看,还可以通过一下两种方法进行查看。
系统配置查看
- 在命令行输入【msconfig】命令,打开windows系统中的【系统配置】对话框,单击【启动】选项卡,可查看启动项的详细信息,如同所示。
注册表查看
- 注册表是操作系统中一个重要的数据库,主要用于存储系统所必须的信息。注册表以分层的组织形式存储数据元素。数据项是注册表的基本元素,每个数据项下面不但可以存储很多字数据项,还可以以键值对的形式存储数据。注册表的启动项是恶意程序的最爱,很多病毒木马程序通过注册表来实现在系统中的持久化驻留。特别是我们在安装新的软件程序后,一定不要被程序漂亮的外表迷惑,需要看清楚它的本质,是否是木马的伪装外壳或者捆绑程序,必要时可以根据备份恢复注册表。
- 注册表的含义如下。
-
- HKEY_CLASSES_ROOT(HKCR):此处存储的信息可以确保在Windows资源管理器中执行时打开正确的程序。他还包含有关拖放规则、快捷方式和用户界面信息的更多详细信息。
- HKEY_CURRENT_USER(HKCU):包含当前登录系统的用户的配置信息,有用户的文件夹、屏幕颜色和控制面板设置。
- HYKY_LOACL_MACHINE(HKLM):包含运行操作系统的计算机硬件特定信息,系统上安装的驱动器列表及安装硬件和应用程序的通用配置。
- HKEY_USERS(HKU):包含系统上所以用户配置文件的配置信息,有应用程序配置金额可视配置。
- HKEY_CURRENT_CONFIG(HCU):存储有关系统当前配置信息。这里以“驱动人生”病毒作为查询案例,通过注册表和命令进行查询,会发现“驱动人生”建立了webservers和Ddrive两个键值,分别是病毒的信息窃取模块和病毒的主程序。
计划任务
- 由于计算机都会自动加载“任务计划”,“任务计划”也是恶意病毒实现持久化驻留的一种常见手段,因此在应急响应事件排查时需要重点排查。
- 任务计划是windows系统的一个预置实现某些操作的功能,利用这个功能还可以实现自启动项的目的,获取任务计划的方法有一下几种。
计算机管理
- 打开【计算机管理】窗口,选择【系统工具】中【任务计划程序】中的【任务计划程序库】选项,可以查看任务计划的名称、状态、触发器等详细信息,如图所示。
Powershell查看
-
- 在PowerShell下输入【Get-ScheduledTask】命令,可查看当前系统中所有任务计划的信息,包括计划任务的路径、名称、状态等详细信息,如图所示。注意:是在powshell中!!!!
命令行查看
- 在命令行中 输入【schtasks】命令,可获取计划任务的信息,如图所示,该命令是在一个功能更为强大的超级命令行计划工具,他含义【at】(在较旧的系统中可以使用)命令行工具中的所有功能,获取任务计划时必须要求是在本地Administrator组的成员。
其他
- Windows系统防火墙最基本的用途是对出、入的数据包进行检验。
- 防火墙规则包括入站规则和出战规则。入站规则:根据规则中的过滤条件,过滤从公网到本地主机的流量。出战规则:根据规则中的过滤条件,过滤从本地主机到公网的流量。两种规则都可以按需自定义流量过滤的条件。换句话说,入站规则与进入主机的流量有关。如果在主机上运行一个Web服务器,那就必须告诉防火墙允许外部用户访问主机。出战规则与流出主机的流量有关,会将应用程序分类,运行部分应用程序访问外网,而其他应用则不能。如果想让浏览器(IE、火狐等)访问外网,但同时组织访问某些网站,则可以在出战规则中插入命令,表示允许或不允许那些网站通过防火墙。有些恶意软件会通过设置防火墙策略进行流量转发等操作,如驱动人生病毒对防火墙的设置。
防火墙设置
- 打开【windows防火墙】窗口,单机【高级设置】,选择【入站规则】或【出战规则】可查看防火墙的入站规则或出战规则,如图所示。
- 也可在命令行中输入【netsh】命令查看,使用【netsh Firewall show state】 命令,显示当前防火墙的网络配置状态,如图所示。
-