一、概述
2019年5月,安天CERT监测到了多起利用钓鱼邮件传播Sodinokibi勒索软件的事件。Sodinokibi最初由Twitter账号为Cyber Security(@GrujaRS)的独立安全研究员发现[1],而Sodinokibi这个名称是根据首次出现样本的版本信息中的文件名命名的。这种命名方式并不规范①,但由于Sodinokibi这个名称已经被广泛使用了,因此安天CERT也沿用这一名称。Sodinokibi从2019年4月26日开始出现,其传播方式主要为钓鱼邮件、RDP暴力破解和漏洞利用。
注①:
著名安全研究员Peter Szor著的《计算机病毒防范艺术》中曾明确“要避免按照传统上或习惯上用包含恶意软件文件名的名字进行命名”。
安天CERT分析人员通过代码、C2、邮件、漏洞利用等关联分析认为该勒索软件团伙是一个不断套用、利用其他现有恶意工具作为攻击载体,传播勒索软件、挖矿木马、窃密程序,并在全球范围内实施普遍性、非针对性勒索、挖矿、窃密行为的具有一定规模的黑产组织。该组织和GandCrab组织有着千丝万缕的关系,分析人员猜测Sodinokibi和GandCrab运营成员有重合部分,在GandCrab组织宣布停止运营之后,部分GandCrab成员不愿收手,继续运营新修改的勒索软件Sodinokibi。
经验证,安天智甲终端防御系统(英文简称IEP,以下简称安天智甲)可实现对Sodinokibi的有效防御。
二 、样本分析
2.1 黑产组织伪装公安部发送钓鱼邮件传播Sodinokibi勒索软件
2019年5月,安天CERT监测到多起伪造“中华人民共和国公安部”发送钓鱼邮件传播Sodinokibi勒索软件的攻击事件。该钓鱼邮件伪造邮件主题为“警察議程”,邮件内容称用户必须在2019年5月23日下午3点向“警察局”报到,参与调查。邮件附件名为“關於你案件的文件.rar”。
图 2-1 黑产组织伪装公安部发送钓鱼邮件传播Sodinokibi勒索软件
黑产组织利用用户对邮件内容的恐惧和好奇心理,诱使用户下载附件并查看附件内容。附件解压后是两个伪装成doc文件的快捷方式,当用户查看伪造文件(实为快捷方式)时,便会运行快捷方式指向的勒索软件Sodinokibi,导致用户主机中文件被加密。勒索软件以隐藏的方式存储在该目录下,若用户的系统未设置成显示隐藏文件,则并不会发现勒索软件文件。另外,隐藏的文件为双扩展名,若用户系统设置为不显示扩展名,则不能发现该文件为EXE可执行文件。
图 2-2 伪装成doc文件的快捷方式可执行文件实际是勒索软件
图 2-3 被加密后的桌面
2.2 黑产组织伪装DHL快递公司发送钓鱼邮件传播Sodinokibi勒索软件
2019年6月初,安天CERT监测到多起通过伪造DHL邮件传播Sodinokibi勒索软件的钓鱼邮件攻击事件。DHL,即敦豪国际航空快递有限公司,是全球知名的邮递和物流集团Deutsche Post DHL旗下公司,业务遍布全球220个国家和地区。该钓鱼邮件主题为“您的包裹将无法按时交付”,邮件内容称因为受害者提供了不正确的海关申报数据,因此不能按时交付受害者的包裹,要求受害者点击邮件中的链接,下载海关文件查看并签署。
2019年5月,华为通过联邦快递(FedEx)发送的两份商业文件被拦截并送往美国孟菲斯的联邦快递公司。在业内人士对联邦快递发出质疑后,联邦快递在5月28日发布了道歉微博。5月22日,传出DHL停收华为货物的通知,5月23日,DHL否认停运华为货物[2]。在这个环境下,伪装成DHL的钓鱼邮件极有可能是在蹭该起事件的热点,利用该事件对大众造成的影响,诱导用户相信钓鱼邮件的真实性,从而增加用户点击链接的可能性。
图 2-4 伪造的DHL的钓鱼邮件
邮件正文中的链接是一个使用plip.io(短网址生成网站)生成的短网址,用户点击后会解析到另一个网址,之后会跳转到最终恶意网站下载勒索软件。邮件正文中虽提到存档中的密码为DHL,但该压缩包不需要输入密码“DHL”便可以解压。
图 2-5 点击邮件中链接后下载勒索文件
解压后的文件和伪造成“中华人民共和国公安部”的钓鱼邮件使用同样方式启动隐藏的可执行文件,如图所示,该快捷方式运行后指向一个隐藏的双扩展名的可执行文件,实际为Sodinokibi勒索软件。
图 2-6 压缩包中的快捷方式和勒索软件
安天CERT分析人员发现,2019年6月5日上午邮件正文中链接下载的文件为繁体文件名,其构造的快捷访问指向的文件和压缩包中的EXE文件名不相同,因此运行快捷方式并不能执行勒索软件。2019年6月5日下午,当分析人员再次分析邮件中链接时,发现已经替换了挂载的文件,新文件名为“customs declaration.pdf.exe”,快捷方式也被重新构造了。此次由于快捷方式中路径的问题,导致只有在Windows XP下运行快捷方式才可以启动勒索软件,而在Win 7和Win 10下并未启动成功。在分析人员测试的其他压缩包中,运行快捷方式均可以启动Sodinokibi勒索软件。从此次事件中可以看出,Sodinokibi运营者在不断完善其恶意代码。
三 、Sodinokibi勒索软件的主要传播方式
3.1 利用钓鱼邮件传播
Sodinokibi多数通过钓鱼邮件传播,通常会使用类似下述表格中所罗列的邮件主题和附件名称进行传播,还可以使用短网址进行跳转解析网址去下载勒索软件。
表 3-1 邮件传播的主题与附件名称示例
3.2 利用RDP(远程桌面协议)传播
攻击者会使用扫描工具扫描3389端口,对开启了3389端口的主机进行RDP暴力破解,破解成功后传送勒索软件Sodinokibi到主机上。
3.3 利用WebLogic漏洞传播
攻击者利用Oracle WebLogic Server中的一个反序列化漏洞(CVE-2019-2725)传播Sodinokibi,该漏洞允许攻击者获得对服务器的完全访问权限,攻击者在获取权限后植入勒索软件并运行。此漏洞于2019年4月26日被Oracle修复。
该漏洞影响Oracle WebLogic Server 10.3.6.0和12.1.3.0版本,该漏洞的产生是由于负责处理WebLogic Server的异步通信的wls9_async_response.war包在特定条件下会产生逻辑错误,导致无法正确处理SOAP请求,从而使服务器容易受到反序列化漏洞的影响。攻击者构造恶意SOAP消息附加在HTTP请求中,即可以触发该漏洞,从而在WebLogic服务器中远程执行恶意代码。
四 、Sodinokibi勒索软件详细分析
4.1 样本标签
表 4 1 Sodinokibi样本
4.2 勒索信息
Sodinokibi加密文件的后缀名是由数字和字母随机生成的,长度在5到10个字符之间。样本会使用后缀名来生成勒索信,其名称为[EXT]–readme.txt。在勒索信中,勒索者给用户提供了两种访问的网址来供用户选择。
图 4-1 勒索信
按照勒索信中的提示解密文件。该网站需要提交勒索信中的Key和加密后缀才可以访问。提交后进入到解密界面,勒索者向受害者勒索价值1300美元的比特币,若受害者不在7天内支付则赎金价格翻倍。为了向受害者展示其具有解密文件的能力,该页面还有一个试用解密功能,可以解密一个被加密的图片文件。该页面可以让受害者与攻击者“在线交流”。
图 4-2 倒计时和勒索金额
表 4-2 部分比特币地址
4.3 样本分析
样本运行流程如下图所示。
图 4-3 Sodinokibi样本运行流程图
4.3.1 利用多种技术手段规避反病毒程序检测
该勒索软件通过加解密及字符串拼接的方式规避反病毒程序检测。其中,1、2、3是通过加解密进行规避,第4点是通过字符串拼接的方式进行规避。
1. 样本运行后会分配内存,将PE文件解密到内存中,然后将其覆盖到源文件,再跳转到新的入口点,开始执行新的PE文件。
2. 根据硬编码在样本中的数据,解密出函数地址,避免使用的函数在导入表中出现被反病毒引擎检测。
图 4-4 获取程序运行所需函数
3. 使用RC4算法和Base64算法加密勒索信和操作中使用到的字符串信息。
使用RC4算法及密钥“FtY68agD4aS3aoCz9KEnmCKPnLpMpgtZ”解密出不加密名单、需要结束的进程名、域名、Base64编码的勒索信以及壁纸文字内容。
表 4-3 结束的进程名、数据回传域名和不加密的目录、后缀名、文件名
图 4-5 Base64编码的壁纸内容
样本硬编码了多个密钥,根据调用函数时设置的偏移获取不同的RC4密钥进行解密操作。互斥量及注册表等字符串都是使用了不同的RC4密钥进行解密获得的。
4. 样本硬编码了1079个域名以及多个字符用于拼接URL,防止被反病毒程序通过URL或域名进行检测。分析人员抽样访问了几个域名,发现都是真实存在的网站,这些网站只是被Sodinokibi运营者入侵并用于接收受害者数据。
图 4-6 1079个域名
4.3.2 创建互斥量,确保只有一个实例运行
该互斥量是硬编码在样本中的,使用RC4算法解密后获得。并非所有的Sodinokibi样本都会创建该互斥量(可能只是某一批创建同一互斥量),还有其他样本创建了互斥量Global\D382D713-AA87-457D-DDD3-C3DDD8DFBC96。
图 4-7 创建互斥量
4.3.3 检测系统语言版本,对指定的语言系统不进行加密
样本会获取系统键盘布局句柄,判断当前系统键盘和输入法(GetKeyboardLayoutList),若为表4-4中语言,则退出程序,不进行加密操作。
图 4-8 判断当前系统语言版本
表 4-4 进行语言判断的switch表
4.3.4 删除卷影副本,禁用自动修复功能,防止用户恢复文件
样本在获取系统信息后,会删除卷影副本,使用BCDEdit禁用系统的自动修复功能,防止用户通过卷影副本恢复文件。
图 4-9 删除卷影副本,禁用系统自动修复功能
4.3.5 使用Salsa20算法加密用户文件
1. 样本生成pk_key、sk_key和0_key之后,创建注册表项HKLM\SOFTWARE\recfg,如图4-11所示,将这些值存储在注册表中。在创建注册表项之前,样本会先进行查询,确认这些注册表项是否存在,再决定是否进行数据生成。pk_key将会在Salsa20算法进行密钥生成时使用。
图 4-10 pk_key、sk_key和0_key生成方式
图 4-11 保存后缀名和密钥信息
2. 样本会根据算法生成后缀名,后缀名由数字和字母组成,长度在5到10之间。后缀名同样会保存在如图4-11所示的注册表中。
图 4-12 后缀名生成
3. 根据磁盘序列号、CPU信息以及CRC32算法生成UID,后4个字节为磁盘序列号、前4个字节为CRC32算法、CPU信息以及CPU信息长度计算后的结果。该UID用于拼接解密网址。
图 4-13 UID
4. 拼接勒索信,将加密后缀名{EXT}、{UID}以及Base64编码的{KEY}替换成之前计算生成的数据。
5. 每个文件夹下写入勒索信和a73a6b0b.lock文件。
6. 遍历进程,根据硬编码的进程列表结束占用进程,防止由于文件占用而造成加密失败。
图 4-14 根据进程列表结束进程
7. 使用IOCP(Input/Output Completion Port,I/O完成端口)模型和Salsa20算法加密文件。根据硬编码的数据,对指定后缀名文件、指定文件以及目录不进行加密。
利用pk_key生成Salsa20密钥,利用图4-10所示的生成数据的第一种方式(*)生成8字节数据用来对密钥进行填充。每加密一个文件就生成一次Salsa20密钥。
图 4-15 Salsa20密钥生成
对文件内容加密完成后,样本会在文件末尾追加0xE0字节的数据,0x58的sk_key,0x58的0_key,0x16,0x8是通过图4-10中数据生成的第一种方式(*)生成的数据。其中0x8为Salsa20密钥的填充数据。0x4的CRC32(0x16字节数据)校验值,0x4的0字节。数据追加成功后,拼接具有新后缀的文件名,将“加密后的数据”和“要追加的数据”写入新文件中。
图 4-16 文件后追加的数据
图 4-17 加密数据并写入文件
4.3.6 替换操作系统的桌面壁纸
样本会绘制壁纸,并在临时文件夹中生成bmp格式的文件,设置注册表项HKCU\Control Panel\Desktop\Wallpaper,将bmp文件设置为壁纸。
图 4-18 替换的系统壁纸
图 4-19 替换系统壁纸
4.3.7 窃取用户系统信息回传至远程服务器
获取系统信息,获取顺序依次为用户名、主机名、工作组、语言、系统版本、磁盘信息、操作系统位数。通过HTTP协议将获取到的数据渗出到C2服务器。通过访问如下拼接的URL来传输数据。
表 4-5 URL拼接表
四、关联分析
从伪装成DHL的钓鱼邮件中可以提取到表5-1所示的信息。
表 5-1 钓鱼邮件信息
5.1 URL情报分析——Sodinokibi运营者传播窃密工具KPOT Stealer
通过安天威胁情报分析系统关联到webex.today域名。攻击者利用Powershell从该网站下载窃密木马家族KPOT Stealer。关联到的最新KPOT Stealer样本(MD5:70CE22275834C1E34E6EE52AC8E5DF31)会收集Cookie信息、浏览器登录凭证、进程信息、已安装软件信息、系统信息、屏幕截图以及受害者IP,并通过HTTP POST方式回传窃密信息。
KPOT Stealer是一种窃密恶意软件,主要从用户Web浏览器,即时消息,电子邮件,VPN,RDP,FTP,加密货币和游戏软件中窃取账户信息和其他数据。KPOT Stealer最早在2018年8月就出现在钓鱼邮件活动和漏洞利用工具包(Fallout和RIG)中了。
图 5-1 时间分析
webex.today域名被KPOT和Sodinokibi共同使用。KPOT接收信息的域名solar3080z.xyz创建时间为2019年4月27日,KPOT Stealer样本的时间戳为2019年5月16日,而webex.today域名的创建时间为2019年4月16日,可见该组织为了进行恶意活动而专门注册了新的域名,在近期同时进行勒索软件和窃密木马的传播。
综上所述,分析人员猜测Sodinokibi运营者购买了KPOT Stealer工具,同时传播窃密与勒索软件,通过窃密所得的数据来为勒索软件的传播作支撑。1079个域名、大量的收件人邮箱,Sodinokibi运营者掌握着多个数据资源,这些都表明了Sodinokibi背后是一个有规模的组织。
5.2 IP关联拓线——Sodinokibi运营者传播Linux挖矿、后门木马
在安天CERT监测到的多起安全事件中,部分Sodinokibi样本从188.166.74.*下载。通过对188.166.74.*进行关联,发现GandCrabV5.2也曾经使用这个IP作为下载地址,详见表5-2。
表 5-2 188.166.74.218关联信息
其中一个Sodinokibi样本存在两个下载地址,188.166.74.*和45.55.211.*。通过45.55.211.*关联到了GandCrab V4家族的另一个样本和Linux系统下一些后门挖矿木马。
表 5-3 关联到的样本信息
通过对样本的IP进行拓线,分析人员发现用来下载Sodinokibi的IP地址从2018年开始传播GandCrab、Linux挖矿,2019年开始传播Linux后门、Sodinokibi勒索软件。
5.3 多方位对比——Sodinokibi和GandCrab异曲同工
GandCrab运营者在2019年6月1日宣布停止更新GandCrab,声称正在关闭GandCrab RaaS[3],但是网络上还有其他的类GandCrab RaaS服务,如Jokeroo RaaS。 Jokeroo RaaS在早些时候伪造成GandCrab RaaS提供服务,不久之后就改名为Jokeroo RaaS。虽然Jokersoo声称自己是新的勒索软件,与GandCrab没有关系,但是其提供的勒索软件与GandCrab高度相似,甚至某一批勒索软件运行后生成的勒索信和壁纸依旧是GandCrabV5.3开头。Jokeroo RaaS是如何获取到GandCrab的暂不做追踪,但是从该RaaS存在的事情上可以发现,虽然GandCrab RaaS停止运营,但是以GandCrab为基底的变种依然会活跃在网络上。
本事件中的勒索软件使用的钓鱼邮件与2019年初GandCrab使用的钓鱼邮件内容相似,同时分析人员在对勒索软件Sodinokibi进行分析的过程中,发现其与GandCrab有多处相似。
注:
表5-4中关于GandCrab和Sodinokibi的对比中,并非使用单一版本的GandCrab进行对比。
表 5-4 GandCrab和Sodinokibi代码信息对比
GandCrab和Sodinokibi在进行传播时都曾使用压缩包中包含快捷方式和exe文件的方式,如表5-5所示。这二者的快捷方式中都包含主机名win-0ev5o0is9i7,如表5-6所示,说明这二者的快捷方式是在同一台主机上生成的。
表 5-5 勒索软件传播时压缩包中内容
同一机器产出,快捷方式生成时间分别为5月6日和6月5日
表 5-6 GandCrab和Sodinokibi快捷方式对比
5.4 邮件广撒网——非针对性攻击的黑产行动
从对大量Sodinokibi的钓鱼邮件分析来看,邮件内容针对不同的国家使用不同的语言,而且使用了多种邮件主题,利用大量垃圾邮件、社工方式来大范围撒网。其发件人邮箱大部分为*@gmx.com(全球著名免费邮箱网站),有的邮箱是真实存在的,有的则是伪造的。从收件人邮箱以及其他国家发生的类似事件来看,Sodinokibi并未针对某一地区或公司亦或是某一领域,它所操作的,是以获利为目的的大规模的勒索行动。
图 5-2 部分收件人邮箱
图 5-3 构造的多种钓鱼邮件
图 5-4 整体关联图
5.5 攻击时间分析
2019年4月30日,思科Talos情报小组披露了通过WebLogic Server漏洞传播的Sodinokibi勒索软件,并提到攻击者在部署Sodinokibi的同时也会部署GandCrab V5.2[4]。分析人员对该报告中提到的样本的时间戳以及2019年5月份通过钓鱼邮件传播的部分Sodinokibi样本的时间戳进行对比,发现这些样本的时间戳大都在2018年期间。这说明这场勒索活动至少在2018年就开始策划了。
表 5-7 不同事件中Sodinokibi样本事件戳
5.6 小结
通过对网络IoC部分进行关联,发现该组织不断使用开源程序、购买出售程序(KPOT窃密木马、Linux挖矿、Linux后门),不断套用、复用其他现有工具、开源程序作为攻击载体进行牟利。通过和GandCrab的代码、手法、IP等进行对比分析发现Sodinokibi和GandCrab有着千丝万缕的联系,通过大范围撒网的钓鱼邮件来看,该组织在全球范围实施勒索行为,不具备针对性攻击操作。
从本文5.2小节中可知,188.166.74.*下挂载Sodinokibi和GandCrab V5.2,45.55.211.*下挂载GandCrab V4、Sodinokibi、Linux后门和挖矿木马,这些样本的编译时间从2018年到2019年都有。思科Talos情报小组在《Sodinokibi ransomware exploits WebLogic Server vulnerability》也提到了攻击者在部署Sodinokibi的同时也部署了GandCrab V5.2[4]。
通过GandCrab团队的声明,可以得知即使受害者购买了密钥,被加密的数据也无法恢复,因此排除Sodinokibi可能是GandCrab服务购买者的限时变现操作。
综上所述,猜测Sodinokibi和GandCrab运营成员有重合部分,部分GandCrab成员不愿收手,继续运营新修改的勒索软件Sodinokibi。
图 5 5 GandCrab团队的声明(英文版)
六、总结
从针对Sodinokibi勒索软件的整体分析关联来看,该勒索组织具有一定规模,且组内成员分工明确,从投放载体到勒索收益形成一条完整的黑色产业链。从大量样本的时间戳来看,这场勒索行动至少在2018年就开始策划了。该组织不仅投放勒索软件、而且还夹带着窃密木马、挖矿木马,即包含勒索、窃取、挖矿等多种恶意行为。Sodinokibi并未针对某一地区或公司亦或是某一领域,它所操作的,是以获利为目的的大规模的勒索行动。Sodinokibi组织和GandCrab组织有着密切的关联,分析人员推测Sodinokibi的运营团队可能包含GandCrab组织的部分成员,现版本的Sodinokibi更像是GandCrab的新变种,Sodinokibi的运营团队更像是GandCrab组织的接班人。
大部分勒索软件仍然是使用钓鱼邮件和相应漏洞进行传播。因此,安天CERT建议用户打好相应漏洞补丁,不要随意打开邮件附件,并使用防护软件如安天智甲进行有效防护。
附录一:IoCs
附录二:参考资料
[1] Cyber Security@GrujaRs
https://twitter.com/grujars/status/1122031871033057280?lang=en
[2] 如何看待网传联邦快递私自转运华为邮件,华为将审查与联邦快递合作关系一事?
https://www.zhihu.com/question/325807372
[3] GandCrab勒索病毒停止更新:运营商称赚够了退休的钱
https://www.freebuf.com/column/205082.html
[4] Sodinokibi ransomware exploits WebLogic Server vulnerability
https://blog.talosintelligence.com/2019/04/sodinokibi-ransomware-exploits-weblogic.html
*本文作者:antiylab,转载请注明来自FreeBuf.COM