持续使用KimJongRAT和PCRat发动攻击:BabyShark恶意软件分析

一、摘要

2019年2月,Unit42发布了一篇关于BabyShark恶意软件系列的文章,其中涉及到针对美国国家智库的相关鱼叉式网络钓鱼活动。自该文章发布以来,直到2019年3月和4月,攻击者已经将目标扩展到加密货币行业,表明这些攻击背后的攻击者也在尝试获取经济利益。

在跟踪该威胁组织的最新活动时,Unit42的研究人员收集了BabyShark恶意软件的服务器端和客户端文件,以及两个编码后的二级PE Payload文件,恶意软件在收到恶意运营者的命令之后会安装这些文件。通过分析这些文件,我们可以进一步从整体上了解BabyShark恶意软件的多阶段结构和功能,例如它如何尝试维护操作安全性和支持的远程管理命令。根据我们的研究,恶意软件作者似乎将编码后的二级Payload称为“Cowboy”,无论恶意软件是属于什么家族。

我们的研究表明,BabyShark恶意软件系列的最新恶意活动似乎是出于以下两个目的:

1、关于核安全和朝鲜半岛国家安全问题的间谍活动;

2、基于样本中使用的诱饵内容,重点关注加密货币行业的经济收益,如下图所示。Xcryptocrash是一种在线的加密货币赌博游戏。

与加密货币相关的BabyShark恶意文件诱饵:

我们推断,BabyShark恶意软件工具集在具有关联的恶意组织之间共享,或者是同一组织被分配了不同的任务。

在我们的分析中,我们发现BabyShark攻击使用KimJongRAT和PCRat作为编码的二级Payload,因此将其称为“Cowboys”。

二、可疑访问日志记录

BabyShark有一个多阶段的感染链,每个阶段之间都有检查,以确保只有目标主机才能进入到下一个阶段,最后才会向攻击者发回信号。

BabyShark恶意软件整体结构:中国菜刀

持续使用KimJongRAT和PCRat发动攻击:BabyShark恶意软件分析

具体而言,这一过程是通过维护一个针对服务器进行可疑访问尝试的黑名单来实现的,在黑名单中记录了IP地址和计算机名称,这是一种可能使分析变得更难的技术。在黑名单中的IP地址和计算机名称,以Base64编码格式写在[BASE_URI]/blackip.txt中,如下图所示。

blacktip.txt中列入黑名单的IP地址和计算机名称:

持续使用KimJongRAT和PCRat发动攻击:BabyShark恶意软件分析

当使用与黑名单匹配的数据进行新的访问尝试时,服务器将不会进入到下一阶段,并会通过下图所示的独立日志文件向恶意运营者者发出警报。

恶意运营者的可疑活动日志报告:

持续使用KimJongRAT和PCRat发动攻击:BabyShark恶意软件分析

BabyShark的C2服务器还会记录对其基本URI的访问,并重定向到http://go.microsoft[.]com。这样做的目的,可能是避免由于托管Web服务器的潜在错误配置而看到其他文件。

if($ff=fopen(“resp_suspect”,”a”))
{
fwrite($ff, $date . ”  ” . $ip . ” suspected access ” . $useragent .”\r\n”);
     fclose($ff);
}
header(‘Location: http://go.microsoft[.]com/’);
exit;

三、远程命令

恶意运营者可以向受BabyShark感染的受害者系统发出基于VBS和PowerShell的命令。我们从C2找到的远程命令位于下表中,但是,BabyShark不仅限于这些命令,因为攻击者可以创建更多VBS或PowerShell命令文件。

1. 基于VBS的远程命令

(1) getfiles – 将BabyShark基本路径中的所有文件压缩为ZIP格式,然后上传到C2。

(2) exe_down – 下载二级Payload的文件,具体如下:

· Cowboy,一个自定义编码的PE Payload;

· 一个EXE格式的加载器,可以在内存中解码并加载Cowboy;

· 一个DLL类型的加载器,可以在内存中解码并加载Cowboy。

(3) redirect_vbs – 由于缺少密钥文件,所以该命令的用途尚不明确,可能会更改C2路径。

2. 基于PowerShell的远程管理命令

(1) keyhook – 使用PowerShell和C#实现的两种键盘记录器:

· 基于PowerShell的密钥记录器,可以在GitHub上公开找到,其记录内容被保存在%APPDATA%\Microsoft\ttmp.log中;

· 基于C#的密钥记录器,其记录内容被保存在%APPDATA%\Microsoft\ttmp.log中。

(2) dir list – 收集主机信息,并将结果保存在%APPDATA%\Microsoft\ttmp.log中,为完成主机信息收集工作,会使用如下命令:

· whoami

· hostname

· ipconfig

· net user

· arp -a

· dir “%appdata%\Microsoft”

· dir “%systemroot%\SysWOW64\WindowsPowerShell\”

· vol c: d: e: f: g: h: i: j: k: l: m: n: o: p: q: r: s: t: u: v: w: x: y: z:

· dir “%userprofile%\Downloads”

· dir “%userprofile%\Documents”

· dir “%userprofile%\AppData\Local\Google\Chrome\User Data\Default”

· tasklist

此外,还会通过检查注册表项值的方式,对UAC可访问性和Microsoft Office安全设置进行测试。

(3) power com – 将%APPDATA%\Microsoft\delemd.tmp0复制到%APPDATA%\Microsoft\XXYYZZ.tmp,并作为DLL加载。

(4) exe del – 清理与二级Payload执行相关的所有文件:

· %APPDATA%\Microsoft\desktop.r3u(编码后的Cowboy Payload);

· %APPDATA%\Microsoft\fstnur(用于检查是否为首次执行的文件);

· %APPDATA%\Microsoft\*.tmp。

(5) execute – 将%APPDATA%\Microsoft\deleme.tmp0复制到%APPDATA%\Microsoft\deleme.tmp,并执行该文件。

四、使用KimJongRAT和PCRat

所有的二级恶意软件将作为一个组合被提供,其中包括:一个EXE加载器、一个DLL加载器、一个编码后的Payload。

EXE加载器和DLL加载器的功能是相同的,唯一的区别是文件类型。这些加载器随后在接收到执行命令“execute”时运行,并调用EXE类型加载器或使用“power com”命令来启动DLL类型的加载器。我们推断,之所以要设置两种不同类型的加载器,其原因在于反病毒软件可能会中断其中一种类型的加载。在这种情况下,恶意软件可以具备加载Payload的备份机制。加载器会加载自定义编码的二级Payload,也就是Cowboy,并在内存中完成解码和执行的过程。天空彩

在我们之前的研究中,我们发现了BabyShark与KimJongRAT恶意软件家族之间存在一些可能的关联性。我们是根据恶意软件行为的相似性、所选取目标的一致性,和此前曾经从相同的威胁行为者看到过新编译的KimJongRAT恶意软件样本这些事实来综合判断的。在我们的最新分析过程中,我们从BabyShark的C2服务器收集了两个二级Payload文件cow_pass.gif和cow.gif。在解码后,我们发现这些样本分别是KimJongRAT和PCRat。两个文件的元数据如下所示。

解码后的PCRat Payload的元数据:

(1) SHA256 f86d05c1d7853c06fc5561f8df19b53506b724a83bb29c69b39f004a0f7f82d8

(2) 时间戳 2010-07-14 08:47:40

(3) 文件大小 124,928

(4) 导入哈希 d742aa65c4880f85ae43feebb0781b67

(5) C2 173.248.170[.]149:80

解码后的KimJongRAT Payload的元数据:

(1) SHA256 d50a0980da6297b8e4cec5db0a8773635cee74ac6f5c1ff18197dfba549f6712

(2) 时间戳 2018-12-25 11:11:47

(3) 文件大小 787,968

(4) 导入哈希 daab894b81cc375f0684ae66981b357d

PCRat是一个知名的远程管理木马,其源代码可以在公共互联网上找到。该恶意软件是Gh0st RAT恶意软件系列的变体,它与Gh0st有许多相似之处,包括其网络信标结构,如下图所示。

PCRat与位于173.248.170[.]149:80的C2通信

持续使用KimJongRAT和PCRat发动攻击:BabyShark恶意软件分析

最初,我们对样本的时间戳如此古老感到好奇,我们很难理解为什么多年来都使用原始的PCRat二进制文件,而没有对其进行修改。但是,当我们在分析过程中,观察到它与C2服务器进行的通信时,确认了恶意运营者似乎正在积极地运营这一恶意软件。

解码后的KimJongRAT样本似乎在代码中展现了过去报告的变种中出现的一些变化。该样本中增加了混淆API字符串所使用的变化的加密方法,如下图所示,这样一来,可以隐藏恶意软件的意图,并移除用于C2数据泄漏的网络功能,可能有利于密码收集过程,我们将在下文中重点讨论。

KimJongRAT中的加密API字符串:

持续使用KimJongRAT和PCRat发动攻击:BabyShark恶意软件分析

正如原始文件名“cow_pass.fig”所体现的那样,KimJongRAT似乎完全被威胁行为者用于密码提取和信息窃取的工具,并且这些收集到的数据,会通过BabyShark或PCRat等恶意软件发送到C2。KimJongRAT恶意软件从受害者计算机窃取的信息包括:来自Microsoft Outlook和Mozilla Thunderbird的电子邮件凭,来自Internet Explorer、Chrome、Mozilla Firefox和Yandex浏览器的Google、Facebook和Yahoo!帐户的登录凭据。所有这些信息,连同受害者计算机的操作系统版本信息一起,都被存储在文件“%APPDATA%\Microsoft\ttmp.log”中。“ttmp.log”中的内容始终以字符串“AAAAFFFF0000CCCC”开头,然后附加经过Base64编码后的被窃取凭据。

五、利用CVE-2018-8174漏洞

目前,我们还没有在野外观察到实际的案例,但我们确实在BabyShark C2服务器上找到了一个利用CVE-2018-8174漏洞(Windows VBScript引擎远程代码执行漏洞)的PHP示例,这表明威胁行为者可能会利用此漏洞,通过水坑攻击或鱼叉式网络钓鱼电子邮件攻击的方式,诱导用户点击恶意URL,从而加载BabyShark的第一阶段HTA。

如果从同一IP地址发生多次访问,那么攻击者的漏洞利用脚本会记录受害者的远程IP地址,并重定向到http://google[.]com。这可能是一种旨在防止安全人员进行研究的策略。

if(file_exists($filename))
{
     if($ff=fopen(“resp”,”a”))
     {
          fwrite($ff, $date . ”  ” . $ip .  ”    “.$useragent.”     reopen document.” .”\r\n”);
          fclose($ff);
     }
     header(“location: http://google[.]com”);
     exit;
}
if($ff=fopen(“resp”,”a”))
{
     fwrite($ff, $date . ”  ” . $ip .  ”    “.$useragent.”            open document.” .”\r\n”);
     fclose($ff);
}

六、Cowboy转换工具

在我们的研究过程中,我们还发现了一个基于图形用户界面(GUI)的程序,该程序可能由BabyShark恶意软件作者从公共恶意软件存储库中创建。该文件将用作文件编码器工具,将PE文件转换为前面描述的Cowboy EXE和DLL加载器加载的Payload格式。我们相信,BabyShark作者使用该工具来创建他们的攻击。该工具的元数据如下:

(1) SHA256 bd6efb16527b025a5fd256bb357a91b4ff92aff599105252e50b87f1335db9e1

(2) 时间戳 2019-01-30 18:22:51

(3) 大小 24,576

(4) 导入哈希 bde663d08d4e2e17940d890ccf2e6e74

该工具只是在当前目录中打开一个名为“cowboy”的文件,并将其编码为Cowboy的编码格式,如下所述。如果找不到名为“cowboy”的文件,则会弹出一个消息框,通知“The file cowboy isn't there!”(文件cowboy不存在!),如下图所示。

持续使用KimJongRAT和PCRat发动攻击:BabyShark恶意软件分析

编码通过下面的三个步骤来完成:

(1) 反转从文件“cowboy”中读取的原始字节内容;

(2) 将反转后的字节进行Base64编码;

(3) 将Base64编码后的字符串分为10个块,并反转这些块的先后顺序。

我们使用Python编写了一个解码器脚本,可以在本文的附录部分看到。

七、总结

自从我们此前的研究发布以来,利用BabyShark恶意软件的恶意攻击仍然在持续。事实上,攻击者扩大了他们的“业务覆盖面”,瞄准了加密货币行业。恶意软件的服务器端实现表明,恶意软件作者已经做出一些努力,来维护恶意软件的运营和C2基础架构运营的安全性。威胁行为者在其活动中,已经利用了一些其他商品和定制开发的工具。具体而言,他们在这一系列恶意活动中使用的是PCRat和KimJongRAT,但可能会在未来更改为其他恶意软件系。使用BabyShark恶意软件的恶意攻击似乎还会持续,并且可能会继续扩展到针对新的行业。

八、IoC

1. 恶意Word宏文档

· 75917cc1bd9ecd7ef57b7ef428107778b19f46e8c38c00f1c70efc118cb8aab5

2. PCRat

· f86d05c1d7853c06fc5561f8df19b53506b724a83bb29c69b39f004a0f7f82d8

3. KimJongRAT

· d50a0980da6297b8e4cec5db0a8773635cee74ac6f5c1ff18197dfba549f6712

4. Cowboy加载器

· 4b3416fb6d1ed1f762772b4dd4f4f652e63ba41f7809b25c5fa0ee9010f7dae7

· 33ce9bcaeb0733a77ff0d85263ce03502ac20873bf58a118d1810861caced254

5. Cowboy转换工具

· bd6efb16527b025a5fd256bb357a91b4ff92aff599105252e50b87f1335db9e1

附录:解码Cowboy的Python脚本

import base64
with open(‘cowboy’, ‘r’) as file_in, open(‘cowboy_clear.bin’, ‘wb’) as file_out:
    EncStr = file_in.read()
    BlkSz = 10
    len_EncStr = len(EncStr)
    NonBlk10_ptr = len_EncStr – (BlkSz -1) * (len_EncStr // BlkSz)
    NonBlk10 = EncStr [:NonBlk10_ptr]
    result = ”
    EncStr = EncStr [NonBlk10_ptr::]
    #print EncStr
    x = range (-1,BlkSz-1)
    Blksize1 = len_EncStr // BlkSz
    for n in x:
        loop_buff1_ptr = n * (len_EncStr // BlkSz)
        loop_buff1 = EncStr [loop_buff1_ptr:loop_buff1_ptr+Blksize1]
        #print loop_buff1
        result = loop_buff1 + result
    result = result + NonBlk10
    clear = base64.b64decode(result)[::-1]
    print clear
file_out.write(clear)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
控制端采用IOCP模型,数据传输采用zlib压缩方式 稳定快速,上线数量无上限,可同时控制上万台主机 控制端自动检测CPU使用率调整自己的工作线程, 稳定高效 宿主为svchost以系统服务启动,有远程守护线程,上线间隔为两分钟。 心跳包机制防止意外掉线.. 支持HTTP和DNS上线两种方式 自动恢复SSDT(这功能干什么,大家都知道,免杀自己做吧),安装本程序需要管理员权限 控制端279K,返朴归真的界面,生成的服务端无壳,106 K,EXE内的资源用UPX压缩, 可安装多个服务端 其它细节方面的功能大家自己去发现吧 功能: 文件管理 完全仿Radmin所写, 文件、文件夹批量上传、删除、下载、创建、重命名 屏幕监视 扫描算法速度最快可达到120帧/秒,差异算法适合网络极差的情况下传输,传输速度快,控制屏幕,发送Ctrl+Alt+Del,剪贴板操作,7种色彩显示方式,等...... 键盘记录 可记录中英文信息,离线记录(记录上限50M)功能 远程终端 一个简单shell 系统管理 进程管理,窗口管理,拨号上网密码获取 视频查看 查看远程摄像头,快照,录像,压缩等功能... 语音监听 监听远程语音,同时也可以把本地语音传送给远程,进行语音聊天,GSM610压缩方式,传输流畅 会话管理 注销,重启,关机,卸载服务端 其它功能 下载执行指定URL中的程序,隐藏或者显示访问指定网址,清除系统日志 地址位置 将IP数据库文件QQWry.Dat放置程序同目录下即可显示地理位置 集群控制 可同时控制多台主机,同时打开视频监控等管理功能 备注功能 .........
控制端采用IOCP模型,数据传输采用zlib压缩方式稳定快速,上线数量无上限,可同时控制上万台主机控制端自动检测CPU使用率调整自己的工作线程, 稳定高效宿主为svchost以系统服务启动,有远程守护线程,上线间隔为两分钟。心跳包机制防止意外掉线..支持HTTP和DNS上线两种方式自动恢复SSDT(这功能干什么,大家都知道,免杀自己做吧),安装本程序需要管理员权限控制端279K,返朴归真的界面,生成的服务端无壳,106 K,EXE内的资源用UPX压缩, 可安装多个服务端其它细节方面的功能大家自己去发现吧功能:文件管理 完全仿Radmin所写, 文件、文件夹批量上传、删除、下载、创建、重命名屏幕监视 扫描算法速度最快可达到120帧/秒,差异算法适合网络极差的情况下传输,传输速度快,控制屏幕,发送Ctrl+Alt+Del,剪贴板操作,7种色彩显示方式,等......键盘记录 可记录中英文信息,离线记录(记录上限50M)功能远程终端 一个简单shell系统管理 进程管理,窗口管理,拨号上网密码获取视频查看 查看远程摄像头,快照,录像,压缩等功能...语音监听 监听远程语音,同时也可以把本地语音传送给远程,进行语音聊天,GSM610压缩方式,传输流畅会话管理 注销,重启,关机,卸载服务端其它功能 下载执行指定URL中的程序,隐藏或者显示访问指定网址,清除系统日志地址位置 将IP数据库文件QQWry.Dat放置程序同目录下即可显示地理位置集群控制 可同时控制多台主机,同时打开视频监控等管理功能备注功能 .........注: 软件不断更新中,有什么意见大家多多提,偶看可以的就采纳.....gh0st的成长,离不开大家的帮助.2008/1/27 11:16 : 优化了屏幕传输算法,CPU利用率更低2008/1/27 16:06 : 驱动以资源方式写入安装文件跟DLL文件中,优化屏幕传输2008/1/27 17:26 : 修正驱动安装时的一个Bug2008/1/28 05:28 : 服务端安装强化,加入服务检测,守护线程强化,加入禁用监视,顺便做了下免杀2008/1/29 12:47 : 改变服务端安装启动方式,隐藏服务,去掉驱动程序和守护线程,感谢Lzx无私的帮助...2008/1/29 16:12 : 修正键盘记录重复问题,优化服务端上线方式2008/1/30 04:11 : 修正服务端网络内核的一个导致异常的Bug,优化服务端大小到100K2008/1/31 01:28 : 重写服务端网络内核,加入数据包验证,及重发功能,更加稳定2008/1/31 11:36 : 修正服务端网络内核一个导致数据包混乱的问题,加入帧速限制,传输不稳定的情况从此消失...2008/2/01 10:54 : 主动防御功能加强,过卡巴全监控,瑞星,Kis6,Kis7,Norton,ZoneAlarm,江民2008等杀毒软件.下个版本准备过所有杀软的主动...期待吧.2008/2/01 14:18 : 加入服务端异常处理,更新稳定,请各位帮助测试..2008/2/01 15:39 : 修正服务端删除后不能安装的致命错误2008/2/01 23:35 : 改写了下服务端一些函数,增加稳定性,春季过后重写服务端吧,简洁下程序.2008/2/02 19:51 : 修正服务端视频监控功能的一些BUG2008/2/03 00:40 : 屏幕监控加入显示远程鼠标功能2008/2/05 16:46 : 重写屏幕传输算法,屏幕传输更快,控制更稳定..2008/2/05 23:45 : 还是网络内核跟屏幕传输方面,只求更快,不求最快,前版本屏幕传输有问题,旧版本不能上线,请用最新版本...2008/2/06 17:32 : 服务端做了些优化,加入跟踪远程光标的功能,旧版本不能上线,请用最新版本2008/2/07 00:57 : 改了些服务端,没事优化优化,准备过完年,大整一下,新年快乐...2008/2/07 16:02 : 没事加了个托盘功能,做了些代码优化,一个人过年,有点郁闷...2008/2/07 20:42 : 修正服务端一个句柄泄漏的问题..2008/2/08 22:08 : 全面优化了下服务端,新加了备注功能.2008/2/09 22:58 : 修正一些大家提到的问题,Gh0st RAT Beta 2.1 发布2008/2/11 00:18 : 修正服务端安装的一个BUG,静心研究ACE中,暂停更新...................2008/2/17 16:14 : 保存配置文件,服务端支持socks5代理上线,加入下载更新功能,屏幕控制加入,黑屏,锁定等功能2008/2/20 10:49 : 应大家要求,看了看江民2008的垃圾主动,连注册表都没,随便改了下服务端,过江民2008主动.其它有啥主动过不了的,抓图,我抽空解决2008/2/20 09:26 : 改了下服务端一些网络方面的东西,看对2003掉线情况是否有效,望大家测试,多谢了.2008/2/21 15:43 : 服务端掉线问题,重启后不上线问题,测试版本,请大家测试2008/2/22 19:47 : 解决重启后服务端不上线问题,加强对抗主动防御的功能2008/2/23 17:11 : 全面优化了下服务端,加强稳定性,请大家测试2008/2/23 19:03 : 修正视频监视的一个小BUG2008/2/24 01:55 : 文件管理中加入本地和远程运行功能,优他了部分代码,旧版本不会上线,请用新版本2008/2/24 12:56 : 修正文件管理中一个低级错误,下载更新的一个错误2008/2/26 00:00 : 完美解决重复安装,重复上线问题,发布gh0st2.5,2008/3/20 21:52 : 服务端全部优化一遍,加入语音监听,屏幕监视的算法优化...2.6发布2008/3/24 18:52 : 抽出时间来,视频采用选择性压缩,强大的H263压缩算法,100:1的压缩率,加入快照功能...2.7发布2008/3/25 02:42 : 修正网友提出的问题,如下载网址输入有限制等,一些人性化细节方面的修改...2008/3/26 05:01 : 修正视频的一个解码器处理的BUG,加入智能选择编码器,调整屏幕传输4位调色板....2.712008/3/28 11:01 : 修正视频对一些摄像头不兼容的bug,加入录像功能,修正服务端一个导致整体稳定性的bug,此版本历来最稳定的...不与前版本相兼容2008/4/16 01:28 : 屏幕算法加入热点跟踪,心跳包方式改用保活方式,优化网络内核,实际压缩测试2003服务器,超过4万台同时上线,服务端生成方式为文件尾追加配置信息,壳为upackDLL资源也用upack加了壳,脱壳后,可自由更改,导入,不影响使用,软件标题日期,不做改变,2.8是个好数字,改动了一些其它细节方面的问题2008/4/18 23:44 : 完美解决键盘记录重复记录等问题.2008/5/10 20:47 : 修正2003 R2下下载更新或者下载执行时造成服务器崩溃的BUG,以及更新后黑屏的BUG,发布3.02008/5/11 18:10 : 超时改为3分钟,采用双保活机制度,防止网络异常导致出现死连接, 致使务端无法上线的BUG,请不要再用旧版本,最近更新的都是一些致命问题2008/5/14 00:26 : 修正一些摄像头无法显示的BUG,发布3.2版本2008/5/16 02:48 : 更改服务端安装方式,以前的安装方式很不稳定,现在的更加稳定,在多种操作系统中测试通过,可以自定义服务显示名称,描述....3.42008/5/17 15:03 : 换心跳方式,对付任何情况下产生的死连接,安装删除更加稳定,发布3.52008/5/17 20:32 : 修正3.5恢复SSDT失败的BUG,一个小小的笔误,实在不好意思.请大家不要用旧版本了,些版本是历来最稳定的,旧版本BUG太多,看更新记录就知道了,下个版本出来会有很长时间,大家可以放心的用,更新周期会变长2008/5/22 17:11 : 偶再三思考下,开源,开源是最好的办法,我就开源.....我就不信了...3.6开源视频压缩支持的编码格式,按优先级排列:Microsoft H.263 Video CodecIntel Indeo(R) Video R3.2Microsoft MPEG-4 Video Codec V2Cinepak Codec by Radius声明下软件的安装方式:如果安装时发现有相同配置的服务端已经安装过,就不安装也不删除,跟鸽子一个原理,我是靠字串区别的2008/3/2 06:35 : 本着我们红狼写gh0st的初衷,一个共享,免费,的软件,到今天为止,算是对大家一个交代,新版本开发中,经小组内部讨论将此版本开源..装上VC6,打造属于你们自己的gh0st吧..我们不保留版权,任何信息,自由修改,多谢一直以来大家的支持,我们会继续努力的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值