针对卡巴斯基2010的免杀研究

卡巴斯基2010 在针对数字签名和系统文件防护变的非常严格,注册表更不说,经过这么多年的升级基本上没有可以利用的价值, 卡巴斯基2010 之前版本可以通过修改感染系统文件进行启动,绕过监控,只需要给PE 文件添加一个数字签名,由于卡吧监控并不严格只是判断是否加了签名,而没有判断签名是否正确,所以给很多马留了生存空间。

 

 

但是, 卡巴2010 后的版本就没有这么幸运了,对系统目录文件的验证变的十分严格,即使想用程序给系统目录的文件改个名字,也会被提示风险软件,而主要的几种启动方式例如 服务启动,Winlogon 启动, ActiveX, 感染系统文件, DLL 劫持 , 替换 SVCHOST 等等,已经无计可实了。

 

下面简单分析这几种启动方式死法

 

1. 服务启动方面,注册服务的最终都要写注册表,以前可以直接写,后来导入注册表,再后来通过 RegRestoreKey 恢复,最最后HIV 文件分析,现在怎么写也写不进去了,死了。

 

 

2. Winlogon这个启动方式非常好在 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon/Notify 项下面创建一个子键加上要启动的项名称在 DllName 中加上自己的 DLL DLL 导出几个函数系统启动时会由 Winlogon 加载启动稳定是没得说,不过修改注册表这一步以经没办法实现了,实在可惜。

 

 

3. ActiveX目前还有可以利用的价值,不过要好好想想哈

 

 

4. DLL劫持一直被称为神奇的马甲,但由于 卡巴2010 开始对系统文件目录的严格查杀,劫持也变的非常不容易了IE 还可以利用,在 IE 的目录里把原 DLL  改名自己的 DLL  放进去然后发函数转发到原 DLL ,由于 IE 目录是 Program Files 目录而非 %Windows% 所以进行劫持还是可取的,而且穿透防火墙的效果好,你没见所有的防火墙直接就能放行吗 ? 但缺点也很明显,只有用户启动 IE 的时候你的 DLL 才会被加载。 本文作者 冷风

 

 

5. SVCHOST服务启动,首先要区分 SVCHOST 启动与普通服务启动。 SVCHOST 是唯一可以与 IE 颦美的方式,由于 DNS 服务的域名解析是由 SVCHOST 进程启动的所以他必须连接网络。而让 SVCHOST 加载自己的 DLL  是一个非常好方式,比如前些时间流行的替换 BITS 服务就是,还可以过主动防御。 SVCHOST 自己创建一个分组的话是最稳定的,得会多出一个 SVCHOST 进程出来。哎 , 缺点必须动注册表。

 

对启动方式 大概说一下 方便后面启动的理解,看一下上面主流的启动方式基本上以经被封杀的无路可以走了,而其它还有一些加载方法属于某些人自己的神兵利器。如果别人不爆,想搞到也要大费力气 。还是就上面几种方式说说思路吧

 

首先就对修改注册表启动这一块想过 2010 以经是不太可能的了,这些启动方式中除去跟注册表有关系的就是 DLL 劫持与 PE 感染了, PE 感染可以让系统文件加载我们自己的 DLL  DLL 劫持实现不同但效果基本一样,但这两种方法两关要过,其一是系统的 WFP 文件保护功能,其二就是 卡巴 2010对系统文件夹的保护了,对于系统的 WPW 功能你可以通过调用 sfc_os_dl 中的的第 5 个函数来关闭以前有人说要让 winlogon 来执行,才能关闭其实不用,你可以直接调用,当然这个功能以被卡吧看住了只要你一调用他就杀你,解决方法是你把这个功能实现写到 DLL 里面,然后导出一个函数,你的程序加载这个 DLL  再调用,这样 卡巴 虽然很牛但也不能知道你的函数是什么导出格式,有几个参数,所以他模拟也模拟不出,就行了。

 

然后就是与 卡巴 的正面交锋了,这Y 的很猛的,首先他会使劲检测你的程序 看是不是跟 windows 里的系统文件有染,一但发就直接喀嚓了,所以一定要小心就算是使用 GetWindowsDirectory 之类的也要小心啦, 卡巴 同志这时候正瞪着眼睛看着你呢,比如你想使用把MoveFileEx 把里面的文件改个名,然后把自己的文件 CopyFile  或者  MoveFile 进去,那就完蛋了, 卡巴 会直接报一个Install Windows 风险,为什么会报 Install Windows 风险呢?就是因为你动系统目录的文件了,不过他也不能太苛刻毕竟很多的正常的软件也要访问,如何解决这个鸟?通过批处理 BAT 行不?我试了不行。 本文作者 冷风

 

我通过另一个办法简单模拟了一下可以实现,其实很简单啦,本文作者 冷风,方法就是你把要访问系统目录的功能分开来写,比如你要替换Usp10.dll 然后通过启动 Http SSL 服务来启动你的马,那你在关闭系统的文件保护之后,必须把原来的 Usp10.dll 改名,然后才能把自己的 DLL  拷贝进来,这时你要注意,给 Usp10.dll 改名和拷贝自己的文件不能在一个 PE 中完成,你可以把 改名这个操作放到  RenameUSP.EXE 中把拷贝 DLL 放到 WriteDll.EXE 中然后 想法调用这两个 EXE 这样每个 EXE 单独操作, 卡巴 针对每个EXE 执行的时候不会报警,但合到一块操作就会报警,还有不嫌麻烦的话把这些操作封装到 DLL 再调用。 本文作者 冷风

 

 

在测试 卡巴 的中途我把半成品拿到瑞星的2010 测试了一下,发现主动防御可以直接过去啦,看来瑞星还要努力啊,不过我喜欢瑞星,只要自己手工配置一下,杜绝 95% 的马能跑起来还是完全没有问题的 ^_^ 如果你要过瑞星的话要注意明文字符串,比如你在搞一个劫持 LPK.DLL 进行启动的马,那你最好不要在代码出出现  TCHAR szHijiackDll[]=_T("LPK.DLL") 这样的代码,因为瑞星好像会扫这个东西然后直接给你报一个 Win32.FakeLPK 还是简单加密一下啦,就算用 _tcscat 连接也好哈。 本文作者 冷风

 

 

还有一点,我还没能确定, 卡巴 在关方有一个列表,这个列表中的软件呢,就算没有数字签名,也会被认为是安全的软件,他会把运行的文件对这个列表对比,有的话就直接放行了,这是一个人性化的操作,是否有可以利用的价值还需要研究呐,你想如果不连接网络的话, 卡巴 怎么处理他会不会放松检查的严格成度来保证软件的兼容性?在测试时我给EXE 随便加了一个签名,然后断网运行,发现原来报警,断网却没有报警。这个没有严格测试有朋友感兴趣就自己测试一下吧。 本文作者 冷风

 

 

嗯,驱动很热门啊,用驱动搞死它行不? 行啊!!不过,但是,可是 ...... 就算是神枪手要杀人也得有出枪的机会,但是 卡巴 大叔不会给你这个机会,所以这个想法还是放弃的好。驱动嘛还是用来做安全盾牌吧,进了驱动就是天堂,但是杀毒软件在进天堂的紧要关口都设了埋伏,所以我们还是从R3 下地狱好了, R3 下虽然很崎岖但毕竟路很多。 本文作者 冷风

 

 

360也在搞安全认证,不过现在只接受公司的软件认证,看来这是很好的一块市场啊,如果 360 成了权威的安全认证的话,以后的软件都得加上 360 认证的证书。这样也不错,毕竟现在想要给你的软件买个安全证书也不是容易的事情。哎我还有很我废话要说不过我家领导要下班了,就写到这里,文章是随兴而写乱七八糟,前张后合,有什么错误的地方请多包涵,如果你有兴趣的话可以与我联系,我的 ID 冷风 QQ121121606 欢迎指正错误一块学习进步。

]] 使用篇 [[ 载入程序,然后分块写10(刚开始应先少数量划分,先确定大范围)。起使位置最好写代码段code,或者txt然后程序会把代码段分成10块,然后从第1块开始恢复,并生成文件。生成完毕后,用杀毒软件查杀生成文件的目录清除所有带毒文件(如果杀毒软件是按顺序杀毒的话,可以在杀掉第一个文件的时候就停止杀毒,此时特征码已经找到)。然后点击[二次处理]程序会自动记录第几个文件开始查到毒了,那个就是第1个特征码。程序会把有特征码的地方添0 并记录在右面,然后把后面的文件分10块开始从头恢复。这样不断进行(反复使用[二次处理]和杀毒)守护特征的大范围就找出了并记录在右面。 因为分为10块所以每块都比较大,这时候需要进行精确。在右面点第1个特征码选择精确此特征码然后此处就会被写入分析器里。分块可以写大一点比如100这样多次进行精确特征码的范围就出来了。 关于内存复合特征码定位原理和文件定位是相同的,只是用程序把生成的文件全部装载到内存中去了,然后用杀毒软件对内存进行查杀。找到报毒的文件,然后手工删除或者在特征码设置中手动添加即刻。其余操作和文件定位相同。 ]] 致谢 [[ MyCCL不是突然冒出来的,都是有了前辈们的摸索才会有不断的进步。在此感谢制作CCL的作者,以及提出定位特征码概念的作者。在程序编写中,各位网友也给了很大的帮助。主动帮忙测试Bug和提出意见和改进之处。在此,特别要感谢[乱刀],多次给程序提出重大改进方案以及智能处理,还为我写了这个简要的说明,呵呵,真是非常感谢! ]] 声明 [[ 本软件仅用作技术研究,禁止用于非法用途,否则后果自负!禁止用于商业,DIY请保留原作者信息。 ]] 常见问题 [[ 问:为什么我只找到1处特征码,没有找到复合特征码? 答:说明被查找程序只有一处特征码.还有可能是文件划分块数过少,使程序处理得不够精确. 问:为什么用单一定位的时候定位不出特征码? 答:可能检测区间当中还存在多处复合特征码,必须继续使用复合定位,直到该区间只剩一组特征码为止. 问:怎么在MyCCL中快速启动TK.Loader? 答:鼠标右键点击输出目录框,会弹出启动菜单. 问:生成的文件带后缀有什么用? 答:生成带后缀的文件主要是内存定位的时候程序只能装载带后缀的文件.文件定位的时候一定不要打开,否则会与某些杀毒软件冲突,定位出错误的特征码. 问:怎么播放选的背景音乐? 答:Shit!这不是点唱机!!!! -___-!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值