CSDN博客

img luoboqingcai

黑客营传奇系列故事四 - 木马

发表于2004/12/29 7:11:00  1927人阅读

被安装了加密木马客户端的留香客栈终于在公元2004年8月4日夜22时24分时被攻破,一位黑客营的兄弟在思考了整整三天之后得出了最终的密码,有幸成为了我们的得奖用户。随后又有几位读者再一次攻破了留香客栈,并找到了雪柔的照片……

  本期,为了满足黑客营多数读者的愿望,我们特地准备了20张雪柔本人亲笔签名的照片,发放给在能够挑战此次黑客战书的朋友。而在猜中的读者中我们还将抽出一名大奖,发放给你,好了,在阅读完本期黑客营传奇之后,来迎接新一轮黑客战书的挑战吧!

  引子

  我凝视着雪柔的照片,我的情人爱人。就在一天之前我还甜蜜地畅想着这场虽然有些草率但却有我的坚决和梦想所启动的爱情……而今整个留香客栈却因此遭受了黑客营最强猛和最凶残的攻击。我无法在面对照片中的雪柔,她让我觉得我的爱情好像是她整个生命中不得不背负起的一个额外沉重的包袱……

  果壳中的木马

  听雨放下雪柔的电话,大脑中一片空白,不仅仅因为他和雪柔的关系,更因为他知道留香客栈很可能要和黑客营之间爆发一场前所未有的江湖仇杀。不过他没有想到的是,小妹鹿采薇竟然在此时此刻已经连续三次破坏了雪柔的计算机系统。听雨已经三天三夜没有合眼了,他在按照大姐的吩咐对“牧马寨”的UNIX服务进行入侵,在工作时睡眠对听雨来说很奢侈。手机突然在桌子上像跳舞一样的震动了起来,听雨麻木的大脑神经跳了一下,大姐又在催了?拿起手机接通后,电话另一头传来听雨最熟悉的声音。

  “你在干什么?”

  “攻牧马寨的服务器。”

  “为什么昨天不在QQ上理我!”,电话另一头的声音似乎有些愤怒。

  “……当时正在忙”,听雨似乎无法找到更合适的理由或者说借口。

  “给我一个QQ聊天纪律查看器!”

  “你要那个干什么?”

  “看一个人的聊天记录。”

  “谁的?”

  “留香客栈,雪柔!”

  “什么!你黑了她?为什么?”

  “你紧张什么?!你为什么要紧张?你怕我知道什么?你曾经说会永远爱我,但是你赋予我的爱却是一个谎言,一个残忍的血淋淋的谎言!我的命运,我一生中最重要的开始已经毁在了你的手中,我绝对不会让它就这么轻易结束,这么轻易挥之而去的,听雨……你欠我的!欠我一辈子!”

  “我想……”,电话挂断了,听雨有些麻木的大脑似乎已经让他陷入了一种幻觉,他头脑混乱的回忆着刚才的电话,脑海中思索着什么,这一切从一开始就不应该发生……

  听雨走到冰箱前,从冷冻柜中取出了一盆冰块,昏昏沉沉的走进洗手间,他将冰块一下全部倾倒在乘满水的水池中,将头猛的扎进了这盆冰水混杂的池中。冰凉刺骨的水刺激着他头上每一个细胞,他回想着鹿采薇的电话,回想起初识鹿采薇的每一个细节,回想起和她在黑客营一起跟大姐学习修改木马的一幕一幕。

  两年前黑客营中……

  大姐对着还略显稚嫩的听雨和鹿采薇:“你们现在都会用木马了,但是为什么让你们去攻击别人的时候你们无法成功,你们直到原因吗?其实原因很简单,你们用的木马都能够被杀毒软件查杀,这样的木马自然会被人家发现,你们的成功率当然就很低了。而提高成功率的方法只有一个,躲过病毒防火墙的追杀,让他们无法察觉出你的木马。”鹿采薇似乎对这一部分很感兴趣,“大姐,快教教我们这一部分吧,我植入木马的时候总失败,现在都没有信心了。”大姐就是在那一次讲起了木马加壳。

  所采用的工具简介

  Resource Hacker

  与eXeScope很相似的工具,但是我感觉初级的用户使用它会更加的方便。他修改软件资源的方式要更加的傻瓜化一些。

  pe-scan

  用于外壳的查看,对有些外壳还能进行脱壳。

  UPXShell

  UPXShell是一款EXE压缩软件。它有非常出色的压缩比率,跨平台性能也很优秀。由于UPXShell压缩后仍然是EXE可执行的文件,所以很多黑客利用它不改变属性只改变大小的特点来压缩病毒与黑客软件,这其中当然就包括我们大名鼎鼎的冰河。而且它会给压缩的软件加一层壳,这样避免了很多杀毒软件将其查杀出来,更好的迷惑受害者。

  ASPack

  ASPack与UPX很相象,也是压缩软件。早期的冰河客户端就是用这款软件压缩的,所以想必有些版本冰河是使用的这款软件进行压缩的。软件在通过ASPack压缩后,我们可以相应的使用UnASPack来进行解压缩,这样我们就可以看到压缩前的效果了。ASPack的压缩原理与UPX相同。

  ExeScope

  eXeScope是用来修改软件资源的最常用的工具,它强大的功能可以让eXeScope在没有资源文件的情况分析并显示不同的文件信息与内容,而且它可以对可执行的文件进行重写,这其中包括菜单、对话框、字串表等等。

  W32Dasm

  鼎鼎大名的W32Dasm可以对程序进行反汇编操作,而且对WinApi有良好的支持,反汇编出的代码可读性非常强。他可以记录下程序静态代码,是SoftICE的最好补充。

  OllyDbg:OllyDbg是一个32位汇编级的直观的分析调试器。它在源代码不可获得的时候,或者你用编译器遇到问题的时候特别有用,是一个非常好的动态跟踪调试工具。

  Hex Workshop

  一款非常专业的十六进制编辑器,功能强大的开发工具, 可以方便地进行十六进制编辑、插入、填充、删除、剪切、复制和粘贴操作, 配合查找、替换、比较以及计算校验和等命令使工作更加快捷。速度快,算法 精确,并附带计算器和转换器工具。

  现如今很多黑客营的人都在用加壳作为木马的掩护,甚至有个别新手跟我说,加了壳就能够成功的躲过江湖中任何杀毒软件。他只对了一半,因为在没有脱壳之前,的确很少有那一款杀毒软件能够发现木马,但是一旦加壳的木马被执行之后,完成了脱壳的过程,那么跟踪内存的杀毒软件会很快的发现内存中正在运行中的木马,最后将之杀掉。其实按照黑客营多数人的说法,大姐当时的加壳对很多已经成为高手的人来说已经没有任何意义了,但是鹿采薇却不这样认为,在她看来,加壳的手段方式不一样仍然可以有效的躲过杀毒软件。

  木马加壳的原理很简单,在黑客营中提供的多数木马中,很多都是经过处理的,而这些处理就是所谓的加壳。大姐说,当一个EXE的程序生成好后,很轻松的就可以利用诸如资源工具和反汇编工具对它进行修改,但如果程序员给EXE程序加一个壳的话,那么至少这个加了壳的EXE程序就不是那么好修改了,如果想修改就必须先脱壳。听雨了解鹿采薇很清楚每一个木马的加壳手段,冰河用ASPack,而灰鸽子则是UPX Shell进行加壳的。

  听雨恍恍惚惚记得鹿采薇曾经跟他得意的演示过给灰鸽子加壳躲过杀毒软件的过程,鹿采薇通过用Pe-scan进行外壳的查看,发现这一款灰鸽子是用UPXShell进行加壳的。于是这个时候就可以采用UPX附带的UPXUnpack程序对灰鸽子生成出来的木马EXE程序进行脱壳,脱壳后的灰鸽子猛然间有300多K增大到900多K,这时听雨知道她已经脱壳成功了。鹿采薇接着向听雨展示了用ExeScope对脱了壳后的灰鸽子客户端木马程序的图标进行修改。

  鹿采薇告诉听雨说,她自己摸索出来的方法是先对脱壳并修改完图标的木马程序进行再加壳,不过再用UPXShell进行压缩加壳时不同以往,此时她不是像大姐告诉她的那样直接进行加壳过程,而是在UPXShell的选项中的高级中先进行Scrambler加密,再点击加密完成加密过程之后,再用ASPack对这个已经加过壳的EXE文件再加一次壳。鹿采薇说这个时候杀毒软件就无法查杀出来了。

  听雨很清楚,鹿采薇这个加壳方法只是一个思路,其实运作起来很灵活,就是用两种不同的加壳工具对木马进行双重加壳,这样就等于将木马程序进行了两次压缩计算,自然就会逃脱杀毒软件防火墙的第一层过滤。不过加了再多的壳,压了再多次程序,最终的程序还是要被脱离出来的。如何让解压缩后的木马真正躲过杀毒软件这才是关键的步骤。

  改头换面的木马

  听雨很了解杀毒软件是如何跟踪木马和病毒的,多数杀毒软件都会在木马与病毒程序中挑选几段特征码,然后当这些程序在系统中运行的时候,杀毒软件会检查这些加载进内存的程序,查看程序中是否有特征码符合自己的查杀要求。

  他相信自己的直觉,鹿采薇一定学会了如何修改木马特征码这项关键的技术,如果鹿采薇真的掌握这个方法,那么鹿采薇的木马想要绕过雪柔那几个零零散散的杀毒软件根本不在话下。听雨真的无法相信鹿采薇学会了修改木马特征码的技术,因为他认为这对于鹿采薇来说是在是一项难度系数比较高的技术。而且作修改代码的活儿必须要掌握汇编语言的一些技巧。听雨百思不得其解,难道有人背后指点她?不对,鹿采薇不是那种让别人控制的女孩儿,似乎除了对大姐怀有敬畏之外,听雨没有看出她有求于任何人,采薇是个太执著的女孩儿了。不过听雨忽略了,对于一个被感情激怒的女人来说,执著往往能够带动惊人的爆发力。

  采薇作在电脑面前,这已经是她进行的第20多次修改木马特征码的试验了,前几十次的结果,不是修改后程序无法运行就是仍然被杀毒软件杀掉。修改特征码对她来说太难了,这需要掌握高超的汇编语言,而鹿采薇对此一窍不通。她所拥有的全部只不过是大姐给她打印的一本薄的只有5张A4纸的教程。教程一开头就直入话题,谈到了如何追综木马程序中的程序入口,可是鹿采薇试用OllyDbg怎么也无法找到程序木马的程序入口,直到试验了三次之后她才明白过来,这个木马必须先脱壳后才能够进行程序分析。脱壳对于鹿采薇来说不在话下,因为她太熟悉Pe-Scan和Wollf之类的工具了。在简单的分析并脱壳木马之后,鹿采薇终于可以用OllyDbg对木马源程序进行调试了。

  按照大姐的教程上说,使用OllyDbg对程序进行分析调试时,打开的分析界面的第一行就应该是程序的入口,004BDF68这段内存的虚拟地址符号被分析是程序的入口。鹿采薇按照大姐标注的说明,使用LordPE Deluxe这款工具打开已经脱壳的木马,再用“PE编辑器”一项中文件地址计算器计算出程序文件的相对偏移地址“000DBF68”。鹿采薇决定向一步步按照大姐的标注作。

  计算出程序的相对偏移地址,下面一步就是使用Hex Workshop打开脱壳的木马,鹿采薇看到了打串的字符,此时她已经一头雾水了,不过她能够感觉到自己要成功了,点击右键,查找十六位的偏移地址头,这里是关键了,鹿采薇一字一行的看这大姐写下的批注。批注中说,由头至尾大概150个文字块中肯定包含着杀毒软件进行查杀的特征码,你需要作的仅仅是一步一步的淘汰这些代码,可以先选择150或者100块字段,然后将这些字段规零,另存程序后,使用杀毒软件进行查杀,当然一部来说选择的段数越大,能够查杀到的机率也就越小。不过最终要把程序的字段确定到最精确的位置,这要反复的测试,缩小字块的范围。

  30分钟过去了,鹿采薇按照大姐的批注将字段范围缩小到了块DB367,这应该就是杀毒软件所分析到的那段特征码。鹿采薇将这段代码牢牢的记住,按照下一步打开反汇编工具W32Dasm对木马进行反汇编操作,通过找到的DB367的字段,鹿采薇在W32Dasm反汇编的文件也赵到了相应的代码字段:

  mov dword ptr [ebp-18],eax

  mov dword ptr [ebp-14],eax

  这时遇到了鹿采薇最头疼的事情,她必须明白这段反汇编程序的意思才能对程序进行修改,否则错误的修改很可能导致程序不能够正常运行。教程中并没有解释这些反汇编的字段的意思。还好,互联网发达的今天,没有什么找不到的,搜索!

  鹿采薇开始一段一段的搜索每一个代码的意思,并并翻查相关的文档进行标注解释。在明白了程序大概是在这里清零之后,她开始尝试性的修改变换程序代码的先后顺序,替换完毕之后,并没有向预想的那样成功,程序甚至无法打开,的确这里才是最关键的地方,前面的一切之不是找寻到了宝藏的地图,但是要看懂地图并找到宝藏的埋藏位置才是关键中的关键。

  何去何从?对照这反汇编的手册,鹿采薇开始一步一步的尝试……

  尾声

  听雨感到异常的悲伤与恐惧,他一直将采薇当作妹妹一样看待,然而没有想到今天他却要在此选择爱人还是亲人……他不知道雪柔和鹿采薇只见谁流淌更多善良的血液,难道黑客真的要不断的征服才能面遭时刻被淘汰的厄运吗?听雨迷盲的看着前方……

  不过他只看到故事开头,却永远没有猜透那个结尾……

  严正声明:由于本文高度危险,因此编辑和作者特此将本文用了大量的文学处理,希望大家仅仅当作一个知识点来看,且勿模仿!

0 0

相关博文

我的热门文章

img
取 消
img