锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
解密商业间谍FIN7黑客组织使用的权限维持技术

作者: 佚名  日期:2017-05-06 19:13:10   来源: 本站整理

 该黑客组织发起的攻击事件的独特之处在于如何安装CARBANAK后门进行权限维持。Mandiant(美国麦迪安网络安全公司)分析发现该组织利用shim数据库在不同的系统环境下实现权限维持。shim将恶意的内存补丁注入到服务控制管理器(“services.exe”)进程中,然后产生一个CARBANAK后门进程。
Mandiant(美国麦迪安网络安全公司)分析指出,FIN7还使用这种技术来安装payment card采集工具用于权限维持。这是FIN7黑客组织以前的方法,为了注入恶意进程维持权限会先安装一个恶意的Windows服务。
Shim功能概要(解决古老的程序兼容问题)
引用Microsoft的官方说明,程序兼容Shim(application compatibility shim)是一个可以通过hook透明拦截API的小型函数库,可以篡改传输函数的参数值,可以处理一些自己的操作,也可以执行其他的操作(例如存储在当前系统中的其他位置的代码)。
现如今,Shim的存在主要解决的问题是处理一些古老应用程序的兼容性问题(译者注:部分古老的应用程序采用一些过时或已被弃用的API,都过Shim可以hook这些API替换为较流行的函数,进而解决程序的兼容性问题)。可以看到,Shim是一个合法的功能,出于一个善意的目的,去解决系统迭代产生的问题,由于技术的两面性,其功能有可能被滥用执行一些恶意的操作。Mandiant(美国麦迪安网络安全公司)的安全顾问曾经在BruCon和BlackHat讨论过Shim数据库被滥用可能产生的安全问题。
Shim数据库注册表
在当前操作系统上注册shim数据库有多种方式,其中一种方法就是使用系统内置的“sdbinst.exe”命令行工具。图1展示的就是使用“sdbinst.exe”命令行工具注册shim时创建的两个注册表键。

图1:Shim数据库注册表键
一旦shim数据库在系统上成功注册,shim数据库文件(后缀名为“.sdb”)将被复制到"C:\Windows\AppPatch\Custom"(32位shim)目录下(64位shim将被复制到"C:\Windows\AppPatch\Custom\Custom64"目录下)。
恶意Shim数据库安装
操作系统上安装和注册恶意shim数据库,FIN7使用自定义经过Base64编码的PowerShell脚本,该脚本的功能是运行“sdbinst.exe”命令行工具注册一个经过修改插入恶意代码的shim数据库,图2为经过还原的FIN7 PowerShell脚本中解码的部分截图,列出了执行的命令及参数。

图2:FIN7 PowerShell脚本安装自定义Shim数据库文件的部分截图
FIN7黑客组织使用“sdbinst.exe”命令行工具在目标操作系统上创建和注册不同命名规则的shim数据库文件。但有一个共同点是,都会创建一个后缀名为“.tmp”的Shim数据库文件(如图3所示)。

图3:恶意Shim数据库文件示例
当前的恶意shim数据库文件再操作系统上注册后,一个后缀名为“.sdb”,文件名为随机GUID值的shim数据库文件(恶意文件)将在其64位的默认目录("C:\Windows\AppPatch\Custom\Custom64")下创建,如图4所示。该shim数据库文件具有与最初在“C:\Windows\Temp”目录下创建的文件具有相同的MD5 hash值。

图4:注册后的shim数据库文件
除此之外,与之相关的注册表键也将在shim数据库注册表中创建。图5展示了与此shim安装相关的注册表键值关系。

图5:注册表键值关系
用于shim数据库注册表的数据库描述(DatabaseDescription)“Microsoft KB2832077”是很有意思的,因为这个KB编号不是一个Microsoft官方发布的更新补丁编号。如图6所示,该描述出现在受影响的操作系统中的Windows控制面板的已安装程序列表中。

图6:作为已安装应用程序的Shim数据库
恶意Shim数据库细节分析
经过研究分析,Mandiant(美国麦迪安网络安全公司)分析出FIN7黑客组织向全版本操作系统

(32位、64位)中的“services.exe”中注入自定义的Shim数据库(将原生Shim数据库文件植入CARBANAK后门payload)。当操作系统启动“services.exe”进程执行时,CARBANAK后门payload将会执行。shim数据库文件包含第一阶段加载的shellcode,其余的shellcode payload存储在注册表键中。图7列出了FIN7黑客组织利用的解析shim数据库文件。

图7:解析shim数据库
对于第一阶段加载的程序,FIN7黑客组织改写了services.exe进程中相对虚拟地址 (RVA)“0x0001407c”对应“ScRegisterTCPEndpoint” 函数的代码,执行带有恶意shellcode的shim数据库。新的“ScRegisterTCPEndpoint”函数(shellcode)包含了对“\REGISTRY\MACHINE\SOFTWARE\Microsoft\DRM”路径的引用。该路径下的内容为存贮在操作系统中其余的恶意shellcode和CARBANAK DLL(FIN7黑客组织使用的后门程序)payload。
图8展示了在恢复的shim数据库文件中解析补丁结构的部分截图

图8:从shim数据库文件中解析补丁结构
存储在注册表“HKLM\SOFTWARE\Microsoft\DRM”中的shellcode可以利用ntdll中的API函数“RtlDecompressBuffer”进行解压缩出payload。该程序在执行CARBANAK DLL(FIN7黑客组织使用的后门程序)payload的入口函数之前会休眠4分钟。一旦payload加载进内存,就会创建一个包含CARBANAK DLL名为“svchost.exe”的新进程。
总结一下完整的攻击过程
图9是一个完整的行为流程图,利用shim数据库向64位的“services.exe”进程中注入shellcode最终实现权限维持。

图9:Shim数据库代码注入过程
如何检测电脑是否被该恶意代码感染?
Mandiant(美国麦迪安网络安全公司)推荐了以下几种方式检测操作系统是否受到这种恶意Shim数据库的感染。
1.监控默认shim数据库下新创建的shim数据库文件:“C:\Windows\AppPatch\Custom”(32位),“C:\Windows\AppPatch\Custom\Custom64”(64位)
2.监控以下注册表键的创建或修改事件:“HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Custom”和“HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\InstalledSDB”
3.监控进程执行事件和恶意使用“sdbinst.exe”命令行工具执行的参数的异常行为。
 



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等