战争贩子 发表于 2014-12-5 14:51

【病毒分析】【网吧实战】如何将别人的收信箱子改成你自己的

【实战】教你修改钓鱼木马中的收信箱子                                                    -----52pojie战争贩子前言:仍然是网吧环境,技术上报的一个病毒,作者跟踪了一下发现了一系列钓鱼木马。全是游戏平台的。这些钓鱼木马的功能强劲,界面逼真,并且做到了验证密码是否正确。如果修改其收信箱子自己可以节省很多时间。 警告:禁止用于违法行为,钓鱼程序未完全逆向研究造成损失本人不负责任。一、现场分析网吧病毒现场复杂,请看如下几张图片,笔者个人就不放出分析方法了。 简单说一下这个下载者的功能:其实就是首先遍历一下本机器上正在执行的游戏,如果发现是他策略里面的就强行关闭它,然后监测到用户再次打开客户端的时候,就恶意替换为假的客户端(HOOK)。跟踪下去发现77169字样。 二、下面教大家如何修改这些钓鱼木马的收信箱子   DNF钓鱼程序下载下来之后,会释放两个文件。如图 然后这两个软件的关系是,那个隐藏的eciqnbj.exe会释放出OceFVLBR.exe,其中第二个进程实现了钓鱼主UI、去安全中心验证、返回正确与否的功能,理论上第二个进程包含了DNF钓鱼的全部功能,所以我们尽可能的不使用第一个进程,而只修改第二个进程中的信息。(防止第一个进程中有检测及后门,我当然知道可以直接写在第二个进程参数里面,毕竟这样危险)但是我们发现Oce进程内存中并没有写收信箱子等信息。然后我们发现了主进程中收信箱子的信息。如图分析。 跑到这里 $+ 0x603CD处发现 Commandline 竟然是带参数的,发现这个参数好熟悉,这不是收信地址么。再看看ProcessXP的结果,如图. 没想到是带参数执行的,没想到。那么这个参数怎么传递的,后门的那段字符串是干什么用的,是密钥吗?都是疑问。好的,我们继续下去。 仔细想一下,还有什么突破口。对,主要的病毒程序是这个程序释放出来的子进程,而且是由他启动的,那么我们就考虑下WINEXEC SHELLEXCUTE CREATEPROCESS这三个函数的API断点。经过测试 是CreateProcessA 这个API函数,执行,中断下来了。如图 是填充commandline运行的,后面的参数明显是加密过后的。是否就是收信箱子?我们继续,这样,子进程就启动起来了,我们追踪一下加密过程吧。好的。我们看edx是怎么来的,od往上翻到这里,如图。 Esi是存放指针!在往上翻。 好的,esi是取得esp+0x64地址指向的值,esp偏移了0x54,那么说去的是esp+0x10的内容 也就是第三个参数,然后我们回溯几层看看。现回溯一层。 发现第三个参数eax是esp+0x8的地址,就是第二个参数。继续回溯到这里$+0xB668位置。 那么eax就是关键输入参数了。而eax是赋值过来的。追查以下。往上翻到。 发现此CALL的返回值eax,赋值到了,本函数第三个参数为敏感的加密数据。那么继续追查。 Local.2为该函数的返回值,输入函数经查eax就是指向两个空格 \x20,\x20 而另一个就是咱们的收信地址。 好的 到此为止,我们找到了加密函数。好的 我们做一下算法加密机。进入这个加密函数之后,发现实在是太复杂了函数太多了,那么就不好用MFC写一个算法机了,我准备直接改造这个工程,直接写汇编代码。汇编代码怎么嵌入,写到什么地方,怎么样展示出来?都是问题。那么我就用MessageBox展示,然后把自己退了就行了。开始编写代码:咱先找快内存把咱的收信箱子写进去,注意要写到输入表rDATA段中。为什么,自己看PE结构。 然后打开WINHEX,定位到rDATA段中。找到一块空地,写进去! 找汇编代码写入位置。 改成jmp 然后jmp目的地址写法如下,先写调用CALL的方法 单步运行这个CALL 发现成功了!!!! 密钥成功获取。然后再用MessageBox弹出密钥即可。此时密钥是EAX指向的内存。OK.我们编写代码。 后面不写代码就行 让程序崩溃就好,完美点可以写个TerminalProcess,在此就不介绍了。查看效果,用SPYLITE可以提取出数据。如图 以后只需要修改HEX里面的收信箱子,就可以弹出加密密钥,然后将钓鱼工具加上密钥作为参数就可以使用了,避免了使用他提供的父进程,从而避免里里面的后面。三、收信箱子的编写首先咱们先弄清楚他到底发了咱们的什么信息,笔者直接执行了病毒,然后执行了WPE工具进行封包处理。这个是咱们上一节分析出来的参数,vres13还没分析出来,但是可以用。我们用参数执行提取出来的钓鱼程序(子程序) 打开DNF。 用SPYLITE一看 立马看出来了,但是期间更新,选择大区都是正常的,这个木马做的确实不错。我打开WPE,附加到这个进程,然后登陆一个账号,查看封包内容看看有没有什么突破。 看来这个ASP只需要两个输入参数即可,我把我的asp源码奉上! 这样,咱们的收信箱子就写好了。这样我们就安全地完成了一个高级钓鱼木马收信箱子的修改。四、总结及提示总结一下,这次逆向其实就是教大家如何调用Call函数,如何找到关键Call,然后将当前程序巧妙的写成一个算号机。针对这种CALL中有N多小CALL而且访问网络等等的加密算法CALL,还是很建议使用这种方法的。 提示,如果感觉逆向起来麻烦的话,完全可以用Processxp大胆的直接执行父进程,将运行参数修改成你的收信箱子,然后看子进程的参数,复制出来就可以使用了,这样就是有一点,父进程做了其他事情咱们是没调查清楚地,有危险性。 花絮:作者在加密CALL中发现了Get请求,其中有一个链接是http://183.57.57.192:7890/xzwj3.txt 有兴趣的人可以去看看。

32600766 发表于 2014-12-30 14:39

学习学习   带走了

chornam 发表于 2014-12-29 23:21

很复杂,水平不够,看不懂,哎。

落魄少爷 发表于 2014-12-23 09:21

感谢大牛的分析

xiaoqihacker 发表于 2014-12-22 20:50

厉害,给力啊!

战争贩子 发表于 2014-12-5 14:55

@willJ 申精置顶阿里嘎套~

神小白 发表于 2014-12-5 14:57

好牛逼,必须顶

sulin804 发表于 2014-12-5 15:01

   是好NX ,, H大快快

彭聪制作 发表于 2014-12-5 15:02

必须强烈支持

ww1113330 发表于 2014-12-5 15:08

好牛的东西,下载收藏了

铅笔刀 发表于 2014-12-5 15:12

看你妹 真坑爹{:1_907:}

gtacsr 发表于 2014-12-5 15:15

这么不合适把。

微笑嘻嘻 发表于 2014-12-5 15:21

膜拜啊
大神

战争贩子 发表于 2014-12-5 15:25

阿也。 发表于 2014-12-5 15:15
这么不合适把。

我觉得也不是很合适其实。。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【病毒分析】【网吧实战】如何将别人的收信箱子改成你自己的