在Android勒索软件两年的衰败后,一个新的勒索软件家庭出现了。ESET Mobile Security检测到Android / Filecoder.C勒索软件正通过各种在线论坛传播。
勒索软件成功植入后会利用受害者的联系人列表进一步扩散。由于勒索软件设计存在缺陷,造成的影响有限。但如果开发人员修复了这些问题并瞄准更广泛的用户群,Android / Filecoder.C勒索软件可能会成为一个新的严重威胁。
Android / Filecoder.C自2019年7月12日起一直处于活跃状态。在我们发现的活动中,Android / Filecoder.C已经通过Reddit上的恶意帖子和“XDA Developers”论坛(Android开发者论坛)进行了传播。我们向XDA Developers和Reddit报告了恶意活动,XDA开发者论坛上的帖子被迅速删除;Reddit中的恶意文件在发布时仍处于活跃状态。
我们发现的勒索软件是基于两个域进行传播(请参阅下面的IoC部分),由攻击者控制,用于下载的恶意Android文件。 攻击者通过发布或评论Reddit(图1)或XDA开发者(图2)来吸引潜在受害者进入这些域。
在Reddit共享的链接中,攻击者使用URL短链接bit.ly。该URL是在2019年6月11日创建的,如图3所示,其统计数据表明,在撰写本文时,已有来自不同来源和国家的59次点击。
为了最大化扩散范围,勒索软件具有图5中所示的消息模板的42种语言版本。在发送消息之前,它选择适合受害者设备的语言设置的版本。 为了使这些消息更具有针对性,恶意软件会将联系人的姓名添加到消息前。
一旦潜在受害者收到带有恶意应用程序链接的消息,他们需要手动安装。 应用程序启动后,通常是一个模拟器在线游戏。 但其主要目的是进行C&C通信,传播恶意消息和实施文件加密。
接下来勒索软件遍历可访问存储中的文件,除了系统文件外所有设备的存储, 并加密其中的大部分(参见“文件加密机制”部分)。 文件加密后,勒索软件会显示其勒索信息(英文),如图7所示。
如果受害者删除应用程序,勒索软件将无法解密文件。但由于加密有缺陷,文件仍然可以恢复。此外根据分析,勒索软件的代码中没有任何内容显示受影响的数据将在72小时后丢失。
这种独特的做法有助于识别收到的付款。 (在Android勒索软件中,通常是为每个加密设备生成一个单独的比特币钱包)根据最近每比特币约的汇率,派生的赎金金额在94-188美元之间(假设用户唯一ID随机生成)。
勒索软件使用非对称和对称加密。 首先,它生成公钥和私钥对, 私钥使用RSA算法加密,并以硬编码值存储在代码中并发送到攻击者的服务器。 攻击者可以解密该私钥,并在受害者支付赎金后,将该私钥发送给受害者以解密他们的文件。
加密文件时,勒索软件会为每个要加密的文件生成一个新的AES密钥。 然后使用公钥对此AES密钥进行加密,并将其添加到每个加密文件中:((AES)public_key +(File)AES).seven
“.doc”, “.docx”, “.xls”, “.xlsx”, “.ppt”, “.pptx”, “.pst”, “.ost”, “.msg”, “.eml”, “.vsd”, “.vsdx”, “.txt”, “.csv”, “.rtf”, “.123”, “.wks”, “.wk1”, “.pdf”, “.dwg”, “.onetoc2”, “.snt”, “.jpeg”, “.jpg”, “.docb”, “.docm”, “.dot”, “.dotm”, “.dotx”, “.xlsm”, “.xlsb”, “.xlw”, “.xlt”, “.xlm”, “.xlc”, “.xltx”, “.xltm”, “.pptm”, “.pot”, “.pps”, “.ppsm”, “.ppsx”, “.ppam”, “.potx”, “.potm”, “.edb”, “.hwp”, “.602”, “.sxi”, “.sti”, “.sldx”, “.sldm”, “.sldm”, “.vdi”, “.vmdk”, “.vmx”, “.gpg”, “.aes”, “.ARC”, “.PAQ”, “.bz2”, “.tbk”, “.bak”, “.tar”, “.tgz”, “.gz”, “.7z”, “.rar”, “.zip”, “.backup”, “.iso”, “.vcd”, “.bmp”, “.png”, “.gif”, “.raw”, “.cgm”, “.tif”, “.tiff”, “.nef”, “.psd”, “.ai”, “.svg”, “.djvu”, “.m4u”, “.m3u”, “.mid”, “.wma”, “.flv”, “.3g2”, “.mkv”, “.3gp”, “.mp4”, “.mov”, “.avi”, “.asf”, “.mpeg”, “.vob”, “.mpg”, “.wmv”, “.fla”, “.swf”, “.wav”, “.mp3”, “.sh”, “.class”, “.jar”, “.java”, “.rb”, “.asp”, “.php”, “.jsp”, “.brd”, “.sch”, “.dch”, “.dip”, “.pl”, “.vb”, “.vbs”, “.ps1”, “.bat”, “.cmd”, “.js”, “.asm”, “.h”, “.pas”, “.cpp”, “.c”, “.cs”, “.suo”, “.sln”, “.ldf”, “.mdf”, “.ibd”, “.myi”, “.myd”, “.frm”, “.odb”, “.dbf”, “.db”, “.mdb”, “.accdb”, “.sql”, “.sqlitedb”, “.sqlite3”, “.asc”, “.lay6”, “.lay”, “.mml”, “.sxm”, “.otg”, “.odg”, “.uop”, “.std”, “.sxd”, “.otp”, “.odp”, “.wb2”, “.slk”, “.dif”, “.stc”, “.sxc”, “.ots”, “.ods”, “.3dm”, “.max”, “.3ds”, “.uot”, “.stw”, “.sxw”, “.ott”, “.odt”, “.pem”, “.p12”, “.csr”, “.crt”, “.key”, “.pfx”, “.der”
它不会加密包含字符串“.cache”,“tmp”或“temp”的目录中的文件。如果文件扩展名为“.zip”或“.rar”且文件大小超过51,200 KB / 50 MB,或“.jpeg”,“.jpg”和“.png”文件大小小于150 KB也不会被加密。
文件类型列表包含一些与Android无关的文件类型,同时缺少一些典型的Android扩展,如.apk,.dex,.so。 显然,该列表是从WannaCryptor aka WannaCry勒索软件中复制而来。
但是,由于用于加密私钥使用的硬编码密钥值,可以通过将加密算法更改为解密算法来解密文件而无需支付赎金。 所需要的只是勒索软件提供的UserID(参见图13),以及勒索软件的APK文件。到目前为止,我们已经在Android / Filecoder.C勒索软件的所有样本中发现了相同的值。