一、背景

  近期,针对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”。

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

  1. 服务器中了勒索病毒怎么办,服务器中了勒索病毒怎么解决,服务器中了勒索病毒怎么处理

    服务器中了勒索病毒怎么办,服务器中了勒索病毒怎么解决,服务器中了勒索病毒怎么处理 服务器中了勒索病毒是一个严重的问题,因为它会影响到服务器上托管的网站和应用程序,并可能导致数据丢失或泄露.勒索病毒通常 ...

  2. 服务器被勒索病毒攻击怎么办,服务器中了勒索病毒怎么处理

    随着网络的广泛应用,服务器被勒索病毒攻击成为了一种常见的攻击方式.一旦服务器中了勒索病毒,将给网站和企业的安全造成严重的威胁,使相关信息被盗取或丢失.那么,一旦服务器被勒索病毒攻击,我们应该如何应对呢 ...

  3. 服务器中了devos勒索病毒怎么解决,服务器中勒索病毒怎么处理

    什么是devos勒索病毒: Devos勒索病毒是一种恶意软件,也被称为勒索软件或勒索病毒.它的主要攻击目标是Windows操作系统,一旦被感染,该病毒会加密计算机中的所有文件,包括文档.图片.音频.视 ...

  4. 企业用友nc软件的oracle数据库服务器中了locked1勒索病毒如何解密恢复

    Oracle数据库是很多大型集团企业办公使用的数据库之一,但是最近网络上新升级了一款勒索病毒-locked1勒索病毒.最近收到很多企业的求助,企业的用友NC软件对应的oracle数据库被locked1 ...

  5. 8月安全月报 | 勒索病毒规模攻击知名科技企业;苹果曝严重漏洞

    8月月报目录 国内安全热点盘点 国外安全热点盘点 随着数字化的深入普及,业务愈加开放互联.企业的关键数据.用户信息.基础设施.运营过程等均处于边界模糊且日益开放的环境中,涉及利益流和高附加值的业务面临 ...

  6. 服务器被勒索病毒攻击怎么办,如何进行勒索病毒解密与预防工作?

    在当今社会中服务器已经成为企业关键数据存储和传输的重要载体,同样也成为黑客攻击和勒索病毒的首要目标.一旦服务器被勒索病毒攻击,企业的正常运转与经济利益和核心数据都将受到威胁.下面将为大家介绍一下服务器 ...

  7. 【恢复案例】国内某公司服务器感染.[ideapad@privatemail.com].mkp新型勒索病毒

    目录 前言:案例简介 一.什么是.[ideapad@privatemail.com].mkp勒索病毒? 二.中了.[ideapad@privatemail.com 后缀勒索病毒文件怎么恢复? 三.恢复 ...

  8. 服务器中了勒索病毒怎么办?服务器中了勒索病毒怎么处理解决?

    服务器中了勒索病毒怎么办?服务器中了勒索病毒怎么处理解决? 前言:勒索病毒是一种新型的计算机病毒,并且它有多种后缀形式,像.mallox,.devos,.elbie,.eking,.eight,.86 ...

  9. “不给钱就删库”的勒索病毒, 程序员该如何防护?

    作者 | 阿木,王洪鹏,运营有个人公众号新新生活志.目前任职网易云计算技术部高级工程师,近3年云计算从业经验,爱读书.爱写作.爱技术. 责编 | 郭芮 来源 | CSDN(ID:CSDNnews) 近 ...

最新文章

  1. 周志华教授发表首届国际学习与推理联合大会IJCLR开场Keynote:探索从纯学习到学习+推理的AI...
  2. 如何在Visual Studio中直接使用示例代码浏览器搜索下载和管理代码示例
  3. 应用程序性能分析利器 —— Visual Studio Profiler
  4. java:Eclipse:Juno:设置workspace路径
  5. BootStrap笔记-表格方面的配置
  6. 软考网络工程师笔记-综合知识3
  7. ASP.NET验证控件祥解
  8. php提前终止,由于最大执行时间致命错误,PHP cron作业提前终止
  9. java监听器的原理与实现
  10. 【校招面试 之 C/C++】第33题 C++ 11新特性(四)之STL容器
  11. 在Ubuntu中部署并测试Fabric 1.0 Beta
  12. Java IO流复制文件拒绝访问的原因及解决方法
  13. 数字逻辑电路期末复习与常见问题
  14. ARCGIS拓扑检查步骤
  15. Windows 10 20H2 微软MSDN官方正式版英文ISO镜像下载
  16. js 打开选择本地文件对话框 及 获取选择文件中的内容
  17. 前端工程师应该懂的ps基本操作
  18. pyraformer: low-complexity pyramidal attention for long-range time series modeling and forecasting
  19. 小Q书桌支持WIN10完美运行 关于win10不兼容小q书桌
  20. Sql语句操作数据库(修改表,修改数据库)

热门文章

  1. 无线路由器及Wi-Fi组网
  2. 怎么把CAD图纸中导线断开并任意拉伸?
  3. win7 64rundll32.exe下载_重装系统是选择ghostwin7还是原版win7
  4. 如何解决Mac版office Excel表格打开卡顿的问题
  5. Android Q 来啦!
  6. 【流放之路-第二章】
  7. 【数据库Redis】Redis五种基本数据结构以及三种配置方式——默认配置、运行配置、配置文件启动
  8. 重要核心词汇(一)(2020.12.24)
  9. mysqldump使用介绍
  10. 无向图的桥+搜索优化--UESTC1956-北极的猴子