龙空技术网

Windows上机取证检查

白帽子网安博士 3433

前言:

今天各位老铁们对“netuser命令打不开”都比较重视,朋友们都需要学习一些“netuser命令打不开”的相关内容。那么小编同时在网摘上搜集了一些有关“netuser命令打不开””的相关资讯,希望大家能喜欢,看官们一起来了解一下吧!

为什么要取证

附录2:取证思路

附录3:取证分析纲要

注:在上机取证的同时应该对操作的每个步骤进行截图保存,方便作为后续写报告的依据。

一、网络、进程检测

通过网络连接情况和程序进程对主机进行检测取证,直接定位出可疑文件。

1.1、网络情况查看

1.1.1 网络连接查看

使用netstat -ano查看当前所有的网络连接。通过对IP地址查看定位异常请求。

通过pid定位程序位置:wmic process |findstr pid

1.1.2 木马心跳或网络请求查看

可以使用LiveTcpUdpWatch对网络情况进行查看(可后台运行半小时查看结果),该软件能记录DNS请求(用于捕捉木马心跳—非持续性连接的网络进程),网络连接等情况,通过远程连接IP(流量获取或者其他途径)定位到木马的PID,结合PChunter或任务管理器进行木马定位。

1.1.3 全局流量查看

若有需要可以使用Wireshark对当前网络流量进行监控,主要是尽可能多的收集攻击者信息和潜在的木马连接信息。

1.2 进程检测

注意点:不建议使用任务管理器进行系统进程检查,因为可供分析的维度较少,且容易被进程名欺骗,操作系统允许相同名称但不同执行路径的进程同时存在。

查看本机所有进程建议使用PCHunter进行查看,信息比较全,可以同时看到进程名称和程序路径。

若不方便使用外部工具可以使用wmic命令查看进程信息:

wmic process get caption,commandline,creationDate,executablepath,handle,handleCount

在cmd命令行中复制以上命令并回车执行。

打开C:\yanlian\process.txt,可看到6列内容,含义如下所示:

caption:进程名; commandline:进程名、程序执行路径、进程执行参数; creationDate:进程启动时间(格式为:年月日时分秒); executablepath:程序执行路径; handle:进程pid; handleCount:该进程的父进程pid。

可根据进程名、进程执行参数、进程启动时间、程序执行路径判断是否存在异常,并根据异常点进行深入分析。

1. 3 DLL劫持检测

木马程序通过服务、dll、com均可劫持注入到程序中启动。

示例:以svchost及dll劫持为例:

svchost.exe主要作用是将动态链接库(后缀为.dll的文件)以服务的方式运行。svchost.exe对系统的正常运行非常重要,是不能被结束的。

注意点:

在入侵检查方向,更倾向于将svchost.exe作为一个单独的持久化检查项目,而非系统服务,因为检查方法完全不同; 同时svchost.exe不作为常规检查项,一般根据【现象检查】的结果寻找恶意程序。

存在异常监听端口,pid指向svchost.exe程序,需检查是否存在异常。通过第三方工具ProcessExplorer(简称pe)检查svchost.exe程序。

示例:

通过检查已监听端口,发现“异常”监听,pid指向800。

打开任务管理器,发现pid 800是svchost.exe程序,由于该程序的特性,需使用第三方工具pe进行检查。

通过pe工具可发现pid 800是由服务启动,根据启动路径可发现该程序是由正常路径启动,但程序是否被替换未知,启动的服务是netsvcs(小白杀手,当初虐了我n久),该服务下挂12个子服务。

在pe中双击该程序,点击【tcp/ip】,可发现49154端口是服务schedule监听。

点击【services】,可发现schedule服务启动的动态链接库绝对路径是c:\windows\systemc32\schedsvc.dll,从而发现49154端口是哪个程序正在监听。

通过点击pe的功能菜单模块(下图的齿轮图标)【view handles】可显示该程序所调用的clsid。

如存在启动、点击某个程序后恶意进程重新启动的情况,则可以对com劫持进行检查。

通过点击【view dlls】可显示该程序所调用的dll文件。

也可以通过排序可直观的看到是否存在dll劫持。

1.4 进程注入检测

进程注入是一种广泛使用的躲避检测的技术,通常用于恶意软件或者无文件技术。其需要在另一个进程的地址空间内运行特制代码,进程注入改善了不可见性,同时一些技术也实现了持久性。

进程注入检测通常情况需要对主机的网络情况进行检测发现,可以使用livetcpudpwatch工具进行监测。

通过其异常请求的pid,利用Process Explorer对该PID进行查看,并使用将该线程内存dump出来。

使用Process Explorer查看PID进程需要等待一段时间,当木马发起网络请求时才会出现以下TCP/IP信息。

使用strings、IDA或者其他内存分析工具进行线程分析。

二、可疑用户操作检测

2. 1 用户检测

异常用户的创建,登陆,删除(操作留在后面单独讲解)正常用户的异常登陆,操作。隐藏账户检测

wmic useraccount get name,SID

可以检测出影子用户和注册表隐藏的用户(net user命令搜索容易漏过这些特殊用户):

查看管理员分组有哪些用户 net localgroup administrators:

查看xxx用户的创建时间和上⼀次登陆时间net user xxx

进入C:/Users ⽂件夹,查看哪些用户登陆了系统,以及黑客没有清理干净的恶意用户。

进入C:\Users\%UserName%\AppData\Roaming\Microsoft\Windows\Recent

文件夹,查看当前用户最近的操作记录(可执行程序的执行情况不会被记录)

2.2 登陆检测

1. 什么时间谁连接了被黑主机

2. 什么时间被黑主机连接了谁

注意点:主机日志默认记录20Mb,达到最大值时优先覆盖旧事件,同时网络安全法要求日志至少保存6个月以上

分远程桌面连接和IPC连接两种方式讨论。

远程桌面连接方式:

针对要点1,可以使用WinLogView工具,会列出系统中所有曾经登陆过的主机,包含本地登陆和远程登陆,针对原有的用户需要注意用户的登陆时间段是否在工作时间段内。(LogonType:10 表示远程登陆,2 表示本地登陆)。

针对要点2,可以使用查看注册表HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default(有空格,注意引号扩起来)展示最近10次本机成功建立的RDP连接。

IPC连接方式:

针对要点1,查看Windows安全日志,查找4624,登陆类型为3而且源网络地址不是来自于127.0.0.1的安全事件。

其实在这里登陆类型为 10 表示的是 RDP 登陆

也可以通过FullEventLogView批量加载主机日志,然后通过4624等时间ID进行日志筛选,相对主机直接查看日志更直观。

针对要点2,可以通过注册表进行查看

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths

2.3 文件检测

2.3.1 近期操作文件

近期的可执行文件操作近期的文件操作近期的浏览器操作

利用AppCompatCacheParser工具检查近期的可执行文件操作(由于该记录以非文本方式保存在注册表中,很多攻击者不会清理该文件夹):

根据时间倒叙,重点排查近期或者被攻击时间段的程序执行记录。

近期的文件操作可以直接使用lastactivityview方便查看,优点是收集的信息很完整,可以导出HTML。

注意,进行C:/User/xxx/Recent目录也能看到用户最近频繁操作的一些文件,但并不是所有操作,信息不够全面

近期所有浏览器的操作记录使用BrowsingHistoryView⼀并查看,可以根据时间短对记录进行筛选。

2.3.2人工检查目录

这些路径经常作为攻击者内网渗透的临时工作目录,以及木马启动、解压路径可以重点检查。

C:\Perflogs\

C:\Perflogs\admin\

C:\ProgramData\

C:\Users\Public\

C:\Users\当前用户\

C:\Windows\Temp\

C:\Users\当前用户\AppData\Roaming\

C:\Users\当前用户\AppData\Local\Temp\

C:\Users\当前用户\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

2.3.3 黑客工具

木马文件Webshell文件黑客工具HTTP隧道

使用恶意软件全盘扫描工具比如睿眼主机取证溯源系统【商业化产品对系统进行全盘扫描,能探测出木马文件和黑客工具的所在位置。

进入对应的文件夹查看有无其他黑客工具,注意扫描到文件的创建时间,以及该文件对应的创建者信息,可以关联出黑客的作案时间以及黑客用户。

WebShell 文件可以使用D盾Webshell查杀工具

同时记录Webshell的名称,从Web访问日志中关联是否存在HTTP隧道脚本和其他WebShell文件。

三、持久化检测

持久化检测主要是检测木马的启动方式等。

3.1 启动目录

C:\Users\当前用户\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

3.2 注册表启动项

开机启动项直接运行msconfig进行查看,简单检查有无未知启动项。

如需要导出分析,使用以下命令将自启动项导出检查。

// 导出当前用户启动项

reg export HKCU\Software\Microsoft\Windows\CurrentVersion\Run c:\yanlian\autorun1.reg

// 导出系统启动项

reg export HKLM\Software\Microsoft\Windows\CurrentVersion\Run c:\yanlian\autorun2.reg
reg export HKLM\Software\Microsoft\Windows\CurrentVersion\Runonce c:\yanlian\autorun3.reg

示例:

输入命令将自启动项配置文件导出。

检查导出的自启动项配置是否存在异常。

3. 3 开机启动脚本

运行 gpedit.msc 查看组策略:

3.4 计划任务

计划任务直接使用AutoRuns 进行检测,根据 ImagePath 配合 Publisher 判断是不是木马程序。

3.5 映像劫持检测(Shift后门)

通过AutoRuns的ImageHiJack进行检测,被替换的setch.exe 会直接显示出来。

另外可以对程序提交VT进行检测:

根据VT的评分判定是否可能是木马程序。

3.6 环境变量检测

环境变量用于将系统路径变量化,如被黑客利用则会以最高权限运行恶意程序,例如将环境变量%systemroot%变更为其他路径,同时建立system32文件夹并将恶意程序通过服务启动。

注意点:环境变量%systemroot%修改后需进行恢复,否则系统无法正常重启。使用set命令将环境变量导出检查。

示例:

输入命令将环境变量配置文件导出。

检查导出的环境变量配置是否存在异常。

3.7 系统服务检测

查看本机所有的服务可以使用AutoRuns ,好处比较清晰列出了进程可执行程序路径和证书信息,此外还可以联动VT ,直接云判断(点击Option-Scan Option调用VT)可执行程序是否是恶意程序。

标签: #netuser命令打不开 #netsvcs #netsvcs注册表 #状态机default无法覆盖