事件概述
在防火墙监控中检测到一台内部 Windows 主机(通过其 IP 地址识别)发起了对一个或多个恶意域名的网络连接。这可能表明该主机已受到恶意软件感染,需要立即进行排查和处理。
1. 识别恶意请求来源
1.1. 检查防火墙日志
- 在防火墙管理界面中,找到相关的日志记录,确定:
- 访问的恶意域名
- 访问的时间
- 发起请求的设备 IP
- 访问的协议(如 HTTP、HTTPS、DNS 等)
- 源端口和目标端口
1.2. 在 Windows 设备上检查 DNS 解析历史
在受感染的 Windows 设备上,使用以下命令查看 DNS 缓存:
ipconfig /displaydns
查找是否存在恶意域名,并记录相关条目。同时,检查 DNS 服务器的指向,是否被篡改。
1.3. 查找相关进程
使用以下命令查看当前连接的域名和进程:
Get-NetTCPConnection -State Established | Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,OwningProcess | Format-Table -AutoSize
找到与恶意域名相关的 IP 地址,并记录对应的进程 ID(PID)。
然后使用:
Get-Process -Id <PID> -IncludeUserName
查看是哪个进程在发起恶意请求,并查看进程的用户名,来判断是否是异常进程。
1.4. windows事件日志分析
- 打开事件查看器,检查“Windows 日志”下的“应用程序”、“安全”和“系统”日志。
- 重点关注以下事件:
- 异常的登录尝试(安全日志)。
- 应用程序错误或崩溃(应用程序日志)。
- 系统错误或警告(系统日志)。
- 查找与恶意软件活动相关的事件,例如:
- 可疑的进程启动或终止。
- 异常的文件访问或修改。
- 网络连接错误。
1.5. 使用wireshark抓包分析
- 在受感染主机上安装 Wireshark,捕获网络流量。
- 使用过滤器(例如,
dns.qry.name contains "malicious-domain.com"
)来查找与恶意域名相关的流量。 - 分析流量中的数据包,查找恶意软件的通信模式和数据内容。
- 重点关注以下信息:
- 恶意软件使用的协议和端口。
- 恶意软件通信的 IP 地址和域名。
- 恶意软件传输的数据内容。
2. 终止并分析恶意进程
2.1. 终止可疑进程
- 当发现感染的进程是系统进程时:
- 仔细核对:使用Process Explorer等工具,查看进程的详细信息。
- 数字签名验证:检查系统进程的数字签名。
- 资源占用异常:监控系统进程的CPU、内存和网络占用情况。
- 网络连接异常:通过netstat,wireshark等工具,确认系统进程的网络链接,是否链接了可疑的IP或者域名。
- 隔离网络:立即将受感染的主机从网络中隔离。
- 安全模式扫描:重启计算机进入安全模式,进行全面扫描。
- 系统文件检查器(SFC):使用
sfc /scannow
命令扫描并修复受损的系统文件。 - DISM工具:使用DISM工具,对系统镜像进行修复。
- 系统还原:尝试回滚到感染前的状态。
- 分析恶意软件:提取可疑的系统进程文件进行恶意软件分析。
- 考虑重装系统:如果以上方法无效,考虑重装系统。
- 找到可疑进程后,可以手动终止:
Stop-Process -Id <PID> -Force
或者在任务管理器中找到对应进程并结束任务。在终止前,使用工具进行进程的快照。
2.2. 分析进程启动项
使用以下命令检查进程是否在开机启动:
Get-CimInstance Win32_StartupCommand | Select-Object Name, Command, Location
如果发现恶意进程,手动删除启动项,或者使用 msconfig
检查启动项。同时检查服务列表,是否有可疑服务在运行。
3. 查找恶意文件
3.1. 检查系统文件
使用 Windows Defender 进行完整扫描:
Start-MpScan -ScanType FullScan
或者使用 ClamAV(适用于 Windows 版本)进行手动扫描:
clamscan.exe -r C:\ --bell --remove
同时可以使用其他的杀毒软件进行辅助查杀
3.2. 使用 Autoruns 检查隐藏启动项
下载 Autoruns,运行后检查是否有恶意程序在系统启动时运行。尤其关注隐藏的启动项和服务。
3.3. 检查 Hosts 文件
打开 Hosts 文件:
notepad C:\Windows\System32\drivers\etc\hosts
删除所有与恶意域名相关的可疑条目。检查是否有异常的指向。
4. 阻止恶意域名
在本地防火墙或 Windows Defender 中阻止恶意域名:
New-NetFirewallRule -DisplayName "Block Malicious Domain" -Direction Outbound -Action Block -RemoteAddress <恶意IP>
或者在 Hosts 文件中将恶意域名指向本地:
127.0.0.1 malicious-domain.com
同时,在企业环境中,需要在边界防火墙,IDS/IPS 等设备中添加封禁策略。
5. 排查后门和持久化机制
5.1. 检查计划任务
Get-ScheduledTask | Where-Object {$_.TaskName -match "malware"}
删除任何可疑任务:
Unregister-ScheduledTask -TaskName "<TaskName>" -Confirm:$false
5.2. 检查注册表
查看注册表启动项:
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run
删除可疑项:
reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v "<恶意项>" /f
同时,检查其他的注册表启动项,例如 RunOnce,RunServices 等。
5.3 检查网络连接
通过 netstat 命令,检查异常网络连接。
netstat -ano
6. 进行系统修复
如果感染严重,可以执行以下操作:
- 系统还原:回滚到之前的快照
- 重装 Windows:如果找不到恶意软件的来源,建议重装系统
- 更改密码:如果怀疑凭据被窃取,建议更改相关账户密码
- 隔离受感染主机:将受感染主机从网络中隔离,防止横向传播。
- 分析恶意软件样本:如果可能,提取恶意软件样本进行分析,了解其行为和目的。
- 更新安全补丁:确保系统和应用程序都安装了最新的安全补丁。
- 全网安全扫描:对网络中的其他主机进行安全扫描,确保没有其他主机受到感染。
- 备份重要数据:在重装系统前,尽可能的备份重要数据。
发表回复