勒索病毒冲着企业服务器来了 CSO们怕了么?

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

 一、背景

  近期,针对Windows服务器攻击的勒索病毒持续传播,尤其是2018年年初国内数家机构服务器被GlobeImpsoter勒索病毒攻击,导致业务大面积瘫痪,这引起了大家对服务器安全的关注。

  根据腾讯御见威胁情报中心监控,每周都有企业Windows服务器被勒索病毒攻击,服务器上的数据文件被加密,严重影响公司业务运转。对此,腾讯御见威胁情报中心对服务器勒索攻击进行了深入分析。

  针对服务器攻击的勒索病毒主要有两大家族,分别是GlobeImposter和Crysis。GlobeImposter是个勒索病毒的一个老家族,初期主要通过钓鱼邮件针对个人用户攻击,现在为了获得更高收益,已将重点攻击目标转向企业服务器。Crysis家族最早可以追溯到16年3月,2017年开始持续传播,一直针对Windows服务器进行攻击。


  二、攻击影响

  1.地域分布

  统计受勒索病毒攻击的企业地理分布,发现江苏、广东最多,其次是山东、北京。


  2.行业分布

  通过对受攻击的企业用户进行分析,遭到服务器勒索攻击的行业主要为传统行业,分别为政府机关(26%)、工业企业(15%)和医疗机构(13%)。相对于信息安全建设比较成熟的互联网公司而言,这些偏传统的机构在信息安全上往往投入较少,安全运维缺陷较多。例如服务器没有及时修复高危漏洞,没有良好的安全规范等。


  3.传播趋势


  服务器勒索病毒一直呈持续增长的传播阶段,Crysis家族和Globelmposter传播均有上涨。尤其是进入了4月份之后,两家族传播均有明显增长迹象。腾讯御见威胁情报中心统计发现,自4月1日到4月18日,企业服务器被这两个勒索病毒攻击的事件增长了34%。

  一旦受害企业服务器数据被加密,业务将无法正常运转,会更倾向于交付赎金。攻击企业比攻击普通网民的收益要高很多,因此,未来较长的时间里,针对企业服务器的勒索病毒传播会是黑客攻击的重点。

  三、GlobeImposter样本分析

  1.勒索病毒整体加密过程

  勒索病毒使用了RSA+AES加密方式,加密过程中涉及两对RSA密钥(分别为黑客公私钥和用户公私钥,分别用hacker_rsa_xxx和user_rsa_xxx表示这两对密钥)和一对AES密钥。黑客RSA密钥用于加密用户RSA密钥,用户RSA密钥用于加密AES密钥,AES密钥用于加密文件内容。

  具体的加密流程:

  勒索病毒首先解码出一个内置的RSA公钥(hacker_rsa_pub),同时对每个受害用户,使用RSA生成公私钥(user_rsa_pub和user_rsa_pri),其中生成的密钥信息使用内置的RSA公钥(hacker_rsa_Public)进行加密后,做为用户ID。

  在遍历系统文件,对符合加密要求的文件进行加密。对每个文件,通过CoCreateGuid生成一个唯一标识符,并由该唯一标识符最终生成AES密钥(记为file_aes_key),对文件进行加密。在加密文件的过程中,该唯一标识符会通过RSA公钥(user_rsa_pub)加密后保存到文件中。

  黑客在收到赎金、用户ID和文件后,通过自己的私钥(hacker_rsa_pri)解密用户ID,可以得到user_rsa_pri,使用user_rsa_pri解密文件,就可以得到文件的file_aes_key,进而可以通过AES算法解密出原始文件。


  部分勒索病毒的加解密流程

  下面对样本中使用的一些技术手段进行分析。

  2.加密字符解密算法

  软件中的字符及内置的公钥等信息都以加密的方式保存,加密使用的为AES算法,函数00409392为解密算法函数,函数包含5个参数,每个参数的含义如下:

  参数1:返回值,解密后的内容

  参数2:返回值,解密后的内容的长度

  参数3:解密key

  参数4:解密key的长度

  参数5:文件句柄,如果文件句柄不为空,就将解密后的内容写入到该文件句柄对应的文件


  对aes_crypt函数,使用mbedtls_aes_crypt_ecb进行AES解密操作。


  通过IDA的上下文交叉引用,看到共有七处调用了MyAESDecode函数进行解密内容,这七处调用功能解释如下:


  3.解码排除文件夹与排除后缀名

  恶意样本在勒索过程中会绕过包含某些特殊字符的文件夹,这些特殊的字符解码算法如下:

  1)使用“CC0BE4F069F6AE6FFFCCBFD92CE736EE21792B858339D632F577268C2CDD384A”作为AESkey,解密00401158处硬编码的0x210大小的数据内容,解密后的内容为硬编码的RSA公钥(hacker_rsa_pub)。


  2)对上面解密出来的RSA公钥(hacker_rsa_pub)计算SHA256,计算sha256的代码片段如下:


  3)使用sha256的值做为AESkey,再次利用解密算法,解密出字符串列表。


  解密出的字符串列表:


  4)用户ID的生成

  勒索病毒运行后,会在用户机器上生成名为”60091F9FF415A9DD5FDFF0D880249E69F883A75D0242CE20D6E6A90CC5AEAFDE”的文件,此文件名为内置的公钥的SHA256哈希值。该文件中保存了用户ID信息。

  用户ID的生成算法为:勒索病毒首先通过RSA-1024生成用户公私钥(user_rsa_pub和user_rsa_pri),将生成的密钥中的rsa.P与rsa.Q拼接上“.TRUE.HOWBACKFILE”等内容后,使用内置的公钥(hacker_rsa_pub)加密,结果作为用户ID,同时,生成的公钥(user_rsa_pub)会做为后面遍历文件系统时的加密key使用。

  可见,该用户ID也经过了RSA公钥(hacker_rsa_pub)的加密,在没有私钥(hacker_rsa_pri)的情况下,很难还原出RSA-1024的密钥内容。


  5)文件加密过程

  通过GetLogicalDrives得到盘符信息,对每个盘符开启一个线程进行加密,每个线程函数的参数包含三部分内容:当前盘符路径,加密key(user_rsa_pub),用户ID。


  判断文件路径是不是属于排除路径:


  函数sub_4094D9会实现对文件的加密,对文件的加密使用的是AES加密算法。下面将详细介绍该函数的过程。

  AES加密的KEY通过CoCreateGuid生成,CoCreateGuid函数功能为生成全局唯一标识符,勒索病毒使用该全局唯一标识符做为secret_key,secret_key用来生成AES的加密key.。


  AES加密时的IV参数由当前文件的大小和文件路径共同生成。IV参数将MD(filesize||filename)后取前16位。


  将IV和secretkey使用MBEDTLS_MD_SHA256计算8192次HASH,并将HASH结果做为AES加密的KEY


  随后,使用内置的RSA公钥将guid进行加密,并将加密过的guid及用户ID写入到当前文件中。


  最后,使用AES算法将文件内容加密。


  AES加密算法过程如下:


  6)自启动

  勒索病毒通过在RunOnce注册表下新建名为BrowserUpdateCheck的键值,达到开机自启动的目的。部分代码如下


  7)自删除

  通过调用CMD/cdel来实现自删除,部分代码如下


  8)删除远程桌面连接信息及事件日志

  解密bat文件后释放到临时目录下,并加载运行


  解密出来的bat文件内容如下


  Bat会删除远程桌面连接信息文件default.rdp,并通过wevtutil.execl命令删除日志信息

  四、Crysis样本分析

  1.病毒通过自建IAT的方式,运行后首先解密需要使用的动态库,API字串,随后通过LoadLibraryA,GetProcAddress循环遍历来动态获取解析使用的API,获取函数地址后填充IAT表,随后病毒所有的API调用均使用:

  MOVEAX,[IAT-FUN-ADDR]

  jmp004066c0

  004066c0:CallEAX

  的方式来间接调用,这样做也导致了静态分析情况下导入表中无法看到病毒调用相关敏感Api。





  2.运行后的病毒首先会关闭以下大量服务,来确保待加密文件不被占用,加密文件时不会产生异常。


  3.同时结束下列进程,主要为数据库相关进程,其目的也是为了防止加密文件被占用,从关闭的进程列表也可看出,病毒主要攻击使用sqlserver,mysql数据库的服务器。


  4.病毒不仅会加密磁盘本地文件,还会尝试遍历网络共享目录下的文件来进行加密。


  5.通过在内存中解密出加密文件类型后缀可知,病毒加密了以下340余种文件类型。


  病毒会加密的340种文件类型如下:

  6.为了不影响系统正常运行,病毒加密文件的时候,还会避开以下系统文件不加密,避免因为加密系统文件后产生系统异常。


  7.加密文件完成后的病毒会运行释放在自身目录下Info.exe文件来显示勒索信息,病毒作者要求受害者24小时内联系邮箱badfile@qq.com,进一步通过支付比特币的方式缴纳解密文件赎金。并且病毒作者声称解密文件所需支付的比特币数量取决于受害者写邮件的速度,从而威胁受害者尽快与病毒作者联系。


  五、服务器勒索病毒的传播渠道

  针对服务器攻击的勒索病毒,黑客首先会利用弱口令漏洞、系统漏洞等方式获得远程登录用户名和密码,之后通过RDP(远程桌面协议)远程登录服务器来传播勒索病毒。黑客一旦能够成功登录服务器,则可以在服务器上为所欲为,这也就导致了即使服务器上安装了安全软件也无济于事。

  以某公司的服务器为例,通过系统安全日志可以看到,该服务器平均每隔几秒就会被尝试登录一次


  通过详细信息可以看到,最终被俄罗斯的一个IP成功远程登录


  同时,黑客成功入侵了一台服务器后,往往会进一步进行内网渗透,攻陷很多的服务器,有些黑客甚至还会留下远控木马,最终服务器沦为肉鸡。


  六、解决方案

  通过对多起服务器勒索攻击的分析,发现该类勒索攻击大多通过弱口令爆破后,利用RDP协议远程登录目标服务器运行勒索病毒。这也就导致了,及时服务器上安装了安全软件也会被黑客手动退出,进而对勒索病毒毫无防御能力。


原文发布时间为:2018-06-2

本文来自云栖社区合作伙伴“IT168”,了解相关信息可以关注“IT168”。

相关文章
|
15天前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
40 2
|
21天前
|
弹性计算 安全 测试技术
阿里云国际服务器与游戏出海业务结合,九河云助推企业快速运营
阿里云国际服务器与游戏出海业务结合,九河云助推企业快速运营
|
2月前
|
存储 弹性计算 SDN
企业级 ECS 集群的构建需要综合考虑多个因素,通过不断的比较和对比不同的方案,选择最适合企业自身需求和发展的架构。
【9月更文挑战第5天】在数字化商业环境中,构建企业级ECS(弹性计算服务)集群对提升业务稳定性、扩展性和性能至关重要。本文将比较传统物理服务器与ECS架构,分析云服务商选择(如AWS和阿里云)、实例配置(CPU/内存)、网络架构(SDN vs 传统)及存储方案(本地存储 vs 云存储),帮助企业根据自身需求选出最优方案,实现高效稳定的ECS集群部署。
67 18
|
3月前
|
运维 数据安全/隐私保护 数据库管理
企业实战项目之服务器用户权限集中管理
企业实战项目之服务器用户权限集中管理
|
4月前
|
弹性计算 运维 Kubernetes
阿里云ECS与混合云策略的结合,不仅为企业搭建了一个既灵活又稳定的IT基础架构,还为业务的快速发展与创新提供了坚实的技术支撑。
【7月更文挑战第3天】阿里云ECS在混合云中扮演关键角色,提供弹性计算资源和多样计费模式,确保业务连续性与灵活性。通过VPC互通、应用迁移、数据同步服务,如VPC对等连接、DTS,实现云上云下资源的高效整合。结合安全解决方案,保证在混合环境下的合规与安全。阿里云ECS助力企业数字化转型,应对市场变化。
125 1
|
6月前
|
弹性计算 运维 监控
【阿里云弹性计算】从物理机到阿里云ECS:企业IT架构转型升级之路
【5月更文挑战第29天】随着云计算兴起,企业正转向阿里云ECS以应对传统物理机的挑战。本文详述了这一转型过程,包括现状评估、迁移计划制定、测试环境搭建、应用数据迁移及后期监控优化。转型升级可提升资源利用率,降低运维成本,加快业务响应,并增强数据安全。示例代码展示了使用阿里云Python SDK创建ECS实例的过程。
199 1
|
6月前
|
存储 监控 安全
云服务器如何最好安全,企业如何保障云机主的安全使用
云服务器作为数据存储和处理的中心,承载着大量敏感信息。一旦云服务器受到攻击或数据泄露,将可能导致严重的经济损失、声誉损害甚至法律纠纷。因此,加强云服务器安全防护至关重要。
|
5月前
|
存储 弹性计算 缓存
云服务器 ECS产品使用问题之企业上云选择云服务器时,需要考虑哪些东西
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
6月前
|
存储 监控 安全
如何利用服务器为个人和企业提供定制服务?
【5月更文挑战第4天】如何利用服务器为个人和企业提供定制服务?
76 11
|
6月前
|
Java 应用服务中间件 PHP
企业Java应用服务器之JBoss7.1与Apahce整合
企业Java应用服务器之JBoss7.1与Apahce整合