首页
社区
课程
招聘
[原创]DanderSpritz 删除单条事件日志功能逆向还原
2017-7-19 09:02 10268

[原创]DanderSpritz 删除单条事件日志功能逆向还原

2017-7-19 09:02
10268

前段时间看到 NSA 的 DanderSpritz 可以单条删除事件日志, 就逆向看了下, 下面把逆向还原后的删除模块代码放出来, 仅供技术交流, 勿用于非法用途.

通过分析可以知道, DanderSpritz 删除日志时会先把删除模块注入到事件日志所在服务, 然后调用删除模块的导出函数进而完成相关功能. DanderSpritz 删除模块支持的系统版本(判断 wevtsvc.dll 的文件版本)(x86/x64):
6.0.6000.16386
6.0.6001.18000
6.0.6002.18005
6.1.7600.16385
6.1.7601.17514
6.2.9200.16384

根据它的删除原理(详见还原后的代码)可以知道, 它在删除时并没有把事件日志真正的从本地文件中删除, 只是做了隐藏. 通过删除原理逆推, 是可以还原一部分日志的. 这里也把还原日志的 Demo 代码放出来.

分析时一些结构信息主要参考自: https://github.com/libyal/libevtx/blob/master/documentation/Windows%20XML%20Event%20Log%20(EVTX).asciidoc


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

上传的附件:
收藏
点赞1
打赏
分享
最新回复 (7)
雪    币: 12837
活跃值: (8998)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
hzqst 3 2017-7-19 09:16
2
0
libyal这老哥下面有超多解析windows未公开结构的库
雪    币: 436
活跃值: (111)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
污师 2 2017-7-19 09:48
3
0
hzqst libyal这老哥下面有超多解析windows未公开结构的库
看了一下还真是,  之前都没看...
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
liguangzhi 2017-8-8 09:10
4
0
在win7  32/64测试失败了,不知道是不是操作错误导致的。
雪    币: 436
活跃值: (111)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
污师 2 2017-8-23 14:33
5
0
liguangzhi 在win7 32/64测试失败了,不知道是不是操作错误导致的。
我自己在  Win7  SP1  32  和  2008  R2  测试过是可以的
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
studytoNB 2017-8-24 17:05
6
0
                                                                                       win7   32位和64位测试GetObjectFromOffset里面的ptr_EventService_vftable   =   *(PBYTE   *)(ptr   +   v2);   为空。。                                                                                
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
studytoNB 2017-8-28 16:05
7
0
这个dll工程是要注入到别的进程运行吗?新建的一个控制台程序GetModuleHandle(TEXT("wevtsvc.dll"))是空的啊,loadlibrary后在GetModuleHandle,GetObjectFromOffset里面的ptr_EventService_vftable    =    *(PBYTE    *)(ptr    +    v2);    为空。。 
雪    币: 436
活跃值: (111)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
污师 2 2017-8-31 09:27
8
0




studytoNB

这个dll工程是要注入到别的进程运行吗?新建的一个控制台程序GetModuleHandle(TEXT("wevtsvc.dll"))是空的啊,loadlibrary后在GetMod ...

对..是要注入到事件日志服务所在进程

游客
登录 | 注册 方可回帖
返回