当前位置: 首页 > 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)是一种线性表数据结构。它用一组连续的内存空间,来…...

本地柴油发电机组排行2023年最新榜单

柴油发电机是通过燃烧柴油驱动发动机,进而发电的设备,广泛应用于电力中断或无电网地区。1. 柴油发电机的核心工作原理是什么?柴油发电机是一种将化学能转化为电能的设备,其核心是柴油发动机与交流发电机的组合。当柴油在发动机内燃…...

从入门到实践:EEG公开数据集分类与应用场景全解析

1. EEG公开数据集入门指南刚接触脑电信号分析的研究者,常常会被一个问题困扰:"我应该从哪里获取可靠的EEG数据?"作为一个在这个领域摸爬滚打多年的研究者,我完全理解这种困惑。记得我第一次接触EEG研究时,光…...

基于ESP32的AIS转WiFi转换器:实现NMEA 0183数据无线传输

1. 项目概述:从VHF-AIS接收器到iPad的无线桥梁作为一名经常在海上折腾电子设备的航海爱好者,我最近遇到了一个挺实际的需求:我的主力导航设备是iPad上的iSailor应用,它功能强大、界面友好,但有个“硬伤”——它需要通过…...

半导体元件(二极管/三极管/MOS管/IC)损坏诊断全解

半导体元件(二极管、三极管、MOS 管、集成电路)是 PCB 的核心功能单元,对过压、过流、ESD、高温极度敏感,损坏后直接导致电路功能失效、短路烧板。很多工程师维修时盲目更换芯片,不仅成本高,还易误判。​一…...

文件-语言-系统:基础IO-2.0——IO重定向接口,语言层缓冲区,系统级缓冲区。内核级分析!

bit::Shadow✧(≖ ◡ ≖✿ 目录 重定向接口dup2() ">" ">>" "<" 函数原型 输出重定向1和2的使用 文件描述符表 ./a.out运行&#xff1a; "./a.out >"默认重定向是fd 1 合并标准输入输出 缓冲区 什么是缓冲…...

基于SMD与贝壳的微型音频装置:从电路设计到嵌入式开发的完整实践

1. 项目概述&#xff1a;一个藏在贝壳里的声音世界你小时候有没有捡起一个海螺壳&#xff0c;把它贴在耳边&#xff0c;然后听到里面传来“呜呜”的海风声&#xff1f;那个瞬间&#xff0c;仿佛整个海洋都被装进了小小的贝壳里。今天这个项目&#xff0c;就是把那个童年的魔法&…...

基于Cynthion逆向USB协议,为DP100电源开发Linux控制软件

1. 项目概述&#xff1a;用Cynthion嗅探USB&#xff0c;为DP100电源打造Linux软件作为一名长期在Linux环境下折腾硬件和嵌入式开发的爱好者&#xff0c;我经常遇到一个头疼的问题&#xff1a;很多不错的桌面小设备&#xff0c;比如电源、示波器、逻辑分析仪&#xff0c;它们的官…...

别再乱建索引了!用Explain的key_len字段,一眼看穿你的MySQL联合索引到底生效了几个字段

解密MySQL联合索引&#xff1a;用key_len精准判断索引生效范围 在数据库性能优化领域&#xff0c;联合索引的使用一直是个既基础又容易踩坑的话题。很多开发者虽然知道"最左匹配原则"这个名词&#xff0c;但在实际业务场景中&#xff0c;面对复杂的查询条件组合时&a…...

DeepSeek代码审查能力白皮书(2024企业级实测报告)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek代码审查能力白皮书&#xff08;2024企业级实测报告&#xff09;概述 本报告基于2024年Q1至Q3期间&#xff0c;面向金融、电信与云原生三大垂直行业的17家头部企业客户开展的深度实测&#xff0c;覆盖…...

在ubuntu上为node.js后端服务接入taotoken统一大模型api

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在 Ubuntu 上为 Node.js 后端服务接入 Taotoken 统一大模型 API 为后端服务集成大模型能力已成为提升应用智能水平的关键步骤。对于…...