TrojanDownloader病毒分析报告

栏目: 编程工具 · 发布时间: 5年前

内容简介:TrojanDownloader(中文名:文件下载者病毒)主要通过游戏外挂等方式传播。是一款比较早期的病毒样本,已知最早的入库时间是在2008年,其本身危害性不高,但是由于他的作用,其危害性体现在其所下载的恶意代码上。这个函数是程序的主要执行部分。

TrojanDownloader病毒分析报告

零 前言

TrojanDownloader(中文名:文件下载者病毒)主要通过游戏外挂等方式传播。是一款比较早期的病毒样本,已知最早的入库时间是在2008年,其本身危害性不高,但是由于他的作用,其危害性体现在其所下载的恶意代码上。

一 目录

  • 1.目录
  • 2.样本信息
  • 3.行为分析
  • 4.样本分析
  • 5.技术上的总结

二 样本分析

  • 1.样本名称:sample.WSDump.exe
  • 2.样本md5:25a1eb3d3f8767a86050d16c226f9912
  • 3.是否加壳:UPX
  • 4.编写语言:VC++6.0
  • 5.样本来源:网络获取

三 行为分析

病毒首先创建互斥体121212,和判断自身文件是否存在,如果存在就启用网络套接字以便执行下一步操作。如果不存在则退出程序。

TrojanDownloader病毒分析报告

在执行体函数中,程序首先初始化一些服务控制器的状态信息,然后创建”Net CLR”的互斥体,接着枚举二进制资源,加载hra33.dll这个dll文件,接下来分别创建三个线程,执行不同的操作。

TrojanDownloader病毒分析报告

四 样本分析

ExecuteFun

这个函数是程序的主要执行部分。

  • 设置serviceStatus状态

TrojanDownloader病毒分析报告

  • 更新资源
  • 加载hra33.dll这个动态链接库文件
  • 创建三个线程

TrojanDownloader病毒分析报告

UpdateSource

这个函数主要是用于更新资源的,但是由于注册表Services.Net CLR不存在导致函数提前退出。

TrojanDownloader病毒分析报告
  • 根据Service注册表下Net CLR文件,创建新文件

TrojanDownloader病毒分析报告

  • 然后利用跟新资源的方式让其像一个可执行文件

TrojanDownloader病毒分析报告

Thread_1

利用od跟入Thread_1函数。

  • 获取本地主机的名称和地址

TrojanDownloader病毒分析报告

  • 获取本地网关

TrojanDownloader病毒分析报告 TrojanDownloader病毒分析报告

  • 这里有个病毒作者的错误,本来他想的是如果主机用户是管理员则执行这个判断,但是他直接引用的是字符串,造成判断无效,所有用户都成立

TrojanDownloader病毒分析报告

  • 利用上面得到的本地网关地址,和用户名及密码作为参数传入CreateFileAndExecuteFun(emmmm不像是真的)。

TrojanDownloader病毒分析报告

CreateFileAndExecuteFun

程序先与远程主机利用ipc$漏洞创建一个共享的命名管道,用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。还可以访问共享资源,并使用一些字典工具,进行密码探测,以至于获得更高的权限。然后黑客从服务端可以利用nc等软件向主机发送一个shell。

TrojanDownloader病毒分析报告

  • 把本地文件复制到共享文件的C-E盘

TrojanDownloader病毒分析报告

Thread_2

  • 获取本地时间和20130221进行比较,如果大于则创建Thread3这个线程执行

TrojanDownloader病毒分析报告 TrojanDownloader病毒分析报告

Thread_3

  • 判断链接192.168.1.107是否正常
    TrojanDownloader病毒分析报告
  • 利用switch 通过接收不同的指令,来决定执行的操作,如下图
    TrojanDownloader病毒分析报告
    • 16号:
      TrojanDownloader病毒分析报告
    • 18号:
      TrojanDownloader病毒分析报告
    • 20号:
      TrojanDownloader病毒分析报告
    • 6号:
      TrojanDownloader病毒分析报告
    • 2号:
      TrojanDownloader病毒分析报告
    • 3号:
      TrojanDownloader病毒分析报告
    • 4号:
      TrojanDownloader病毒分析报告

IsConnectFun()

  • 解Base编码得到IP地址:192.168.1.107:83

    TrojanDownloader病毒分析报告

GetInformationFun

  • 识别出当前系统版本信息
    TrojanDownloader病毒分析报告
  • 读取注册表,查看CPU的频率
    TrojanDownloader病毒分析报告 TrojanDownloader病毒分析报告 TrojanDownloader病毒分析报告
  • 调用 GlobalMemoryStatusEx获取内存信息,
    TrojanDownloader病毒分析报告
  • 查看网络适配器情况
    TrojanDownloader病毒分析报告

五 技术上的总结

调试程序比较难的地方在于跟入CreateThread创建的线程中,因为OD是单线程调试器,所以不会直接跟入创建的线程(子线程)中,我们采用Sleep函数来跟入线程函数中。

  • 找到线程所指向的函数,在函数开头下断
  • 修改调用CreateThread函数下一条语句,写入如下部分
    push 100000  ;将Slepp的参数压入
    Call Kernel32.Sleep
  • f8执行,函数自动断在线程函数刚刚下断的地方。

参考自: https://blog.csdn.net/whatday/article/details/9059281

关于ipc$的使用,参考自 https://blog.csdn.net/smithjackhack/article/details/78559970


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

现代编译原理

现代编译原理

Andrew W.Appel、Maia Ginsburg / 人民邮电 / 2005-9 / 59.00元

《现代编译原理:C语言描述(英文版)(本科)》全面讲述了现代编译器的各个组成部分,包括:词法分析、语法分析、抽象语法、语义检查、中间代码表示、指令选择、数据流分析、寄存器分配以及运行时系统等。与大多数编译原理的教材不同,《现代编译原理:C语言描述(英文版)(本科)》采用了函数语言和面向对象语言来描述代码生成和寄存器分配,对于编译器中各个模块之间的接口都给出了实际的 C 语言头文件。 全书分成两部分......一起来看看 《现代编译原理》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具