基于行为监控与流量分析的主机安全检测实践
一、系统活动监控实施
- 定时任务实现程序联网记录 为掌握主机每日运行状态,需建立周期性监控机制。首先通过管理员权限激活账户,确保操作具备足够执行权限:
net user administrator /active:yes
随后创建计划任务,利用 Windows 自带的 schtasks 命令每分钟触发一次批处理脚本:
schtasks /create /TN connlog_2021 /sc MINUTE /MO 1 /TR "C:\monitor\conncheck.bat" /RL HIGHEST
其中 /RL HIGHEST 参数至关重要,避免因权限不足导致命令无法执行。
在指定路径下编写批处理文件 conncheck.bat,用于收集时间戳及当前网络连接详情:
echo [Date] >> C:\monitor\connection.log
date /t >> C:\monitor\connection.log
echo [Time] >> C:\monitor\connection.log
time /t >> C:\monitor\connection.log
echo [Connections] >> C:\monitor\connection.log
netstat -bn >> C:\monitor\connection.log
经过数小时运行后,将生成的日志导入数据分析工具进行结构化处理,识别出频繁建立外部连接的应用进程及其目标地址。例如浏览器、更新服务和第三方软件通常会连接特定域名或 CDN 节点;而异常行为可能表现为连接非常见端口(如非标准 HTTP/HTTPS)、与地理位置不符的 IP 地址通信等。
- 使用 Sysmon 进行高级行为追踪 部署 Sysmon(System Monitor)以实现更深层次的系统事件捕获。从官方渠道获取工具包并解压后,需配置 XML 规则文件定义监控策略。
初始配置版本适配问题提示后,调整 schema 版本号至实际安装版本(如 4.90),并优化过滤规则:
<Sysmon schemaversion="4.90">
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- 排除系统核心组件驱动加载 -->
<DriverLoad onmatch="exclude">
<Signature condition="contains">microsoft</Signature>
<Signature condition="contains">windows</Signature>
</DriverLoad>
<!-- 屏蔽常见浏览器和本地回环流量 -->
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<SourceIp condition="is">127.0.0.1</SourceIp>
<SourcePort condition="is">137</SourcePort>
</NetworkConnect>
<!-- 明确关注高风险端口通信 -->
<NetworkConnect onmatch="include">
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">443</DestinationPort>
<DestinationPort condition="is">1318</DestinationPort>
</NetworkConnect>
<!-- 监控远程线程注入行为 -->
<CreateRemoteThread onmatch="include">
<TargetImage condition="end with">explorer.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
使用以下命令注册服务并加载配置:
Sysmon.exe -i sysmon_config.xml
后续可通过 Sysmon.exe -c updated_config.xml 动态更新规则。
在模拟攻击场景中,成功捕获到由攻击机发起的 IPv6 回连请求,并在 Windows 事件查看器的 "Microsoft > Windows > Sysmon > Operational" 日志流中定位到具体连接记录,验证了配置有效性。
二、恶意行为深度分析手段
-
利用 VirusTotal 进行初步鉴定 VirusTotal 提供多引擎联合扫描能力,适用于对可疑二进制文件进行快速风险评估。上传样本后可获得包括卡巴斯基、火眼、ESET 等超过 70 家厂商的检测结果,辅助判断其是否被广泛识别为恶意程序。同时提供的哈希值信息可用于威胁情报关联查询。
-
Wireshark 流量解析 针对已知攻击IP(如 47.116.178.215),在 Wireshark 中设置过滤表达式:
tcp && (ip.src == 47.116.178.215 || ip.dst == 47.116.178.215)
观察到大量加密 TCP 数据包,表明通信内容已被混淆或使用 TLS 加密。值得注意的是,在木马初始化阶段未出现该 IP 的交互流量,但在后续操作如信息采集(sysinfo)时,客户端主动向远程服务器 2066 端口发送带有 PSH 标志的数据段。
PSH(Push)标志指示接收方应立即将数据提交给上层应用,而非缓存等待窗口填充,常用于交互式命令传输场景,符合远控工具实时响应需求。
- SysTracer 注册表变更对比 借助 SysTracer 对受控主机进行快照比对。分别在植入前与建立控制后拍摄系统状态,重点关注注册表关键路径变化(如 Run 键、服务项、COM 加载等)。两次快照间隔约三分钟,结果显示多个注册表项被新增或修改,暗示持久化机制可能已被部署。
三、应对策略与技术选型建议
- 主机异常行为监测方案设计 若怀疑某主机存在隐蔽恶意代码,建议构建多层次监控体系:
- 日志聚合分析:采用 Splunk 或 ELK 栈集中收集系统日志,设定规则检测异常登录、权限提升、计划任务创建等敏感事件。
- 网络行为审计:结合 NetFlow 导出数据与抓包工具(如 tcpdump/Wireshark),识别外联频率突增、连接黑名单 IP、DNS 隧道等可疑模式。
- 定期全盘扫描:运行 ClamAV(Linux)或 Windows Defender 离线扫描,结合 YARA 规则匹配潜在恶意特征码。
- 可疑进程深入调查工具链 一旦锁定目标进程,可运用以下工具展开取证:
- Process Monitor (ProcMon):实时监控文件读写、注册表访问、网络连接及动态注入行为,支持精细过滤定位问题源头。
- Wireshark / NetworkMiner:深入解析该进程产生的网络流量,还原通信协议结构,提取载荷特征。
- PE Tools / strings:提取二进制文件中的可打印字符串、导入表、资源段等静态信息,辅助逆向推断功能意图。
实验过程中曾因忽略权限设置导致日志为空,仅输出"请求的操作需要提升"。此问题根源在于计划任务默认以受限上下文运行。修正方式即显式声明 /RL HIGHEST,确保脚本能调用需要管理员权限的 netstat -b 参数(显示可执行文件名)。这一细节凸显了权限控制在安全监控实施中的基础重要性。