msng病毒分析

news2024/11/23 8:06:00

这是一个非常古老的文件夹病毒,使用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)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 中OpenResty下载与使用

1Panel安装OpenResty 查看到就说明安装成功 部署项目 在http中添加: server { listen 8001; //端口号 server_name localhost; location / { root /admin; //项目路径 index index.html index.htm; …

附录12-time.h的常用方法

目录 1 数据类型 1.1 time_t 1.2 tm 1.3 clock_t 2 相关知识 3 获取从1970年1月1日以来的UTC秒数 time() 4 获取本时区时间字符串 ctime() 5 获取GMT时间的tm gmttime() 6 获取本地时间的tm localtime() 7 记录当前毫秒数 clock() 8 将表示本地时间的tm转…

口袋参谋:如何识别买家旺旺号?这招超简单!

​想要不被骗钱、跑路!那商家在销量递增之前,一定要验买家旺旺号!那如何快速验出买家是人还是“鬼”,我们就需要借助验号工具了。 说到这个验号工具,我不得不说,口袋参谋照妖镜查号功能,一键快速…

Python基础语法之学习input()函数

Python基础语法之学习input函数 前言一、代码二、效果 前言 一、代码 # 默认是字符串类型 number input("请输入一个数字:") print("输入的数字是",number)二、效果 没有人可以阻止你成为自己想成为的人,只有你自己才能放弃梦想。…

山西临县“5·7”火灾事故调查报告公布,揭秘富维烟火报警系统

近日,山西临县“57”火灾事故调查报告震惊全国,提醒我们火灾防控的重要性。在这起悲剧中,我们深刻认识到,及时发现火灾并迅速应对至关重要。这不仅是对生命安全的保护,也是对财产损失的有效减少。而在这方面&#xff0…

建筑工程模板包工包料价格

在建筑工程中,模板是承载混凝土浇筑的重要支撑结构,起到保持混凝土形状和支撑荷载的作用。对于建筑项目而言,了解建筑工程模板包工包料的价格范围是非常重要的。在本文中,我们将以混凝土粘模面积为基础,根据实际情况提…

Mysql更新varchar存储的Josn数据

Mysql更新varchar存储的Josn数据 记录一次mysql操作varchar格式存储的json字符串数据 1、检查版本 -- 版本5.7以上才可以能执行json操作 select version(); 2、创建测试数据 -- 创建测试表及测试数据 CREATE TABLE test_json_table AS SELECT UUID(), {"test1": …

独家精品!git action发布electron成功的关键

首先来说git action真心是个坑爹货,使用起来太费劲了,各种报错一大堆。 再加上electron这个更坑爹的东西,二者合璧要把你累死一层皮。 昨天经过反复测试,通过无数次的失败,查找,试验,再失败&a…

【吞噬星空】弧刀盘价值180亿,购买1016名强者,保卫地球

Hello,小伙伴们,我是拾荒君。 国漫《吞噬星空》的第95集更新了,一更新,我和我的小伙伴们就迫不及待地去观看了。在这个集剧中,罗峰在一个奴隶拍卖场中深切地感受到了宇宙中弱肉强食的残酷现实。他看到,在宇宙中&#…

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用【鸿蒙专栏-05】

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…

32+OLED之IIC手撕亚索七级狗牌

成品效果: 硬件配方:STM32F103C8T6 SSD1306 软件配方:字模提取V2.1 CopyLeft By Horse2000 STM32CubeMX keil5 思路: 1.找到图片,将其转化为128*64 像素大小的二值化图片;【python实现转化】&#xff…

Spring --- 创建一个Spring项目

文章目录 创建一个Maven项目添加Spring框架支持添加启动类 创建一个Maven项目 注:我们需要使用 Maven 来管理依赖,所以需要创建一个Maven项目 添加Spring框架支持 注: 添加这两个依赖才能正确使用 Spring在添加依赖后记得刷新,把依…

【开源威胁情报挖掘1】引言 + 开源威胁情报挖掘框架 + 开源威胁情报采集与识别提取

基于开源信息平台的威胁情报挖掘综述 写在最前面摘要1 引言近年来的一些新型网络安全威胁类型挖掘网络威胁的情报信息威胁情报分类:内、外部威胁情报国内外开源威胁情报挖掘分析工作主要贡献研究范围和方法 2 开源威胁情报挖掘框架1. 开源威胁情报采集与识别2. 开源…

浅谈无线测温系统在海上石油平台高压配电盘的应用-安科瑞 蒋静

摘要:海上石油平台的封闭式中高压配电盘在平台电力系统起着十分重要的作用,通过统计其配电盘的 大部分故障为前期的热效应引起,由于配电盘内部空间封闭狭小,所以无法进行人工巡查测温,这给油田的供电系统埋下了一定的潜…

服务器bash进程占用cpu过多疑似中挖矿病毒记录

发现过程 因为我有使用conky的习惯,也就是在桌面上会显示cpu和内存的占用情况,由于服务器不止我一个人使用,最近发现好几次我同学的账户下的bash进程占用特别多,问了他之后,他也说他几次都是没有使用过bash相关服务&a…

【Java】文件I/O-文件系统操作

导读 在文件I/O这一节的知识里,对文件的操作主要分为两大类: ☑️针对文件系统进行的操作 ☑️针对文件内容进行的操作 针对文件系统进行的操作主要是对Java中的File类进行操作。这篇文章里,博主就来带大家看看Java中针对文件系统的一些常…

Vue3水印(Watermark)

APIs 参数说明类型默认值必传width水印的宽度,默认值为 content 自身的宽度numberundefinedfalseheight水印的高度,默认值为 content 自身的高度numberundefinedfalserotate水印绘制时,旋转的角度,单位 number-22falsezIndex追加…

利用数据库的表,生成word文档的表结构注释说明

文章目录 1.场景说明2.解决办法3.生成文档3.1.实现思路3.2.引入Apache POI依赖3.3.获取表及表字段说明Mapper3.4.POI创建文档表格,并填充数据3.5.完整的接口下载代码3.6.效果展示 1.场景说明 在项目中表已经建立好了,但是现在想对外提供一个表的字段的描…

获得文件MD5——校验完整性 window 和 Linux下操作

目录 引出window下获得文件MD5Linux下获得文件MD5单个文件整个目录下所有文件检查MD5 总结 引出 1.Windows 10 自带了一个命令行程序 certutil可以 获取文件的 MD5 值; 2.Linux下md5sum命令获得文件MD5值; window下获得文件MD5 Windows 10 自带了一个命…

python中的简单线性拟合

简单线性回归可以拟合线性关系的数据,一般使用一次函数或二次函数即可。 import numpy as np import matplotlib.pyplot as pltxnp.array([1,2,3,4,5,6,7,8,9,10]) ynp.array([2.5,4.5,4.8,5.5,6.0,7.0,7.8,8.0,9.0,10.0])#一次拟合函数 slope,interceptnp.polyfit…