攻打医院服务器的SamSam勒索木马分析

近日一款名为SamSam的勒索木马在国外爆发。该木马利用医院系统的服务器漏洞实施入侵,再进行加密勒索钱财。由于医院网络信息安全水平普遍薄弱,SamSam成功感染了国外多家医院,而其他行业也存在相当大的风险。

此前,勒索软件主要以个人电脑和手机用户为攻击目标,SamSam的出现,意味着勒索软件攻击企业服务器,甚至攻击整个企业网络已经成为此类网络犯罪产业新的攻击方向。为此360安全中心QVM团队对SamSam样本进行了深入分析,并提醒广大企业加强网络安全防护,注意及时打补丁修复服务器端的漏洞。

简介:

这是一款.Net平台的勒索程序,有SamSa, Samas, samsam等多个变种,根据shodan的结果,中美可能是受到影响最大的地区。

这里分析的是由Cisco Talos观察到的利用JBoss漏洞传播的主要以医院为目标的样本。尽管国内尚未出现SamSam感染迹象,但根据360网站安全检测平台的扫描结果,国内大量网站存在该漏洞并迟迟不修复,因此也很容易遭到勒索木马的入侵。

样本概况:

勒索软件运行后的提示:

可以对344种类型的文件进行加密,其中覆盖常见的文本文件、网页文件、代码文件、数据库文件:

工作流程:

样本细节:

从资源释放del.exe和selfdel.exe用于后续删除操作,一秒延迟后开始遍历各个驱动器的文件,寻找后缀名为jin,xls,xlsx,pdf,doc等文件(见概况中的支持类型)

删除卷影副本,防止用户恢复

判断找到文件的权限,若有进程占用则会调用taskkill杀掉进程。

判断文件所在磁盘空间是否足够,开始准备加密文件,加密前若发现同目录下有对应的.encrtptedRSA文件则先删掉再加密,加密后还会将提示串(见概况中的相关提示)写入到文件对应路径下的helpfile.txt里:

加密部分

后缀:.encryptedRSA(加密时的临时文件)

后缀:.manifest.xml(未使用)

RSA公钥 Publickey:

<RSAKeyValue><Modulus>iZSePJbXO0X051HqrxFws0kSfVH058n/jZloDWhWLY43W43HlvaJQnIyc76jrQxsDwYoNcs

/uu55B5wTjNoIcpjxMZ8fFVqxuF+PoCEcu4nsT89/ejHYE4eGf5ihvTDsEjOEZkj9ZxbWY2vOzdptgAgk9u

oSrWmQQYDRHnhWD5+mfvNwhcLw4XwSi3EMZ0anXD5DpMCwv6OEsexG2OGAtyGgyG9gYX79yAe

QrfuZ23IfB8wORF/9au8gEG7aXpMXAmJglAmORmJux9y2BjHOMJBdto7CGJI7jj1vKqNiOxYpYYUmtC

4Uw91pvIQV7fWwiDrewssxciwW8bVyZALy3Q==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";

生成字节数分别为64,16,16的三个随机数作为signatureKey、key和iv:

先向.encryptedRSA文件头填充大小为0xc00的0,块大小为0x2800,并关闭原始文件相关进程

使用 Rijndael

算法配合之前生成的key和iv,将文件本身的内容加密并写入对应的.encrtptedRSA文件:

将之前生成的signatureKey作为sha256的key来算文件的sha256

再讲所有用到的key RSA2048

拼接所有内容写入encrtptedRSA文件头:

待encryptedRSA都准备完毕后删除原来的文件:

总结:

该样本使用RSA 2048来保存加密文件时的key,作者可解析头部"<MtAeSKeYForFile>", sn, "<Key>", str, "</Key>", sn, "<IV>", str2, "</IV>", sn, "<Value>", str3, "</Value>", sn, "<EncryptedKey>", str4, "</EncryptedKey>", sn, "<OriginalFileLength>", info.Length, "</OriginalFileLength>", sn, "</MtAeSKeYForFile>"的串来得到加密后的数据,再使用私钥解密各个字段得到的加密文件时使用到的key,iv等信息,进而还原加密后的文件。

针对SamSam等勒索木马,360安全卫士在不断更新强化防护能力,可以在木马运行前将其拦截,全方位保护用户的数据和财产安全。

攻打医院服务器的SamSam勒索木马分析的更多相关文章

  1. Petya勒索木马

    同事小学妹神好奇心,在陌生群里下载了个软件,接下来就是自动重启无法开机. 找我一看,凭我专业帮妹纸装系统多年的经验,起初也不觉得有啥困难,兼容模式下重启,接下来出现这个: 按下any key后: 试了 ...

  2. 木马分析出现python语言,360的安全人员不禁感叹还有这种操作?

    几年前,敲诈者木马还是一个默默无闻的木马种类.然而,由于其极强的破坏力和直接且丰厚的财富回报,敲诈者木马这几年已经一跃成为曝光率最高的木马类型——甚至超越了盗号木马.远控木马.网购木马这传统三强.与此 ...

  3. (翻译)FakeKaKao木马分析

    这是暑假时看到的一篇病毒分析文章,觉得里面有很多东西值得学习,刚好这几天有空就将它翻译了出来.有不对的地方请大家指正! FakeKaKao木马分析 Virus Bulletin是一个关于流氓软件与垃圾 ...

  4. nginx高性能WEB服务器系列之八--nginx日志分析与切割

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  5. 服务器负载过高问题分析-不是cpu高负载也不是IO负载如何处理(阿里 几乎是必考题)

    关于top命令 经常问load average 参考:load average 定义(网易面试) jvm dump的使用 参考:Jvm dump jstack jmap jstat 介绍与使用(内存与 ...

  6. 网络安全意识有多重要?SamSam勒索软件敲诈了近600万美元

    近年来,对于网络犯罪分子来说,勒索软件已成为数百万美元的黑市业务,SamSam就是一个很好的例子. 中国信息安全新研究显示,自2015年12月以来,SamSam勒索软件从受害者手中敲诈了近600万美元 ...

  7. locky勒索样本分析

    前段时间收到locky样本,分析之后遂做一个分析. 样本如下所示,一般locky勒索的先决条件是一个js的脚本,脚本经过了复杂的混淆,主要用于下载该样本文件并运行,. 解密 样本本身进行了保护,通过i ...

  8. 记一次Linux服务器上查杀木马经历

    开篇前言 Linux服务器一直给我们的印象是安全.稳定.可靠,性能卓越.由于一来Linux本身的安全机制,Linux上的病毒.木马较少,二则由于宣称Linux是最安全的操作系统,导致很多人对Linux ...

  9. Ztorg木马分析: 从Android root木马演变到短信吸血鬼

    本月第二次,Google 从官方应用商店 Google Play 中移除了伪装成合法程序的恶意应用.被移除的应用都属于名叫 Ztorg 的 Android 恶意程序家族.目前为止,发现的几十个新的Zt ...

随机推荐

  1. day31 logging 日志模块

    # logging 日志模块 ****** # 记录用户行为或者代码执行过程 # print 来回注释比较麻烦的 # logging # 我能够“一键”控制 # 排错的时候需要打印很多细节来帮助我排错 ...

  2. Domino 邮箱服务器接收不存在的邮箱账号的邮件

    背景: domino邮箱服务器需要设置多个邮件账号邮件转到同一个邮箱账号. 比如:现在没有了 abc@mail.com 的邮箱账号.但是当用户发邮件给它的时候就发给Support@mail.com 原 ...

  3. AtCoder Grand Contest 011

    AtCoder Grand Contest 011 upd:这篇咕了好久,前面几题是三周以前写的... AtCoder Grand Contest 011 A - Airport Bus 翻译 有\( ...

  4. BZOJ3730 震波 | 动态点分治

    #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> # ...

  5. suoi46 最大和和 (线段树)

    <Segment tree Beats!>,反正我不会 #include<bits/stdc++.h> #define pa pair<int,int> #defi ...

  6. suoi08 一收一行破 (tarjanLca+树状数组)

    用一个差分树状数组维护一下每个深度的和,然后每次拿着路径端点和lca加一加减一减就行了 #include<bits/stdc++.h> #define pa pair<int,int ...

  7. SQL中on条件与where条件的区别

    数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户.  在使用left jion时,on和where条件的区别如下:   1.on条件是在生成临时表时使用 ...

  8. Azure KeyVault设置策略和自动化添加secrets键值对

    一. 关于Azure Key Vault Azure 密钥保管库可帮助保护云应用程序和服务使用的加密密钥和机密. 借助 Key Vault,可使用密钥来加密密钥和机密(例如身份验证密钥.存储帐户密钥. ...

  9. 使用C#实现实体类和XML相互转换

    一.实体类转换成XML 将实体类转换成XML需要使用XmlSerializer类的Serialize方法,将实体类序列化 public static string XmlSerialize<T& ...

  10. (转)如何修改maven的默认jdk版本

    背景:在maven的配置文件中配置编译的jdk插件,就不需要在eclipse中进行重新的指定了. 问题 1.创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.7或者1.8版本. 2. ...