系统安全二进制安全汇编 [2021]PatchGuard的 sub_1403DA6F0 回调研究(二) [上一文章](https://key08.com/index.php/2021/06/28/1190.html "上一文章") 中,我们介绍了PG的回调,本篇文章将会大概介绍一下这个回调所调用的sub_1403DA6F0的一些内容: 阅读全文 2021-08-01 huoji 0 条评论
系统安全工具软件二进制安全C/C++一线开发 [2021]检测Cobalt Strike只使用40行代码 无文件落地的木马主要是一段可以自定位的shellcode组成,特点是没有文件,可以附加到任何进程里面执行。一旦特征码被捕获甚至是只需要xor一次就能改变特征码.由于传统安全软件是基于文件检测的,对目前越来越多的无文件落地木马检查效果差. **基于内存行为特征的检测方式,可以通过检测执行代码是否在正常文件镜像区段内去识别是否是无文件木马.由于cobaltstrike等无文件木马区段所在的是private内存,所以在执行loadimage回调的时候可以通过堆栈回溯快速确认是否是无文件木马** 检测只需要40行代码: 1. 在loadimagecallback上做堆栈回溯 2. 发现是private区域的内存并且是excute权限的code在加载dll,极有可能,非常有可能是无文件木马或者是shellcode在运行 核心代码如下: 阅读全文 2021-07-25 huoji 0 条评论
系统安全C/C++一线开发 [2021]利用错误的异常处理来检测基于cuckoo的沙箱 在上一篇文章中 [[2021]检测hypervisor -国内各大安全沙箱测评](https://key08.com/index.php/2021/07/03/1222.html "[2021]检测hypervisor -国内各大安全沙箱测评") 我要指正一个错误 那就是freebuf的和微步在线的沙箱并不是不支持icebp指令,而是因为他们是基于cuckoo的沙箱,而这个cuckoo的沙箱存在一个很明显的bug -**不会分发异常** 在沙箱里面启动进程的时候, cuckoo沙箱会注入一个monitor到进程里面通过hook监视进程操作,其中一个异常处理的hook实现如下: 阅读全文 2021-07-04 huoji 0 条评论
系统安全 [2021]windows 11 :TPM 和数字主权 你可能已经注意到,也可能没有注意到,很多人都想知道 Microsoft 针对 Windows 11 的新的强制性 TPM 2.0 硬件要求。如果你环顾新闻稿、浅显的技术文档以及诸如“安全性”、“设备健康”、“固件漏洞”和“恶意软件”,你仍然没有得到一个关于为什么你需要这项技术的直接答案。 ![](https://key08.com/usr/uploads/2021/07/950461748.png) 阅读本文的许多人可能在房子或办公室周围都有机器,它们是用甚至不到七年的硅制造的。这些仍然可以玩当今的最新游戏而不会出现故障或问题,除非你最近让你的祖母或 6 岁的侄子在机器上,否则你可能也没有恶意软件。 那么,你会问,为什么我的机器上突然需要一个 TPM 2.0 设备?嗯,答案很简单。这与你无关;是关于他们的。 阅读全文 2021-07-02 huoji 0 条评论
系统安全二进制安全C/C++一线开发 [2021]PatchGuard的 542875F90F9B47F497B64BA219CACF69 回调研究(一) 在研究/看别人研究PG的时候,我注意到了在KiFilterFiberContext函数里面的一个 ![](https://key08.com/usr/uploads/2021/06/652292203.png) 这个操作 在 [windows10 patchguard 分析研究(版本:1803)](https://key08.com/index.php/2021/01/09/880.html "windows10 patchguard 分析研究(版本:1803)") 中,他们说这个是注册了一个 "TV" 回调 实际上是错误的,这个 "TV"字符串只是用于填充 ObjectAttributes.ObjectName这个字段的unicode_string,真实名字应该叫做"542875F90F9B47F497B64BA219CACF69",仅此而已 如果你想跟进sub_140386010 你就错了,**这个函数是一个巨大的、不可名状的、超过1W+行代码**的PG检查函数(10990行代码),至于是什么我们会在下文说,先关心一下这个注册了什么回调: 阅读全文 2021-06-28 huoji 0 条评论
系统安全工具软件二进制安全C/C++一线开发 [2021]让InfinityHook再次伟大 make InfinityHook great again ## 前言 在我折腾InfinityHook的时候我发现2004下系统没啥作用,原因是在2004系统上 WMI_LOGGER_CONTEXT->GetCpuClock已经不是rdtsc()函数了而是一个叫做 EtwpGetLoggerTimeStamp的函数 ![](https://key08.com/usr/uploads/2021/06/239927485.png) EtwpGetLoggerTimeStamp函数按照WMI_LOGGER_CONTEXT->GetCpuClock的值有如下操作: 大于3抛异常 等于3用rdtsc 等于2用off_140C00A30 等于1用KeQueryPerformanceCounter 等于0用RtlGetSystemTimePrecise 3,1,0都好说,但是这个2的off_140C00A30是什么鬼? 阅读全文 2021-06-23 huoji 5 条评论