当前位置:首页 > 技术 > 正文内容

基于行为监控与流量分析的主机安全检测实践

访客 技术 2026年7月14日 1

一、系统活动监控实施

  1. 定时任务实现程序联网记录 为掌握主机每日运行状态,需建立周期性监控机制。首先通过管理员权限激活账户,确保操作具备足够执行权限:
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 地址通信等。

  1. 使用 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" 日志流中定位到具体连接记录,验证了配置有效性。

二、恶意行为深度分析手段

  1. 利用 VirusTotal 进行初步鉴定 VirusTotal 提供多引擎联合扫描能力,适用于对可疑二进制文件进行快速风险评估。上传样本后可获得包括卡巴斯基、火眼、ESET 等超过 70 家厂商的检测结果,辅助判断其是否被广泛识别为恶意程序。同时提供的哈希值信息可用于威胁情报关联查询。

  2. 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)标志指示接收方应立即将数据提交给上层应用,而非缓存等待窗口填充,常用于交互式命令传输场景,符合远控工具实时响应需求。

  1. SysTracer 注册表变更对比 借助 SysTracer 对受控主机进行快照比对。分别在植入前与建立控制后拍摄系统状态,重点关注注册表关键路径变化(如 Run 键、服务项、COM 加载等)。两次快照间隔约三分钟,结果显示多个注册表项被新增或修改,暗示持久化机制可能已被部署。

三、应对策略与技术选型建议

  1. 主机异常行为监测方案设计 若怀疑某主机存在隐蔽恶意代码,建议构建多层次监控体系:
  • 日志聚合分析:采用 Splunk 或 ELK 栈集中收集系统日志,设定规则检测异常登录、权限提升、计划任务创建等敏感事件。
  • 网络行为审计:结合 NetFlow 导出数据与抓包工具(如 tcpdump/Wireshark),识别外联频率突增、连接黑名单 IP、DNS 隧道等可疑模式。
  • 定期全盘扫描:运行 ClamAV(Linux)或 Windows Defender 离线扫描,结合 YARA 规则匹配潜在恶意特征码。
  1. 可疑进程深入调查工具链 一旦锁定目标进程,可运用以下工具展开取证:
  • Process Monitor (ProcMon):实时监控文件读写、注册表访问、网络连接及动态注入行为,支持精细过滤定位问题源头。
  • Wireshark / NetworkMiner:深入解析该进程产生的网络流量,还原通信协议结构,提取载荷特征。
  • PE Tools / strings:提取二进制文件中的可打印字符串、导入表、资源段等静态信息,辅助逆向推断功能意图。

实验过程中曾因忽略权限设置导致日志为空,仅输出"请求的操作需要提升"。此问题根源在于计划任务默认以受限上下文运行。修正方式即显式声明 /RL HIGHEST,确保脚本能调用需要管理员权限的 netstat -b 参数(显示可执行文件名)。这一细节凸显了权限控制在安全监控实施中的基础重要性。

标签: Sysmon

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。