在过去的几个月中,针对目标的勒索软件攻击已大大增加。我们讨论了针对性勒索软件攻击的增长模式,其中主要感染阶段通常是一种信息窃取类恶意软件,用于获取凭据/访问权限,以确定目标是否对勒索软件攻击有价值。我们描述了攻击者的侦察阶段,该攻击者控制受感染的主机或有效帐户以访问远程服务。他们中的许多人正在使用类似的手动操作方法,正如我们在较早的博客中所强调的那样。
我们认为,确实存在从事件响应案例和先前的攻击中学习的机会,因此,为什么将此博客称为“战from中的故事”。本文描述了有针对性的勒索软件攻击的真实案例。在他们最近的事件响应之一中,Northwave遇到了一个相对较新的勒索软件家族,称为LockBit,该勒索软件执行有针对性的攻击。该勒索软件于2019年底首次发现,名称为.abcd病毒,与早期攻击相比,它的修订版而不是演进版。就像本博客系列中的先前文章一样,我们描述了攻击和恢复的不同阶段,包括对勒索软件及其背后的攻击者的全面分析。
LockBit勒索病毒覆盖范围
由于该勒索软件相对较新且针对性强,因此目前在全球范围内受到限制。
图1:LockBit勒索病毒覆盖范围图
初始访问
与所有勒索病毒软件情况一样,攻击者必须以某种方式获得对网络的初始访问权限。在此特定情况下,攻击者对包含过时VPN服务的Web服务器进行了蛮力攻击。根据我们的研究,蛮力破解了“管理员”帐户的密码花了几天时间。使用属于管理员组的该帐户,攻击者立即获得了谚语“通往王国的钥匙”,并获得了进行成功攻击所需的所有必要权限。不幸的是,这不是唯一的情况。在可能的情况下,面向外部的系统应始终启用多因素身份验证。此外,安全组织在访问系统时应具有最小特权策略。有针对性的勒索软件攻击者正在成功地综合利用“人为因素”。它不再是导致公司完全锁定的典型“最终用户点击恶意链接”。有针对性的勒索软件攻击中的人为因素要深得多。攻击者成功利用了整个组织的安全策略和配置错误中的弱点;从最终用户到域管理员。
渗透网络
为了渗透到网络,攻击者必须采取几个步骤来确保勒索软件攻击成功。攻击者始终希望感染尽可能多的系统,以有效地终止业务流程并敦促受害者支付赎金。
凭证和特权
如前所述,攻击者使用蛮力攻击成功猜出了管理员帐户的密码。这样,攻击者立即拥有成功部署勒索软件的所有必要特权。在其他情况下,攻击者经常使用已知的利用后框架来提升特权,横向移动并对其目标执行任何其他操作。由于这些框架中有相当多的现成可用,因此我们通常将其称为攻击工具的“ GitHub化”。但是,在这种情况下,攻击者实际上可以跳过此步骤,并立即继续进行网络侦查和勒索软件的部署,因为高特权帐户已经受到威胁。
横向运动
通过管理员级别的帐户,攻击者使用SMB进行网络侦察,从而获得可访问主机的概述。随后,攻击者使用管理员或LocalSystem帐户使用内部Microsoft远程访问服务器(RAS)访问这些系统。LocalSystem帐户是内置的Windows帐户。它是Windows本地实例上最权威的帐户(比任何管理员帐户更有效)。使用这些帐户,攻击者拥有这些系统,并且可以做他们想要的任何事情,包括关闭所有端点安全产品。有趣的是,勒索软件的横向移动和部署都是完全自动化的。
部署勒索软件
这个特定案例是经典的即兴游戏。攻击者使用蛮力管理员帐户访问初始系统后,攻击者几乎立即登录并部署了勒索软件。对于攻击者来说,这是一个相对简单的过程,因为勒索软件会自行传播。勒索软件在一个主机上的部署远程指示网络中的其他主机运行以下PowerShell命令:
此命令从一个可能已被破坏的网站检索一个.png文件。.png文件有两种版本,一种用于.NET版本4,一种用于版本3.5。PowerShell命令通过获取运行当前进程的公共语言运行库的版本号来检查所需的版本。如果以“ V4”开头,则将下载版本4的.png文件;否则,它将通过以下网址下载3.5版的.png:
https:// espet [。] se / images / rs35.png
https:// espet [。] se / images / rs40.png
在这种情况下,有趣的是每个不同的主机都会下载勒索软件本身。因此,攻击者只需要使用具有足够特权的帐户访问一个系统,即可自动使网络中的所有其他主机下载并执行它。
恶意软件分析
为了进行分析,我们将使用在调查中找到的文件,该文件的详细信息是:
文档名称:rs35.png
SHA1488e532e55100da68eaeee30ba342cc05810e296
SHA256ca57455fd148754bf443a2c8b06dc2a295f014b071e3990dd99916250d21bc75
尺寸546.00 KB
PDBc:\ users \ user \ work \ code \ dotnet \ regedit-64 \ regedit-64 \ obj \ release \ rs35.pdb
guid84e7065-65fe-4bae-a122-f967584e31db
技术分析
我们在调查中发现的文件是一个重命名为.png文件的dropper。第一次打开.png文件时,我们希望看到一个真实的图像文件,里面可能包含一些隐写术,但是我们看到的是可移植可执行文件的标头,因此这次没有隐写术图片。PE是在Microsoft Visual C#v7.0 / Basic .NET,.NET可执行文件-> Microsoft中编译的。
从熵的角度看,它也很整洁,图中没有显示任何杂散部分或大尖峰。此行为表明恶意软件的编写者未使用混淆。
该文件是.NET启动器。检查代码中的Main()函数表明,包含特别长的AES加密base64字符串(在名为“ exeBuffer”的变量中)的数组携带了实际勒索软件的可执行文件。
使用密钥ENCRYPTION29942解密此加密的字符串。长ExeBuffer字符串的前32个字节在加密方案中用作盐,其中ENCRYPTION29942是密码短语。
值得注意的是,该脚本检查其指定主机上是否存在vbc.exe。通常,此二进制文件是Microsoft的经过数字签名的可执行文件。但是,在这种情况下,恶意软件将其用于进程挖空。
通过静态分析文件,我们可以发现以下用途:
NtUnmapViewOfSection
LockBit使用此API来取消映射执行中的原始代码
NtWriteVirtualMemory
恶意软件通过NtWriteVirtualMemory将注入的图像的基地址写入PEB。
VirtualAllocEx
在注入恶意代码之前分配空间
VBC实用程序是Windows的可视化基本编译器,Lockbit勒索病毒使用它直接在执行过程中即时编译和执行代码。如果系统上不存在vbc实用程序,则该恶意软件会从以前所见的相同恶意URL下载原始vbc.exe文件。执行vbc.exe后,恶意软件将内存中的对象替换为用于部署勒索软件的代码(从exeBuffer推导出)。
有效负载分析
对exeBuffer的分析显示了几个吸引人的元素。它开始于通过{3E5FC7F9-9A51-4367-9063-A120244FBEC7}的UAC旁路, 利用ICMLuaUtil提升的COM Interface-Object ,如在其他勒索软件系列中一样,如Trickbot和MedusaLocker。
随后,脚本使用UAC绕过的另一个变体。CLSID {D2E7041B-2927-42fb-8E9F-7CE93B6DC937}引用ColorDataProxy COM对象,该对象在hfiref0x的UACME#43 被分类为相同的Bypass方法。
为了更隐秘,LockBit勒索软件动态加载其模块,而不是将其硬编码在IAT中,并使用LoadLibraryA。采用此方法可避免由静态引擎进行检测。
在执行过程中,恶意软件使用“ OpenSCManagerA”功能访问服务管理器并保存句柄。它会针对错误ERROR_ACCESS_DENIED,使用“ GetLastError”功能检查是否使上一个错误失败。
访问服务管理器后,Lockbit勒索病毒将创建一个线程来管理服务,终止进程并删除影子卷以及回收站的内容。
在此线程中,恶意软件具有服务名称,它将尝试对硬编码进行管理,以使其变得更加模糊:
Lockbit勒索病毒尝试停止的服务列表为:
sqlserv
sqlagent
sqladhlp
Culserver
RTVscan (Symantec Antivirus Program)
sqlbrowser
SQLADHLP
QBIDPService (QuickBooksbyIntuit.)
QuickBoooks.FCS (QuickBooksbyIntuit.)
QBCFMonitorService (QuickBooksbyIntuit.)
sqlwriter
msmdsrv (Microsoft SQL Server Analysis or Microsoft SQL Server)
tomcat6 (Apache Tomcat)
zhundongfangyu (this belongs to the 360 security product from Qihoo company)
vmware-usbarbitator64
vmware-converter
dbsrv12 (Creates, modifies, and deletes SQL Anywhere services.)
dbeng8 (Sybase’s Adaptive Server Anywhere version 8 database program)
wrapper (Java Service?)
如果恶意软件通过查询其状态找到了其中一项服务,并使用“ QueryServiceStatusEx”功能,则LockBit将在正确且安全的情况下获取所有依赖的模块,并使用“ ControlService”功能停止该服务。
Lockbit勒索病毒将准备Unicode混淆字符串,其中包含删除影子卷并在系统下次启动时禁用保护的命令。
该恶意软件在rdata部分具有这些字符串,如在所有恶意软件系列中所普遍观察到的那样,并且在其自己的代码中如先前的屏幕快照所示。该恶意软件使用两个字符串。
在执行过程中,Lockbit勒索病毒将创建系统中正在运行的进程的快照,并使用功能“ OpenProcess”搜索某些进程是否在此列表中,如果存在该进程,则将其完成。 “ TerminateProcess”功能。
Lockbit勒索病毒将检查的进程列表为:
通过“ PathRemoveExtensionA”功能并从列表中删除.exe扩展名,通过技巧来执行此“进程检查功能”。使用这种技术,检查过程变得更加混乱。
在我们的分析中,我们看到了勒索软件如何动态使用功能“ IsWow64Process”检查受害操作系统是否正在运行x64系统,然后使用功能“ Wow64DisableWow64FsRedirection”和“ Wow64RevertWow64FsResdirection”。如果恶意软件可以访问这些功能,它将在下一次启动时使用第一个破坏所有影子卷和操作系统的保护,然后使用其他功能恢复重定向。如果无法获得这些功能,LockBit将直接通过函数“ ShellExecuteA”或函数“ CreateProcessA”删除卷影。
回收站中的文件删除是通过“ SHEmptyRecycleBinW”功能执行的。
对样本的静态分析显示,Lockbit勒索病毒将检查计算机,以查看其是否支持带有“ cpuid”操作码的处理器中的AES指令。
勒索软件进行的另一项检查是是否存在SS2指令集:
完成此过程后,恶意软件将尝试使用“ ShellExecuteExW”下一条命令删除自身:
赎金记录
赎金记录相当紧凑,因为作者无需使用任何混淆或加密就可以直接在代码中对内容进行硬编码。包含勒索票据的文本文件在加密后在每个目录中创建,并称为 Restore-My-Files.txt。
存储在注册表项中的受害者信息
执行中的LockBit将在受感染的系统中创建两个密钥,其值为full和public。
这些密钥在以下配置单元 HKEY_CURRENT_USER \ SOFTWARE \ LockBit中创建。这些密钥中存储的数据属于受感染的受害者,以便将来能够识别它们。
最后,在完成加密后,桌面墙纸将变为一条消息,提示用户Lockbit勒索病毒对主机进行了加密。
Lockbit勒索病毒 Filemarker
我们分析的某些勒索软件在所有加密文件中共享一个公共文件标记,以验证来源。可以在控制面板中使用此数字标记,以验证这是对文件进行加密的勒索软件。
这是LockBit的第一个版本的示例,其中文件标记使用的是:
C8 41 D0 BE AB 3F 0D 59 7B BF CF 40 C8 81 63 CD
如果我们比较两个加密文件,则可以发现两个标记文件中文件标记的匹配方式:
中小企业传播
通过分析我们环境中的Lockbit勒索病毒,我们确定了在同一局域网中本地传播的可能性。分析网络流量后,我们发现使用多个ARP请求来查找同一网段中的其他主机。
如果这些ARP请求最终找到了一个存活的主机,则Lockbit勒索病毒将启动合法的SMB连接,以便能够在其他计算机中部署勒索软件。
如果SMB连接成功,则Lockbit勒索病毒将执行以下PowerShell命令来下载.NET启动器,它将在新系统中解压缩并执行LockBit:
Lockbit勒索病毒软件演进:
Lockbit勒索病毒是新出现的,但是我们注意到作者增加了一些新功能并多次改进了勒索软件。这意味着背后有一个活跃的团体,该团体可能正在收到有关其行动的反馈。这是开发周期的一个例子。提取此图,静态分析所有内部函数并将它们在样本中进行比较:
在此调查中,我们发现了不同的LockBit版本,它们之间具有不同的功能:
Lockbit勒索病毒版本1
与我们在野外发现的其他版本相比,该第一个版本包含独特功能。
这些功能是:
IPLO(IPLogger地理定位服务)
通过COM接口和HIVE当前版本运行的持久性
加密文件中使用的其他扩展名
创建用于调试目的的调试文件
加密过程中的CPU使用率很高
在其他勒索软件系列中发现了MUTEX的重用
IPLO.RU地理定位服务:
我们发现有趣的项目之一是LockBit通过URL IPLO.RU尝试识别受害者的地理位置,并在该服务中请求一个静态TXT文件。
与该页面的通信是通过HTTPS进行的;我们拦截了流量以获取远程服务器的回复:
静态分析Lockbit勒索病毒中的代码,我们发现此URL在执行过程中不会动态解析。它以二进制形式硬编码:
通过当前版本运行和COM任务计划创建持久性:
有很多方法可以在系统中获得持久性。LockBit的第一个版本使用通过COM接口的任务计划来获得持久性。
Lockbit勒索病毒还通过使用Windows注册表配置单元使用重新启动持久性方法:
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run
如果系统关闭,则使用CurrentVersion \ Run配置单元可在重新启动后继续运行。
LockBit实际上使用两种持久性方法,即CLSID和CurrentVersion \ Run
.abcd扩展名:
Lockbit勒索病毒的第一个版本在每次加密文件时都使用.abcd扩展名。这是此版本与找到的其他版本之间的唯一区别。
使用的赎金票据:
第一个版本中的LockBit使用带有不同消息的不同赎金票据:
在执行中创建的调试文件:
LockBit的第一个版本在加密过程中会跳过一些文件,每次跳过一个文件时,它将创建带有日志信息的resultlog6.reg:
高CPU使用率:
我们分析了加密的性能,并指出了LockBit在加密过程中如何大量使用CPU:
使用的PhobosImposter静态MUTEX:
在2019年10月,社区看到phobosimposter如何在其执行中使用互斥锁XO1XADpO01,并且在第一个版本中LockBit使用了相同的互斥锁。我们分析了这两个示例的基本代码,但没有发现任何代码重叠,而是一个随便使用的随机字符串。
这是用于创建互斥锁的函数:
Lockbit勒索病毒版本2
此Lockbit勒索病毒版本发布了以下更改:
附加扩展名已更改
调试功能已删除
一些样品随UPX或Delphi打包机一起枯萎
一个样本经过数字签名
附加扩展名已更改:
对于此版本,Lockbit勒索病毒开始在所有加密文件中添加扩展名.lockbit作为文件标记:
调试日志功能已删除:
在这个新版本中,LockBit删除了在加密过程中存储所有跳过文件的功能。
提供不同保护措施的样品:
在此版本中,我们发现了UPX和其他自定义包装器中包装的LockBit示例,为示例添加了某些保护:
执行期间广泛使用PEB
IsDebuggerPresent,OutputDebugString和GetLastError的使用
所有这些保护都通过在交货时使用包装机来启用。
互斥量变化:
LockBit的早期版本在所有加密中均使用静态互斥锁,但在此发行版中,它更改为每次感染的动态值。
经过数字签名的样本:
对于我们为LockBit找到的所有版本,只有该版本具有经过数字签名的示例:
Lockbit勒索病毒版本3
勒索软件注释已更改:
对于此版本,Lockbit勒索病毒改编了勒索软件注释并使用了新的注释:
启用Lockbit勒索病毒调试:
在完成所有搜索过程之后,我们发现了一些启用了某种状态功能的Lockbit勒索病毒示例,在加密过程中显示了一个进度窗口:
此模式仅适用于某些样本编辑,并且根据所分析的LockBit样本,状态屏幕有所不同:
地下传说
当我们研究LockBit的地下社区时,我们在几个受欢迎的地下论坛上发现了一个帖子。名为Lockbi或LockBit的威胁参与者正在将LockBit作为“定制”勒索软件提供,以作为有限合伙人/会员的服务。我们怀疑LockBit勒索软件更“被定制”,不仅来自其自身的公告,而且随后我们还没有看到勒索软件中存在任何会员标识符,这通常是一个参与者试图扩大规模并为更多数量服务的明显标志。会员。
该广告提供了与我们在野外以及从我们的分析中看到的LockBit行为相匹配的一般描述。与许多其他网络犯罪服务一样,Lockbit勒索病毒不允许在任何CIS国家使用该软件。如果威胁行为者居住在其中一个国家中,通常这样做是为了避免受到起诉。
我们还注意到有关多线程的内容。勒索软件系列通常被编程为运行多线程,以确保快速而全面的加密并防止加密过程卡在大文件上。但是,LockBit被专门宣传为单线程,并且威胁者Lockbi确保在其加密功能上不会出现速度问题。
在广告中列出了勒索软件的功能之一是本地子网扫描程序和SMB传播方法,我们可以根据分析确定这一点。
看起来LockBit显然怀着决心做生意加入了地下世界。将保证金存入托管账户是一种证明卖方在财务上进行了投资而不是骗取潜在合作伙伴的方式。如果卖方不遵守协议,卖方将损失其订金。我们的遥测表明,今天的LockBit活动仍然很有限,但是我们可以肯定会在不久的将来看到更多定制的LockBit攻击。
恢复
回到现实情况,最近没有脱机备份。因此,由于备份服务器(包括备份)也已加密,并且无法进行全面重建,因此,除了支付赎金外,没有其他方法可以成功且迅速地进行恢复。
McAfee和Northwave的观点都是不应该支付赎金。支付不仅支持犯罪商业模式,而且正如我们在研究中所显示的,它还为其他形式的犯罪提供了资金,例如在线毒品交易。
在这种情况下,受害者选择支付赎金。恢复的第一步是按照赎金说明(Restore-my-files.txt)中的说明与黑客联系,如下所示。
有趣的是,与早期已知的Lockbit勒索病毒(或.abcd病毒)案例不同,在这种情况下,攻击者通过赎金说明中提到的电子邮件地址与攻击者进行了联系,在这种情况下,攻击者开发了可通过.onion地址访问的在线“帮助台” 。作为黑客,他们很有帮助,他们甚至提供了有关如何使用Tor浏览器访问此.onion地址的清晰说明。尽管赎金说明声称已获得私人数据,但Northwave并未在受感染的系统上找到任何证据。
上图显示了攻击者用来与受害者通信的帮助台。它提供了用于试用的功能,其中可以“出于保修目的”解密两个文件,这表明攻击者确实具有用于恢复数据的正确密钥。为此,测试来自不同(关键)服务器的文件始终至关重要,因为每个服务器的密钥可能不同。与攻击者进行谈判时,请始终尝试获取此知识,因为它也与您的恢复策略有关。如果只有一把钥匙,那么您就可以在整个网络中使用一种工具。但是,如果加密的服务器使用不同的密钥,恢复将变得越来越困难。
成功解密了两个文件(来自不同的服务器)后,与攻击者的聊天开始了。他们首先要求提供网络域名(以识别正确的受害者),然后攻击者解决了勒索金额。通常,攻击者会对受害者进行适当的研究,并相应地调整赎金数额,在这里也是如此。因此,就赎金的数额进行谈判并没有证明是有用的:
“我们知道你是谁,所以不要玩谈判游戏。”
黑客天堂的麻烦
随后,将比特币交易转到提供的地址,帮助台页面将在六次确认后自动更新,并显示解密器的下载链接。
“经过6笔交易确认后,几个小时后将自动建立解密器。不用担心,一旦它建成,您将立即获得它。”
由于现在除了等待和希望解密器外,别无他法,因此尝试通过询问攻击者的方法来从攻击者那里获取更多信息。请在下面查看此对话的摘录。
当然,“弱密码”完全符合前面提到的蛮力攻击。此外,此对话表明此攻击背后有一个较大的组,不同参与者之间的角色是分开的。该服务台似乎只是一个动作脚本,而是一个实际的服务台。
在等待了几个小时并进行了六次确认后,解密工具应该已经可以下载了。但是,这是进展有所不同的地方。似乎存在一些技术问题,导致解密程序无法自动生成,对此服务台表示歉意。不幸的是,这种情况持续了两个可疑的日子,有多个借口,然后攻击者通过聊天将链接发送到解密器。看来它们在解决技术问题上是无效的;因此他们选择通过SendSpace发送。
下载后,即可开始恢复阶段。在此阶段,所有服务器都在隔离的网络中解密,扫描和清理(或重建)。随后,在实施了适当的技术和安全措施之后,每个主机都加入了一个新的干净网络。
结论
正如我们在前两篇文章中所强调的那样,在过去的几个月中,针对目标的勒索软件攻击已大大增加。正如我们所强调的那样,它们中的许多都使用了相似的,相当手动的攻击模式。在本文中,我们提供了一个名为Lockbit勒索病毒的相对较新的勒索软件系列的深入视图。基于Northwave遇到的一个现实案例,我们描述了一种典型的勒索软件攻击,包括攻击者的作案手法,恢复过程,在地下宣传勒索软件的见解以及勒索软件本身的完整技术故障。此外,在我们的分析过程中,我们能够获得Lockbit勒索病毒软件的多个样本,利用它们可以提供广泛的IOC列表。