最近ESET研究人员发现了一个新的Android勒索软件家族,它们试图通过向受害者的手机的联系人列表发送恶意短信继续传播。
在Android勒索软件遭遇两年的衰退之后,一个新的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 DEVELOPERS论坛上的帖子被迅速删除,不过目前恶意Reddit配置文件在发布时仍处于运行状态。
Android/Filecoder.C通过带有恶意链接的短信进一步传播,这些链接被发送给受害者联系人列表中的所有联系人。
在勒索软件发出这些恶意短信之后,它会加密设备上的大多数用户文件,并要求受害者支付赎金。
使用ESET Mobile Security的用户会收到有关恶意链接的警告,如果用户执意忽略警告并继续下载应用程序,安全解决方案将强行阻止恶意软件的运行。
恶意攻击的统计
我们发现的广告系列基于两个域(请参阅下面的IoC部分),由攻击者控制,其中包含用于下载的恶意Android文件。攻击者通过发布或评论Reddit(图1)或XDA DEVELOPERS(图2)来吸引潜在受害者点击这些域。
大多数情况下,帖子的主题与色情有关。除此之外,我们也看到了用技术主题作诱饵的帖子。在所有评论或帖子中,都包含指向恶意应用程序的链接或QR代码。
攻击者的Reddit配置文件,包含恶意帖子和评论
攻击者在XDA DEVELOPERS论坛上发布的一些恶意帖子
在Reddit上共享的一个链接中,攻击者使用了短网址bit.ly。经调查这个bit.ly URL是在2019年6月11日创建的,其统计数据如下图所示,截至撰写本文时,来自不同来源和国家的点击量已达到59次。
勒索软件活动期间在Reddit上共享的bit.ly链接的统计信息
传播过程
如前所述,Android/Filecoder.C勒索软件通过短信将链接传播到受害者联系人列表中的所有目录。
这些消息包括勒索软件的链接,为了增加潜在受害者的点击概率,这个链接被显示为一个应用程序的链接,且该应用程序可能使用潜在受害者的照片,如下图所示。
为了扩展其攻击范围,勒索软件有42种语言版本的消息模板,如图5所示。在发送消息之前,它选择适合受害者设备的语言设置的版本。为了个性化这些消息,恶意软件会将联系人的姓名添加到这些消息之前,以显得真实,增加迷惑性。
带有勒索软件链接的短信,如果发送设备将语言设置为英语,则发送此切换到英文
勒索软件中硬编码了42种语言版本
恶意功能
一旦潜在受害者收到带有恶意应用程序链接的短信,他们需要手动安装它。应用程序启动后,它将显示传播它的帖子中承诺的内容。通常,它是一个在线性爱模拟游戏。然而,其主要目的是C&C通信,传播恶意消息和实施加密或解密机制。
对于C&C通信,恶意软件的源代码中包含硬编码的C&C和比特币地址。但是,它也可以动态检索它们:攻击者可以使用免费的Pastebin服务随时更改它们。
Pastebin是一个便签类站点,用户可以在该平台任意储存纯文本,例如代码,文字等内容。Pastebin支持的编程语言种类也非常齐全,还会自动判断语言类型并高亮显示代码内容。除了直接在网页內操作外,Pastebin 最大的特色是提供了许多相关工具和应用,包括 Windows、Mac、UNIX、Firefox、Chrome、Opera、iPhone/iPad、Android、WinPhone 以及 WebOS 等等,让使用者随时随地都能夠存取使用。但从安全分析和威胁情报的角度来看,Pastebin却是一个信息收集的宝库。特别是那些上传到pastebin却未明确设置为private(需要一个账户)的内容,将会被所有人公开查阅。
勒索软件检索C&C地址的一组地址的示例
由于可以访问用户的联系人列表,勒索软件具有发送文本消息的能力。在加密文件之前,它使用上面描述的传播技术向每个受害者的联系人发送一条消息。
接下来,勒索软件会遍历可访问存储上的文件(即除了系统文件所在位置外的所有设备存储部分) ,并对其中大部分进行加密(具体解释,请参阅下面的“文件加密机制”一节)。文件加密后,勒索软件会显示其勒索信息(英文),如下图示。
Android/Filecoder.C显示的勒索信息
不过,正如赎金说明中所述,如果受害者删除了这个应用程序,则勒索软件将无法解密文件。此外,根据我们的分析,勒索软件的代码中没有任何内容支持声称受影响的数据将在72小时后丢失。
如下图所示,请求的赎金部分是动态变化的。将要请求的比特币数量的第一部分是硬编码的,值为0.01,而剩余的六位数是恶意软件生成的用户ID。
这种独特的做法可能有助于识别收到的赎金金额,因为在Android勒索软件中,这通常是通过为每个加密设备生成一个单独的比特币钱包来实现的。根据最近每比特币的价格,赎金将落在94-188美元之间(假设唯一ID是随机生成的)。
恶意软件如何计算赎金
与典型的Android勒索软件不同,Android / Filecoder.C不会通过锁定屏幕来阻止设备的使用。
如下图所示,在撰写本文时,所提到的比特币地址可以动态改变,但在我们看到的所有样本中,地址都是不变的,没有记录任何交易。
攻击者使用的比特币地址
文件加密机制
勒索软件使用的是非对称和对称加密,首先,它会生成一个公钥和私钥对。此私钥使用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”且文件大小超过51200 KB 或者50 MB,勒索软件也不加密这些文件。另外小于150 KB的 “.jpeg”,“.jpg”和“.png”文件也不会成为加密对象。
文件类型列表包含一些与Android无关的目录,同时缺少一些典型的Android扩展,如.apk、.dex等。显然,该列表是从臭名昭着的WannaCry勒索软件中复制而来的。
文件加密后,文件扩展名“.seven”将附加到原始文件名后,如下图所示。
扩展名为“.seven”的加密文件
解密机制
用于解密加密文件的代码其实就存在于勒索软件中,如果受害者支付赎金,勒索软件操作员则可以通过下图中所示的网站进行验证,并发送私钥解密文件。
赎金支付验证网页
缓解措施
1.让你的设备及时更新,最好将它们设置为自动修补和更新,这样你能随时受到最新的保护。
2.如果可能,请使用Google Play或其他信誉良好的应用商店,下载应用。
3.在安装任何应用程序之前,请检查其评级和评论。多看看负面评价的消息,因为它们通常4.来自合法用户,而积极的反馈往往是由攻击者制定的。
5.留意应用程序请求的权限,如果它们与应用程序匹配的功能不符,请不要下载应用程序。
攻击指标(IoC)