学习强国勒索软件分析及解密

前言

近两天出现了一个学习强国刷分软件,打着刷分软件的旗号,但实际上是个勒索软件,这种诱导性的名字果然就有人中招了,下图是勒索框。我也获取到了这个样本,对此分析。

在这里插入图片描述

样本信息

看这一堆运行时库,这软件图标,要不是提前知道这是勒索软件,很可能就以为这是正常软件了

在这里插入图片描述

程序HASH

在这里插入图片描述

使用.NET编译

PE: library: .NET(v4.0.30319)[-]          
PE: linker: Microsoft Linker(48.0*)[EXE32]

样本行为

将样本拖入火绒剑

释放程序到指定目录下并设置自启,自删除后开始加密文件

在这里插入图片描述

文件加密结束后还贴心的列出了加密列表和比特币钱包地址

在这里插入图片描述

样本分析

使用dnspy打开样本,看命名结构,样本功能大致分成四个部分,Blocker、Hacking、Locker、Windows

在这里插入图片描述

首先看Blocker,连接的是一个比特币信息网,通过网站api获取一些信息,在这里不能判断作者的意图

在这里插入图片描述

Hacking和Windows这两部分为释放程序到指定目录下并设置自启,随后进行自删除,下图是样本进行自删除的方式

在这里插入图片描述

Locker为加密文件,其中加密文件的密钥

在这里插入图片描述

从资源种获取进行加密的文件后缀

.dwg .dxf .bak .exb .drw .igs .stp .sldasm .sldprt .SLDPRT .step .prt .x_t .stl .CATPart .CATProduct .CATdrawing .rspag .NC .lxe .3dm .max .php .asp .c .java .sql .mdb .mdf .prproj
.jpg .jpeg .txt .doc .dot .docx .zip .rar .pdf .7z .tar .wim .ppt .pot .pps .pptx .xls .xlsx .raw .tif .gif .png .bmp .rb .class .py .js .aaf .aep .aepx .caj .key .rc .sln .dll
.wav .mp3 .wma .mp4 .mkv .3gp .mpeg .avi .3g2 .mov .sgi .asf .asx .flv .mpg .wmv .flc .vob .m3u8 .dat .csv .efx .sdf .vcf .xml .ses .qbw .QBB .QBM .torrent .xml .config .pdb
.idml .pmd .xqx .xqx .ai .eps .ps .svg .swf .fla .as3 .as .docm .dotx .dotm .docb .rtf .crt .indt .indb .inx .accdb .db .dbf .cpp .cs .h .jar .exe
.wpd .wps .msg .pdf .xls .xlt .xlm .xlsx .xlsm .xltx .xltm .xlsb .xla .xlam .xll .xlw .aet .ppj .psd .indd .indl .GTX .gxw .MCE .drv .chm
.pptm .potx .potm .ppam .ppsx .ppsm .sldx .sldm .aif .iff .m3u .m4u .mid .mpa .ra .plb .prel .Iif .nd .rtp
.QBI .QBR .cnt .des .v30 .qbo .ini .lgb .qwc .qbp .qba .tlg .qbx .qby .1pa .qpd .txt .set .cur .des
.tlg .wav .qsm .qss .qst .fx0 .fx1 .mx0 .fpx .fxr .fim .ptb .pfb .cgn .vsd .cdr .cmx .cpt .csl
.dsf .ds4 .eps .ps .prn .pif .pcd .pct .pcx .plt .rif .svg .swf .tga .tiff .psp .ttf .wpd .wpg .wi
.raw .wmf .txt .cal .cpx .shw .clk .cdx .cdt .fpx .fmv .img .gem .xcf .pic .mac .met .pp4 .pp5 .ppf
.xlsm .ppt .nap .pat .ps .prn .sct .vsd .wk3 .wk4 .xpm .cs .resx .wbfs .iso .mdf .apk .api .gho

比特币钱包地址

在这里插入图片描述

解密程序

这个勒索其实非常简单,加密也仅仅是用了加密程序编程接口的AesCryptoServiceProvider函数,密钥也完全没有隐藏或混淆处理,写解密代码直接复用作者的代码就行

在此,我列出解密的关键代码

		private static void DecryptFile(SymmetricAlgorithm alg, string inputFile, string outputFile)
		{
			byte[] array = new byte[65536];
			using (FileStream fileStream = new FileStream(inputFile, FileMode.Open))
			{
				using (FileStream fileStream2 = new FileStream(outputFile, FileMode.Create))
				{
					using (CryptoStream cryptoStream = new CryptoStream(fileStream2, alg.CreateDecryptor(), CryptoStreamMode.Write))
					{
						int num;
						do
						{
							num = fileStream.Read(array, 0, array.Length);
							if (num != 0)
							{
								cryptoStream.Write(array, 0, num);
							}
						}
						while (num != 0);
					}
				}
			}
		}

		// Token: 0x06000003 RID: 3 RVA: 0x00002158 File Offset: 0x00000358
		private static void DecryptFile(string path, string encryptionExtension)
		{
			try
			{
				if (!path.EndsWith(encryptionExtension))
				{
					return;
				}
				string outputFile = path.Remove(path.Length - 4);
				using (AesCryptoServiceProvider aesCryptoServiceProvider = new AesCryptoServiceProvider())
				{
					aesCryptoServiceProvider.Key = Convert.FromBase64String("OoIsAwwF23cICQoLDA0ODx==");
					aesCryptoServiceProvider.IV = new byte[]
					{
						0,
						1,
						0,
						3,
						5,
						3,
						0,
						1,
						0,
						0,
						2,
						0,
						6,
						7,
						6,
						0
					};
					Form1.DecryptFile(aesCryptoServiceProvider, path, outputFile);
				}
			}
			catch
			{
				return;
			}
			try
			{
				File.Delete(path);
			}
			catch (Exception)
			{
			}
		}

		// Token: 0x06000004 RID: 4 RVA: 0x00002214 File Offset: 0x00000414
		internal static void DecryptFiles(string path)
		{
			string encryptionExtension = ".exe";
			Form1.DecryptFile(path, encryptionExtension);
			File.Delete(path);
		}

写好了解密程序,来测试一下

我提取出一个被加密的txt文件,将它拖入解密程序,可以看到txt文件被还原,解密成功

在这里插入图片描述

总结

从技术上讲,这个勒索程序并不高明,对比现如今的勒索简直就是有点小儿科,.net程序不加混淆,用对称加密算法也不将密钥隐藏一下,真的是一个耿直boy

技术本无罪,学习技术就要将它用到正途上,恶人终有恶报

源码获取:
https://github.com/Iam0x17

猜你喜欢

转载自blog.csdn.net/weixin_44001905/article/details/104415850