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文件存储系统,并未进行多余的服务关闭等功能,只是做了简单的目录过滤,然后就开始了加密,加密完毕后写入公钥和加密标志并且会对每个目录下写入勒索信。
6.安全建议
6.1 风险消减措施
资产梳理排查目标:根据实际情况,对内外网资产进行分时期排查
服务方式:调研访谈、现场勘查、工具扫描
服务关键内容:流量威胁监测系统排查、互联网暴露面扫描服务、技术加固服务、集权系统排查
6.2 安全设备调优
目标
通过对安全现状的梳理和分析,识别安全策略上的不足,结合目标防御、权限最小化、缩小攻击面等一系列参考原则,对设备的相关配置策略进行改进调优,一方面,降低无效或低效规则的出现频次;另一方面,对缺失或遗漏的规则进行补充,实现将安全设备防护能力最优化。
主要目标设备
网络安全防护设备、系统防护软件、日志审计与分析设备、安全监测与入侵识别设备。
6.3 全员安全意识增强调优
目标:
通过网络安全意识宣贯、培训提升全方位安全能力
形式:
培训及宣贯
线下培训课表
若无法组织线下的集体培训,考虑两种方式:
1.提供相关的安全意识培训材料,由上而下分发学习
2.组织相关人员线上开会学习。线上培训模式。
线上学习平台
7.团队介绍
solar团队数年深耕勒索解密与数据恢复领域,在勒索解密和数据恢复领域建立了良好的声誉,以高效、安全、可靠的解决方案赢得了客户的信任。无论是个人用户还是大型企业,都能提供量身定制的服务,确保每一个被勒索软件侵害的数据都能够恢复到最佳状态,同时在解密数据恢复后,提供全面的后门排查及安全加固服务,杜绝二次感染的风险。同时,solar团队坚持自主研发及创新,在攻防演练平台、网络安全竞赛平台、网络安全学习平台方面加大研发投入,目前已获得十几项专利及知识产权。团队也先后通过了ISO9001质量管理体系、ISO14000环境管理体系、ISO45001职业安全健康管理体系 、ITSS(信息技术服务运行维护标准四级)以及国家信息安全漏洞库(CNNVD)技术支撑单位等认证,已构建了网络安全行业合格的资质体系
8.数据恢复服务流程
多年的数据恢复处理经验,在不断对客户服务优化的过程中搭建了"免费售前+安心保障+专业恢复+安全防御"一体化的专业服务流程。
① 免费咨询/数据诊断分析
专业的售前技术顾问服务,免费在线咨询,可第一时间获取数据中毒后的正确处理措施,防范勒索病毒在内网进一步扩散或二次执行,避免错误操作导致数据无法恢复。
售前技术顾问沟通了解客户的机器中毒相关信息,结合团队数据恢复案例库的相同案例进行分析评估,初步诊断分析中毒数据的加密/损坏情况。
② 评估报价/数据恢复方案
您获取售前顾问的初步诊断评估信息后,若同意进行进一步深入的数据恢复诊断,我们将立即安排专业病毒分析工程师及数据恢复工程师进行病毒逆向分析及数据恢复检测分析。
专业数据恢复工程师根据数据检测分析结果,定制数据恢复方案(恢复价格/恢复率/恢复工期),并为您解答数据恢复方案的相关疑问。
③ 确认下单/签订合同
您清楚了解数据恢复方案后,您可自主选择以下下单方式:
双方签署对公合同:根据中毒数据分析情况,量身定制输出数据恢复合同,合同内明确客户的数据恢复内容、数据恢复率、恢复工期及双方权责条款,双方合同签订,正式进入数据恢复专业施工阶段,数据恢复后进行验证确认,数据验证无误,交易完成。
④ 开始数据恢复专业施工
安排专业数据恢复工程师团队全程服务,告知客户数据恢复过程注意事项及相关方案措施,并可根据客户需求及数据情况,可选择上门恢复/远程恢复。
数据恢复过程中,团队随时向您报告数据恢复每一个节点工作进展(数据扫描 → 数据检测 → 数据确认 → 恢复工具定制 → 执行数据恢复 → 数据完整性确认)。
⑤ 数据验收/安全防御方案
完成数据恢复后,我司将安排数据分析工程师进行二次检查确认数据恢复完整性,充分保障客户的数据恢复权益,二次检测确认后,通知客户进行数据验证。
客户对数据进行数据验证完成后,我司将指导后续相关注意事项及安全防范措施,并可提供专业的企业安全防范建设方案及安全顾问服务,抵御勒索病毒再次入侵。
更多资讯 扫码加入群组交流