已发表于本人专栏:  http://www.freebuf.com/column/142406.html

最近收到一个钓鱼木马邮件,内容形式如下:

邮件里有个链接,当点开链接后会下载一个doc文档,打开文档会发现有宏代码

经过一些列解密后悔执行shell执行宏命令,打印出这个信息出来后发现,原来执行了powershell命令

是从网络url中下载一些文件并且 StartProcess,看来这才是真正的木马,下载的是一个exe,名字是随机的四个字符的exe名字。

下面就开始分析这个木马,用ollydbg加载木马,在Winmain函数入口点下断点:

F9飞一次,停在了入口,慢慢 F8单步,木马直接到了0300149C的地址

F7继续进入函数:

进入函数不久木马一直两个代码间循环,无法继续往下走,

(1) 循环起止1.

(2) 循环往上跳

当我们F9的时候一直不能跳出循环,我们通过IDA查看发现他做了一个时间判断故意为了防止被分析做了一个时间开关,这个时间有点太大了。

我们直接修改EIP到循环外的地址,跳过这个循环。

继续往下走。

下面有Call VirtualProtect,而这个VirtualProtect把刚才分配的地址改写成PAGE_EXECUTE_READWRITE的属性,也就是变成一个可读写可执行的代码页。

下面就到了木马对内置的加密代码的解密了,可以明显看到原始数据被加密了。

解密完后我们可以看到内存地址内容了,

到此这个函数就执行完毕,返回到入口函数位置后,下面有个cal [3011744] 实际上是前面函数内解密分配的shellcode函数 。

实际上是call 001AA618,进入函数

再次进入就进入真正的函数位置了

很明显字符串 75 73 65 72 33 32用字节码写出来,作者做了一些免杀处理。

在shellcode遇到第一个函数这个函数call 001AA008,函数的功能是查找木马的导入表找到LoadLibraryA函数和GetProcAddress这两个函数地址

接下来就是通过LoadLibrary 和GetProcAddress函数动态获取一些API的地址,

一共要获取几十个函数的地址,这块我们跳过去,F9一路飞到地址001AB4EF

这个函数直接调用函数下面的地址,继续 F8单步到001AB50F

继续F7进入001AB50F函数

在这里他会判断木马目录下有没有apfHQ文件,所以我们事先需要生成一个apfHQ文件在目录下,空文件也行,这个过程完毕后就进入了01AA408函数。

继续往1AA408函数内部F7,会经过一些列的RegisterClassEx, CreateWinodws、GetMssage等窗口函数后就进入了1AA108函数

继续F7进入1AA108函数,在进入函数不久,木马会去取一个内存数据,并且判断4550 “PE”这个标志位

接下来调用 GetStartUpInfo,取得当前进程的启动信息

然后接续获得当前进程的命令行参数

然后调用CreateProcess 来把自己作为子进程创建起来,而且创建标志位是

CREATE_SUSPENDED

0×00000004

是以悬挂进程的方式创建子进程

然后继续通过GetThreadContext函数获得子进程的线程上下文

然后在子进程的0×400000的地址远程分配一个大小0xC00大小的内存,内存属性0×40,即读写可执行的属性内存PAGE_EXECUTE_READWRITE  0×40

接下来木马就会使用ZwWriteVirtualMemory函数往子进程的0×400000地址写入大小0×400的数据,通过查看写入的数据发现是个PE头

下面就是PE头数据

然后木马会解析这个内存里的PE文件的各个节.text .data .rdata 等等节段,通过ZwWriteVirtualMemory函数分别往子进程的相应内存里远程写入数据。

分别写完数据后,然后改写子进程PE加载器的子进程的执行加载的首地址为0×400000

然后使用SetThreadContext设置子进程的当前线程EIP 指向0x408FE5

最后调用ResumeThread函数恢复子进程的线程继续执行

最后父进程退出,子进程开始干一些真正的盗取行为,到此我们可以知道木马是通过创建子自身子进程通过GetThreadContext、ZwWriteVirtualMemory、SetThreadContext、ResumeThread,来实现hook方法达到隐藏真实pe的目的来增加分析人员的分析难度,他的真实PE文件加密存贮在数据段中解密后如下:

现在的木马的隐蔽性越来越深,也经常使用多进程交互,真正的执行逻辑可能已经变换的找不到来源,而过去常用的进程关系行为越来越难以检测了,这就要求安全人员更加深入地研究。

一个邮件钓鱼木马的分析 (一)相关推荐

  1. 一个钓鱼木马的分析(二)

    发表于本人专栏:   一个钓鱼木马的分析(二) 这个木马隐蔽性很强,内存中不存在任何明文字符串,很难用内存搜索去搜索一些明显字符串,内存的数据都是加密存在需要时才解密,然后立即释放,不会长期驻留在内存 ...

  2. 一个感染型木马病毒分析(二)

    作者:龙飞雪 0x1序言 前面已经对感染型木马病毒resvr.exe的病毒行为进行了具体的分析见一个感染型木马病毒分析(一),但是觉得还不够,不把这个感染型木马病毒的行为的亮点进行分析一下就有点遗憾了 ...

  3. 一个简单的木马程序分析

    目录 Mini木马的基本原理 Mini木马介绍 实验环境 系统环境 开发环境 木马实现 进行实验 辅助工具telnet的安装 虚拟机运行木马 本机与虚拟机创建连接 主机对虚拟机进行操作 查看当前用户 ...

  4. 一个感染型木马病毒分析(一)

    一. 样本信息 样本名称:resvr.exe(病毒母体) 样本大小:70144 字节 病毒名称:Trojan.Win32.Crypmodadv.a 样本MD5:5E63F3294520B7C07EB4 ...

  5. 社会工程学与APT攻击之——社工邮件钓鱼分析

    社工邮件钓鱼分析 在大型企业边界安全做的越来越好的情况下,不管是APT攻击还是红蓝对抗演练,钓鱼和水坑攻击被越来越多的应用.(水坑攻击感觉也很牛掰的样子) 说起钓鱼,突然想起来小薛同学在大一收到一个钓 ...

  6. 一个淘宝客劫持木马的分析

    一个淘宝客劫持木马的分析 近期,我们收到很多淘宝卖家的投诉,报告说他们的淘宝联盟付费推广被莫名奇妙地扣除了一部分,而这个商品是没有经过推广的.360病毒响应中心的工程师收 到投诉后,经过一系列的分析和 ...

  7. linux钓鱼邮件,钓鱼邮件传播勒索病毒再升级,不落地加大查杀难度

    0×1 概况 钓鱼邮件作为传播勒索病毒的常用手段,通常在邮件正文利用"社工手段"诱使用户点击邮件附件,附件的文档内容诱使用户开启宏.用户一旦将宏开启,文档中所包含的恶意宏代码即自动 ...

  8. 网络钓鱼攻击技术分析及防范

    网络钓鱼攻击技术分析及防范 网络钓鱼攻击技术分析及防范 Author: rayh4c [80sec] EMail: rayh4c#80sec.com Site: http://www.80sec.co ...

  9. 伪造邮件钓鱼,要知道的秘密!

    微信搜索逆锋起笔关注后回复编程pdf 领取编程大佬们所推荐的 23 种编程资料! 邮件钓鱼入门到入土 在大型企业边界安全做的越来越好的情况下,不管是 APT 攻击还是红蓝对抗演练,钓鱼和水坑攻击被越来 ...

最新文章

  1. 女朋友什么的都是浮云,代码才是真爱!
  2. Android Resources
  3. LeetCode 86分割链表87扰乱字符串
  4. 用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API
  5. pyqt界面屏幕分辨率自适应_在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
  6. HTTP之Last-Modified、Etage、If-Modified-Since理论与实践(C++ Qt实现)
  7. idea看更改过的代码_就是你把所有代码全写在一个类里的?
  8. 再见,Kafka!RocketMQ已成气候!
  9. synchronized锁机制 之 代码块锁
  10. 浏览器打印设置横向打印_hp打印机共享怎么设置 hp打印机共享设置方法【详解步骤】...
  11. 03-树2. Tree Traversals Again (25)
  12. SMTP 发送邮件错误码和解决方法
  13. 《东周列国志》第八十回 夫差违谏释越 勾践竭力事吴
  14. Python小白逆袭大神-结营心得-alading
  15. 华为官方翻新产品秒杀活动来袭,官方正品,7折优惠,真香!
  16. 用网站怎么赚钱?具体点!聊聊用网站赚钱的方法
  17. SQLyog免费下载地址
  18. jzoj 3837 心灵终结
  19. Python爬取门户论坛评论
  20. ITE 在vs下可以模拟,在ite下无法编译

热门文章

  1. 20220304-0307es
  2. ddos攻击的简单应急处理办法
  3. 马云:阿里巴巴必须成为国家和世界创新的发动机
  4. 不等式恒成立求字母范围
  5. 选择软件组成分析工具的最佳做法
  6. 京东争抢AI人才,前微软亚洲研究院资深研究员梅涛博士加盟
  7. python字符串方法大全
  8. Flash 安装、修复和诊断工具分享(Flash大厅)
  9. 【转】34门课改变人生——牛人自学计算机总结
  10. “大众点评”已去,“高德点评”再起?