危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2289 浏览18790515

给远控添加Rootkit保护

危险漫步喜欢在网上搜寻远控,但至今还没有找到真正让我满意的Rootkit远控。有一天在网上看到一些比较好的保护文件、进程、注册表项的驱动代码,我想如果我们自己准备驱动对现有远控进行保护,也能达到Rk的效果,于是试验中就有了本文。

一、目标

我们先给木马制定一个标准:能对抗冰刃和Xuetr。听起来有点不可思议,因为现在能对抗这两个ARK的木马真的不多。

二、流程分析

实现进程隐藏如果修改活动进程链(ActiveProcessLink)依然能被Xuetr查出,而且还标为红色。实现进程保护,如果SSDTHook NtOpenProcess太明显,Ark照杀不误。Callhook NTOpenProcess虽然不会被Xuetr查出,但所保护的进程也能被杀。看来用驱动实现进程保护不容易啊,所以我找了个在进程保护上下了不少功夫的木马——上兴远程控制(这个马是老了点,不过这个马可以同时插入两个进程,这两个进程互相保护,刚好弥补了进程保护的空白,此外在被插的进程中也没有找到可疑模块)。

实现文件保护有很多方法,但能躲过Ark的不多。Hook IoCheckShareAccess经测试可以躲过Xuetr文件强杀,而且这个钩子比较隐蔽,不易被察觉,不过好像已经不能对抗最新的360文件粉碎机了。好在上兴远控本身对文件也有保护,它有一个自克隆保护文件,如果文件被删除,木马会重新创建。

进程、文件保护完成,接下来是启动项的问题。木马可以安装服务启动,不过我们不安装服务,因为那样太明显。我这里想了一个办法:映像劫持。正好手头有一个保护注册表项的驱动,经测试可以对抗Xuetr,我们在完成映像劫持后可以使用这个驱动保护IFEO项。

那么劫持谁呢?我这里选择了Userinit.exe。这个进程有个特殊性,它只是起到辅助系统启动的作用,启动完成后自身退出,所以我们打开任务管理器看不到这个进程再正常不过了。而如果劫持ctfmon之类的进程,对用户使用有影响不说,检察系统时还会发现这个原本应有的进程失踪。

有人可能会问:userinit被劫持了,系统不就不能正常启动了吗?的确是这样,所以我们还有一个工作要做:写一个批处理,把userinit,exe复制到windows目录,并更名为user.exe,然后添加到启动项。如果杀软拦截,那么开机时就无法进入桌面(够邪恶吧)。

好了,假设木马服务端文件为1111.exe(指的是安装到系统之后的文件名,不是Loader的名字),名字可以乱起,但一定要和驱动程序中的名字对应,否则不起作用。写一个批处理把userinit.exe复制到windows目录,并更名为user.exe,把我们的驱动程序移动到Drivers目录。再写一个REG文件,把userinit.exe劫持为1111.exe,然后添加user.exe为启动项。这点代码相信大家看了这么长时间都会写。再准备一个exe,加载我们的驱动。具体就是打开SCM,添加一个驱动服务。

相关推荐