当前位置: 首页 > news >正文

ATTCK视角下的信息收集:Sysmon检测

目录

1、简介

2、使用Sysmon

3、检测Sysmon是否安装运行

4、检测Sysmon是否被卸载

5、使Sysmon在终端隐匿运行的技术


1、简介

Sysmon(系统监视器)是由windows sysinternals 出品的Sysinternals 系列工具中的一个

它是windows系统服务和设备驱动程序,一旦安装在系统上,便会在运行期间监视系统活动并且将其记录到windows事件日志中

可以使用相关的日志收集工具收集事件并且随后进行分析,就可以实现识别单个主机的潜在恶意活动

因为信息都会保存在Windows eventlog中,因此使用SIEM(安全信息和事件管理)工具可以更加轻松的收集信息,使用配置文件创建规则并且指定即可

在实际的攻防对抗中:

  1. 红队和渗透测试人员首先需要判断目标系统中市是否存在Sysmon

  2. 如果发现目标主机安装了Sysmon,请勿在这台主机上做过多的曹组,因为Sysmon会记录大多数的操作。这会增加被发现的概率

2、使用Sysmon

sysmon64.exe工具下载地址:Sysmon - Sysinternals | Microsoft Learn

执行sysmon64.exe -accepteula -i -n 命令可以启动sysmon 

下面是一些Sysmon的常见命令选项:

安装:sysmon64 -i [<configfile>]
更新配置:sysmon64 -c [<configfile>]
安装事件清单:sysmon64 -m
打印架构:sysmon64 -s
卸载:sysmon64 -u [force]

3、检测Sysmon是否安装运行

一般可以通过进程名、服务名、驱动名等来判断计算机是否安装了sysmon,但是EDR类程序会隐藏服务名称,并且不需要运行特定的进程,还可以使用特定的工具修改sysmon对应的驱动名

此时可以从注册表中查找进阶检测sysmon是否存在的方法,即使sysmon对应的服务名被修改,还有固定的描述信息,可以通过搜索该描述信息来检索对应服务

(1)安装了sysmon后,系统会启动名为sysmon的进程,可以在powershell中执行Get-Process | where Object { $_.ProcessName -eq "Sysmon64" } 命令枚举进程查看是否安装Sysmon

(2)安装了Sysmon后,系统还会创建一个名为 System Moniyor service 的服务,可以使用以下命令来枚举服务查看目标主机是否已经安装了Sysmon

(3)执行了一下命令可以通过注册表检测是否已经安装了Sysmon

(4)执行一下命令可以通过服务的描述信息来搜索到相应的服务

4、检测Sysmon是否被卸载

  • Sysmon事件ID255:详细的错误消息DiverCommunication

  • Windows系统事件1:从源FilterManager中声明 "File System Filter <DiverName>"

  • Windodws 安全事件ID4672:SeloadedDriverPrivileges被授予STSTEM以外的账户

  • Sysmon事件ID1/Windows安全事件4688:该事件是Sysmon中驱动程序错误发生之前的最后一个事件,与驱动程序卸载相关的异常高完整性进程

5、使Sysmon在终端隐匿运行的技术

攻击者在获得主机权限后,会检测是否存在sysmon等终端日志记录工具,如果存在则攻击者会通过技术手段绕过日志检测,以增大安全人员的溯源的难度。可以使用一下方法来避免攻击者发现终端上的sysmon进程:

  • 修改Sysmon驱动名

  • 修改Sysmon文件名

  • 修改Sysmon服务名

  • 修改Sysmon释放的资源文件路径

  • 修改服务描述:可以通过windows API、注册表、Windows服务管理器直接修改

  • 修改注册表项:HKCU\Software\Sysinternals,可以在安装结束后删除相关项

http://www.lryc.cn/news/277086.html

相关文章:

  • 02、Kafka ------ 配置 Kafka 集群
  • 2024年全球网络安全预测报告
  • Qt - QML与C++数据交互详解
  • Kettle Local引擎使用记录(一)(基于Kettle web版数据集成开源工具data-integration源码)
  • Java--业务场景:在Spring项目启动时加载Java枚举类到Redis中(补充)
  • WPF 基础入门(资源字典)
  • 文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑电氢耦合和碳交易的电氢能源系统置信间隙鲁棒规划》
  • ubuntu设定时间与外部ntp同步
  • DataFrame详解
  • 控制障碍函数(Control Barrier Function,CBF) 三、代码
  • 哈希表-散列表数据结构
  • C# 强制类型转换和as区别和不同使用场景
  • 什么是 DDoS 攻击
  • c++隐式类型转换与explicit
  • BERT Intro
  • “To-Do Master“ GPTs:重塑任务管理的趣味与效率
  • npm安装vue,添加淘宝镜像
  • LeetCode 2707. 字符串中的额外字符
  • Js进阶31-DOM 操作专题
  • Hive之set参数大全-4
  • 竞赛保研 基于深度学习的人脸识别系统
  • 9.建造者模式
  • 简单的MOV转MP4方法
  • YOLOv8改进 | Neck篇 | 利用ASF-YOLO改进特征融合层(适用于分割和目标检测)
  • 基于模块自定义扩展字段的后端逻辑实现(一)
  • 力扣:18.四数之和
  • .netcore 6 ioc注入的三种方式
  • Python轴承故障诊断 (十)基于VMD+CNN-Transfromer的故障分类
  • 【复习】人工智能 第7章 专家系统与机器学习
  • 使用 Apache PDFBox 操作PDF文件