hacktricks/forensics/basic-forensic-methodology/windows-forensics/windows-processes.md
2023-08-03 19:12:22 +00:00

7.2 KiB
Raw Blame History

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

smss.exe

会话管理器
会话0启动csrss.exewininit.exe操作系统服务而会话1启动csrss.exewinlogon.exe用户会话)。然而,在进程树中,你应该只看到一个没有子进程的该二进制文件的进程。

此外除了0和1之外的会话可能意味着正在发生RDP会话。

csrss.exe

客户端/服务器运行子系统进程
它管理进程线程,为其他进程提供Windows API,还映射驱动器字母,创建临时文件,处理关机过程

在会话0和会话1中各有一个因此进程树中有2个进程。每个新会话都会创建另一个进程。

winlogon.exe

Windows登录进程
它负责用户的登录/注销。它启动logonui.exe以请求用户名和密码,然后调用lsass.exe进行验证。

然后它启动userinit.exe,该文件在**HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon中的Userinit**键中指定。

此外,上述注册表中的Shell键应该包含explorer.exe,否则可能被滥用为恶意软件持久化方法

wininit.exe

Windows初始化进程
它在会话0中启动services.exelsass.exelsm.exe。应该只有一个进程。

userinit.exe

Userinit登录应用程序
加载HKCU中的ntuser.dat,初始化用户环境,运行登录脚本GPO

它启动explorer.exe

lsm.exe

本地会话管理器
它与smss.exe一起操作用户会话登录/注销、启动shell、锁定/解锁桌面等。

在Windows 7之后lsm.exe被转换为一个服务lsm.dll

在Windows 7中应该只有一个进程其中一个服务运行该DLL。

services.exe

服务控制管理器
加载配置为自动启动服务驱动程序

它是svchost.exedllhost.exetaskhost.exespoolsv.exe等进程的父进程。

服务在HKLM\SYSTEM\CurrentControlSet\Services中定义该进程在内存中维护一个服务信息的数据库可以通过sc.exe查询。

请注意,某些服务将在自己的进程中运行,而其他服务将在共享的svchost.exe进程中运行

应该只有一个进程。

lsass.exe

本地安全机构子系统
它负责用户的身份验证并创建安全令牌。它使用位于HKLM\System\CurrentControlSet\Control\Lsa中的身份验证包。

它将写入安全事件日志,应该只有一个进程。

请记住,这个进程很容易受到密码转储的攻击。

svchost.exe

通用服务主机进程
它在一个共享进程中托管多个DLL服务。

通常,你会发现svchost.exe是以-k标志启动的。这将在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost中发起一个查询,其中将有一个带有-k参数的键其中包含要在同一进程中启动的服务。

例如:-k UnistackSvcGroup将启动:PimIndexMaintenanceSvc MessagingService WpnUserService CDPUserSvc UnistoreSvc UserDataSvc OneSyncSvc

如果还使用了**-s标志和一个参数那么svchost将被要求仅启动指定的服务**。

将会有多个svchost.exe进程。如果其中任何一个没有使用-k标志,那就非常可疑。如果你发现services.exe不是父进程,那也非常可疑。

taskhost.exe

此进程作为从DLL运行的进程的主机。它还加载从DLL运行的服务。

在W8中它被称为taskhostex.exe在W10中被称为taskhostw.exe。

explorer.exe

这个进程负责用户的桌面和通过文件扩展名启动文件。

每个登录的用户只应该生成一个进程。

这是从userinit.exe运行的,应该被终止,所以这个进程不应该有父进程

捕获恶意进程

  • 它是否从预期的路径运行没有Windows二进制文件从临时位置运行
  • 它是否与奇怪的IP通信
  • 检查数字签名Microsoft的工件应该是有签名的
  • 拼写是否正确?
  • 是否在预期的SID下运行
  • 父进程是否是预期的(如果有的话)?
  • 子进程是否是预期的没有cmd.exewscript.exepowershell.exe等
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥