脱去诱惑的外衣 露出木马的本来面目

互联网 | 编辑: 2006-10-06 00:00:00转载

木马与杀毒软件之间的战斗从来就没有停止过,通过对已知的木马进行加壳可以再次躲避杀毒软件的查杀。加了壳的木马可以防止被杀毒软件跟踪查杀和被跟踪调试,同时也可以防止木马本身的算法程序被别人静态分析。加壳软件通常可以分为压缩保护和加密保护两种。

压缩保护

压缩保护就是利用特定的压缩算法把程序压缩打包,运行的时候在内存中执行解压过程并运行主程序。常见的压缩类加壳软件有:UPX、 ASpack、Petite、PE-PACK、WWPack32、Shrinker等。以UPX为例,它的主要功能就是压缩,由于木马要在内存中释放后才能运行,所以对付这 类加壳木马,凡是有内存杀毒功能的杀毒软件都能获得很好的查杀效果。

加密保护

这类软件侧重的是加密和保护软件,在反编译和反调试功能方面比较完善,某些加密软件甚至可以做到锁定自身在内存中的进程而不让别的 进程插进来。此类加壳软件由于具备反编译和反调试功能,杀毒软件很难查杀到壳里的木马。常见的加密类加壳软件有ASProtect、tElock、 Armadillo、SVK Protector、Xtreme-Protector、Obsidium、PElock等。

给木马脱壳

要给木马脱壳,需要先知道加了什么壳。PEid一款专用的查壳工具,可以方便的检测出软件到底是使用什么东西加的壳,给脱壳带来了极大 的便利!木马Cmdshell.exe是个只有7KB的小木马,通过开放本机的54088端口,实现远程命令行控制。下面就详细介绍一下给木马 Cmdshell.exe脱壳的过程。运行软件后,点击“File(文件)”右边的浏览按钮,打开Cmdshell.exe文件,这时在主界面中就可以看到该文件的 加壳情况:Cmdshell.exe使用的是UPX加壳(如图1)。

图1 给Cmdshell脱壳

通常UPX加壳和脱壳工具是通用的,所以笔者选用了使用起来比较容易的UPX Shell对加壳文件进行脱壳。运行UPX Shell程序,点击“OPen(打开)”按钮,选定被加壳的程序。切换到“Compress(压缩)”标签,选择“Decompress(解压缩)”,再点击“GO( 运行)”按钮,即可完成脱壳。脱壳后程序由原来的7K变成了20K,文件脱壳成功(如图2)。

图2 UPX脱壳

{ad}PE-Scan也是一款专用的查壳脱壳工具,能识别出当今流行的绝大多数壳的类型,而且功能更强。PE-Scan可以检测出一些壳的入口点(OEP ),方便手动脱壳。运行Pe-scan,打开加了壳的木马,即可看到木马加壳的类型(如图3)。这里笔者使用了一个用Asprotect加壳的木马来做 测试,由于目前的PE-Scan并不支持脱Asprotect壳,所以“脱壳”按钮无法使用。

图3 PE-Scan脱壳

为了脱去Asprotect壳,还需要使用另外一款脱壳软件stripperX来帮忙,它可以方便快捷地脱掉ASpack和ASProtect加的壳。运行stripperX ,点击“open(打开)”按钮,选择要脱壳的文件,再点击“unpack(脱壳)”按钮即可生成目标文件,完成脱壳任务。需要注意的是由于 ASProtect在不断升级,低版本的stripperX往往不能脱最新版本的ASProtect壳,目前stripperX 2.07版本支持脱ASpack 2.xx 和 ASProtect 1.2x版本的壳,stripperX 2.11版本支持脱ASProtect 1.3~2.0版本的壳(如图4)。

图4 stripperX脱壳

总的来说,脱壳要对症下药,先用PEid或PE-Scan查清楚壳的类型,然后找脱这种壳的工具,才能达到脱壳的目的。脱了壳的木马,就失去 了保护,几乎所有的杀毒软件或木马查杀工具都能查杀它。当从网络上下载了某些怀疑有木马的程序,可以先用本文介绍的方法来检查一下,看看它是否被加了壳,如果是就要 提高警惕了,建议不要使用。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑