一步一步分析勒索软件Darkside(中)

admin 2021年10月25日07:49:34逆向工程评论83 views12858字阅读9分31秒阅读模式

一步一步分析勒索软件Darkside(中)

在本文中,我们继续从技术角度为读者深入分析勒索软件Darkside。

一步一步分析勒索软件Darkside(上)

一步一步分析勒索软件Darkside(中)
系统权限

该恶意二进制程序可以不带参数运行,或使用一个、两个或三个参数运行(这些情况将在后面介绍)。正如我们在下面看到的,它使用CommandLineToArgvW来获取指向命令行参数的指针(argv[0]是可执行文件名称)+ 参数数量:

一步一步分析勒索软件Darkside(中)

WTSQueryUserToken API用于获取会话1指定的登录用户的主访问令牌:

一步一步分析勒索软件Darkside(中)

OpenWindowStationW 用于打开“Winsta0”窗口站(交互式窗口站),0x40000(WRITE_DAC)用于修改对象安全描述符中的DACL:

一步一步分析勒索软件Darkside(中)

实际上,“Winsta0”窗口站的DACL(自由访问控制列表)是通过调用NtSetSecurityObject例程(相应的参数为0x4 = DACL_SECURITY_INFORMATION)来修改的:

一步一步分析勒索软件Darkside(中)

之后,该恶意软件将调用OpenDesktopW,用于打开“默认”桌面对象,参数为0x40081 = WRITE_DAC | DESKTOP_WRITEOBJECTS | DESKTOP_READOBJECTS,具体如下所示:

一步一步分析勒索软件Darkside(中)

通过调用带有0x4 = DACL_SECURITY_INFORMATION参数的NtSetSecurityObject函数来修改“默认”桌面对象的DACL:

一步一步分析勒索软件Darkside(中)

同时,该恶意软件创建了一个名为 "Global4787658f1cc4202b8a15e05dd0323fde "的互斥锁(该值在此操作之前已经计算好,代表恶意软件的自定义“哈希”值),这确保了每次只有一个勒索软件的实例在运行(如果互斥锁已经存在,那么恶意软件就会退出):

一步一步分析勒索软件Darkside(中)

一步一步分析勒索软件Darkside(中)

该勒索软件强制系统在进程运行时无法进入睡眠模式并且不关闭显示器,其中一个参数是0x80000001 = ES_CONTINUOUS | ES_SYSTEM_REQUIRED:

一步一步分析勒索软件Darkside(中)

该文件将权限改为SE_PRIVILEGE_ENABLED,以便通过调用ZwAdjustPrivilegesToken函数来启用该令牌的权限(注意TOKEN_PRIVILEGES结构体):

一步一步分析勒索软件Darkside(中)

CreateThread API被用来创建一个新的线程,如下图所述:

一步一步分析勒索软件Darkside(中)

使用GetLogicalDriveStringsW例程提取系统中有效驱动器清单:

一步一步分析勒索软件Darkside(中)

该勒索软件还会寻找DRIVE_REMOVABLE(0x2)和DRIVE_FIXED(0x3)驱动器,如图所示:

一步一步分析勒索软件Darkside(中)

回收站中的所有文件和目录都会被该进程清空。为此,它是通过FindFirstFileExW API调用完成遍历的:

一步一步分析勒索软件Darkside(中)

如下图所示,它将通过DeleteFileW函数删除文件,使用RemoveDirectoryW程序删除目录:

一步一步分析勒索软件Darkside(中)

该二进制程序然后使用COM对象和WMI命令来删除卷影副本。并且,它还调用CoCreateInstance函数来创建一个CLSID为{dc12a687-737f-11cf-884d-00aa004b2e24}的、IWbemLocator类的单例对象(具体请参考https://forum.powerbasic.com/forum/user-to-user-discussions/source-code/25222-wmi-wrapper-functions):

一步一步分析勒索软件Darkside(中)

此外,它还会创建一个新的IWbemContext接口,CLSID为{44aca674-e8fc-11d0-a07c-00c04fb68820}(详情请参考https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-wmi/3485541f-6950-4e6d-98cb-1ed4bb143441),该接口是通过CoCreateInstance函数创建的:

一步一步分析勒索软件Darkside(中)

使用IWbemLocator对象,该进程通过调用ConnectServer API连接到本地“ROOTCIMV2”命名空间,并检索指向IWbemServices对象的指针,具体如下所示:

一步一步分析勒索软件Darkside(中)

然后,它将调用CoSetProxyBlanket函数,如下图所述(0xA = RPC_C_AUTHN_WINNT - NTLMSSP,0x3 = RPC_C_AUTHN_LEVEL_CALL和0x3 = RPC_C_IMP_LEVEL_IMPERSONATE):

一步一步分析勒索软件Darkside(中)

接着,该进程执行以下SQL查询“SELECT * FROM Win32_ShadowCopy”,以获得所有卷影副本的枚举器,然后通过DeleteInstance方法删除每个卷影副本对象:

一步一步分析勒索软件Darkside(中)

然后,通过调用EnumServicesStatusExW函数(0x30 = SERVICE_WIN32, 0x3 = SERVICE_STATE_ALL)来获取所有服务及其状态:

一步一步分析勒索软件Darkside(中)

其中,每个服务名称都会与前面解密的列表进行比较:

一步一步分析勒索软件Darkside(中)

恶意软件通过调用OpenServiceW例程(0x10020 = DELETE | SERVICE_STOP)打开目标服务:

一步一步分析勒索软件Darkside(中)

然后,使用ControlService和DeleteService来中止并删除所有目标服务,如图所示:

一步一步分析勒索软件Darkside(中)

NtQuerySystemInformation API将返回一个SYSTEM_PROCESS_INFORMATION结构体数组(系统上运行的每个进程都有一个这样的数组,0x5 = SystemProcessInformation):

一步一步分析勒索软件Darkside(中)

每个进程的名称都会与之前解密的列表进行比较,如下图所示:

一步一步分析勒索软件Darkside(中)

对于每一个目标进程,该恶意软件都会打开相应的进程,然后终止该进程及其所有线程,具体如下所示:

一步一步分析勒索软件Darkside(中)

该二进制程序还会创建一个名为< RansomPseudoValue >.ico的文件,如下图所示:

一步一步分析勒索软件Darkside(中)

使用RegCreateKeyExW函数创建一个名为< RansomPseudoValue >的新注册表项,如图所示:

一步一步分析勒索软件Darkside(中)

之后,DefaultIcon子项被创建,它指定了新创建的ico文件的路径:

一步一步分析勒索软件Darkside(中)

该恶意软件调用SHChangeNotify例程,通知shell更新其图标缓存(0x08000000 = SHCNE_ASSOCCHANGED, 0x1000 = SHCNF_FLUSH):

一步一步分析勒索软件Darkside(中)

使用CreateFileW函数创建一个名为%PROGRAMDATA%< RansomPseudoValue >.BMP的新文件:

一步一步分析勒索软件Darkside(中)

然后,通过调用RegCreateKeyExW API打开一个注册表项,如下图所示:

一步一步分析勒索软件Darkside(中)

注册表项中的“WallPaper”值被改为新创建的BMP文件的位置:

一步一步分析勒索软件Darkside(中)

在所有这些活动之后,桌面已经被改为下面的样子:

一步一步分析勒索软件Darkside(中)

小结

在本文中,我们从技术角度为读者深入分析了勒索软件Darkside,由于篇幅过长,我们分为两篇文章进行发表,更多精彩内容,敬请期待!

参考及来源:https://cybergeeks.tech/a-step-by-step-analysis-of-a-new-version-of-darkside-ransomware/

一步一步分析勒索软件Darkside(中)

一步一步分析勒索软件Darkside(中)

本文始发于微信公众号(嘶吼专业版):一步一步分析勒索软件Darkside(中)

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年10月25日07:49:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  一步一步分析勒索软件Darkside(中) https://cn-sec.com/archives/431062.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: