高手应对反入侵工具的常用手段

2024-06-01

高手应对反入侵工具的常用手段

高手应对反入侵工具的常用手段 篇1

GlobalFlag为0x4000,这是做什么呢?原来这会使得NtGlobalFlag加入Maintain

Object Typelist标志,于是系统创建对象时会把它加入Type链表中,这样可以遍历链表来查找对象,修改标志需要重启机器,这应该就是“强模式”要重启的理由。 正如那位会员所说,作者故意隐瞒了这点,我也觉得不妥:如果是为了防止别人crack,也应该提供卸载程序的,因为这个标志一直不被清除,不再使用DarkSpy的用户依然会为此付出代价:每个内核对象都要额外分配16字节的核心空间,那成千上万的对象呢?

这个技巧对DKOM来说比较weak了,用下面的代码清除:

VOID

ClearObjectCreatorInfo(

PVOID Object

)

{

POBJECT_HEADER bjectHeader = OBJECT_TO_OBJECT_HEADER(Object);

POBJECT_HEADER_CREATOR_INFO CreatorInfo =

OBJECT_HEADER_TO_CREATOR_INFO(ObjectHeader);

if (CreatorInfo != NULL)

{

RemoveEntryList(&CreatorInfo->TypeList);

InitializeListHead(&CreatorInfo->TypeList);

}

}

传入处理的对象就脱链了。这几行代码可让“强模式”失效,

下面简单说说击破的法门:

一、驱动:

DarkSpy1.0.3版及以前很简单,学习Futo rootkit断开PsLoadedModuleList,再将驱动对象传入上面的ClearObjectCreatorInfo,不论“强模式”还是“弱模式”均搞定。DarkSpy1.0.4版有了修改,不过依旧是查找DriverObject,在适当的时候清理掉就可以了,比如可以walkkernel object tree,还有更简单的办法:)

二、进程:

DarkSpy的进程功能把好多东西堆到一起来恶心rootkit的作者们,怎么样,被恶心到了吧?虽

然里面的技术可能不新鲜,但是这么一组合,难以全部清除的。下面把隐藏需要做的事列举列举:

1、PspCidTable就学futo抹掉;

2、进程、线程对象传入ClearObjectCreatorInfo;

3、它还使用csrss里的进程句柄,直接到csrss进程里ZwClose掉最简单;

4、DarkSpy在我的机器崩溃过,分析dump,原来与杀软冲突:它也hook了SwapContext,不好办?

恢复不就行了。恢复时机很重要,相信你也能想到不错的。说说我的思路:在任一条call SwapContext之前的路径上下hook,hook的程序什么也不做,专门检查SwapContext,被改则改回去,这是很通用的做法,它要是hook别的地方也一样搞定。

5、还有一个由线程到进程的,自己去发掘吧,也该动动手么...嘿嘿。

最后可以完全隐藏自己的进程,不过你累不累,什么东西非有进程才能做,没进程就不能做?都核心驱动了...感觉真没必要。

三、文件:

据说是Create IRP,嘿嘿,不过我还没学文件系统驱动,那位大虾补充吧。

四、注册表:

虽测试版没有功能,但看看界面可以猜测猜测内部版:应该是复制或是仿制开源工具RegHives来做的,击破的原理网上有不少。只是dump的方法可能不同。

★ 沼气安全事故应对措施

★ 应对火灾的急救措施

★ 应对地震措施的英语作文

★ 黑客拜师推荐信 范文

★ 入侵检测技术

上一篇:中国梦教师论文下一篇:螺旋千斤顶产品设计书