前置
关于对称/非对称加密:对称加密和非对称加密的区别 - 姚春辉 - 博客园 (cnblogs.com)
常见的对称加密算法有: DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES
常见的非对称加密算法有: RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
常见的摘要算法有: MD2、MD4、MD5、HAVAL、SHA
相关信息:
样本hash(MD5): 8b6bc16fd137c09a08b02bbe1bb7d670
样本运行流程
从样本的编译时间看,大概是在2017年,这个时候已经有不少的win10用户了;分析发现,cerber会判断当前系统的MajorVersion,如果是10,就会Sleep(0x2710)。样本主要分为4个部分:
1,前期的免杀 (当然现在系统都将该样本标记了,不过在当时应该是可以跑起来的)
2,中期的配置文件解密,各个参数获取 (密钥,ip/port,后缀列表,语言列表等)
3,高潮的文件加密,对特定目录下特定后缀文件进行加密
4,结尾的通知,勒索信息提示,桌面绘制等
重点看一下其文件加密部分:
获取对称加密的密钥
加密过程包含对称加密和非对称加密,导入密钥如下图所示:
导入rsa公钥
生成rc4 key
导入rc4 key
大概流程:待加密的文件前n1个字节不变,从偏移n1读取n2字节,并计算剩余文件大小;将以上数据通过rsa加密,剩余文件通过生成的密钥进行rc4加密;最后将相关数据填写到文件对应位置。
总结:
cerber这种采用rsa+rc4的文件加密方案导致,在没有私钥的情况下,最多能够解密出rc4加密的部分,rsa加密的部分是无法还原的。cerber运行,对文件完成加密后会自删除;如果没有样本,解密就无从下手了;还有其文件加密后的数据布局,即使找专业的技术人员来解密,花费的人力物力不一定比直接交赎金低。看到网上的一些文章说一定不要交赎金,有点莫名的喜感,这也太小瞧别人。