Windows主机入侵排查

时间:2023-12-20 08:33:32

检查系统信息、用户账号信息

系统信息

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

systeminfo

用户账号信息

● 基本使用

○ 创建普通账号并加入administrarors 组

net user test 123456 /add

net localgroup administrators test /add

● 创建隐藏账号

net user test$ /add

● 创建克隆账户

  1. 进入注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
  2. Names目录下找到administrator,查看类型为1F4,对应上面的000001F4文件夹,将 000001F4导出,再将创建的用户对应的Names下的文件夹导出,对应的00000XXX文件夹 也导出,再将创建用户删除,再将导出的000001F4下的“F”的值复制到00000XXX里面替 换,然后双击打开导出的创建的用户的两个文件。net user 创建的用户名查看。

查看已登录账号

query user

查看可以账号

net user

查看隐藏账号

lusrmgr.msc打开本地用户和组查看隐藏用户

查看克隆账号

● 使用wmic能查看所有账户 wmic useraccount get name,SID

● 打开注册表查看:HKEY_LOCAL_MACHINE\ SAM\SAM\Domains\Account\Users

结合日志,查看管理员登录时间、用户名是否存在异常。

  1. 打开运行,输入"eventvwr.msc",回车运行, 打开“事件查看器”。
  2. 导出 Windows 日志 -- 安全,利用微软官方工 具Log Parser 进行分析。 4624 --登录成功 4625 --登录失败 4634 -- 注销成功 4647 -- 用户启动的注销 4720 -- 创建用户 4672 -- 使用超级用户(如管理员)进行登录

检查异常端口、进程、服务

查看端口

查看开放端口

使用 netstat -ano 命令查看目前的网络连接, 定位可疑的 ESTABLISHED 已连接端口

查看目前已经建立TCP连接的端口

netstat -ano | findstr "ESTABLISHED"

根据端口查看进程

根据 netstat 命令定位出的 PID 编号,再通过 tasklist 命令进行 进程定位 tasklist | findstr "PID编号"

查看进程

查看所以进程列表

tasklist

查看进程对应的服务

tasklist /svc

查看进程调用的DLL文件

tasklist /m

查看进程对应的程序位置

wmic process where processid=6436 get processid,executablepath,name #查看PID为6436对应的进程,进程对应的文件地址

工具

● 打开D盾_web查杀工具,进程查看,关注没有签名信息的进程。

● 通过微软官方提供的 Process Explorer 等工具进行排查 。

查看服务

打开运行输入services.msc

排查点

● 没有签名验证信息的进程

● 没有描述信息的进程

● 进程的属主

● 进程的路径是否合法

● CPU或内存资源占用长时间过高的进程

应急措施

通过进程名kill

taskkill /f /im cmd.exe /t

wmic process where name="mysqld.exe" delete

通过pid进行kill

taskkill /f /pid /t

ntsd -c q -p 3876

wmic process where processid=3876 call terminate

删除服务

sc delete "服务名"

检查启动项、计划任务、服务自启动

查看启动项

【开始】查看启动项

【开始】>【所有程序】>【启动】,默认情况下 此目录在是一个空目录,确认是否有非业务程序 在该目录下。

【msconfig】查看启动项

【运行】,输入 msconfig,查看是否存在命 名异常的启动项目,是则取消勾选命名异常的启 动项目,并到命令中显示的路径删除文件。

【注册表】查看启动项(regedit)

特定用户登录时的启动项

HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\run

系统开机的启动项

HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\Run

仅启动一次的启动项(RunOnce)

HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunOnce

【组策略】查看启动脚本

运行 gpedit.msc查看启动脚本

查看服务自启动

● services.msc,注意服务状态和启动类型,检查 是否有异常服务。

● 运行 compmgmt.msc打开计算机管理查看服务。

查看计划任务

● powershell下输入Get-ScheduledTask可查看 当前系统中所有任务计划的信息、

● compmgmt.msc查看计划任务

● schtasks查看任务计划

● at检查计算机与网络上的其它计算机之间的会话 或计划任务,如有,则确认是否为正常连接。

文件痕迹排查

敏感目录

● 用户目录-C盘-Windows-用户

● temp-各个盘下的temp目录

● 浏览器下载目录

● 回收站

入侵时间点前后文件

● forfiles命令查找攻击日期内新增文件

forfiles /m *.exe /d +2020/2/13 /s /p c:\ /c " cmd /c echo @path @fdate @ftime" 2>null #表示对2020/2/13日后创建的exe文件进行搜索

`

● 在各个盘下,可根据文件夹内文件列表时间进行 排序,查找可疑文件。

注册表分析

注册表含义

● HKEY_CLASSES_ROOT:包含所有已注册的文 件类型、OLE等信息

● HKEY_USERS:包含所有加载的用户配置文件

● HKEYCURRENT_USER:当前登录用户的配置文件

● HKEYCURRENT_CONFIG:启动时系统硬件配置文件

● HKEYLOCAL_MACHINE:配置信息,包括硬件 和软件设置

浏览器上网记录

HKEY_CURRENT_USER\Software\Microsoft\ Internet Explorer\TypedURLs

RDP服务(远程连接)

● HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Terminal Server

● 直接用命令行查询

查询服务是否开启 键值为0:开启 键值为1:关闭

REG QUERY "HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\ Terminal Server" /v fDenyTSConnections

● 查询监听端口

REG QUERY "HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\ Terminal Server\WinStations\RDP-Tcp" /v PortNumber