总结:
本文主将Windows入侵排查,介绍了系统信息(如msinfo32、systeminfo命令)、用户信息(含隐藏账号排查)、启动项、计划任务、进程(系统工具与第三方工具)、端口、异常文件等排查思路,还涉及系统账号安全检查、登录日志审计、用户账户管理等内容,以及内存分析方法。
简诉:
1,系统账号安全检查:
验证服务器账户是否存在弱⼝令,使⽤ Netstat
检查⽹络连接,并通过tasklist
定位异常进程。
2,登录⽇志审计:
审查Windows安全⽇志(eventvwr.msc
),特别是ID 4776和4624(登录成功)的事件,以识别任何可疑的登录活动。
可查看这位大佬的博客,写得比较详细,点我直达
3,⽤户账户管理:
使⽤lusrmgr.msc
图形界⾯或命令⾏⼯具检查服务器上的账户列表,寻找可疑或未知账户。
4,本地⽤户组审查:
使⽤ compmgmt.msc
或命令⾏⼯具来检查本地⽤户组,确保没有隐藏账户。
5,⽇志分析:
导出和分析Windows⽇志,使⽤ Log Parser
或其他⼯具来识别管理员登录时间、⽤户⾏为异常等。
6,计划任务检查:
运⾏ taskschd.msc
来查看并验证任何计划任务,确保没有可疑的或未知的任务。
7,最近⽂件访问:
检查%UserProfile%\Recent
⽂件夹,了解⽤户最近打开的⽂件,寻找可疑或未知的活动。
8,中间件⽇志分析:
评估中间件(如Tomcat、IIS等)的⽇志⽂件,查找任何⾮法的访问尝试或异常⾏为。
详细:
一、基础排查方向
- 系统信息
- 功能:显示本地计算机的硬件资源、组件、软件环境等。
- 命令:
msinfo32
:打开Microsoft系统信息工具。systeminfo
:查看主机名、操作系统等版本信息。
- 用户信息
- 攻击者常见操作:创建新账号、激活默认账号、建立隐藏账号(用户名后跟$)。
- 排查方法及命令:
net user
:查看所有用户(无法查看隐藏用户)。wmic useraccount get name,SID
:查看用户信息。net user username
:查看指定用户信息。lusrmgr.msc
:通过图形界面检查账户列表。
- 处理:存在恶意账号则删除或禁用。
二、持久化控制排查
- 启动项
- 风险:攻击者可能通过启动项实现持久化控制。
- 排查方法:
- 命令
msconfig
:打开启动项,查看是否有命名异常项目,有则取消勾选并删除对应文件。 - 注册表:
regedit
打开注册表,关注以下三个项:HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
- 命令
- 处理:存在异常启动项则删除,并使用杀毒工具查杀。
- 计划任务
- 排查目的:查看是否存在木马文件等。
- 查看方式:
- 命令
taskschd.msc
:获取计划任务信息。 - 命令
schtasks
:获取计划任务信息(用户需是administrators组成员)。 - 计算机管理:直接打开计算机管理→系统工具→计划任务程序。
- 命令
- 服务自启动
- 查看工具:
services.msc
,用于查看服务类型和启动状态,检查是否存在异常服务。
- 查看工具:
三、进程与端口排查
- 进程排查
- 目的:检测恶意程序以进程形式运行的恶意操作。
- 方法一:使用系统自带工具
- 查看正在运行的任务:打开Msinfo32工具,在“软件环境”下查看“正在运行任务”。
tasklist
命令:tasklist
:显示所有当前运行的进程。tasklist /svc
:显示进程和它们服务的对应关系。tasklist /m
:显示进程加载的DLL情况。tasklist /m xx.dll
:查看调用特定DLL的进程。
wmic
命令:运行wmic并输入process,查看进程详细信息。- 判断进程是否可疑的依据:
- 签名验证信息:是否有有效签名。
- 描述信息:是否与预期相符。
- 进程属主:是否合法。
- 进程路径:是否在正常位置。
- 资源占用:长时间CPU或内存占用过高可能可疑。
- 方法二:使用第三方工具
- D盾_web查杀工具:识别常见Webshell和恶意文件。
- Process Explorer:微软提供,查看进程线程、句柄等更多信息。
- 端口排查
- 查看网络连接命令:
netstat -ano
:查看所有活动网络连接及对应进程PID(不显示程序名称)。netstat -anb
:显示程序名称(需管理员权限,部分Windows版本可能不可用)。
- 定位进程:
- 已知PID(如1234):
tasklist | findstr "1234"
。 - 已知端口号(如8080):
netstat -ano | findstr "8080"
。
- 已知PID(如1234):
- 注意:部分命令需以管理员身份运行CMD。
- 查看网络连接命令:
四、异常文件与内存分析
- 异常文件排查
- 敏感目录文件排查:
- temp/tmp目录:可能有恶意软件创建的执行文件或敏感数据。
- 回收站、浏览器下载目录等:恶意软件可能隐藏于此。
- Recent文件:记录用户最近访问的文件,可发现可疑活动。
- Prefetch文件夹:包含系统访问过的文件预读取信息,了解频繁访问文件。
- Amcache.hve文件:存储应用程序兼容性信息,需特定工具读取。
- 基于时间点查找:
forfiles
命令:如forfiles /d +2022/3/16
查找2022年3月16日后创建或修改的文件。- 服务器文件时间排序:在文件资源管理器中按修改日期排序。
- 特殊文件:修改时间在创建时间之前的文件可能可疑。
- 系统自带搜索:基于修改日期等属性搜索。
- 专用工具:D盾、webshellkill等。
- 敏感目录文件排查:
- Windows内存分析
- 任务管理器(Task Manager):查看资源使用率较高的进程,重点关注高内存占用进程。
- Sysinternals工具:
- Process Explorer:查看进程详细信息。
- VMMap:分析进程内存映射。
- 内存转储文件分析:使用WinDbg等调试器加载.dmp文件,分析系统崩溃时内存状态。
五、其他安全检查
检查项目 | 工具/命令 | 重点关注内容 |
---|---|---|
系统账号安全检查 | Netstat、tasklist | 弱口令、异常网络连接、异常进程 |
登录日志审计 | eventvwr.msc | ID 4776和4624(登录成功)事件 |
本地用户组审查 | compmgmt.msc或命令行 | 是否有隐藏账户 |
日志分析 | Log Parser等 | 管理员登录时间、用户行为异常 |
最近文件访问 | %UserProfile%\Recent文件夹 | 可疑或未知活动 |
中间件日志分析 | Tomcat、IIS等日志文件 | 非法访问尝试、异常行为 |
六、网络流量监测
- 实时监测工具:
- Snort:轻量级开源网络入侵检测系统,可在Windows环境部署,通过配置规则集检测常见攻击模式(如特定漏洞利用的特征流量)。例如,针对已知SQL注入漏洞风险,配置规则后,监测到符合特征的HTTP请求流量会立即报警。
- Suricata:开源入侵检测和防御引擎,具备高性能和多线程处理能力,能检测常见攻击及加密流量中的异常行为。在Windows服务器所在网络部署,可监测网络边界流量,若发现大量到未知IP的异常加密连接尝试,会记录信息并报警,助力识别攻击者建立加密通信信道等恶意活动。
- 流量分析要点:
- 异常连接模式:关注大量短时间内建立又断开的连接,可能是端口扫描。如服务器某端口收到同一IP的大量TCP连接尝试且快速断开,可能是攻击者在扫描可利用端口。
- 流量方向与规模:内部服务器向外部未知IP传输大量远超正常业务需求的数据,可能存在数据泄露风险。如数据库服务器向未经授权IP传输大量非业务数据,可能已遭入侵导致数据被窃取。
七、第三方软件漏洞检查
- 常见软件漏洞风险:
- 办公软件漏洞:以Microsoft Office为例,部分版本存在宏病毒漏洞,攻击者构造恶意宏代码,用户打开含恶意宏的文档时,代码自动执行,可能获取系统权限、植入恶意软件或窃取敏感信息。
- 浏览器插件漏洞:部分广告拦截、密码管理等插件可能存在漏洞,攻击者可利用这些漏洞获取用户浏览数据、密码等。如曾有黑客利用知名密码管理插件漏洞获取大量用户密码。
- 漏洞检查与修复:
- 定期漏洞扫描:使用Nessus、OpenVAS等专门工具,对Windows系统上的第三方软件进行扫描。如Nessus可识别软件版本并与漏洞数据库比对,发现存在远程代码执行漏洞的某版本Java等,提醒修复。
- 及时更新软件:关注第三方软件供应商的安全更新,及时下载安装补丁。如Adobe Acrobat Reader发布安全更新后,需立即安装以修复漏洞,防止被攻击。
八、注册表深度审查
- 关键注册表项监测:
- 自启动相关项:除常见项外,关注
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
,其中Userinit
和Shell
键值决定用户登录时启动的程序。若被恶意修改添加未知可执行文件路径(如Userinit
值被改为C:\Windows\system32\userinit.exe,malicious.exe
),可能导致恶意程序在登录时自动启动。 - 服务相关项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
包含所有服务配置信息,审查时注意服务的ImagePath
值,确保指向合法路径。若指向可疑路径(如C:\Windows\temp\malicious_service.exe
),该服务可能为恶意,攻击者可能借此实现持久化控制等操作。
- 自启动相关项:除常见项外,关注
- 注册表变化追踪:
- 使用注册表监控工具:Regshot可记录注册表初始状态,一段时间后再次扫描并对比,显示所有变化。排查时,在系统正常时生成初始快照,怀疑入侵后再次扫描,通过对比发现新增、修改或删除的键值(如新增可疑自启动项),便于深入分析。
- 系统自带审核策略:通过组策略编辑器(gpedit.msc)启用“审核对象访问”策略,在注册表项属性中设置审核权限。程序修改注册表时,系统会在安全日志(eventvwr.msc)记录事件,助力追踪恶意操作。
关键问题:
- 问题:在Windows入侵排查中,如何有效识别隐藏的恶意用户账号?
答案:可通过wmic useraccount get name,SID
命令查看用户信息,因为net user
命令无法查看隐藏账号(用户名后跟$的为隐藏账号);也可使用lusrmgr.msc
图形界面检查账户列表,寻找可疑或未知的隐藏账户。 - 问题:在进程排查中,判断一个进程是否可疑的依据有哪些?
答案:主要依据包括:进程是否有有效的签名验证信息;进程的描述信息是否与预期相符;进程的属主是否合法,是否属于预期的账户或用户组;进程的可执行文件路径是否在正常位置(如系统目录或用户应用程序目录);进程是否长时间占用过高的CPU或内存资源,尤其是系统性能下降时。 - 问题:如何通过命令排查Windows系统中与特定端口(如8080)相关的网络连接及对应进程?
答案:首先使用netstat -ano | findstr "8080"
命令,列出所有与端口8080相关的连接及对应的PID;然后根据得到的PID(如1234),使用tasklist | findstr "1234"
命令过滤出该PID对应的进程信息,从而完成排查。注意执行这些命令可能需要以管理员身份运行CMD。