msng病毒分析

这是一个非常古老的文件夹病毒,使用XP系统的文件夹图标,采用VB语言开发,使用了一种自定义的壳来保护,会打开网址http://www.OpenClose.ir,通过软盘、U盘和共享目录进行传播,会在U盘所有的目录下生成自身的副本,根据目录名来生成不同的文件名。有一定的对抗杀软的能力。

样本的基本信息

MD5: 7b4983962fe9d740d6ec5fb153a0525f
SHA1: 114d4cdfb3f0e73eabc449d0877f36a683defff4
SHA256: f05c0989b3f10e921a6acc9c8b5d781bc4818b070cf4729bd422e673a5e6dd19

样本使用xp系统的文件夹图标。使用了一种变形的壳进行保护。

# 脱壳过程

vb程序的入口点一般为一条push命令,这里实际上压入的是一个指针,指向的是VBHeader结构体,然后就是call指令调用MSVBVM60.dll中的ThunRTMain。这两条指令的目的是调用ThunRTMain函数初始化各种变量。

我们首先找到MSVBVM60.dll中的ThunRTMain的地址,下断点,看它的返回地址。

用IDA打开系统内C:\WINDOWS\system32\msvbvm60.dll,发现ThunRTMain的导出地址为

0x733935A4。

,用OD将msng.exe的样本跑起来,在733935A4处下断点。断下之后,看栈中的返回地址,如下图所示,返回地址为00401A5A,这个地址-10就是程序的入口点,0x401a50。

重新用OD跑样本,在0x401a50处下硬件执行断点,F9继下之后,使用Ollydump插件脱壳即可。

0012FFBC   00401A5A  返回到 1.00401A5A 来自 1.00401A4A
0012FFC0   00401AEC  1.00401AEC
0012FFC4   7C817077  返回到 kernel32.7C817077

病毒行为

结合VB Decompiler Pro的结果,使用IDA和od对病毒进行分析。

感染系统的过程

将自己拷贝到C:\windows\system32\msng.exe,并在注册表表中添加开机启动项 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\msng="C:\WINDOWS\system32\msng.exe"

C:\WINDOWS\system32\Rundll32.exe拷贝为C:\WINDOWS\system32\rundII32.exe

将自身拷贝为C:\WINDOWS\system32\Rundll32.exe

启动C:\WINDOWS\system32\Rundll32.exe fuckystart

隐藏文件后缀名,设置注册表HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\HideFileExt=0

传播方式

若当前进程名为rundll32,参数为fuckystart的话,读取注册表 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\LanmanServer\Shares 遍历共享目录,感染共享目录。

寻找窗口名为3.5 Floppy (A:)3.5 Floppy (B:)Copying...的窗口,感染中对应的驱动器。

不断获取当前活动窗口的标题,找到下面这样的窗口,使用SendMessage(hWnd, WM_CLOSE, 0, 0)的方式来关闭窗口,应该是为了对抗杀软。

*task*manager*
system configuration utility
*anti*
*kill*
*virus*
*worm*
*remover*

遍历USB驱动器,在每个目录下创建自身的副本,文件名是根据目录名随机生成的,如下所示。

目录名*mp3*,会生成如下形式的文件
Ebi
Kamran & Homan
Omid
Scooter
Britney Spears

目录名*show*
Mansour
Black Cats
Andy
The Boys
Britney Spears

目录*game*
New Game
War Craft
Mario
Super Snake
Chess Master

目录*picture*
New Pictures
Angelina Jolie
Hot
Priceless
Funny

目录名*music*
Soft
Rock
Blues
Classic
Jaz

目录*video*
my videos
Private
Home
2007.04.30
hot


目录名*document*
my docs
home work
Final
New Docs
Clips

若没有匹配到上面的模式的话,使用下面的文件名
Video
Clips
Documents
My Documents
New Folder
Angelina Jolie
WallPapers
MP3
Show
New
HOT
Fun
Games
Flash  Games
Favorites

使用系统默认浏览器打开 http://www.OpenClose.ir。目前该域名已经不能访问了。

在文件 C:\~0002ftd.tmp中保存病毒的起始目录,然后将其删除。

IOC

hash
MD5: 7b4983962fe9d740d6ec5fb153a0525f
SHA1: 114d4cdfb3f0e73eabc449d0877f36a683defff4
SHA256: f05c0989b3f10e921a6acc9c8b5d781bc4818b070cf4729bd422e673a5e6dd19

file
C:\windows\system32\msng.exe
C:\WINDOWS\system32\Rundll32.exe
C:\WINDOWS\system32\rundII32.exe
C:\~0002ftd.tmp

U盘
会在U盘第个目录下生成一个副本,会根据当前目录名随机生成一个文件名,如下所示,当U盘中有以下文件时就要 小心了
*mp3*
Ebi
Kamran & Homan
Omid
Scooter
Britney Spears

*show*
Mansour
Black Cats
Andy
The Boys
Britney Spears

*game*
New Game
War Craft
Mario
Super Snake
Chess Master

*picture*
New Pictures
Angelina Jolie
Hot
Priceless
Funny

*music*
Soft
Rock
Blues
Classic
Jaz

*video*
my videos
Private
Home
2007.04.30
hot


*document*
my docs
home work
Final
New Docs
Clips


Video
Clips
Documents
My Documents
New Folder
Angelina Jolie
WallPapers
MP3
Show
New
HOT
Fun
Games
Flash  Games
Favorites

注册表
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\msng="C:\WINDOWS\system32\msng.exe
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\HideFileExt=0

总结

通过分析这个病毒,对VB病毒的逆向有了一定的学习。

参考资料

  • [原创]VB6反编译详解(一)-软件逆向-看雪-安全社区|安全招聘|kanxue.com

  • Visual Basic程序的逆向分析 - 『脱壳破解区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

  • VB快速逆向法-软件逆向-看雪-安全社区|安全招聘|kanxue.com

  • VB常用API (notion.site)

  • msng.exe的VB程序分析_openclose.ir-CSDN博客

  • 小甲鱼 OllyDbg 教程系列 (七) :VB 程序逆向分析_ollydbg vb rtcp-CSDN博客

  • Visual Basic 6.0_哔哩哔哩_bilibili

  • 【精选】两 API 三步最简实现 VB6 输出到CMD控制台显示 (含获取输入),真输出至 CMD 窗口,非 AllocConsole 模式_vb 控制台输出-CSDN博客

  • VB与API (office-cn.net)

  • 小甲鱼 OllyDbg 教程系列 (七) :VB 程序逆向分析_「已注销」的博客-CSDN博客Dir function (Visual Basic for Applications) | Microsoft Learn

  • VB函数——逆向分析备查-CSDN博客

  • VB逆向函数详解2 - 完美视界 - 博客园 (cnblogs.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/198709.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

采集工具-免费采集器下载

在当今信息时代,互联网已成为人们获取信息的主要渠道之一。对于研究者和开发者来说,如何快速准确地采集整个网站数据是至关重要的一环。以下将从九个方面详细探讨这一问题。 确定采集目标 在着手采集之前,明确目标至关重要。这有助于确定采集…

三季度营收下滑16.3%,网易云音乐如何讲出新故事?

在选择重新回归音乐本身后,网易云音乐(09899.HK)业绩承压的困局写在最新的三季报里。 「不二研究」据网易云音乐三季报发现:今年三季度,网易云音乐净收入同比下滑16.3%。目前,网易云音乐主要面临营收下滑、商业化场景探索尚未形成…

MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。

MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。 一般来说出现这个问题是因为使用git版本控制工具合并代码出现了问题&#xff0c;想要解决也很简单。 如图点击错误后定位到文件&#xff0c;发现也没有什么问题。 根据错误后边的提示&a…

前后端分离开发出现的跨域问题

先说说什么是跨域。 请求的URL地址中的协议、域名、端口号中的任意一个与当前URL不同就是跨域。 比如&#xff1a; 当前页面的URL请求的URL是否跨域原因htttp://localhost:8080htttps://localhost:8080是协议不同htttp://localhostll:8080htttp://localhost:8080是域名不同htt…

JVM 内存结构

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

【赠书第9期】巧用ChatGPT高效搞定Excel数据分析

文章目录 前言 1 操作步骤 1.1 数据清理和整理 1.2 公式和函数的优化 1.3 图表和可视化 1.4 数据透视表的使用 1.5 条件格式化和筛选 1.6 数据分析技巧 1.7 自动化和宏的创建 2 推荐图书 3 粉丝福利 前言 ChatGPT 是一个强大的工具&#xff0c;可以为你提供在 Exce…

【Newman+Jenkins】实施接口自动化测试

一、是什么Newman Newman就是纽曼手机这个经典牌子&#xff0c;哈哈&#xff0c;开玩笑啦。。。别当真&#xff0c;简单地说Newman就是命令行版的Postman&#xff0c;查看官网地址。 Newman可以使用Postman导出的collection文件直接在命令行运行&#xff0c;把Postman界面化运…

链接2:静态链接、目标文件、符号和符号表

文章目录 静态链接符号解析 (symbolresolution)重定位 (relocation) 目标文件1.可重定位目标文件2.可执行目标文件3.共享目标文件 可重定位目标文件text:rodata:.data.bss.symtab.rel.text.rel.data:debug:line:strtab: 符号和符号表由m定义并能被其他模块引用的全局符号由其他…

【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏3(附项目源码)

文章目录 本节最终效果前言近战武器控制近战武器生成升级增加武器伤害和数量查找离主角最近的敌人子弹预制体生成子弹发射子弹参考源码完结 本节最终效果 前言 本节紧跟着上一篇&#xff0c;主要实现武器功能。 近战武器 新增Bullet&#xff0c;子弹脚本 public class Bull…

REST-Assured--JAVA REST服务自动化测试的Swiss Army Knife

什么是REST-Assured REST Assured是一套基于 Java 语言实现的开源 REST API 测试框架 Testing and validation of REST services in Java is harder than in dynamic languages such as Ruby and Groovy. REST Assured brings the simplicity of using these languages into t…

Java第二十章多线程

一、线程简介 线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程中的实际运作单位。一个进程可以包含多个线程&#xff0c;这些线程可以并发执行。线程拥有自己的栈和局部变量&#xff0c;但是它们共享进程的其他资源&#xff0c;如…

STM32_10(I2C)

I2C通信 I2C&#xff08;Inter IC Bus&#xff09;是由Philips公司开发的一种通用数据总线两根通信线&#xff1a;SCL&#xff08;Serial Clock&#xff09;、SDA&#xff08;Serial Data&#xff09;同步&#xff0c;半双工带数据应答支持总线挂载多设备&#xff08;一主多从…

网络和信息系统指令 ( NIS2 ) 及其全球影响

网络和信息系统指令 ( NIS2 ) 将于 2024 年 10 月生效&#xff0c;旨在提高欧盟 (EU) 的网络弹性。 不过&#xff0c;其影响可能会更广泛&#xff0c;带来更严格的流程和控制&#xff0c;并重新定义我们向被视为国家关键的组织提供服务的方式。 该强制性指令将具有效力&#x…

如果每天工资按代码行数来算,来看看你每天工资是多少

说在前面 &#x1f63c;&#x1f63c;如果每天的工资取决于我们所编写的代码行数&#xff0c;那么我们的生活会发生怎样的改变&#xff1f;来看看你的同事们今天都提交了多少代码吧&#xff0c;看看谁是卷王&#xff0c;谁在摸鱼&#xff08;&#x1f436;&#x1f436;狗头保命…

利用Spring Boot构建restful web service的详细流程

本文档构建一个简单的restful webservice&#xff0c; 在官网原文Getting Started | Building a RESTful Web Service (spring.io)的基础上进行操作 文章目录 一、项目创建流程1.1 创建项目1.2 创建资源表示类1.3 创建资源控制类 二、项目运行参考资料 一、项目创建流程 本文的…

笔记61:注意力提示

本地笔记地址&#xff1a;D:\work_file\&#xff08;4&#xff09;DeepLearning_Learning\03_个人笔记\3.循环神经网络\第10章&#xff1a;动手学深度学习~注意力机制 a a a a a a a a

七、Lua字符串

文章目录 一、字符串&#xff08;一&#xff09;单引号间的一串字符&#xff08;二&#xff09;local str "Hello, "&#xff08;三&#xff09;[[ 与 ]] 间的一串字符&#xff08;四&#xff09;例子 二、字符串长度计算&#xff08;一&#xff09;string.len&…

RabbitMQ高级特性2 、TTL、死信队列和延迟队列

MQ高级特性 1.削峰 设置 消费者 测试 添加多条消息 拉取消息 每隔20秒拉取一次 一次拉取五条 然后在20秒内一条一条消费 TTL Time To Live&#xff08;存活时间/过期时间&#xff09;。 当消息到达存活时间后&#xff0c;还没有被消费&#xff0c;会被自动清除。 RabbitMQ…

服务器主机安全如何保障

随着互联网的快速发展&#xff0c;服务器主机安全问题日益凸显。服务器主机是网络世界中的核心&#xff0c;其安全性关乎着整个网络系统的稳定性和可靠性。 当前&#xff0c;服务器主机面临着多种安全威胁。其中&#xff0c;网络攻击是最为常见的一种。网络攻击者利用各种手段…

ELK+Filebeat

Filebeat概述 1.Filebeat简介 Filebeat是一款轻量级的日志收集工具&#xff0c;可以在非JAVA环境下运行。 因此&#xff0c;Filebeat常被用在非JAVAf的服务器上用于替代Logstash&#xff0c;收集日志信息。实际上&#xff0c;Filebeat几乎可以起到与Logstash相同的作用&…