特征码免杀经验谈
- 格式:doc
- 大小:26.00 KB
- 文档页数:3
免杀技术详解减小字体增大字体逆流风注:本文是去年投给黑客X档案的,与那期的主题乐园内容重叠,故未被选上,我也不另投其他杂志,转贴请注明出处,保留版权。
一、加壳免杀壳按照性质不同可分为压缩壳和加密壳,使用压缩壳压缩过的软件体积会减小很多,我们常用的UPX、ASPACK、FSG就是压缩壳,加密壳是防止软件被破解而加的壳,常见的加密壳有tElock、幻影、ASProtect 等。
加壳免杀是我们常用的免杀方法,操作简单,但是免杀的时间不长,可能很快就被杀。
但是经过加花指令、修改特征码后再加壳,免杀效果就相当好了,所以我们还是有必要了解一下。
实例:用NEW、[MSLRH] v0.31a加壳免杀NEW是一款俄国人写的具有高压缩率的壳。
压缩率高,而且压缩后的程序基本不会被查杀,值得一用。
以疯狂qq大盗build0709无壳版为例,使用NEW加壳。
文件由原来的800K变成411K。
接下来我们再用加密壳[MSLRH] v0.31a来加密疯狂qq大盗build0709无壳版。
[MSLRH] v0.31a能伪装成其它壳。
先用PEiD查下疯狂qq大盗build0709无壳版,没加壳,用[MSLRH] v0.31a加壳,在“令PEiD(V.93)探测为:随便选一个壳名称,用ASPack吧。
加好后文件大小变成872K,再用PEiD探测,变成ASPack 了(如图1)。
下面对比一下加壳效果和免杀效果。
用瑞星查杀,两个加过壳的疯狂qq大盗都躲过了瑞星的表面查杀而没加壳的瑞星查出来了。
(如图2、图3)二、修改入口点免杀杀毒软件的杀毒引擎大多以文件的入口处来判断文件是否是病毒或木马。
我们通过修改文件的入口点能躲过大部分杀毒软件的查杀。
实例:将疯狂qq大盗build0709无壳版的入口点加1免杀修改入口点,我们使用的是Peditor。
首先,用Peditor打开将疯狂qq大盗build0709无壳版,看左上角文件性息中的入口点,疯狂qq大盗build0709无壳版的入口点是00063DC8,00063DC8+1=00063DC9,将入口点改为00063DC9,再点击“应用更改”,就OK了。
超全面的免杀技术经验总结免杀技术经验总结(感觉经典)学习免杀,首先你得学会汇编把,基础的指令要懂得一些,一般的指令修改必须会,一般的修改这里就不赘述了,接下来就是掌握一些常用的免杀技巧,这里总结一些第一:我们学习免杀的方向:只是为了保护自己的黑软的话!就不会学的那么累(没必去学汇编编程)有时候简单加下壳或者脱下壳就OK!如果是要挑战世界的杀毒软件的话,毕竟每个PC用户安装的杀软都不一样!想抓鸡拿服务器的朋友就要进修脱壳破解,高级汇编的内容了,这将决定你免杀技术的高低!第二:免杀的环境:做免杀,逃不了测试这个木马是不是修改成功!所以为了保护自己的系统,我建议学免杀要先学会使用虚拟机,很多人会说,为什么不用影子?影子系统虽然也是可以保护的,暂用资源又少,但是有些反弹型木马,我们运行后如果失败(即使成功)都需要重启来完成完全清除的工作!做过QQ盗号木马跟黑鹰远控软件免杀的朋友应该深有体会!第三:杀软的安装设置:个人建议安装卡巴,NOD32,小红伞,瑞星,金山!(当然配置好的电脑可以再加上江民,麦咖啡)!硬盘大的朋友建议全利用虚拟机安装杀软(方便以后重做系统,节省升级病毒库的时间)杀软的设置,可以说是很简单的!每安装完一个杀软,我们都要先在杀软设置里把监控跟自我保护的选项的钩去掉!然后升级病毒库!升级完后再关闭服务跟启动项(利用360安全卫士)这样安装其他的杀软就不会起冲突了!这里注意下!瑞星升级后会自己更改自己的服务为自动,所以瑞星建议最后装,最后升级,再关闭它的服务!这里我想大家肯定是关心杀软的序列号从哪来的吧!瑞星有体验版,金山有37天试用版,NOD32利用PPLOVE网络电视有180天试用!卡巴等洋货在百度上搜索均有可用的序列号!这个就是考验大家的细心了!呵呵!卡巴不建议装6.0.7.0的,人家都在央视打广告了,我们就装2009把!(虽然卡巴的启发比不上NOD32的,但是它的主动可是免杀爱好者的"粉丝")杀软的查杀特点:卡巴:主动+高启发扫描~~,效果相当厉害,卡巴的主动非常麻烦,SSDT也被封了,启发式也极难通过,还是要取决于木马本身的实力了,瑞星:国内木马的超级对手可以这么说!对国内的木马定位的特征是洋货的N倍(鸽子见证)主要查杀技术是内存查杀技术,但是对一些生僻的木马,内存病毒库里竟然没有,只要过了表面就可以过内存......主动主杀敏感字符串,不过2009的主动貌似改进了不少......广告卖的倒不错,但是只是针对流行木马!其他不常见木马并没有加大什么强度!NOD32:启发扫描的头领!主杀输入表函数,针对MYCCL定位器做过调整!定位建议用multiCCL这个来定位!不过这个大块头对生僻壳的侦壳能力不强!加些生僻壳把一些函数保护起来可以让它无用武之地!(这类壳主要是加密型,不建议用压缩型)金山:数据流查杀技术的代表!简单来说跟瑞星内存查杀技术有点一样!病毒库升级,查杀病毒速度都是超级快!但是杀毒能力比较上面的几款有点逊色!360与金山清理专家:行为查杀的代表,金山清理专家比360查杀力度还大!但是监控能力......实在不想说!不过360的5.0版加了木马云查杀,据说不是很好过(没试过~~~)以上可以说是所有集合杀软的特点:文件查杀,内存查杀,启发查杀,数据流查杀!行为查杀!主动防御!每个杀软都有自己的特点,一个人也不可能把全球杀软都安装起来研究,但是以上4个杀软跟一个辅助可以说全包括了病毒查杀特点!也不能说哪个不好,哪个很好!有些木马这个杀软杀不出来~~那个就可以杀出来!所以对于现在网上有些朋友对个别杀毒软件不重视,就会导致你所谓的"肉鸡"插翅难飞!嘻嘻!接下来就说说技巧方面的1.比如你定位一个特征码定位到了一个字符串上我们比如这个特征码定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \Windows\CurrentVersion\Run,遇到这个我想大家一定是修改大小写吧,但是有时候修改大小写还是被杀。
木马免杀原理详解首先来简单了解一下杀毒软件查杀病毒的原理,当前杀毒软件对病毒的查杀主要有特征代码法和行为监测法。
其中前一个比较方法古老,又分为文件查杀和内存查杀,杀毒软件公司拿到病毒的样本以后,定义一段病毒特征码到病毒库中,然后与扫描的文件比对,如果一致则认为是病毒,内存查杀则是载入内存后再比对,第二个比较新,它利用的原理是某些特定的病毒会有某些特定的行为,来监测病毒。
免杀常用的工具:Ollydbg 调试器简称OD,动态追踪工具peid 查壳工具PEditor PE文件头编辑工具CCL,伯乐,MYCCL 特征码定位器oc 地址转换器reloc 修改EP段地址工具zeroadd 加区工具Uedit32 十六进制编辑器免杀方法一.文件免杀1.加花2.修改文件特征码3.加壳4.修改加壳后的文件二.内存免杀修改特征码三.行为免杀加花加花是文件免杀的常用手段,加花原理就是通过添加花指令(一些垃圾指令,类似加1减1之类废话)让杀毒软件检测不到特征码。
加花可以分为加区加花和去头加花。
一般加花工具使用加区加花,当然也是可以手工加的,就是先用zeroadd添加一个区段,然后在新加区段里写入花指令,然后跳转到原入口;去头加花,是先NOP(汇编里的空操作)掉程序的入口几行,然后找到下方0000区,写入NOP掉的代码和一些花指令,再通过JMP(汇编里的无条件跳转)跳到原入口。
加花以后一些杀毒软件就认不出了,但有些比较强悍的杀毒,比如司机大叔(卡巴斯基)可能还是能查出来,这时就要定位特征码然后修改了,要修改首先必须知道特征码在哪里,所以需要先定位特征码,这是个难点,特别是复合特征码的定位。
特征码定位特征码定位主要有两种方法:第一直接替换法;第二二叉数法;直接替换法是最早开始出现的一种特征码定位方法,按一定的字节数逐个替换原代码并保存,比如木马总共100字节,可以先把0-10个字节用0替换,保存,然后用杀毒软件扫描,不被查杀说明特征码已经被覆盖掉了,如果还被查杀则替换10-20字节,再保存,扫描……直到找出特征码。
特征码修改技术总结如今杀软的升级, 他们的性能越来越强大, 查杀力度和广度都大幅度提高,启发式杀毒的日益完善, 使免杀工作越来越困难。
杀软在进步我们小黑也不能落其后啊, 我们必须努力掌握最新的免杀技巧和动向, 同时也不能一步登天的忘了我们的基础。
而传统的特征码差杀 , 杀软依然在使用。
因此要想使我们的木马文件不被查杀, 修改文件特征码也是一种常用的方法, 今天就以特征码修改技术给大家做一个总结, 献给支持和关心暗组的朋友, 也献给免杀初学者和即将要学习免杀的朋友, 本人能力有限, 错误之处请大家指出, 我们共同学习进步…一.什么是“特征码”我们从字面意思上看,就是具有一定特点或特征的一串字符…而这串字符就是被杀软定义一文件是否是病毒的依据..然而稍微专业点就是程序运行时,在内存中为完成特定的动作,要有特殊的指令,一个程序在运行时, 同一内存地址的指令是相同的同一个程序中, 一段连续的地址(它的指令相同 ,那么我截取这段地址,就可以判断它是不是这个程序。
为了防止出现病毒的误查杀, 可以提取出多段特征码。
这也就是我们所说的复合特征码 .A. 特征码主要又分为:文件特征码,内存特征码,行为特征码 , (主动特征码,如瑞星B. 同时,又分为:单一特征码和复合特征码;单一特征码就是说, 一个程序中的几句代码被杀毒软件做为识别标志。
修改掉一处就可以免杀。
复合特征码 :一个程序中的多句代码被杀毒软件作为识别标志。
有一处不修改都不能免杀。
二 . 修改特征码免杀技术修改特征码技术,是以杀软查杀特点得来的。
杀软会用它们的特征库(也就是我们说的病毒库和我们的文件某些字符作对比,如果彼此吻和,就定义为我们的文件为木马病毒。
同时, 我们只要修改了它定义出的文件特征码, 这样会出现什么情况呢, 不用说那就是我们所说的免杀,也就是用修改特征码技术来达到我们文件的免杀 .三.分析文件特征码我们要使一个木马文件免杀就要修改它的特征码,但这些特征码我们如何得来。
网上不多见的免杀技巧新人可以学习下电脑资料
介绍一种新的免杀方法!今天定位一个远控过BitDefender的特征码!!!地址00496034!!!!我们看看详细代码!!
0049602D: 75 F9 JNZ SHORT 00496028
0049602F: 51 PUSH ECX
00496030: 53 PUSH EBX
00496031: 56 PUSH ESI
00496032: 57 PUSH EDI
00496033: 8945 FC MOV [EBP-4],EAX (特征码在这里)00496036: 33C0 XOR EAX,EAX
00496038: 55 PUSH EBP
00496039: 68 22724900 PUSH 497222
0049603E: 64:FF30 PUSH DWORD PTR FS:[EAX]
按照我们以前的修改方法无非就是 mov [ebp-4],eax 和xor eax,eax调换位置或者 push 上面4组指令再来就是最顶部jnz 指令改为相近指令!或者直接来个乾坤大挪移? 对于这处特征码Bitdefender真的不愧为世界第一杀毒之前老觉得小红伞BT 没想到这个更BT 定位在代码段也那么厉害这些方法全用上了依然无效而且上面所用的方法根本不能修改此处任何一点稍微动一下程序直接不能运行!
我们仔细看看这段代码,
这里只是给大家一个思路我不能保证这样的修改方法是否完全不影响程序但是大家在免杀的时候如果遇到同样的难题的时候不妨多一种方法而已!!!。
木马免杀之汇编花指令技巧作者:逆流风(发表于《黑客X档案》07.07,转载注明出处)相信很多朋友都做过木马免杀,早期的免杀都是加壳和改特征码,现在免杀技术已经发展到花指令免杀,改壳之类的,而这些需要一定的汇编知识,但是汇编却不是一块容易啃的骨头,所以我写了这篇菜鸟版的免杀汇编教程,帮助小菜们快速入门,掌握免杀必备的汇编知识,改花指令,改特征码的技巧和编写自己的花指令。
一、免杀必备的汇编知识push 压栈,栈是一种数据结构,记住四个字:先进后出。
压栈就是把数据放如栈中,从栈顶放如,出栈的时候也是从栈顶取出,所以会有先进后出的特点!先进后出我们可以这样理解,例如:一个乒乓球筒,我们放入乒乓球,然后取出乒乓球,取出的都是就后放进的球。
就如我们放入球的顺序是球1、2、3、4,取出的顺序是球4、3、2、1。
pop 出栈,与push相对应。
mov a,b 把b的值送给a,把它看作编程中的赋值语句就是b赋值给a,这时a的值就是b了。
nop 无作用,就是什么也没做。
retn 从堆栈取得返回地址并跳到该地址执行。
下面是一些算术运算指令:ADD 加法sub 减法inc 加1dec 减1最后是跳转指令:jmp 无条件跳je 或jz 若相等则跳jne或jnz 若不相等则跳jb 若小于则跳jl 若小于则跳ja 若大于则跳jg 若大于则跳jle 若小于等于则跳jge 若大于等于则跳这些就是我们需要掌握的,怎么样不多吧,一些指令可能看不明白,看了后面的就会清楚了。
对了,忘了讲寄存器了,寄存器是中央处理器内的其中组成部份。
寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。
我们需要了解的是8个通用寄存器:EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP二、特征码和花指令的修改特征码我就不多说了,大家都知道的,现在杀毒软件查杀都用特征码查杀,改了木马的特征码,杀毒软件就查不出我们的木马,这样就达到免杀的效果。
揭秘病毒开发者躲避杀软的一些手法系列第二篇
利用杀软定位特征码
更好的知道攻击者的手法,能帮助我们的更好防守。
能够利用myccl反向逐块报毒定位特征码位置后填充00
对output杀毒,杀毒后进行二次处理至如下
这里可以更换软件进行完善
得到特征码和偏移量后点击特征区间进一步定位
右键复合定位对特征码重复以上步骤
直至二次处理后无新特征码得到精确的特征码地址
定位内存特征码
木马文件运行之后释放到内存所存在的特征,文件先载入内存在进行定位与定位文件特征码相似
用ccl进行调试,检测大小为文件大小-起始位置
开启杀软进行检测并手动放过
对客户端免杀处理
由于PE文件的格式难免出现垃圾代码,当垃圾代码被定义成特征码时,可以使用00填充
10-->00,生成文件保存
通用跳转修改
通过特征码搬家达到免杀,在定位的特征码语句的地方写入跳转指令跳入原本区域的语句实现
使用nop进行填充
确定垃圾代码位置,使用跳转指令至垃圾代码处
对其及其上下行进行汇编后生成
ADD、SUB互换
当特征码里出现了add或sub时可以通过等值原理来更改迷惑
add 28-->sub -28
打乱指令顺序
通过打乱互不干扰的指令的顺序
使用nop进行填充
修改字符串
由于病毒或木马运行时会生成新的启动项或文件,被命名的服务名或文件名会作为特征码,可以通过利用windows对大小写不敏感修改字符串来混淆。
一.关于免杀的来源为了让我们的木马在各种杀毒软件的威胁下活的更久.二.什么叫免杀和查杀可分为二类:1.文件免杀和查杀:不运行程序用杀毒软件进行对该程序的扫描,所得结果。
2.内存的免杀和查杀:判断的方法1>运行后,用杀毒软件的内存查杀功能.2>用OD载入,用杀毒软件的内存查杀功能.三.什么叫特征码1.含意:能识别一个程序是一个病毒的一段不大于64字节的特征串.2.为了减少误报率,一般杀毒软件会提取多段特征串,这时,我们往往改一处就可达到免杀效果,当然有些杀毒软件要同时改几处才能免杀.(这些方法以后详细介绍)3.下面用一个示意图来具体来了解一下特征码的具体概念四.特征码的定位与原理1.特征码的查找方法:文件中的特征码被我们填入的数据(比如0)替换了,那杀毒软件就不会报警,以此确定特征码的位置2.特征码定位器的工作原理:原文件中部分字节替换为0,然后生成新文件,再根据杀毒软件来检测这些文件的结果判断特征码的位置五.认识特征码定位与修改的工具L(特征码定位器)2.OOydbg (特征码的修改)3.OC用于计算从文件地址到内存地址的小工具.4.UltaEdit-32(十六进制编辑器,用于特征码的手工准确定位或修改)六.特征码修改方法特征码修改包括文件特征码修改和内存特征码修改,因为这二种特征码的修改方法是通用的。
所以就对目前流行的特征码修改方法作个总节。
方法一:直接修改特征码的十六进制法1.修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制.2.适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能否正常使用.方法二:修改字符串大小写法1.修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了.2.适用范围:特征码所对应的内容必需是字符串,否则不能成功.方法三:等价替换法1.修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令.2.适用范围:特征码中必需有可以替换的汇编指令.比如JN,JNE 换成JMP等.如果和我一样对汇编不懂的可以去查查8080汇编手册.方法四:指令顺序调换法1.修改方法:把具有特征码的代码顺序互换一下.2.适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行方法五:通用跳转法1.修改方法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行.2.适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法.七.木马免杀的综合修改方法文件免杀方法:1.加冷门壳2.加花指令3.改程序入口点4.改木马文件特征码的5种常用方法5.还有其它的几种免杀修改技巧内存免杀方法:修改内存特征码:方法1>直接修改特征码的十六进制法方法2>修改字符串大小写法方法3>等价替换法方法4>指令顺序调换法方法5>通用跳转法木马的免杀[学用CLL定位文件和内存特怔码]1.首先我们来看下什么叫文件特征码.一般我们可以这样认为,一个木马程序在不运行的情况下,用杀毒软件查杀,若报警为病毒,说明存在该查毒软件的文件特征码的。
本课主要讲解:1:对免杀的一些认识!2:MYCCL工具的使用方法首先大家先关闭杀毒软件,因为你配置的木马被杀掉没办法做免杀首先我们要了解下特征码,特征码就是杀毒软件内病毒库里面的特征有类似或者相同的特征被杀毒发现就会查杀我们今天的第一课就先学习表面特征码定位我们用到的工具是MYCCL打开工具后我们点击文件之后加载进去你生成的无壳的木马当然壳上壳也是可以的但不适合新手加载木马后会出现这样的页面好了这里已经加载好了木马这里教大家做的是表面的特征码定位所以分块数量不要大于100开始位置设定400这样不容易出现死循环,这也是一点点经验当然也要看是什么木马通常的远控木马表面特征码这样做是没问题的详细设置如下图这样就设置好了MYCCL我们就可以进行下一步了我们设置好这里之后直接点击生成成功后桌面会多出来一个文件夹那么我们点击生成如下图这之后桌面会出现一个文件夹之后用杀毒对这个文件夹进行杀毒杀毒后把查杀出来的病毒全部删除删除后关闭杀毒我们继续下一步删除所有病毒文件后我们关闭杀毒之后再点击MYCCL上面的二次处理效果如下图大家可以看下,这里已经出现了一处特征码那么接下来需要做的就是反复的去二次处理—杀毒—二次处理—杀毒这个时间是比较长的我就不单个截图了,什么时候停止呢就是一直到查杀不出病毒为止直到查杀不出病毒我们再停止进行下一步我这里已经查杀好了等查杀出没有病毒的时候我们再点击一次二次处理就会出现这样的特征码如下图大家看下这里的特征码它的单位长度是比较大的,我们没法修改所以我们需要再处理一下所以我们要点击特征区间如下图那么我们接下来就要复合定位在第一处特征码上面点击左键选择之后点击右键如图之后大家再看图分块数量我们还改成100这里开始位置就不需要再改动了之后我们点击生成之后我们再继续反复之前的这种操作杀毒,接着二次处理,直到发现不了病毒为止大家在重复二次处理的时候要注意如果分块数量大于100 我们就改成100如果不大于100 它是多少我们就不用管了我们就直接点生成就可以了好了我这里已经杀不出病毒了特征码如图第一处的特征码大家可以看下是:00000002之后我们在00000002 特征码上面再点击右键复合定位之后大家看下这里如图那么我们就要把单位长度改为1之后他的分块数量自动分为2之后我们再点击生成生成后我们再查杀单位长度特征码为1的时候是最精确的现在第一处特征码已经出现了这时候我们再查杀就不会有毒了查杀无毒后我们再次点击二次处理之后我们第一处的特征码已经查到了如图:之后我们就需要去复合定位第二处特征码和之前的复合定位一样的我就不一一给大家写出来了直到所有特征全部为00000001 或者00000002都是可以的这里如果再大我们就需要接着复合定位单位长度还是要改成1直到特征码为00000001 或00000002 都是可以的这节课就讲到这里下节课再见。
免杀木马的方法分多种1入口点加1能达到免杀一定效果.2变化入口地址能过一些杀软的免杀3加花指令能使木马免杀4加壳或加伪装壳免杀.5打乱壳的头文件免杀.6修改文件特征码免杀.7跳转修改8字串大小转换9重建输入表等以上都是网络上流行的免杀方法入口点加1 比如我们的入口点为:00014920 我们可以在他0上加1变为00014921 变化入口地址可以使用跳转的方式来改变入口地址:JMP指令将无条件地控制程序转移到目的地址去执行.加花免杀:找段空白处例如noppush ebpnopmov ebp,espnopsub esp,3sub esp,-3mov eax,原入口点push eaxret花是可以自己修改只要掌握花指令堆栈的平衡就可以了加壳或加修改壳免杀:多重加壳或者加冷门壳可以达到免杀效果(很朋友人朋友都喜欢加壳免杀)假如我们壳被查杀了怎么办?我们可以加壳后然后修改壳的PE或者打乱壳的PE头达到免杀(不过稍微出错会导致不上线)修改特征码:用MYCCL工具定位导入文件分块个数一般100-200 开始位置E0 修改为400 有些朋友问我怎么定位不了,如果正向定位不出特征码我们可以反向定位下当定位出来特征码后我们判断不出是真伪时可以填充90或者00看看如果90或者00被杀就证明定位错误。
那就重新定位(现在许多杀软具有干扰特征定位功能了)跳转随便找空段然后NOP JMP等进行跳转字串大小转换A=a b=B重建输入表现在各大站都有工具傻瓜式操作(非常简单)时代在进步---杀软也在进步-----而我们不要跟着别人屁股后门,大胆尝试新方法。
C32常见机器码修改方法菜鸟们一定要掌握74=>75 74=>90 74=>EB75=>74 75=>90 75=>EB0F=85=0F=84(一些地方可以修改)免杀中一些指令必须掌握的(建议大家下载个汇编辅助工具免杀时很实用)破坏指针(过nod32的常见方法本人不推荐有时后破坏了和跳转用多了一个道理会导致木马不稳定)修改函数(这个对基本基础要求很高,建议新手先学习修改特征码等在学习这)加区段(常用方法比如找不到地方写花指令,我们就可以加区段)重建PE(如果特征码较多,重建PE可以减少木马的特征码)加密(涉及到算术,不过现在加密的工具比较多,也是傻瓜式的操作)左右移位(当杀软杀到木马的字串时,我们可以利用左右移位来躲开杀软)过专杀很有用修旁免杀(当一些杀软杀到重要的特征码修改后会缺失一些功能这时我们可以修改它相近的邻居也可以达到免杀的效果)指令替换(替换法就是同等指令或者使用功能相同的代码之间的替换.就像1X1=1而1除1=1他们的结果都是一样的,在程序里这种我们可以相互替换,不会影响程序的运行(汇编辅助工具可以查询)源码免杀(前提必须要有编程基础)过360安全卫士方法360查恶意软件是查找木马的字串(修改字串简单过360恶意软件)360木马查杀(也上恶意软件是一个思路)360提示和保险箱提示这是许多朋友比较关注的)主流过法有2种:第一:捆绑模拟点击程序第二:暴力K掉360就OK了360云查杀也是大家比较关注的让你的马的MD5值和一些安全类特征库相似就过了。
病毒查杀与免杀技术一、杀毒软件的查杀原理1、特征码法杀毒软件运用特征码扫描确定某文件为病毒时,这个文件需要满足两个条件:(1)该文件中的某一位置与杀毒软件病毒库的某一位置相对应。
(2)该位置上存放的代码与病毒库中定义的该位置上的代码相同。
特征码法的特点:A.速度慢。
B.误报警率低。
C.不能检查多态性病毒。
D.不能对付隐蔽性病毒。
2、校验和法运用校验和法查病毒采用三种方式:(1)在检测病毒工具中纳入校验和法,对被查的对象文件计算正常状态的校验和,将校验和值写入被查文件中或检测工具中,而后进行比较。
(2)在应用程序中,放入校验和法自我检查功能,将文件正常状态的校验和写入文件笨身中,每当应用程序启动时,比较现行校验和与原校验和值。
实现应用程序的自检测。
(3)将校验和检查程序常驻内存,每当应用程序开始运行时,自动比较检查应用程序内部或别的文件中预先保存的校验和。
校验和法的特点:优点:方法简单、能发现未知病毒、被查文件的细微变化也能发现。
缺点:发布通行记录正常态的校验和、会误报警、不能识别病毒名称、不能对什隐蔽型病毒。
3、行为监测法利用病毒的特有行为特征来监测病毒的方法。
监测病毒的行为特征:A.占有INT13HB.改DOS系统为数据区的内存总量C.对COM、EXE文件做写入动作D.病毒程序与宿主程序的切换行为监测法的特点:行为监测法的长处:可发现未知病毒、可相当准确地预报未知的多数病毒。
行为监测法的短处:可能误报警、不能识别病毒名称、实现时有一定难度。
4、软件模拟法在虚拟机中综合运用多种查杀方法就是通常所说的软件模拟法。
软件模拟法的特点:软件模拟法的长处:对病毒的判定能力最强(因为综合了多种查毒方法)。
软件模拟法的短处:扫描速度慢,查毒往往不准确。
最终结论:目前杀毒软件最主要还是依赖特征码识别技术来检测病毒。
也就是说,特征码就是杀毒软件为了判定病毒而从病毒本身提取出来的有特点的代码,我们的免杀就是专门针对这些特征码的。
分享下木马免杀的个人经验-电脑资料PE类:EXE. dll1.脱壳解密脱壳在木马免杀中由为重要!,。
所以希望大家好好学习脱壳脱壳的好坏直接影响到木马免杀效果(如果不完全脱壳,在<定位内存特征码>可能会使定位中没发现特征码但是运行中又发现木马。
)2.定位特征码一般从大范围定位后逐渐缩小范围(字节型)(个数型)一般从生成100个数的大致定位特征码后转入字节型定位。
单一文件特征码定位:CLL MYCLL multiCCL复合文件特征码定位:MYCLL multiCCL内存特征码定位:OD(一半一半定位) MYCLL multiCCL [一般都要确定你的文件是否完美完全脱壳后在进行文件特征码定位]3.特征码修改简单的等效代码转换如下:(不过有时改后也损坏文件所以看情况)push 变popje 变jnzadd 变 subadd ecx,2 可以改为sub ecx,-2加ecx内存器+2 减ecx内存器-2 - -2得=2上面的等效代码用不了还是乖乖用,JMP跳转法把特征码转移4.附加数据加密算法变形这个方法已经被pcshare冰雨发布了,就是pcshare附加数据的配置信息是xor 加密的。
被杀毒定义了所以我们只要改算法 xor 值变一下就可以了!5.RAR自解压(加密)说白就是捆绑而已呵呵,不过去除右键对部分杀毒有效无法分离出木马!可以躲避查杀而且可变性比较强所以还有用武之地!*******************************************************网页木马类: JS html htm asp 等1.拆分变量,电脑资料《分享下木马免杀的个人经验》(https://www.)。
用&连接符号,拆分变量2.加入垃圾代码。
和PE免杀花指令差不多,一些无用的垃圾变量或者空格一些特殊字符或者GIF98 类似的文件头来做“花指令”呵呵!3.等值代码修改把html全部改htm 效果一样4.代码添零在记事本中加入空格,然后用16进制的编辑器(Uedit32)打开把空格对应(20)替换成(00)即可该方法运用广泛。
特征码修改技术总结如今杀软的升级,他们的性能越来越强大,查杀力度和广度都大幅度提高,启发式杀毒的日益完善,使免杀工作越来越困难。
杀软在进步我们小黑也不能落其后啊,我们必须努力掌握最新的免杀技巧和动向,同时也不能一步登天的忘了我们的基础。
而传统的特征码差杀,杀软依然在使用。
因此要想使我们的木马文件不被查杀,修改文件特征码也是一种常用的方法,今天就以特征码修改技术给大家做一个总结,献给支持和关心暗组的朋友,也献给免杀初学者和即将要学习免杀的朋友,本人能力有限,错误之处请大家指出,我们共同学习进步…一.什么是“特征码”我们从字面意思上看,就是具有一定特点或特征的一串字符…而这串字符就是被杀软定义一文件是否是病毒的依据..然而稍微专业点就是程序运行时,在内存中为完成特定的动作,要有特殊的指令,一个程序在运行时,同一内存地址的指令是相同的同一个程序中,一段连续的地址(它的指令相同),那么我截取这段地址,就可以判断它是不是这个程序。
为了防止出现病毒的误查杀,可以提取出多段特征码。
这也就是我们所说的复合特征码.A. 特征码主要又分为:文件特征码,内存特征码,行为特征码,(主动特征码,如瑞星)B. 同时,又分为:单一特征码和复合特征码;单一特征码就是说,一个程序中的几句代码被杀毒软件做为识别标志。
修改掉一处就可以免杀。
复合特征码:一个程序中的多句代码被杀毒软件作为识别标志。
有一处不修改都不能免杀。
二. 修改特征码免杀技术修改特征码技术,是以杀软查杀特点得来的。
杀软会用它们的特征库(也就是我们说的病毒库)和我们的文件某些字符作对比,如果彼此吻和,就定义为我们的文件为木马病毒。
同时,我们只要修改了它定义出的文件特征码,这样会出现什么情况呢,不用说那就是我们所说的免杀,也就是用修改特征码技术来达到我们文件的免杀.三.分析文件特征码我们要使一个木马文件免杀就要修改它的特征码,但这些特征码我们如何得来。
这就说到了我们特征码分析,也就是我们所说的特征码定位。
1.杀毒原理通常,一个病毒防御工作者拿到一个截获或上报上来的病毒时,先是分析这个病毒文件执行后的动作,所谓“动作”,就是指病毒文件执行后会做哪些操作。
例如会生成什么新文件、怎样更改注册表、怎样注册服务、打开什么端口等等。
搞明白这些后,下一步一般会研究这个病毒的文件结构,然后找出与众不同的地方,将其定义为特征码。
而这个特征码定义的高明与否,就要看他定义的位置是否刁钻,例如他如果定义的是病毒文件更改注册表键值那部分代码的话,这显然不会太难!因为只要病毒文件更改键值,99%的情况下这个文件里一定存在被更改键值的字符串,所以找到这段字符串的位置就可以定义特征码了。
但是针对这种特征码做免杀是非常容易的,只需找到相应的位置,并更改字母的大小写即可。
而如果从文件头找出一段特征码就是非常不容易的事情了……除此之外,所定义的特征码还有一个分支,即内存特征码。
所谓内存特征码就是指木马文件运行后释放到内存时所存在的特征,它的原理大体与上面介绍的文件特征码一样。
当特征码定义出来之后,就会被提交到另外的一个部门,然后进入病毒定义库,当用户更新后,以后杀毒软件在碰到符合要求的文件时就会将其毫不忧郁的杀掉!也就是说,杀毒软件只认特征码,不认文件。
由此可见,病毒防御工作者寻找特征码的方式也不过如此,但这只是定义病毒文件特征码的工作,别的例如修复被感染文件等技术步骤和本文无关,在这也就不介绍了,有兴趣的朋友可以自己研究一下。
2.免杀分类免杀的方法有很多,无奈没见哪为朋友综合系统的介绍,也苦了小菜们求学无门,只好掏银子找“师傅”,所以我就自告奋勇站出来一次,不足之处还请各位高手多多包涵……我个人总结的免杀方法总共分两类,即主动免杀与被动免杀。
一、主动免杀1. 修改字符特征:主动查找可能的特征码,包括木马文件修改注册表、生成新文件的名称与路径、注入的进程名等动作,也包括运行过程中可能出现或一定会出现的字符等文件特征。
然后找出这些字符,并将其修改。
特征码免杀经验谈.txt心脏是一座有两间卧室的房子,一间住着痛苦,一间住着快乐。
人不能笑得太响,否则会吵醒隔壁的痛苦。
1、定位在cmp或test后的判断跳转,je、jz如此之类的...
遇到这样的,我一般都会把它们改成jmp就能过,当然也要看看上下代码的意思,不然可能出错...个人认为这样修改的效果还是不错
的..
2、定位在跳转后的地址,如je xxxxxxxx ,jmp xxxxxxxx 之类的xxxxxxxx上...
一般遇到是判断跳转的je,jnz的...按照第一个方法把跳转符改改就能过...如把je改成jmp...遇到是jmp xxxxxxxx的,就试试看下
面有没有空
位构造下push xxxxxxxx
ret
或者可以把jmp xxxxxxxx ,用跳转转移到其它地方...
3、定位在call eax之类上...
把它改成push eax或其它...
4、定位在call上的...
先跟进call后面的地址看看,因为有时候那里往上拉一句就可能会有NOP之类的语句,那么我们把call后面的地址向前移一位就可以
过...
如果没有NOP,我们可以用跳转转移...
5、定位在OR或者XOR上...
把OR改XOR或者XOR改OR...
6、定位在mov语句上,如MOV DWORD PTR SS:[ESP+14],ESI...
我们可以把它改成mov esp,esi
add esp,14
7、定位在cmp语句,如cmp eax,esp
jnz xxxxxxxx
那么遇到这样的,我们可以把这两句NOP掉,然后加上jmp xxxxxxxx ,这里意思就是我们不要那个比较,把代码直接跳到xxxxxxxx上
运行....
遇到test 这样的也可以试试这个方法...
8、定位在字符串上,但是不能用改大小写的方法修改,修改就出错...
例如pcshare有一个定位在“%s%s%s”上的...我们可以首先用C32把“%s%s%s”向前移一位,
然后用OD载入,右键,超级字符串参考
,
查找ASCII,然后找到所有的“s%s%s”,由于我们向前移了一位,所以显示的应该是“s%s%s”,然后双击来一个个修改...双击后会
发现,
对应的语句会有一个地址,我们把它改掉,向前一位,如4AD05168就改成4AD05167,接着同样方法继续改其它有“s%s%s”的...
这个方法通用字符串的修改...
总结:上面的只不过是我在免杀时的一些经验...实际免杀还需要读懂上下代码,实际分析,并不代表按照上面这样改就一定可以...
做人要灵活,
方法都是自己悟出来的,没什么完美的通用方法...自己的免杀方法才是最好的~
特征码修改总结2~
1. 遇到特征码定位在jmp指令上面的构造替换 push xxxxx ret。
举例: jmp xxxxx
构造替换 push xxxxx
ret
2. 遇到特征码定位在call指令上的。
举例:
call xxxxx
构造替换: push @f
jmp xxxxx
@@:
;@@的标号表示的是你jmp xxxx指令后面的内存地址。
@f也就是引用@@ 的标号,所以此时@f这里填写的就是jmp xxxxx指令后面的
内存地址。
3. 遇到特征码定位在ret上
举例: ret
构造替换:
jmp dword ptr [esp]
4. 遇到特征码定位在test eax, eax je xxxx or eax, eax, je xxxxx cmp eax, 0 jexxxxxx
举例: test eax, eax
je xxxxxx
构造替换: xchg eax, ecx
jecxz xxxxx
5. 遇到特征码定位在 push [xxxxxx]上的。
举例:push [xxxxx]
构造:
在其之前通过 xchg [xxxxxx], ebx
然后用寄存器传参: push ebx
最后在下面在通过xchg [xxxxxx], ebx 交换回来。
6. 把之前我教的数据段动态恢复和巧用算法加密结合起来。
前提是对汇编大家一定要有所了解,例如一些会员说金山杀的是配置信息上,你完全可以将
其这些配置信息所处的地址的数据进行一
层加密。
或者你可以将其这些偏移所处的数据通过xchg 交换。
dll注意下要进行重定位
call $+5 ;机器码是 E8 00000000 00000000是相对地址
@@: pop ebx
sub ebx, @b
下面你就可以通过[ebx+你的偏移]来进行变址寻址了。
如果觉得本文写得有什么错误或不对,请各位提出啊~!。