中国黑客协会创始人花无涯带你走进黑客天下系列技能文章
前两个免杀系列章节都大略的先容了干系的操作,这章开始直接案例实战,后几个章节专注检测修正加壳加密等方向案例操作,不过系列技能文章更新进度比较慢,首发新浪微博花无涯。
稠浊检测:病毒由两个部分组成:载荷(payload)和稠浊部件(obfuscator),载荷是用来做坏事的代码,而稠浊部件则是病毒用来保护自身免于被查杀的,常日恶意软件开拓者都会将其代码进行稠浊以降落其代码的可读性。以是稠浊检测就非常的有针对性。
杀毒软件对付病毒的判断是滞后性的,以是,在一个新病毒发布的最开始,即0day,杀软是无可奈何的,他们大概只能根据该病毒程序的发布韶光来提醒你,却无法肯定其是否为病毒。只有一段韶光后病毒库里有了这个病毒,才可以比对查杀。
从这个意义上讲,病毒发布之初,作者都是“高手”,但是只要被病毒库纳入,他们基本都废了,这是当前的杀毒软件具备的基本能力。
但是如果有一种病毒让人创造了,知道它是病毒,但是仍旧无可奈何,那就真的是高手了。一旦中毒,就真的麻烦了,比如打单钱财的病毒,把你的文件给加密了,要让你付款才能解密。
免杀案例:
msfvenom 天生一个 WAR 文件:
root@osi:/tmp# msfvenom --platform windows -a x86 -p windows/meterpreter/bind_tcp -ex86/shikata_ga_nai -i 2 LPORT=8484 -f war -o /tmp/OSI.war
不幸的是大多数杀毒软件都能检测出这个文件。那么就让我们来深入挖掘下这个 WAR 文件,看看到底是哪一部分的代码导致被杀毒软件检出的,然后在来看看如何进行免杀。
msfvenom 所天生的 WAR 文件会包含两个文件夹(META-INF 和 WEB-INF)、一个 .txt 文件和一个 .jsp 文件,可以进行如下提取:
root@osi:/tmp# jar –xvf OSI.war
这里的 .jsp 文件只是卖力进行十六进制转码的,而真正的 Payload 则因此十六进制编码形式存储在 .txt 文件中。在经由大量的测试后,我们创造杀毒软件紧张是基于 .txt 文件进行查杀的,而我们只须要对 .txt 文件进行些许的改动即可实现免杀。
加壳检测:恶意软件一样平常都会被压缩加壳,由于加壳会将可实行文件进行压缩打包, 并将压缩数据与解压缩代码组合成单个可实行文件的一种手段。 当实行被压缩过的可实行文件时,解压缩代码会在实行之前从压缩数据中重新创建原始代码。以是检测恶意软件是否利用了加壳技能,也是创造的一种主要手段。
加密检测:恶意软件利用加密对其二进制程序进行加密,以免被逆向剖析。加密存在于恶意软件的构建器和存根中,当恶意软件须要解密时,不会用恶意代码常用的正常方法实行它。为了隐蔽进程,恶意软件利用了一个有名的RunPE的技能,代码会以挂起的办法实行一个干净的进程(黑客入门到精通书本《网络黑白》某宝有),然后把内存内容修正成恶意代码后再实行。以是检测RunPE的运行,就可以很随意马虎的检测到恶意软件了。
启示式引擎是基于统计和规则的剖析机制。他们紧张的目的是检测事先未知的病毒,以是我们只能自行总结出常见的一些判断标准,过每一种杀毒软件的办法都不一样,各种杀毒引擎的办法都必须理解。
虽然本文已经列举了很多免杀的方法,但实在还有很多我们没有列举到,比如编译恶意程序时须要开启堆栈保护,降落文件大小可以加大逆向工程剖析的难度,内联汇编的语法推举用visual studio进行编译等,希望大家保持坚持学习的态度,感兴趣的可以留言给我。