当前位置: 首页 > news >正文

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: f05c0989b3f10e921a6acc9c8b5d781bc4818b070cf4729bd422e673a5e6dd19file
C:\windows\system32\msng.exe
C:\WINDOWS\system32\Rundll32.exe
C:\WINDOWS\system32\rundII32.exe
C:\~0002ftd.tmpU盘
会在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
ClipsVideo
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)

相关文章:

msng病毒分析

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

Unity安装

DAY1 下载Unity 打开Unity3D官网,下载Unity Hub,管理Unity的软件。链接https://unity.cn/releases (可能需要注册账号,就正常注册登录即可) 如果是新版的hub,可能长下面这个样子,还是英文的,点击圆圈的设…...

【代洋集团特惠好物:80瓦太阳能折叠包】

为您的绿色出行保驾护航!代洋集团倾情推出80瓦太阳能折叠包,为您的户外活动提供清洁、便捷的电力支持。 这款太阳能折叠包采用高效能太阳能板,可折叠设计方便携带,轻松为您解决户外用电问题。80瓦的强大功率,让您在户…...

一致性Hash算法

Hash算法 哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。 Hash算法在安全加密领域MD5、SHA等加密算法,数据存储和查找的Hash表等方面均有应用。Hash表的数…...

linux 下如何将/dev/nvme0n1符格式化为空盘符

linux 下如何将/dev/nvme0n1符格式化为空盘符 作者:DPDK开发栏目:公开2023-08-30 03:01254 在Linux下,你可以使用以下步骤将/dev/nvme0n1硬盘格式化为空盘符: 首先,确保你拥有适当的权限。以管理员或root用户身份登录…...

IP地址的最后一位不可以为0或255

说明 通常情况下,IP 地址的最后一位不能为 0 或 255。这是因为这些特定的 IP 地址有特殊用途。 IP 地址的最后一位为 0 通常用作网络地址,表示整个网络的起始地址。IP 地址的最后一位为 255 通常用作广播地址,用于将数据包发送到同一网络中…...

代洋集团:太阳能智能座椅,创新能源的未来篇章

在代洋集团,我们致力于打造一个更绿色,更智能的未来。我们的太阳能智能座椅,就是我们对这一承诺的最新体现。 太阳能智能座椅,一种将绿色能源与智能化完美结合的产品。它利用高效的太阳能电池板,捕获并转化阳光为电能…...

linux服务器安装gitlab

一、安装gitlab sudo yum install curl policycoreutils-python openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-servicehttp curl https://packages.gitlab.com/install/repositories/gitla…...

Tlog SpringBoot3.x版本无法正常打印TraceId等数据

问题:Springboot3.0版本使用Tlog(1.5.1版本)开源框架时无法打印指定参数 原因:在Java EE 8及更高版本中,javax.servlet.*包已经替换成了jakarta.servlet.*,但是tlog官方只更新到了1.5.1版本所以还没支持到…...

基于Spring原生框架构建原生Spring的第一个程序!

😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783…...

[个人笔记] Git的CLI笔录

Git - CLI笔录 Git的CLI笔录 Git - CLI笔录Git的CLI笔录 Git的CLI笔录 origin: 表示远程仓库节点名称。 当有多个远程仓库时 可新增远程仓库节点名称如 new_origin | new_remote origin/HEAD: 表示当前Git仓库默认分支的引用,通常指向origin/master或origin/main g…...

如何运行C/C++程序

一、在线运行C/C 码曰 - 让代码在云端多飞一会:这是一个支持C/C,Java,Python等多种语言的在线编程,编译运行,粘贴分享的平台。你可以在这里输入你的代码,点击运行按钮,就可以看到输出结果。你也…...

HTML中input标签的23种type类型

一、概述 随着html5的出现,input标签新增了多种类型,用以接收各种类型的用户输入。其中传统输入控件有10种,新增输入控件有13种。 二、传统类型 传统输入控件有10种,如下所示 text 定义单行文本输入框 password 定义…...

接口多态与方法多态

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 在上一篇设计山寨版Str…...

js小技巧|如何提取经过Function函数混淆了的代码

关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除! 1.需求 星友发过来一个混淆代码,打开一看,长这…...

【GitLab】流水线入门

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮&#xff0…...

es 中文前缀短语匹配(搜索智能补全)

需求:es进行前缀匹配,用来进行智能补全 过程:es正常的prefix只能进行词语匹配,而中文的分词大部分按字分词,不按语义分词,所以无法搜索出正确的前缀匹配,而能进行短语匹配的match_phrase_prefix…...

机器学习之决策树及随机森林

决策树 概念 决策树(Decision Tree)是一种常见的机器学习算法,用于分类和回归任务。它是一种树状结构,其中每个内部节点表示一个特征或属性,每个分支代表一个决策规则,而每个叶节点表示一个输出标签或值。 构建决策树过程 构建决策树的过程通常涉及以下步骤: 数据准…...

用通俗的方式讲解Transformer:从Word2Vec、Seq2Seq逐步理解到GPT、BERT

直到今天早上,刷到CSDN一篇讲BERT的文章,号称一文读懂,我读下来之后,假定我是初学者,读不懂。 关于BERT的笔记,其实一两年前就想写了,迟迟没动笔的原因是国内外已经有很多不错的资料&#xff0…...

数据结构-01-数组

每一种编程语言中,基本都会有数组这种数据类型。不过,它不仅仅是一种编程语言中的数据类型,还是一种最基础的数据结构。 1-数组的概念和特性 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

Map相关知识

数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程

鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...