【病毒分析】DevicData家族扩散:全球企业和机构成为勒索病毒头号攻击目标!
本帖最后由 Solarsec 于 2024-10-15 23:01 编辑# **1.背景**
本文聚焦于勒索病毒家族 **DevicData** 的最新变种,命名为 **.DevicData-P-a2a9e9cb** 勒索病毒。自2023年1月首次被发现以来,**DevicData** 家族一直对多个高价值目标展开攻击,包括企业用户、医疗机构和教育机构。这些目标通常持有大量敏感数据,这正是**DevicData** 选择它们进行攻击的主要原因。随着不断的更新和演进,**DevicData** 勒索病毒逐渐成为攻击这些特定目标的首选工具。
## 1.1 **技术特征**
**DevicData** 勒索病毒以 **RSA** 和 **AES** 加密算法相结合的方式进行数据加密。此组合极大地提升了加密速度,使得病毒在特定硬件环境下能够以每小时 **500GB** 至 **1000GB** 的速度加密数据。此外,**DevicData** 采用全字节加密方式,对文件进行全面加密处理,极具破坏性,几乎难以恢复。一旦感染成功,几乎所有的文件将无法打开、访问,除非支付赎金以获取解密工具。
## 1.2 **联系方式与文件后缀**
在对**DevicData** 家族的信息收集中,我们发现此勒索病毒家族的主要联络邮箱为:**Devicdata@tuta.com**,而备用邮箱为:**Devicdata@onionmail.org**。常见的加密文件后缀包括:**.DevicData-P**、**.DevicData-D**、**.DevicData-Z** 和 **.DevicData-C**。这些变种后缀的不同,暗示了病毒攻击的不同版本差异。
# 2.恶意文件基础信息
## 2.1 加密器基本信息
| 文件名 | DevicData.exe |
| -------- | ------------------------------------------------------------ |
| 编译器 | .Net FrameWork ICodeCompiler |
| 大小 | 160256(156.50 KiB) |
| 操作系统 | Windows(95) |
| 架构 | 386 |
| 模式 | 32 位 |
| 类型 | GUI |
| 字节序 | LE |
| MD5 | b60217eafbc65dd679bee84f14806d28 |
| SHA1 | 3f7447e122204b36f65b0f87586ab0083be8809b |
| SHA256 | 79a0a6b7760be083c17e496d3a9dc6f7a113c9d8034fed1afe1e2cac2e82363d |
## 2.2 勒索信
Recover files!!!.txt
```Plain
YOUR FILES ARE ENCRYPTED !!!
TO DECRYPT, FOLLOW THE INSTRUCTIONS:
To recover data you need decrypt tool.
To get the decrypt tool you should:
1.In the letter include your personal ID! Send me this ID in your first email to me!
2.We can give you free test for decrypt few files (NOT VALUE) and assign the price for decryption all files!
3.After we send you instruction how to pay for decrypt tool and after payment you will receive a decryption tool!
4.We can decrypt few files in quality the evidence that we have the decoder.
5.Your key is only kept for seven days beyond which it will never be decrypted!
6.Do not rename, do not use third-party software or the data will be permanently damaged!
7.Do not run any programs after the computer is encrypted. It may cause program damage!
CONTACT US: DevicData@tutanota.com
```
# 3.加密后文件分析
## 3.1威胁分析
| **病毒家族** | DevicData |
| ----------------------------- | ------------------------------------------------------------ |
| **首次出现时间/捕获分析时间** | 2023/1/10\|\|2024/8/23 |
| **威胁类型** | 勒索软件,加密病毒 |
| **加密文件扩展名** | .DevicData-Pxxxx |
| **勒索信文件名** | Recover files!!!.txt |
| **有无免费解密器?** | 无 |
| **联系邮箱** | DevicData@tutanota.com |
| **检测名称** | Avast (Win32:Malware-gen), AhnLab-V3 (Trojan/Win.Generic.C5576951), ALYac (Gen:Variant.Tedy.512515), Avira (no cloud) (TR/Ransom.imrnt), BitDefenderTheta (Gen:NN.ZexaF.36802.yq0@aSdxC8m), CrowdStrike Falcon (Win/malicious_confidence_100% (W)),Cylance(Unsafe),DeepInstinct(MALICIOUS),Emsisoft(Gen:Variant.Tedy.512515 (B)),ESET-NOD32(A Variant Of MSIL/Filecoder.LU),GData(Gen:Variant.Tedy.512515), Ikarus (Trojan.MSIL.Crypt),K7GW(Trojan ( 0052f4e41 )) |
| **感染症状** | 无法打开存储在计算机上的文件,以前功能的文件现在具有不同的扩展名(例如,solar.docx.DevicData-Pxxxx)。桌面上会显示一条勒索要求消息。网络犯罪分子要求支付赎金(通常以比特币)来解锁您的文件。 |
| **感染方式** | 受感染的电子邮件附件(宏)、恶意广告、漏洞利用、恶意链接 |
| **受灾影响** | 所有文件都经过加密,如果不支付赎金就无法打开。其他密码窃取木马和恶意软件感染可以与勒索软件感染一起安装。 |
## 3.2 加密的测试文件
### 3.2.1 文件名
sierting.txt
### 3.2.2 具体内容
### 3.2.3 加密文件名特征
加密文件名 = 原始文件名+DevicData-P-470b1abd ,例如:sierting.txt.DevicData-P-470b1abd
### 3.2.4 加密数据特征
根据文件的后缀和大小来进行判断:
如果文件后缀是(.IB、.GDB、.FDB、.MDB.....),并且大小 <= 1G,或者文件是普通文件,并且文件大小 <=20MB,那么加密文件的特征:
如果文件后缀是(.IB、.GDB、.FDB、.MDB.....),并且大小 <= 1G,或者文件是普通文件,并且文件大小>20MB,文件的大小都是原始大小。
### 3.2.5 加密算法
文件加密使用了AES-ECB加密算法,对加密文件的AES密钥,采用了RSA加密和AES加密双重加密。
#### 3.2.5.1 AES密钥生成
##### KEY
KEY是由当前时间所产生的UUID去掉'-'以后的值。
#### 3.2.5.2 RSA密钥生成
##### 公钥
使用了勒索病毒程序自带的配置信息中的RSA公钥部分,即配置文件中publickey的值。
### 3.2.6 加密器释放文件
#### 3.2.6.1 勒索信(Recover files!!!.txt)
##### 文件内容
```cpp
YOUR FILES ARE ENCRYPTED !!!
TO DECRYPT, FOLLOW THE INSTRUCTIONS:
To recover data you need decrypt tool.
To get the decrypt tool you should:
1.In the letter include your personal ID! Send me this ID in your first email to me!
2.We can give you free test for decrypt few files (NOT VALUE) and assign the price for decryption all files!
3.After we send you instruction how to pay for decrypt tool and after payment you will receive a decryption tool!
4.We can decrypt few files in quality the evidence that we have the decoder.
5.Your key is only kept for seven days beyond which it will never be decrypted!
6.Do not rename, do not use third-party software or the data will be permanently damaged!
7.Do not run any programs after the computer is encrypted. It may cause program damage!
CONTACT US: DevicData@tutanota.com
```
##### 成分分析
其中ID部分的组成为:当前产生的UUID的前8位。
#### 3.2.6.2 加密记录文件(**加密文件名+"-Recover.Recover**)
##### 文件内容
```cpp
123
```
##### 成分分析
该内容记录了文件的加密`chunk`的`num`数量,但是该文件运行结束后就会自删除。
# 4.逆向分析
## 4.1 保护分析
DIE结果:
根据结果可以看到该程序是C#的Win Forms程序,并且存在软件保护,保护器: .NET Reactor(4.8-4.9)
去掉保护后,就能够看到比较清晰的内容。
## 4.2 配置读取
###4.2.1 简介
该功能通过**method_0函数**实现,主要通过读取配置文件中的信息,进行加密所需信息的初始化,并且再读取完毕后会删除配置文件。
###4.2.2 配置文件名
**病毒文件名+".config"**
###4.2.3 内容
`<?xml version="1.0" encoding="UTF-8" ?> <configuration><appSettings> <add key="Recover files!!!" value="SomeValue" /> <add key="publicKey" value="<RSAKeyValue><Modulus>tD+B2sflrnCv5X4a7mv71iuJ5MMji8+K4g/v2UcUkB+zd8MIkyQ5KcpqKJbuGbDKGsytB6X4zqMj7DrjrxkVeLI00uCMqoDwhHbz04uS+6K7oGkWmQpbDRNEg4PQOS30qVHbGbYJapvlIpgb61s9D/0sdc3a2HQv1AC0nq+xk0Q2Apjs/Fc5svWosDawK9J17f9YAefBto8DY/dHyWxcFjj3tOZ10cSfaDj8idp+guFU5KeDDKd/yLYVkStPb0hxtrdKnp+TaUp8XBs5Sqbb2qkoS6UJxRxK8j90iJjvb+CBATIyzGRJKPrr1O9N7ClpO9bUHYFS4zq6h3zrzG+hmw==</Modulus><Exponent>EQ==</Exponent></RSAKeyValue>" /> <add key="settingKey" value="1111111111111111" /> <add key="Extension" value=".DevicData" /> <add key="ID" value="YourID" /></appSettings> </configuration>`
### 4.2.4 执行流程
1.因为是**Winform**程序,所以配置的初始化**Form**的**load函数**中实现的,通过**InitializeComponent函数**实现。
2.进入**InitializeComponent函数**可以看到**Form1_Load函数**的加载,并且还能看到两个按钮的被单击的触发事件。
3.进入**Form1_Load函数**可以看到,存在一个加载配置文件的操作,完成配置的初始化后会开创一个线程来实现加密操作。
4.进入到**init_config函数**可以看到具体的实现过程,这里发现加载了配置文件的信息,包括:勒索信、用于加密密钥信息的AES密钥、加密后缀、ID名称等,最后会将当前目录中的所有的config文件删除。
| 名称 | 获取方式 |
| ------------------------------------ | ------------------------------------------------------------ |
| 勒索信(ransomware_note) | 配置中读取 |
| 加密文件的AES密钥(encrypto_file_key) | 获取当前时间的UUID,去掉'-'字符后值。 |
| RSA公钥(publicKey) | 通过配置读取 |
| 用于加密文件末尾信息的AES KEY(key) | 通过配置读取 |
| 随机内容(ID_content) | 获取当前时间的UUID的前8位字符。 |
| 加密后缀(Extension) | 通过配置读取 |
| 加密的完整后缀(Whole_Extension) | 加密后缀+'-P-'+随机内容 |
| ID | 配置中读取的ID的值+随机内容的值 |
| RSA的加密数据(RSA_Encrypto_Data) | 通过RSA加密加密文件的KEY和ID,之后再调用AES把这部分密文再加密一遍。 |
| 写入勒索信的ID(ID) | 随机内容的值 |
## 4.3 文件加密
### 4.3.1 简介
该部分大致分两个阶段来介绍,分为加密准备和文件内容加密,主要介绍了该程序会过滤那些文件后缀、文件路径和文件名称等,并且针对文件的大小选择不同的加密函数,并且运用不同的加密算法等。
### 4.3.2 加密准备阶段
#### 4.3.2.1 执行流程
1.从配置读取阶段完毕后,将执行剩下的进程创建部分的内容了,这里进程执行的函数是**encrypt_entry**函数。
2.进入**encrypt_entry**函数后,可以看到,将会执行**Encrypt函数**
3.进入**Encrypt函数**可以看到,分别对系统内四个位置的路径进行了加密,分别是:**桌面**、**共享资源**、**映射的网络磁盘**和**本地的磁盘,**这里具体的详细分析可以看后面针对于**各个位置的Entry函数**的分析**。**
4.所有位置的加密准备其实都是一样的,都是将**路径**最终送入到**Filter_Path_and_Write_Ransomware_Note函数**来做**路径遍历过滤**并且在其路径中**写入勒索信**,这里以**Encrypt_Desktop_Path函数**举例**,folderPath是系统的桌面的路径,最终都是送入到Filter_Path_and_Write_Ransomware_Note函数。**
5.进入到**Filter_Path_and_Write_Ransomware_Note函数**中看一下,可以看到从文件路径、文件后缀和文件名称分别进行了**过滤**:
| 类型 | 过滤内容 |
| ---------------------- | ------------------------------------------------------------ |
| 文件路径 | MICROSOFT、C:\\PROGRAM FILES\\WINDOWSPOWERSHELL、C:\\PROGRAM FILES (X86)\\WINDOWSPOWERSHELL |
| 文件后缀(不区分大小写) | .DevicData、.DevicData+ID、.dll、.exe、.Recover、.IB、.GDB、.FDB、.MDB、.ACCDB、.ACCDR、.ACCDE、.DAT、.DB、.BAK、.MDF、.NDF、.LDF、.DB2、.DBF、.ORA、.SQL、.CSV、.DMP、.MYD、.MYI、.FRM、.EDB、.GDB、.STM、.NS、.DB3、.WDB、.RAR、.ZIP、.7Z、.TAR、.VMDK、.VMEM、.AVHD、.AHD、.VHDX、.VHD、.AVHDX、 |
| 文件名称 | WINDOWS、**Recover files!!!.txt(后面会过滤)** |
接着会根据目录还是文件进行选择,如果是文件则调用**sort_file_list函数**对该目录下的文件进行排序,然后针对不同的文件后缀选择不同的加密方式,这里主要会对这部分后缀进行选择:
```cpp
.IB、.GDB、.FDB、.MDB、.ACCDB、.ACCDR、.ACCDE、.DAT、.DB、.BAK、.MDF、.NDF、.LDF、.DB2、.DBF、.ORA、.SQL、.CSV、.DMP、.MYD、.MYI、.FRM、.EDB、.GDB、.STM、.NS、.DB3、.WDB、.RAR、.ZIP、.7Z、.TAR、.VMDK、.VMEM、.AVHD、.AHD、.VHDX、.VHD、.AVHDX
```
如果是这部分后缀的文件则会被选择送入到**method_7函数**做加密处理,而不属于这部分后缀的文件则会进入到**method_8函数**做加密处理。
6.其中对于**method8函数**还是**method7函数**而言,前面的流程都是差不多的,这里以**method_7函数**进行分析。
首先该**method_7函数**主要对**文件名称**和**文件权限**做了校验:**文件名不为空**、**文件名不为"Recover files!!!.txt"**和**文件权限不仅为只读。**只有满足以上条件的文件才会进行下面的加密操作。
7.根据文件的大小来进行判断具体执行那个加密函数。这个**method_7函数**在文件大小的校验是**1G**,而**method_8函数**在文件大小的校验是**20MB,**之后就是根据文件大小的不同送入不同的**加密函数**中了**。**
### 4.3.3 文件内容加密
#### 4.3.3.1 结构图
上面在加密准备阶段分别介绍了文件加密前的条件和根据文件后缀的不同和文件大小的不同,来选择不同的加密函数等。
#### 4.3.3.2 执行流程
1.在两个**method系列函数**处在根据不同的文件大小,而进行选择时,**method_7函数**在文件大小的校验是**1G**,而**method_8函数**在文件大小的校验是**20MB**
2.在校验文件大小是否**小于等于1GB**或者****小于20MB****时**,如果满足条件的话,两个**method_**函数都会调用**AESWriteByteToOldFile函数进行加密,之后再修改文件名称。
3.在校验文件大小是否大于**1GB**或者****大于20MB****时**,则会分别会**先将文件的名称修改为带加密后缀的文件名。
而**metho_7函数**有一点不同的地方就是它不仅会**先将文件的名称修改为带加密后缀的文件名,还会创建一个名为加密文件名+"-Recover.Recover"的**记录文件。
4.而在文件大小的校验的分叉点会存在两个比较重要的函数,分别是**AESWriteByteToOldFile函数**和**AESWriteByteToOldFile_F函数,该函数主要用作根据文件的大小来选择合适的加密函数。**
**AESWriteByteToOldFile_F函数:**
用作对**10G**的文件进行分界,大于等于10GB的文件则会送入到**AESWriteByteToOldFile_FD函数**进行加密,而小于10GB的文件则会被送入到**AESWriteByteToOldFile_FA函数进行加密。**
**AESWriteByteToOldFile函数:**
用作对**50MB**的文件进行分界,大于**50MB**的文件则会送入到**AESWriteByteToOldFile_FB函数**进行加密,小于等于则会被送入到**AESWriteByteToOldFile_FC函数**进行加密。
### 4.3.4 加密函数
#### 4.3.4.1 加密算法与密钥生成
加密算法的具体实现是**AESMoedlBEncrypt函数,该函数使用了AES的ECB模式来对数据进行数据加密**
密钥生成这里可以看到,使用的key是配置读取功能部分看到的`encrypto_file_key`这个变量的内容
回顾到配置读取功能部分看这个变量的产生是使用了**method_2()函数**产生的
进入到method_2函数可以看到,该函数的产生是生成一个uuid然后将其中的'-'字符去掉之后,将其作为加密的KEY。
好了,整体的密钥生成已经分析完毕,总结就是KEY是由当前时间所产生的UUID去掉'-'以后的值。
#### 4.3.4.2 文件内容加密(**AESModelBWriteFile函数**)
这里的会根据文件的大小选择不同对应的函数,而对数据进行加密的函数采用的都是**AESModelBWriteFile函数**来实现对数据的加密。
整体流程就是先读取该文件中的所有数据,然后创建读写IO流,再将配置读取功能时所产生的RSA加密数据写入到文件开头
之后呢就是调用**AESMoedlBEncrypt函数**将读取到的所有数据进行AES加密,加密完毕后将其再写入到文件中。
#### 4.3.4.3 file_size > 50MB(**AESWriteByteToOldFile_FB函数**)
该函数先将大文件分成 1 MB 的`Chunk`块读取并处理。对于每个块,根据块的`num`编号对Chunk的数据来进行不同的操作,这里的判断条件是`num`的值是否是10的倍数,如果是则进行加密,即每过10个Chunk的数据,加密一个Chunk的数据。
否则就对该Chunk的数据进行数据交换操作,将如下位置字节的数据进行交换(数组下标一般是从0开始,故源文件中如何要找对应的位置应该加一):
19930 <-> 3550
1220 <-> 6500
19430<->7500
19701 <-> 5023
19701 <-> 297101
交换完毕后,将数据写入到文件中,之后就是对`chunk`的标号`num`进行加一,然后移动文件指针,开始进行下一个chunk的数据的读取。
#### 4.3.4.4 file_size > 20MB && file_size <= 50MB(**AESWriteByteToOldFile_FC函数**)
该函数先将大文件分成 1 MB 的`Chunk`块读取并处理。对于每个块,根据块的`num`编号对Chunk的数据来进行不同的操作,这里与上面的恰好相反,这里对`num`的判断条件是**`num`**首先不能为10的倍数**,并且**`num`**必须大于25**,只有满足这两个条件才做数据交换,而交换数据的位置如下:
19930 <-> 3550
1220 <-> 6500
19430<->7500
19701 <-> 5023
19701 <-> 297101
交换完毕后,会将数据写入到文件中,之后就是`num`下标加一,然后移动文件指针到下一个`chunk`。
对于num的值不满足10的倍数,并且小于25的,才对该Chunk的数据进行文件加密。
加密完成后,就是`num`下标加一,然后移动文件指针到下一个`chunk`。
#### 4.3.4.5 file_size >= 10GB(**AESWriteByteToOldFile_FD函数**)
该函数首先会先判断`chunk`的标号`num`是否大于总大小,之后就会执行加密,而加密方式为循环加密,一次读取一个**`Chunk`**(1MB)的数据,其中一个**`Chunk`**对应一个它的标号**`num`**,**`num`**是从0开始的。在加密过程中会针对文件的前5120个(5GB)的**`Chunk`**数据进行加密,超过了5120的**`Chunk`**则会每过5个chunk加密一个**`Chunk`**大小的数据,总结一下:
**每5个块处理一次**:如果 **`num`** 是 5 的倍数,块数据会被加密和写入文件。
**超过5120后的**`Chunk`**:如果 **`num` 超过 5120 并且不是 5 的倍数,`Chunk`的数据不会被加密和写入文件。
如果满足以上的条件,先会向记录文件中写入`num`的值,然后加密数据,加密使用的函数是**AES_Encrypto**函数,该函数使用了**AES**加密算法,模式是**ECB模式**,具体详细可以看前面加密算法与密钥生成的具体分析。
#### 4.3.4.6 file_size >1GB && file_size < 10GB(**AESWriteByteToOldFile_FA函数**)
该函数首先会先判断`chunk`的标号`num`是否大于总大小,之后就会执行加密,而加密方式为循环加密,一次读取一个**`Chunk`**(1MB)的数据,其中一个**`Chunk`**对应一个它的标号**`num`**,**`num`**是从0开始的。之后先会向记录文件中写入`num`的值,最后加密`Chunk`大小的数据,加密使用的函数是**AES_Encrypto**函数,该函数使用了**AES**加密算法,模式是**ECB模式**,具体详细可以看文件内容加密函数的具体分析。
完成加密后就会将加密数据写入到加密文件中,最后会判断一下记录文件是否存在,存在就删除掉。
#### 4.3.4.7 file_size <= 20MB && file_size <= 1GB
该函数主要实现了对文件数据的全加密,之后将加密好的数据写入到加密文件中,最后将文件名改为加密文件名即结束。
### 4.3.5 加密桌面路径(Encrypt_Desktop_Path函数)
该函数通过Environment.SpecialFolder.DesktopDirectory方法来获取桌面的路径,之后将该路径送入到**Filter_Path_and_Write_Ransomware_Note**函数进行勒索信的写入与文件的加密。
### 4.3.6 加密共享资源(Encrypt_Share_Path_Entry函数)
#### 4.3.6.1 主要流程
1.该函数的主要实现函数是method_5函数
2.进入到method_5函数可以看到具体,主要先通过**IpHelper.GetIpList函数**来获取A、B、C、D段的所有的IP,接着通过**IpHelper.GetDrives函数**A-Z的一个列表,最后将每一个IP和A-Z的每一个值拼接成一个完整的共享资源的访问路径"\\\\ip\\disk_path$",然后将该路径送入到**Filter_Path_and_Write_Ransomware_Note**函数进行勒索信的写入与文件的加密。
#### 4.3.6.2 **IpHelper.GetIpList函数**
主要是就是通过4层循环,来遍历每一个1~255的值,即可实现对所有IP的枚举。
#### 4.3.6.3 **IpHelper.GetDrives函数**
该函数会返回一个A-Z的字符数组。
### 4.3.7 加密映射的网络磁盘(Encrypt_Mapping_Network_Disk_Entry函数)
#### 4.3.7.1 主要流程
该函数的主要实现是通过method_10函数实现的
进入到method_10函数中可以看到具体,先通过**IpHelper.GetDrives函数**获取了一个A-Z的字符数组,然后调用**DriveInfo.GetDrives函数获取一下当前系统物理磁盘的盘符有那些,然后组成一个字符数组,最后删掉A-Z字符数组中本地磁盘的盘符所代表的字符。**
完成以上的内容后,将遍历剩下的字符数组中的字符,将其当作磁盘符号,拼接":\\"构成完整路径后,判断是否为空,若不为空,则送入到**Filter_Path_and_Write_Ransomware_Note**函数进行勒索信的写入与文件的加密。
### 4.3.8 加密本地磁盘
主要流程:
通过 DriveInfo.GetDrives()获取本地磁盘的盘符,然后将其每一个的盘符赋值到class这个类的string_0的成员中,然后创建线程,调用**Filter_Path_and_Write_Ransomware_Note**函数进行勒索信的写入与文件的加密。
## 4.4 文件列表排序(sort_file_list函数)
该函数主要根据文件的创建时间来进行排序
## 4.5 目录列表排序(sort_dic_list函数)
该函数主要也是根据每个目录的创建时间来进行的排序
## 4.6 指定加密路径(btnSelectFolder_Click函数)
该函数的触发是用户点击了界面上的Select-Folder按钮后触发,当用户单击按钮时,会弹出一个文件夹选择对话框。用户选择文件夹后,选定的文件夹路径将显示在文本框中,整体主要是FolderBrowserDialog对象实现的。
## 4.7 加密指定路径的文件(btnEncrypt_Click)
该函数的触发是用户点击了界面上的RUN按钮之后即可触发,当用户点击按钮时,该函数会获取用户指定的加密路径,然后判断是否位空,如果不为空则开创一个线程,将路径送入到**Filter_Path_and_Write_Ransomware_Note**函数进行勒索信的写入与文件的加密,并且会将该线程的优先级调整到最高优先级。
# 5.**病毒分析概览**
DevicData 勒索家族通过客户资产RDP暴露在公网并利用弱口令爆破入侵系统后,获取权限并执行文件加密操作。加密器会遍历系统目录并过滤特定文件和路径,使用AES-ECB加密算法加密符合条件的文件,并生成AES密钥后利用RSA公钥加密存储。 yiting8 发表于 2024-10-16 09:09
RDP 是什么东西? 3389 远程登录吗?
远程桌面协议(RDP) 指的是用于远程使用桌面计算机的协议或技术标准。 远程桌面软件可以使用几种不同的协议,如RDP、独立计算架构(ICA) 和虚拟网络计算(VNC) 等,但RDP 是最常用的协议。 RDP 最初由微软公司发布,可用于大多数Windows 操作系统,但Mac 操作系统也提供相应的支持。 虽然看不懂,但是觉得好流弊 这aes密钥还需要用rsa加密吗?根据time都可以爆破出来aes 密钥了,多此一举 本帖最后由 ThemanRonin 于 2024-10-16 08:36 编辑
爷笑了 发表于 2024-10-16 07:52
这aes密钥还需要用rsa加密吗?根据time都可以爆破出来aes 密钥了,多此一举
Guid.NewGuid() 生成的是 UUIDv4。随机的 RDP 是什么东西? 3389 远程登录吗? 整体看了一下,虽然看不懂,但是很详细,感谢分享 好厉害啊 厉害 牛逼 厉害! 长见识了