首页
社区
课程
招聘
EDR hook和服务进程怎么通讯的
发表于: 2024-5-12 14:52 3381

EDR hook和服务进程怎么通讯的

2024-5-12 14:52
3381

在分析crowdstrike,会有两个dll加载到每个进程hook ntdll的一些函数,想找出来hook dll是怎么把记录到的信息传递给服务进程的,通过process explorer查看句柄,用api monitor监控,IDA逆向都没找到。猜想的两种可能,一种是etw,另外一种是共享内存,有没有分析过的,请指导下


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 3126
活跃值: (3251)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
不晓得,要是etw的话应该是cs自己的provider吧,那应该在驱动了可能
2024-5-13 10:28
0
雪    币: 10308
活跃值: (4510)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
或者你可以把安装包留一个,等大佬来看 
2024-5-13 12:22
0
雪    币: 612
活跃值: (996)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
R0注册SystemRegisterFirmwareTableInformationHandler回调,  R3通过NtQuerySystemInformation的SystemFirmwareTableInformation把数据通讯传到R0的回调函数
2024-5-14 13:04
0
雪    币: 160
活跃值: (187)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
多谢大佬!
2024-5-15 11:16
0
雪    币: 993
活跃值: (494)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

CS的通讯分成三个部分,一个是用户模式数据互通,一个是内核模式事件派遣,再一个是用户-内核模式互通。
你看到的XUMD和UMPPC是跟CSFalconService.exe通信的,并且用户模式的一系列事件相关注册都是在CSFalconService.exe里。类似Etw之类有内核模式数据源支持的,那么所有的处理都是在内核完成,并不下发到用户模式。对于这些用户模式HOOK捕获的信息,一般的数据流是DLL->CSFalconService.exe->CSAgent.sys


PS1: 话说CS是不往中国卖服务的啊,楼主是怎么搞到的CID?
PS2: 话说楼主的安装包怎么搞来的?如果你是直接拷贝的已经安装的文件的话,CID如果不是有效的话,Sensor很可能并没有完全的正常工作。

最后于 2024-5-19 08:14 被Hiddukel编辑 ,原因:
2024-5-19 08:11
1
雪    币: 160
活跃值: (187)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
多谢,在外企做soc运营这些都可以拿到。之前分析了向云端通信是在内核csagent.sys完成的,如果网络断开重启后记录的日志就丢失不传送到云端了。
CsfalconService.exe内使用了rocksdb应该是记录日志的。
把umppc的数据部分的一些字段设置成0,NtQuerySystemInformation的调用就没了,不知道能不能绕过hook部分的检测。还有传递给NtQuerySystemInformation,似乎是被hook的函数调用参数,如果在csfalconservice检查,会不会导致漏洞。XUMD也是依赖umppc和内核传递数据的吗,这块还没分析清楚。
2024-5-19 20:09
0
雪    币: 993
活跃值: (494)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

XUMD和UMPPC是两个东西,这两个东西互相不隶属,他们之间可以共存,取决于客户的需求可以动态开启关闭。 UMPPC是最早的用户模式HOOK模块,代码已经很久不更新了,基本上用户模式的代码注入相关的逻辑还留存,别的很多检测逻辑都在往内核移。

XUMD是UMPPC的升级,HOOK多了一些,并且加了一些主动探测相关的逻辑。

最后于 2024-5-20 01:30 被Hiddukel编辑 ,原因:
2024-5-20 01:29
0
游客
登录 | 注册 方可回帖
返回
//