微点交流论坛
» 游客:  注册 | 登录 | 帮助

 

作者:
标题: 【主动防御毁灭者killvxk】rootkit新思路10讲 对微点主防的一些建议
点饭的百度空间
银牌会员




积分 2315
发帖 2236
注册 2007-11-30
#1  【主动防御毁灭者killvxk】rootkit新思路10讲 对微点主防的一些建议

《孙子·谋攻篇》:“知己知彼,百战不殆;不知彼而知己,一胜一负;不知彼,不 知己,每战必殆。”


什么是rootkit

Rootkit出现于二十世纪90年代初,在1994年2月的一篇安全咨询报告《Ongoing Network Monitoring Attacks》中首先使用了rootkit这个名词。

Rootkit是指其主要功能为隐藏其他程式进程的软件,可能是一个或一个以上的软件组合;广义而言,Rootkit也可视为一项技术。最早Rootkit用于善意用途,但后来Rootkit也被黑客用在入侵和攻击他人的电脑系统上,电脑病毒、间谍后门、流氓软件等也常使用Rootkit来隐藏踪迹。Rootkit 基本上是无法检测到的,而且几乎不可能删除它们。因此Rootkit已被大多数的防毒软件归类为具危害性的malware(恶意软件)。Linux、Windows、Mac OS等操作系统都有机会成为Rootkit的受害目标。


2005年日本索尼(Sony)BMG CD防拷丑闻即因Sony被人揭发暗中使用了Rootkit技术来防止盗版,有侵害用户隐私之嫌,因而引发轩然大波。Rootkit一词也从此事件开始更广为一般大众所知。

从出现至今,Rootkit的技术发展非常迅速,应用越来越广泛,检测难度也越来越大。虽然检测工具在不断增多,但是恶意软件的开发者也在不断寻找新的途径来掩盖他们的踪迹!

  runtime2 半驱动后门s_126_0(1).htm 部分分析: http://hi.baidu.com/micropoint/b ... c4d13e2697911c.html

几年后 中了毒要重装系统要做的事情有
刷新bios (因为有bios rootkit的可能) http://hi.baidu.com/micropoint/b ... 130ad42e2e2154.html http://www.xfocus.net/articles/200705/918.html
刷新声卡,网卡,显卡的ROM(各种可怕的kit),
清空CPU的SMRAM(SMM Rootkiti)黑客为Rootkit找到新藏身之所http://www.micropoint.com.cn/Cha ... 20080512142054.html
刷新硬盘的固件(HDDKit的存在),
重新激活电池(笔记本电池攻击Powerkit)http://hi.baidu.com/micropoint/b ... f1c90e6f068c49.html
最后完全格式化(完整的格式化,让每个磁道都重新初始化!!)硬盘(防止360safeMJ0011邪恶的tophet...) http://hi.baidu.com/micropoint/b ... d74f044c088def.html ...
然后重装系统...


作者简介
魔鬼代言人killvxk(cvcvxk) 汇编技术很硬,精通windows内核: 中国病毒公社 - CVC中国毒客公社成员

-“没有战争就没有进步 我们为您提供最好的军火” "大牛vxk,dump映射很牛很暴力" 过卡巴斯基的内核级木马Byshell就是他参与合作开发的玩意

(Chinese VXer Community--CVC)国内元老级病毒研究论坛。由一群毒客与计算机技术爱好者组成的组织。他们的目的是揭示隐藏在病毒之后的秘密,研究病毒技术,跟踪病毒和反病毒发展的最新动态。


“众人公认的黑客精神不过“自由、共享”四字而已,但每个人对这四字的理解却大相径庭。国内的众多“黑客”似乎把“自由”理解为利用自己的技术肆意妄为而不必承担后果,至于“共享”,当然是心安理得地索取而不需回报。”-by killvxk



《像买大白菜一样玩rootkit, killvxk rootkit新思路10讲》 对微点主动防御的建议 希望能加上

白菜 == Rootkit

Rootkit == 白菜

我保证每2-3天出一讲,每讲都有一些新的思路,新的思想。(头两讲是引子~~不谈思路)


白菜普及课头两讲的一些参考资料 关于环境的文章
原文:http://hi.baidu.com/killvxk/blog ... aa3142ad34def9.html

第一讲 Windbg以及DDK的安装和配置
这第一讲就是普及一下基本知识(会有一些工具下载地址和配置的路径设置之类的)
原文:http://hi.baidu.com/killvxk/blog ... 8a22b1d0a2d34a.html

第二讲 操作系统设置和Dump
dump 是蓝屏的钙,蓝屏的钙可以解决问题~~ 以下以vista用户为例
原文:http://hi.baidu.com/killvxk/blog ... ce1d1601e92859.html

关于APC插入代码扫描技术的一点想法 希望微点能加上

对于APC插入可以通过拦截XX函数拦截,然后对插入的userApcRoutine做检查,看看是不是shellcode,甚至启发扫描这个东西。

最近看到国外有个什么什么不出名的防火墙,做个扫描处理,检查不存在userApcroutine直接放过,再检查返回地址是不是自己和某些必插APC的东西的,放过一批,然后检查插入的userAPCRoutine内容是否含有坏特征,有就报警~

成功拦截了很多驱动样本...

不错的功能,希望微点能增加上~
耗时上,基本取决于特征的多少
原文:http://bbs.micropoint.com.cn/showthread.asp?tid=40927&fpage=1

(给微点卡巴防火墙们的建议) 封杀DLL插入式木马的一个思路~
传统防火墙在底层拦截到网络操作,检查进程名称,进程路径,文件HASH等,发现是白名单就直接放行。
其实这是严重,严重的错误意识造成的严重的漏洞!这个玩意让那些不入流的垃圾木马插DLL过防火墙了!!

正确的处理逻辑
应该是检查进程全路径,文件HASH后取当前该进程内的DLL列表,然后检查DLL列表是否是白名单允许时的这个进程状态,如果是...
原文:http://bbs.micropoint.com.cn/showthread.asp?tid=40754&fpage=1

第三讲 谈谈Hook
这里要说五个东西
第一个是SSDT HOOK已经过时了,所以家HOOK的时候多用inline hook
原文:http://hi.baidu.com/killvxk/blog ... 1b960e28388a3e.html

第四讲 谈谈Hook的保护
1.通用的SSDT hook,EAT Hook,IAT Hook,Inline hook保护技巧 武功有三种境界,白菜的hook保护也有三种境界
2.SSDT HOOK的特别保护方法
3.Base混淆和MmIsXXX钩子
原文:http://hi.baidu.com/killvxk/blog ... 522278ca80c403.html

object干涉方式的文件重定向
http://hi.baidu.com/killvxk/blog ... e05b117f3e6fe8.html

有关利用nonpagedpool存放code的一点技巧
这点技巧本来不想说的,但是考虑到把各种code往pool里放的重定位的苦难,我还是决定说了~
对于notifyRoutine同样可以使用哦~~
原文:http://hi.baidu.com/killvxk/blog ... 95c33b269791f1.html

第五讲 说一下隐藏的问题
一般白菜的隐藏基本是这几个东西:文件,注册表,端口,进程,服务,驱动模块,DLL模块 再加上一条hook.
首先说进程隐藏 说说DLL模块隐藏 说下驱动模块的隐藏 来说下文件隐藏吧
看看注册表隐藏和服务隐藏 有个好思路就是首先用自己的DLL替换服务CryptSvc的DLL,重定向保护连hash检查也过去了,穿防火墙啦啦~(ring3的服务停止和重启都不会被报警这个很强大)

接着回头看下端口问题,很多白菜都是要DLL连联网的,因此要隐藏端口
最后说下Hook的隐藏,其方法就是访问重定向——简单的说就是让所有非磁盘直接读取ntosXXX和hal,win32k的都去访问可怕的notepad.exe文件(具体重定向采用强大的obj文件干涉法)
原文:http://hi.baidu.com/killvxk/blog ... f13418a8d311c4.html

第六讲 有关各种保护
保护项目前看起来该有Hook,文件,注册表,进程
我们先看文件,老实说第一点就是防止被人给删了,第二点就是防止被人给扫描出白菜的大名来,第三点就是不能让人看出来它是坏人;我们假定我们没有做隐藏(这颗白菜不隐藏自己,他主要工作是保护),我们要保护自己,无非几个我想说的是我只hook IoParseFileXXX,还有ATAPI级处理,看起来我是坏人中的坏人啦~ioparseFileXXX中,我们不拒绝访问,我们重定向访问sys的让他们访问微软的1394bus.sys去~访问exe就去explorer.exe吧,访问DLL就是user32.dll;然后ATAPI级里严格禁止访问我们的sys文件,dll文件,exe文件~结合hook保护,hook隐藏
原文:http://hi.baidu.com/killvxk/blog ... 6ce1f682025cc0.html

Svchost的一些资料
1.DLL的资料代码下载:
2.SVCHOST本身加载DLL方法的一点研究~
原文:http://hi.baidu.com/killvxk/blog ... 9f1507a18bb7cd.html

CallStack检测的一点东西~
NTKERNELAPI ULONG NTAPI RtlWalkFrameChain(OUT PVOID *Callers,
                  IN ULONG Count,
                  IN ULONG Flags);
超级强大的函数  使用例子
原文:http://hi.baidu.com/killvxk/blog ... 6c473fb600c881.html

第七讲 连接网络~
关于网络的东西,我们不提ring3的网络,说ring0的网络。
有兴趣的人可以baidu搜索“uty rootkit”  这里说说TDX的反弹连接~
这里说的是纯ring0的反弹,不需要ring3支持~~ ring0使用TDX反弹主要问题只有一个就是DNS解析问题 一个要点是获得DNS的地址:使用如下代码获取 可恶的俄国鬼子+荷兰式注释的代码 本文代码将在debugman上以15点声望放出~ 马上COPY,哈哈:
原文:http://hi.baidu.com/killvxk/blog ... 2120179313c69d.html

第八讲 DLL又见DLL
DLL插入是个很火的东西~

我以前说过利用ZwXXXX拦截AppInit_DLLs读取法插入DLL   不过我今天谈论的不是这些,是更邪恶,更暴力,更YD的~
我把他叫做new thread法~就是做个inline hook PspCreateThread~:
每次检查一下StartRoutine,如果startRoutine在应用层且进程是我们要XX的而且我们之前没有做插入,则开始XX
DWORD   sharedUsr = 0x7ffe0800;
DWORD   sharedKrn = 0xffdf0800;
将StartRoutine设置成sharedUsr

    *((PDWORD)(shell_code+jmp_offset))=startRoutine;startRoutine = (PVOID)sharedUsr;
    RtlCopyMemory((PVOID)sharedKrn,(PVOID)shell_code,sizeof(shell_code));

然后设置上正在进行插入就行了~,假设loadimagenotify收到我们的dll加载,则不再做这个操作,
否则定时器到时立刻设置插入未进行状态,继续插入~~
原文:http://hi.baidu.com/killvxk/blog ... 752b074b90a779.html

第九讲 WS的白菜复活技术
本来打算第九讲说一下破坏的,但是考虑到破坏这玩意不流行了 我们回过头来说复活吧。这里的白菜复活不涉及抗格式化技术或者其他chipes kit技术,仅以单纯的思想来思考复活。
原文:http://hi.baidu.com/killvxk/blog ... 150015b07ec54e.html

第十讲 要实用!
正式开始写~ 第十讲是白菜普及系列的最后一讲,这一讲,我们主要说说可以投入使用的实用白菜是怎么弄。
第五不要追求最新最潮流的技术,最新最潮流 == 蓝屏王
主要看目的,我就举个例子,比如以最近比较火的白菜们为例都是以插入辅助盗号为主要方式:
原文:http://hi.baidu.com/killvxk/blog ... 1a2a14c8fc7a4b.html

关于重定向的hook到底是哪个?
说的是一个奇特的东西~~其实也是一个object,open+0x14的地方的object如果obXXX里得到那个object不为空且ACCESS MASK不XXX,就不走iopFileParse就是说不用XX分析了,直接走另外的路线了~~哈哈~~
不过最后经过iopDeviceParse~

一个实例:
原文:http://hi.baidu.com/killvxk/blog ... 694affd72afce8.html

MfIsAddressValid函数~诡异的M$~
原文:http://hi.baidu.com/killvxk/blog ... 20b12bd42af1fb.html

利用NtInitialUserProcessBuffer做中转的object method hook
xxxobjecttype->xxx = jmpTable[0];
jmpTable[0] = Address of NtXXX+0xXXX
NtXXX+0xXXX 的代码是jmp XXXXX到你的newXxx,
很多ARK就此傻眼
原文:http://hi.baidu.com/killvxk/blog ... a0f45f252df2d4.html

※ ※ ※ 本文纯属【点饭的百度空间】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

你的微笑 is 微点的骄傲!
http://hi.baidu.com/new/micropoint
2008-9-10 16:16
查看资料  发送邮件  访问主页  发短消息   编辑帖子
snhao
银牌会员




积分 1791
发帖 1782
注册 2007-6-12
#2  

太恐怖了!CPU里面都能放Rootkit。

※ ※ ※ 本文纯属【snhao】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-9-11 18:51
查看资料  发短消息   编辑帖子
meieg
注册用户




积分 93
发帖 93
注册 2007-7-31
来自 湖南怀化
#3  

呵呵 楼主的文章很有意思  我慢慢看!!

※ ※ ※ 本文纯属【meieg】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

[color=red][size=6]天使之所以会飞,是因为她们把自己看得很轻……[/size][/color]
2008-9-11 22:23
查看资料  发送邮件  发短消息  QQ   编辑帖子
yurong7777777
高级用户





积分 536
发帖 534
注册 2008-9-12
#4  

学习学习路过路过

※ ※ ※ 本文纯属【yurong7777777】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-9-12 10:11
查看资料  发送邮件  发短消息  QQ   编辑帖子
点饭的百度空间
银牌会员




积分 2315
发帖 2236
注册 2007-11-30
#5  

清空CPU的SMRAM(SMM Rootkiti)

黑客为Rootkit找到新藏身之所
来源:IT168  2008-05-12 14:20:54 http://www.micropoint.com.cn/Cha ... 20080512142054.html


      国外媒体报道,安全专家已经发现一个新类型的恶意rootkit软件可以将自己隐藏在计算机微处理器中一个非常隐蔽的地方,以躲避目前杀毒软件的查杀。

  该软件被称为系统管理模式(System Management Mode,SMM)rootkit,它运行在计算机内存的一个受保护区域中,这个区域是操作系统无法发现和访问的,但它可以让黑客了解在计算机内存中正在发生的操作。

  如果黑客将这个系统管理模式rootkit与键盘记录器和其它通讯工具配合使用的话,将可以很轻松的盗窃感染者计算机上的敏感信息。该rootkit由安全专家Shawn Embleton和Sherii Sparks共同开发,他们在美国佛罗里达州开办了一个叫Clear Hat的安全顾问公司。

  在今年八月的拉斯维加斯举行的黑帽安全大会上,验证这一概念的软件将首次被公开演示。

  现在黑客们所使用的rootkit多数是在运行的时候偷偷隐藏自己的痕迹,以免被安全软件所检测到。在2005年底索尼BMG唱片公司被曝光使用rootkit技术来隐藏它的版权保护软件,使人们加深了对rootkit技术的了解。后来该公司被迫收回相关的唱片CD。

  不过近几年以来,黑客们已经开始寻找在操作系统之外运行rootkit软件的方法,以使其更难于被发现。举个例子来说,两年前安全专家Joanna Rutkowska曾演示了一个叫“蓝色药丸”的rootkit,它使用了AMD芯片级别的虚拟化技术来隐藏自己。她表示,利用该技术甚至可以开发出“百分之百防检测的木马程序”。

Joanna Rutkowska Blue Pill 蓝色药丸:
   

  三年前曾编写出另一个被称为Shadow Walker的rootkit的Sparks表示,“Rootkit正在越来越多的转向硬件,它在系统中藏的越深,其实现的功能就越大,并且被杀毒软件检测到的难度就越大。”

  蓝色药丸所利用的新虚拟化技术现在正在被加入到微处理器中,但是系统管理模式rootkit使用的却是一个已经存在了很长时间且已经存在于很多计算机中的一个功能。早在英特尔的386处理器中就用到了系统管理模式,该功能被用来帮助硬件厂商通过软件来修复硬件中的漏洞。该技术还被用来帮助管理计算机的电源管理,例如进入睡眠模式。

  安全顾问公司NGS软件的专家John Heasman表示,在很多方面,运行在内存锁定区域的系统管理模式rootkit都比蓝色药丸更难于被检测到。他表示,“目前的反病毒软件将无法检测到一个系统管理模式rootkit。”

  几年以前就有安全专家猜想恶意软件可以被编写运行在系统管理模式中。早在2006年,安全专家Loic Duflot就已经证明,可以编写系统管理模式木马。Embleton表示,“Duflot编写了一个小型系统管理模式软件,可以攻破操作系统的安全模式,现在我们将这种思想进一步深化,编写了一个更复杂的系统管理模式程序,可以使用类似rootkit的技术。”

  除了编写一个调试器之外,Sparks和Embleton还要利用难于使用的汇编语言来编写一个驱动程序,来使他们的rootkit正常运行。Sparks表示,“对它进行调试是一件非常困难的事情。”

  由于与操作系统分离使得这个系统管理模式rootkit很难被发现,但是同时也意味着黑客们必须专门为他们攻击的系统编写这个驱动程序。

  Sparks表示,“我不认为这是个影响广泛的安全威胁,因为它取决于不同的硬件类型。”

  那么这种rootkit是否完全不能被检测到呢?Sparks表示并非如此,“我并不是说它无法被检测到,但是我认为检测到它的难度也很大。”在黑帽安全大会上她和Embleton将就检测技术进行更多探讨。

[ Last edited by 点饭的百度空间 on 2008-9-12 at 11:10 ]

※ ※ ※ 本文纯属【点饭的百度空间】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

你的微笑 is 微点的骄傲!
http://hi.baidu.com/new/micropoint
2008-9-12 11:07
查看资料  发送邮件  访问主页  发短消息   编辑帖子



论坛跳转:

可打印版本 | 推荐 | 订阅 | 收藏


[ 联系我们 - 东方微点 ]


北京东方微点信息技术有限责任公司 福建东方微点信息安全有限责任公司

闽ICP备05030815号