吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3154|回复: 26
上一主题 下一主题
收起左侧

[PC样本分析] 【病毒分析】Babyk加密器分析-NAS篇

  [复制链接]
跳转到指定楼层
楼主
Solarsec 发表于 2024-7-23 11:05 回帖奖励
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 Solarsec 于 2024-7-23 11:07 编辑

1.前情提要

继上篇分析了关于Babyk加密器在Windows环境的行为特征,本篇是针对NAS系统的相关分析。

2.总体行为:

3.密钥下发(Builder.exe)

这里可以通过VS生成了Builder.exe来实现对其Builder过程进行分析,可以看到主要是对这部分文件的处理与释放

文件释放列表及作用:

无法复制加载中的内容

流程图:

逻辑分析:

1 读取参数,第一个参数是文件夹路径,第二个是指定密钥文件

2 根据参数1的文件路径,来和kp.curve25519与ks.curve25519进行拼接,用于后续存储密钥

3 利用随机数函数CryptGenRandom来产生一个私钥,再利用该私钥配合curve25519算法生成一个公钥

4 或者看是否存在第三个参数,有指定私钥的文件,利用该文件内的私钥配合curve25519算法生成一个公钥


5 将私钥和外部的note.txt勒索信写入到加密器中,将私钥写入到解密器中

6 将生成的私钥和公钥写入到kp.curve25519和ks.curve25519文件中

4.密钥产生程序

4.1 逆向分析(keygen.exe)

整体流程就是调用随机数函数SystemFunction036,产生了32位的随机数

其中systemFunction036是cryptbase.dll中的函数

之后就是经过了Curve25519算法的密钥生成,得出了一个公钥和一个私钥

5.NAS

5.1 目录结构

存在一个build.bat批处理文件和main.go代码文件

5.2 单独构建脚本(build.bat)

build.bat:

@echo off

set GOOS=linux
set GOARCH=386
go build -o e_nas_x86.out

set GOOS=linux
set GOARCH=arm
go build -o e_nas_arm.out

pause

该脚本会生成两个版本的文件,一个是linux下intel架构的程序,另外一个是linux下arm架构的程序。

5.3 加密器分析(e_nas_x86)

5.3.1 整体流程

5.3.2 逆向分析

首先获取勒索信的长度,并将其赋值到note_content,用于后续勒索信的写入。

5.3.2.1 读取参数

判断是否存在输入参数,如果有就对其进行遍历,如果没有那就打印帮助说明e_nas_x86.out /path/to/be/encrypted,意味着参数1是需要指定加密路径。

遍历文件,对文件进行过滤加密,不是文件就继续递归

5.3.2.2 路径过滤

目录的判断是有遇到过滤目录的话,就会选择跳过,不做加密操作,最后遍历完后,会写入勒索信。

5.3.2.3 过滤目录
/proc
/boot
/sys
/run
/dev
/etc
/home/httpd
.system/thumbnail
.system/opt
.config
.qpkg
/mnt/ext/opt

5.3.2.4 过滤文件
.babyk
README_babyk.txt

如果是文件,会判断是否是加密后缀的文件(.babyk),或者是否是勒索信(README_babyk.txt),如果都不是,会调用main_main_func1_gowrap1函数进行加密流程,否则就跳过。

5.3.2.5 文件加密

main_main_func1_gowrap1函数

这里的话,主要就是调用main_encrypto_file进行加密实现

5.3.2.6 加密核心(main_encrypto_file函数)

基本的流程和windows差不多,一个是在生成IV和Key的过程换成了sha256,其次就是最后的流加密算法换成了Chacha20。

生成加密私钥和公钥,并结合黑客的公钥生成共享密钥,最后将文件名称修改为加密文件名称。


利用共享密钥生成IV和KEY

对文件进行加密,然后将加密当前文件生成的公钥和加密标志“choung dong looks like hot dog!”写入到文件末尾,

这里会对文件的大小进行计算,来选择合适大小的加密大小。

计算方法:根据需要加密文件的大小来进行判断,如果大于0x1400000,就属于大文件,对其进行分块进行循环加密,一个块大小为0xA00000,如果小于等于0x1400000,并且大于0x400000,那就一次只加密0x400000大小的文件内容,如果小于0x400000,文件大小就是加密大小,全加密。

5.3.2.7 加密后缀

5.4 总结

该架构的设计因为加密的系统是NAS文件存储系统,并未进行多余的服务关闭等功能,只是做了简单的目录过滤,然后就开始了加密,加密完毕后写入公钥和加密标志并且会对每个目录下写入勒索信。

免费评分

参与人数 18威望 +2 吾爱币 +119 热心值 +15 收起 理由
JDG123 + 1 + 1 我很赞同!
156608225 + 2 + 1 用心讨论,共获提升!
a520 + 1 + 1 我很赞同!
maddock + 1 加油
fengbolee + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
X1a0 + 1 + 1 谢谢@Thanks!
HM1ng + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Hmily + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
QWE1212 + 1 + 1 热心回复!
lashoucuihua + 1 用心讨论,共获提升!
AG6 + 1 + 1 我很赞同!
GISerliang + 1 + 1 谢谢@Thanks!
RustAbra + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
installli + 1 谢谢@Thanks!
allspark + 1 + 1 用心讨论,共获提升!
小舟要谦虚 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ShanLong + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
offerking + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
haibiandelang 发表于 2024-7-23 11:18
感谢楼主,对我很有帮助,谢谢
3#
qwe6524113 发表于 2024-7-23 11:52
4#
meiyong00 发表于 2024-7-23 12:03
5#
zelen 发表于 2024-7-23 13:48
很好、很强大,这个一定得支持aa!!!
6#
Goven 发表于 2024-7-23 14:24
感谢楼主,学到了
7#
ZXiuChaog 发表于 2024-7-23 14:50
这相当的哇塞啊  真的这样弄 没错
8#
ty666ee 发表于 2024-7-23 17:12
我来学习一下大佬思路
9#
bahahanana 发表于 2024-7-23 22:07
向大佬学习,先mark收藏了
10#
msxiaobei 发表于 2024-7-23 23:38
感谢楼主!!学习学习学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-21 13:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表