社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 14阅读
  • 1回复

[分享]警惕盗版电影投毒!利用Go编译器隐匿DCRat后门

楼层直达
z3960 
级别: FLY版主
发帖
853839
飞翔币
125777
威望
325912
飞扬币
3863986
信誉值
8

[font=-apple-system, BlinkMacSystemFont, &quot]近期,有用户在尝试通过非正规渠道下载一部“蓝光电影”时,触发了“安全警报”。经核查,该电影资源捆绑了高度危险的DCRat后门病毒,其利用了一系列复杂技术手段试图绕过安全检测。这一事件再次揭示了一个残酷的现实:[font=-apple-system, BlinkMacSystemFont, &quot]盗版软件、影视资源已成为黑客投毒、窃取信息的温床[font=-apple-system, BlinkMacSystemFont, &quot]。攻击者正是利用了用户寻求“免费午餐”的心理,在热门资源中精心布置陷阱。[font=-apple-system, BlinkMacSystemFont, &quot]该病毒利用快捷方式中填写CMD命令的方式执行字幕文件中的PowerShell代码,并通过下载 Go语言编译器现场编译Go代码执行PowerShell命令,且其Go代码中含有随机密钥与对应的加密数据,从而试图躲避安全软件检测。随后利用计划任务形成持久化,最终会加载DCRat后门病毒,其拥有加载任意插件的功能,火绒安全软件可对上述木马进行拦截查杀,建议用户将火绒安全软件更新至最新版本。
查杀图
[font=-apple-system, BlinkMacSystemFont, &quot]流程图如下:

流程图
[font=-apple-system, BlinkMacSystemFont, &quot]一、样本分析[font=-apple-system, BlinkMacSystemFont, &quot]此样本在释放最终 DCRat 后门之前会利用行数定位字幕文件与其他文件中藏匿的 PowerShell 或 CMD 代码。
[font=-apple-system, BlinkMacSystemFont, &quot]其中字幕文件名为Part2.subtitles.srt,发现利用PotPlayer加载该字符文件时还是会出现藏匿在字幕文件中的代码。
字幕中的代码
[font=-apple-system, BlinkMacSystemFont, &quot]1.1脚本阶段[font=-apple-system, BlinkMacSystemFont, &quot]文件构成与目的:[font=-apple-system, BlinkMacSystemFont, &quot]首先样本为显性的两个快捷方式与三个隐藏属性的文件,其中两个快捷方式图标分别为光盘与文件夹,试图让受害者认为是启动器和文件夹,从而使用户主动点击。其中的指令都是提取出Part2.subtitles.srt字幕文件中第100行至103行代码,随后利用cmd执行。隐藏文件Cover.jpg与Photo.jpg分别为压缩包与文件数据包,其文件中包含持久化脚本与DCRat后门病毒数据。
文件结构与快捷方式
[font=-apple-system, BlinkMacSystemFont, &quot]字幕文件中的四行CMD指令是利用PowerShell执行字幕文件中第2501行至第2530行的代码,其中利用乘法、拼接以及函数别名的方式实施了弱混淆处理。
字幕文件中 第100行至第103行指令
[font=-apple-system, BlinkMacSystemFont, &quot]下图是将会执行的 30 行PowerShell代码图与注释图,该代码主要功能是将字幕文件中被加密数据(PowerShell 代码),利用AES算法解密后写入至Cache_{GUID}.ps1文件中,随后执行。其文件名中Cache_后为随机的 GUID,每次生成时都不相同。

字幕文件中 第2501行至第2530行与注释版
[font=-apple-system, BlinkMacSystemFont, &quot]最终会解密出 5 个PowerShell文件并执行,分别为创建文件夹、创建计划任务、提取 Photo.jpg中文件、解压Cover.jpg文件、解压One Battle After Another.m2ts文件。[font=-apple-system, BlinkMacSystemFont, &quot]注意:[font=-apple-system, BlinkMacSystemFont, &quot]获取到的样本中并没有One Battle After Another.m2ts文件。[font=-apple-system, BlinkMacSystemFont, &quot]Photo.jpg与Cover.jpg中的文件提取出来是一样的。
5 个 PowerShell 文件
[font=-apple-system, BlinkMacSystemFont, &quot]上文所提到的计划任务为cmd.exe启动RealtekCodec.bat批处理文件,该批处理文件是用于执行RealtekDriverInstall.ps1脚本。
创建执行 PowerShell 脚本的计划任务
[font=-apple-system, BlinkMacSystemFont, &quot]RealtekDriverInstall.ps1 脚本:[font=-apple-system, BlinkMacSystemFont, &quot]1.首先会识别Defender是否存在,若存在则创建计划任务 RealtekDriverInstallerDetective,用于启动RealtekAudioSyncHelper.bat批处理文件。[font=-apple-system, BlinkMacSystemFont, &quot]2.下载 Go 编译器并解压。[font=-apple-system, BlinkMacSystemFont, &quot]3.提取RealtekAudioService.db中第899行至第9999行代码,将其利用随机密钥加密,随后将密钥与被加密数据替换至RealtekAudioService.go文件中。[font=-apple-system, BlinkMacSystemFont, &quot]4.随后利用 Go 编译器编译,编译出audio_diag_{GUID}.exe。[font=-apple-system, BlinkMacSystemFont, &quot]5.创建计划任务,用于持久化启动audio_diag_{GUID}.exe。[font=-apple-system, BlinkMacSystemFont, &quot]RealtekAudioSyncHelper.bat 脚本:[font=-apple-system, BlinkMacSystemFont, &quot]1.执行Part3.Resolution文件中第1001行至第1030行指令(PowerShell 执行)[font=-apple-system, BlinkMacSystemFont, &quot]2.对part{1~3}.txt进行Base64解码,并加载DCRat后门病毒。
解码加载后门病毒
[font=-apple-system, BlinkMacSystemFont, &quot]下载 Go 编译器并解压:
获取 Go 编译器
[font=-apple-system, BlinkMacSystemFont, &quot]构建 Go 脚本:[font=-apple-system, BlinkMacSystemFont, &quot]获取第899行至第9999行代码,随后将随机数作为异或密钥并加密并替换 Go 脚本中的加密数据与密钥。
加密与替换
[font=-apple-system, BlinkMacSystemFont, &quot]删除之前编译出的可执行程序 audio_diag_{guid}.exe,随后再次对 Go 脚本进行编译。
编译
[font=-apple-system, BlinkMacSystemFont, &quot]删除之前的计划任务,重新创建新的计划任务,目的为登录时打开执行audio_diag_{guid}.exe。
创建计划任务
[font=-apple-system, BlinkMacSystemFont, &quot]随后会执行第899行至第9999行代码,随后将{GUID}.1.ver0x{十六进制数字}.db文件进行解码,数据分别是:
  • DCRat后门病毒
  • 启动器
  • C:WindowsMicrosoft.NETFrameworkv4.0.30319aspnet_compiler.exe
  • Test_RunTime.Program
  • ExeTTTT
  • invoke
  • load
  • Gettype
  • GetMethod
[font=-apple-system, BlinkMacSystemFont, &quot]关闭PowerShell的AMSI(反恶意软件扫描接口),从而使后续加载DCRat后门病毒时不会被Windows Defender(Windows安全中心)或其他杀毒软件扫描。
关闭PowerShell的AMSI
[font=-apple-system, BlinkMacSystemFont, &quot]随后利用注入器将DCRat后门病毒注入至aspnet_compiler.exe。
利用注入器注入 DCRat 后门
[font=-apple-system, BlinkMacSystemFont, &quot]1.2注入器[font=-apple-system, BlinkMacSystemFont, &quot]初始阶段将加载 Load.dll,用于后续调用 API。

Load.dll 模块中函数构造
[font=-apple-system, BlinkMacSystemFont, &quot]下图为整个进程镂空的逻辑:[font=-apple-system, BlinkMacSystemFont, &quot]1.首先会创建阻塞进程(aspnet_compiler.exe),用于之后将 DCRat 后门病毒写入至该傀儡进程。[font=-apple-system, BlinkMacSystemFont, &quot]2.随后获取DCRat后门病毒的ImageBase(基址)。[font=-apple-system, BlinkMacSystemFont, &quot]3.随后构造Context调用Wow64GetThreaddContext函数获取傀儡进程中主线程的整数类寄存器(例如AX、BX)。[font=-apple-system, BlinkMacSystemFont, &quot]4.获取傀儡进程中PEB中的ImageBaseAddress(实际模块基址)。[font=-apple-system, BlinkMacSystemFont, &quot]5.若两者相同则利用ZwUnmapViewOfSection释放那片内存。[font=-apple-system, BlinkMacSystemFont, &quot]6.获取SizeOfImage与SizeOfHeaders,前者用于分配DCRat后门病毒所需要大小的内存,后者用于写入PE头时指定大小。[font=-apple-system, BlinkMacSystemFont, &quot]7.将所有Section(区段)数据写入傀儡进程中。[font=-apple-system, BlinkMacSystemFont, &quot]8.将注入的模块基址写入到傀儡进程的PEB中的ImageBaseAddress,进行修补。[font=-apple-system, BlinkMacSystemFont, &quot]9.获取DCRat后门病毒入口点,将入口点地址通过Wow64SetThreadContext函数写入至 EAX。[font=-apple-system, BlinkMacSystemFont, &quot]10.最后ResumeThread使进程继续下去。[font=-apple-system, BlinkMacSystemFont, &quot]11.最终执行注入的DCRat后门病毒。
本帖最近评分记录: 1 条评分 飞扬币 +50
爱我中华 飞扬币 +50 3小时前 社区因为有您的参与更精彩!
关键词: 电影
我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。
级别: 茶馆馆主
发帖
672450
飞翔币
230463
威望
4071
飞扬币
3361198
信誉值
0

只看该作者 1 发表于: 3小时前
安全第一