超全面的免杀技术经验总结
- 格式:doc
- 大小:98.50 KB
- 文档页数:23
免杀原理与实践xp3 免杀原理与实践⼀、实践内容1.正确使⽤msf编码器,msfvenom⽣成如jar之类的其他⽂件,veil-evasion,⾃⼰利⽤shellcode编程等免杀⼯具或技巧;2.通过组合应⽤各种技术实现恶意代码免杀(如果成功实现了免杀的,简单语⾔描述原理,不要截图。
与杀软共⽣的结果验证要截图。
)3.⽤另⼀电脑实测,在杀软开启的情况下,可运⾏并回连成功,注明电脑的杀软名称与版本⼆、基础问题回答1.杀软是如何检测出恶意代码的?基于特征码的检测启发式恶意软件的检测基于⾏为的恶意软件检测。
2.免杀是做什么?⼀般是对恶意软件做处理,让它不被杀毒软件所检测。
也是渗透测试中需要使⽤到的技术。
要做好免杀,就时清楚杀毒软件(恶意软件检测⼯具)是如何⼯作的。
AV(Anti-virus)是很⼤⼀个产业。
其中主要的技术⼈员基本有编制恶意软件的经验。
反过来也⼀样,了解了免杀的⼯具和技术,你也就具有了反制它的基础。
3.免杀的基本⽅法有哪些?就常见恶意软件⽽⾔,⼀般AV的检出率为40%-98%。
就算你⽤了最好的AV,恶意软件依然有1/50的概率通过检测。
这个概率还可以,貌似多试⼏种恶意软件就可以了。
那免杀的⽅法当然是针对检测技术的。
--所以总体技术有:改变特征码如果你⼿⾥只有EXE加壳:压缩壳加密壳有shellcode(像Meterpreter)⽤encode进⾏编码基于payload重新编译⽣成可执⾏⽂件有源代码⽤其他语⾔进⾏重写再编译(veil-evasion)--改变⾏为通讯⽅式尽量使⽤反弹式连接使⽤隧道技术加密通讯数据操作模式基于内存操作减少对系统的修改加⼊混淆作⽤的正常功能代码--免杀就是让安插的后门不被AV软件发现。
除了直接使⽤现有后门软件外,还有⼀些⽅式,在实际中也有⽤。
⾮常规⽅法使⽤⼀个有漏洞的应⽤当成后门,编写攻击代码集成到如MSF中。
使⽤社⼯类攻击,诱骗⽬标关闭AV软件。
纯⼿⼯打造⼀个恶意软件--留后门的思路是这样的:你写⼀个有漏洞的软件,开⼀个服务端⼝。
免杀知识点总结一、免杀概述免杀技术是指通过各种手段,让恶意软件能够避开杀毒软件的检测,从而成功感染目标系统,达到攻击者的目的。
免杀技术已经成为当前网络安全攻防战中的一个热点话题,对于网络攻击者和渗透测试人员来说,掌握免杀技术至关重要。
对于网络防御者来说,了解免杀技术也是非常关键的,只有深入了解免杀技术,才能更好地防范这些攻击。
二、免杀技术分类1. 多态性多态性是免杀技术中非常关键的一种技术手段,其核心思想是不断改变恶意代码的形式和特征,使得每个新生成的样本都不同于已知的样本,从而能够逃避杀毒软件的检测。
多态性可以通过各种手段来实现,比如代码加密、代码压缩、指令替换等。
2. 加壳加壳是指将恶意代码进行加密或者混淆处理,生成一个新的可执行文件,执行时需要先经过解密或者解压缩的过程,从而使得病毒样本不易被杀毒软件检测到。
加壳也是一种非常常见的免杀技术手段。
3. 免杀代理免杀代理是指利用被信任的程序作为载体,将恶意代码植入到这些程序中,利用这些可信程序的信任度来躲避杀毒软件的检测。
免杀代理技术常见的方式包括DLL注入、shellcode注入等。
4. 免杀利用漏洞免杀利用漏洞是指通过利用系统或者应用程序的漏洞,来进行免杀攻击。
这种方式可以绕过杀毒软件的检测,因为漏洞本身并不是一种已知的攻击形式。
5. 免杀模块化免杀模块化是指将恶意代码进行模块化处理,将恶意功能分成若干模块,然后分别插入到合法程序中。
这样做的好处是一旦某个模块被杀毒软件检测到,也不会影响其他模块的正常工作。
6. 免杀定制化免杀定制化是指根据具体的目标系统和杀毒软件来进行技术定制,使得恶意代码能够更好地逃避检测。
这种方式需要对目标系统和杀毒软件有深入的了解,并能够根据具体情况来进行技术调整。
三、常见的免杀技术手段1. 代码混淆代码混淆是指对恶意代码进行各种变换和混淆处理,使得其在静态分析和动态执行时难以被识别。
常见的代码混淆手段包括变量重命名、函数重命名、指令替换、代码插入等。
免杀技术详解减小字体增大字体逆流风注:本文是去年投给黑客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了。
木马免杀技术一、杀毒软件的查杀模式杀毒软件的查杀模式分三种1.文件查杀2.内存查杀3.行为查杀这三种是目前杀毒软件常用的杀毒模式。
所谓的文件查杀就是杀毒软件对磁盘中的文件进行静态扫描,一旦发现文件带有病毒库中的病毒特征代码就给予查杀。
内存查杀是杀毒软件把病毒特征代码释放到内存中,然后与内存中的文件进行比对,发现有文件中带有病毒特征代码就给予查杀。
现在最厉害的内存查杀当然是瑞星了,其他杀毒软件也有内存查杀但比不上瑞星的厉害。
行为杀毒是杀毒软件用木马运行后的一些特定的行为作为判断是否为木马的依据。
比如:啊拉QQ大盗在运行后会增加一个名为NTdhcp.exe的进程,还有彩虹桥的服务端在运行后会在注册表添加名为HKLM\SOFTWARE\Microsoft\Active Setup\InstalledComponents\{9B71D88C-C598-4935-C5D1-43AA4DB90836}\stubpath的键值。
行为杀毒的典型杀毒软件—绿鹰PC万能精灵。
二.根据杀毒软件的查杀模式总结出免杀方法主要针对文件的文件查杀和内存查杀1.文件查杀A.加壳免杀B.修改壳程序免杀C.修改文件特征代码免杀D.加花指令免杀2.内存查杀A.修改内存特征代码B.阻止杀毒软件扫描内存====================================================== ================A.加壳免杀建议你选择一些生僻壳、茾@恰⑿驴牵 蛘呒佣嘀乜牵 馍钡氖奔洳怀?可能很快被杀,不过和加密工具配合使用一些杀毒软件是很容易过的但瑞星的内存不过。
B.修改壳程序免杀主要有两种:一是通过加花指令的方法把壳伪装成其它壳或者无壳程序。
C.修改文件特征代码免杀,此方法的针对性是非常强的,就是说一般情况下你是修改的什么杀毒软件的特征代码,那么就只可以在这种杀毒软件下免杀。
以前常用的工具有CCL特征码定位器,不过现在用起来不是那么方便了,比如黑防鸽子他有多出特征代码,给新手学习定位增加了一定的难度,现在主要推荐的是MYCCL特征码定位器,个人感觉定位速度快,准确率高,尤其对那些有多处特征码的定位。
免杀的原理大全一、工具mycll:特征码定位PEID:查壳工具PEditor:入口点修改工具加花c32asmollybgoc:文件地址到内存地址的换算resscope:资源编辑zeroadd:加区段的木马采衣:加花maskpe,vmprotect:加密upx,aspack北斗壳:压缩免疫007:免疫器二、效果分析1、加密:vmprotectv1.21和MASKPE2.0(对瑞星有特效),比较容易过瑞星表面,不能过卡巴压缩:北斗,UPX:主要是减少体积加花:对卡巴有特效,通用性比较好2、北斗+VMpro,但是北斗+maskpe出错!无壳木马可以先加花3、无壳木马直接用maskPE22.0可过瑞星表面但是过不了卡巴。
4、无壳木马加一道花指令后再用VMPRO1.21加密可直接过卡巴但是可能无法过瑞星表面5、经过免杀处理,过几种杀毒软件,加压缩壳后仍免杀过他们,但是北斗除外,棉纱处理国卡巴的木马北斗后可能被卡巴杀6、测试操作1)手工加花+掘北压缩,鸽子先脱壳,在用OD在零区域添加指令(根据字节编写):先找原入口点,零区域,记录其地址(新入口点),指令push eax pop eax add esp 1 inc esp push 004A1E48 retn保存。
用PE修改入口点。
能过卡巴,过不了瑞星。
用掘北(对瑞星表面有特效)2)工具加花(花蝴蝶三号)+VMPRO+UPX。
**器三、手工加花方法1、直接:OD,记录入口点;找零区域,复制地址(新入口);写指令:push 0 nop add esp 2inc esp inc esp push exp pop esp push原入口点retn改入口点(新)(lordpe);可以把这段代码保存为二进制以后方便用。
2、去头:复制头,并去掉,填加到空白区域(新地址);再填加花指令。
3、加区:zeroadd加区段,大小一般100左右;OD打开文件,用ALT+M打开内存景象,复制区段入口地址和原程序入口,到区段加花,程序入口地址不变;lordpe 修改入口为区段的入口。
本人的计算机裸奔(不安装杀毒软件)了好几年了,印象中一次毒都没有中过。
N年前的老机器,较低的配置,我合理的使用却运行如飞。
我把我防病毒的经验总结成七点,分享给大家,希望看到更多的计算机尽情裸奔。
一、重装系统后立即打补丁重装完系统后的第一件事就是打补丁。
不打补丁就上网而不中毒的概率与跳到粪坑里却一尘不染差不多。
打补丁不要用Windows自带的update,最好用QQ医生、360安全卫士等专业打补丁工具。
这些工具一次打完补丁会在硬盘上留存一份,下次再打补丁就不必下载了,还可以做到离线打补丁。
最好这次把补丁备份好了,下次重装系统之后先拔网线,把补丁全部打完了再上网最安全。
二、不要通过搜索找软件(歌曲、电影)现在很多流氓下载站,本身甚至不提供任何好软件下载,只是通过SEO得到比较好的百度排名,当用户点击下载的时候,其实是在下载木马!还有一些正常的下载站把广告位卖给木马,广告的样子就是“下载按钮”,很可能眼花了一不小心就点上去了。
解决的办法是到一些口碑比较好的网站,使用他们的站内搜索,而不要通过百度搜索。
三、不要插入来历不明的U盘(MP3/相机卡/移动硬盘)带毒的优盘只要一插入电脑不需要任何操作就可能中毒。
因为Windows有一个变态的功能叫做自动播放,U盘插入后,Windows主动把优盘上的病毒执行。
解决的办法是设置禁止U盘自动播放,方法:360安全卫士/常用/修复系统漏洞,点击“开启优盘病毒免疫”就可以了,其他安全类软件也有类似的功能。
小心Windows还有另外一个变态的功能,如果U盘是可以自动播放的,就修改双击的默认操作为自动播放(就算没有安全问题,这个产品设计也是非常愚蠢的)。
也就是说虽然U盘没有自动运行,但是你双击了优盘的盘符想打开优盘,实际上触发了优盘里的病毒。
当知道U盘有毒但手头没有杀毒软件却不得不使用其中的文件时,右键点击优盘的盘符,在菜单里选择“资源管理器”,实验证明这样操作文件不会触发病毒。
超全面的免杀技术经验总结免杀技术经验总结(感觉经典)学习免杀,首先你得学会汇编把,基础的指令要懂得一些,一般的指令修改必须会,一般的修改这里就不赘述了,接下来就是掌握一些常用的免杀技巧,这里总结一些第一:我们学习免杀的方向:只是为了保护自己的黑软的话!就不会学的那么累(没必去学汇编编程)有时候简单加下壳或者脱下壳就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,遇到这个我想大家一定是修改大小写吧,但是有时候修改大小写还是被杀。
这个我们可以怎么办呢,我们可以移动位置,因为这个肯定是一个api函数的参数,我们找到那个函数然后修改下调用地址就行了。
所以有时候大家不能总用通用方法,要学会变通。
2.NOD32的疑问,前天有人来问我他说它定位NOD32,定位到了资源上,这个有一个可能是你的定位有错误。
这个你可以通过multiccl把资源和输入表段保护起来,然后定位,看可以定位出其他的特征码不能,至于MYCCL,一般的定位最好在代码段开始定位,填充可以选择FF,66什么的,或者反向定位,定位的方法很多的,别人填充00,你就填充00么,现在的杀软已经把myccl扒的一干二净了,有反定位措施...3.花指令花指令无非是一些干扰程序调试的一些手段,当然也可以作为用来迷惑杀毒软件使杀毒软件找不到我们的特征码,从而达到免杀。
为什么大家总是喜欢用网上的一些什么花指令方法。
其实我发现其实多调用一些子程序,多加一些跳转,要比你们写花指令要好的多。
不过本人不推荐使用花指令免杀.4.为什我服务端做了免杀,可是生成出来被杀。
这个大家首先可以对比一下有什么不同的地方,这个我给大家一个思路,现在杀毒软件就喜欢定位有标志型意义的地方(通俗点讲版权信息),大家在做的时候因为为了保护我们的木马,所以就委屈下原作者,呵呵。
版权信息给改了。
还有一个就是比如说灰鸽子,现在杀软会定位到它的一些dll文件名上,你修改完dll 然后找到调用dll文件的函数,然后修改下参数即可。
高强度花指令--SEHSEH是WINDOWS系统中处理计算机异常行为的一种方式,这种方式的特点就是用入栈的方式把断点保存起来,所以他的效率很高,往往能够处理很多的异常状态。
在免杀中我们可以通过它给木马加花,让他"错误"地跳到入口点。
奉上汇编代码如下:push 原入口点-OEPmov eax,dword ptr fs:[0]push eaxmov dword ptr fs:[0],espmov ebx,0div ebx复制代码这样混淆的强度就很大了,其实还有很多这样的方法,自己漫漫研究把。
转载小鱼和Medusa的免杀技巧1. 遇到特征码定位在jmp指令上面的构造替换push xxxxx ret。
举例: jmp xxxxx构造替换push xxxxxret2. 遇到特征码定位在call指令上的。
举例:call xxxxx构造替换: push @fjmp 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, eaxje xxxxxx构造替换: xchg eax, ecxjecxz xxxxx5. 遇到特征码定位在push [xxxxxx]上的。
举例:push [xxxxx]构造:在其之前通过xchg [xxxxxx], ebx然后用寄存器传参: push ebx最后在下面在通过xchg [xxxxxx], ebx 交换回来。
6. 数据段动态恢复和巧用算法加密结合起来。
前提是对汇编大家一定要有所了解,例如一些人说金山杀的是配置信息上,你完全可以将其这些配置信息所处的地址的数据进行一层加密。
或者你可以将其这些偏移所处的数据通过xchg 交换。
dll注意下要进行重定位call $+5 ;机器码是E8 00000000 00000000是相对地址@@: pop ebxsub ebx, @b下面你就可以通过[ebx+你的偏移]来进行变址寻址了。
test eax,eaxje xxxxxx将test eax,eax nop掉,改je为jb或将两句nop掉test eax,eaxjnz xxxxxx将两句nop掉mov ebx,xxxxxxmov ebp,eax双mov可以上下调换add edx, dword ptr [ebp+6E]imul esi, dword ptr [edi+ebx*2+44], 614D6C6Cimul ebp, dword ptr [esi], 000 0000 00考虑下移and eax,80000007改为:or eax,7FFFFFF9用C32asm改,80000007为-80000007,C32asm会自动变为80000007的负数7FFFFFF9 je 等于则跳改成jle 也是等于则跳这是瑞星的新把戏00436008 09C0 xor EAX,EAX改为00436008 09C0 OR EAX,EAX004A19BD 6A 00 PUSH 0改为004A19BD 6A 01 PUSH 10049D775 /77 07 JA SHORT 021.0049D77E改为0049D775 /7F 07 JG SHORT 021.0049D77E特征码定位出来用OD载入却显示无此地址的解决方法也许你经常遇到特征码定位出来用OD载入却显示无此地址.我们用灰鸽子VIP2006的GETKEY.DLL做演示.假若特征码为[特征] 000009DA_00000002 004015DA (OC导出的内存地址)使用OC导出的地址到OD中却不能使用.这时用lordpe打开GETKEY.dll 0001300000400000 上下相加得00413000OD载入入口为00883000 > 55 PUSH EBP把40换成87就是真正的特征码.008715DADll实例(黑洞1.97 瑞星dll特征):OK=1CharactorTotal=3Codz1=H_0000354C_0092414CCodz2=H_0001A4B4_0093B0B4Codz3=H_0003C958_0095D558先用lord_PE打开,再用OD打开文件入口:00042948> -------> 00442948镜像:00400000>----------->相减00520000内存入口00962948零区无法定位可执行文件数据的问题1.c32asm来解决,静态反汇编改特征2.加一0区段,跨区段jmp跳,然后再新区段保存"所有修改",再回到原特征码处jmp,保存免杀关键是技巧,关键你对这些汇编指令掌握的程度,以及你对汇编程序的熟练度。
接下来再说一下NOD32的高启《一个钉子和一个国家灭亡的故事》大家都知道如果有那一个钉子,不丢那个马掌,不折那匹战马,不伤那位将军…………有太多不确定了,只要我们破坏了其中任何一个环节启发杀毒就会全线溃败。