<dl id="wqg5j"></dl>

    1. <menuitem id="wqg5j"></menuitem>

      <dl id="wqg5j"><font id="wqg5j"></font></dl>
    2. <dl id="wqg5j"><ins id="wqg5j"></ins></dl>
    3. <dl id="wqg5j"><ins id="wqg5j"><thead id="wqg5j"></thead></ins></dl>
      <li id="wqg5j"><ins id="wqg5j"></ins></li>
      安基网 首页 安全 安全学院 查看内容

      增加使用Delphi Packer躲避恶意软件分类

      2018-10-7 00:52| 投稿: xiaotiger |来自: 互联网


      免责声明£º本站系公益性非盈利IT技术普及网£¬本文由投稿者转载自互联网的公开文章£¬文末均已注明出处£¬其内容和?#35745;?#29256;权归原网站或作者所有£¬文中所述不代表本站观点£¬若有无意侵权或转载?#22351;?#20043;处请从网站右下角联系我们处理£¬谢谢合作£¡

      摘要: 前言¡°打包¡±或¡°加密¡±恶意程序的概念在希望绕过或破坏静态和动态分析工具分析的威胁参与者中广泛流行¡£逃避分类和检测是一种军备竞赛£¬其中新技术在野外交易和使用¡£例如£¬观察到许多加密服务由地下论?#31243;?#20379;£¬他们 ...

      前言

      ¡°打包¡±或¡°加密¡±恶意程序的概念在希望绕过或破坏静态和动态分析工具分析的威胁参与者中广泛流行¡£逃避分类和检测是一种军备竞赛£¬其中新技术在野外交易和使用¡£例如£¬观察到许多加密服务由地下论?#31243;?#20379;£¬他们声称通过反病毒技术£¬沙箱和其他端点解决方案制作任何恶意软件¡°FUD¡±或¡°完全无法检测¡±¡£然后还看到了对正常用户活动建模的更多努力£¬并将其作为指纹恶意软件分析环境的?#34892;?#23545;策¡£

      Delphi Code to the Rescue

      在检查的样本带有Delphi签名如下图所示£¬与使用IDR£¨Interactive Delphi Reconstructor£©分析时的Delphi代码构造一致¡£

      图1£º样本中的Delphi签名

      Delphi编程语言是编写利用Windows API函数的应用程序和程序的简便方法¡£事实?#24076;?#19968;些演员故意将默认库包含为妨碍静态分析的转移£¬并使应用程序在动态分析中¡°看起来合法¡±¡£如下图显示了一个讨论这种技术的演员的论?#31243;?#23376;¡£

      图2£º演员讨论技术的地下论?#31243;?#23376;

      分销活动

      可以观察到许多具?#32961;?#21516;主题的垃圾邮件活动会丢弃使用此打包程序打包的?#34892;?#20869;容¡£

      一个例子是平均快速传输垃圾邮件£¬它将文档文件作为附件£¬它利用恶意宏来?#22659;ýÓ行?#36127;载¡£垃圾邮件如下图所示¡£

      图3£º垃圾邮件示例1

      另一个例子是平均报价主题垃圾邮件£¬它将漏洞利用文档文件作为附件£¬利用公式编辑器漏洞来?#22659;ýÓ行?#36127;载£¨下图所示£©¡£

      图4£º垃圾邮件示例2

      示例中的文档从http://5.152.203.115/win32.exe获取了一个?#34892;?#36127;载¡£原来是Lokibot恶意软件¡£

      用户活动检查

      封隔器竭尽全力确保它不在分析环境中运行¡£普通用户活动涉及在一?#38382;?#38388;内旋转或更改的许多应用程序窗口¡£打包器的第一个变体使用GetForegroundWindow API在进一步执行之前检查更改窗口的用户活动至少三次¡£如果它没有看到窗户的变化£¬它会使自?#21512;?#20837;无限的睡眠¡£代码如下图所示¡£有趣的是£¬这种简单的技术可以检测到一些公开可用的沙箱¡£

      图5£º窗口更改检查

      为了确认用户活动£¬打包器的第二个变体使用GetCursorPos和Sleep API检查鼠标光标移动£¬而第三个变体使用GetLastInputInfo和GetTickCount API检查系统空闲状态¡£

      从PE资源中提取?#23548;视行?#36127;载

      原?#21152;行?#36127;载被拆分为多个二进制blob£¬并存储在资源目录内的各个位置£¬如下图所示¡£

      图6£º具有加密内容的位图资源

      为了定位和组装?#23548;视行?#36127;载字节£¬封装器代码首先直接从资源部分内的硬编码资源ID读取内容¡£它的前16个字节形成一个XOR密钥£¬用于使用滚动XOR解密其余字节¡£解密的字节?#23548;?#19978;表示内部数据结构£¬如下图所示£¬由打包器用于引用各种资源ID的加密和混淆缓冲区¡£

      图7?#21512;?#31034;加密文件信息的结构

      然后£¬打包器从加密缓冲区读取值£¬从dwStartResourceId开始到dwStartResourceId+dwNumberOfResources£¬并通过读取dwChunkSize的块将它们带到一个位置¡£?#22351;?#20934;备好最?#24080;?#25454;缓冲区£¬它?#31361;?#24320;始使用前面提到的相同滚动XOR算法和上述结构中的新密钥对其进行解密£¬从而生成核心?#34892;?#36127;载可执行文件¡£此脚本可用于静态提取?#23548;视行?#36127;载¡£

      真实的分类

      ?#22351;?#33021;够从样本集中提取的许多解压缩的二进制文件被识别为属于Lokibot恶意软件系列¡£还能够识别Pony£¬IRStealer£¬Nanocore£¬Netwire£¬Remcos和nJRAT恶意软件系列£¬以及硬币挖掘恶意软件系列?#21462;?#20351;用打包器的恶意软件系列的分布如下图所示¡£恶意软件系列的多样性意味着许多威胁参与者正在使用这种¡°加密¡±服务工具进?#32961;?#20316;£¬可能从开发人员本身购买¡£

      图8£º使用packer分发恶意软件系列

      结论

      打包者和加密器服务为威胁行为者提供了一种简单方便的选择£¬可以将尽可能长时间保?#32456;?#23454;?#34892;?#36733;荷的工作量外包出去并保持未分类¡£他们经常通过反分析技术找到绕过沙箱环境的好方法; 因此£¬在试图模拟真实用户行为的沙箱环境中引爆恶意软件样本是一种安全的选择¡£

      £¨编译£º曲速未来安全区£¬内容来自链得得内容开放平台¡°得得号?#20445;?#26412;文仅代表作者观点£¬不代表链得得官方立场£©


      Tag标签:

      小编推荐£º欲学习电脑技术¡¢系统维护¡¢网络管理¡¢编程开发和安全攻防等高端IT技术£¬请 点击这里 注册账号£¬公开课?#26723;?#20215;值万元IT培?#21040;?#31243;免费学£¬让您少走弯路¡¢事半功倍£¬好工作升职加薪£¡

      本文出自£ºhttps://www.toutiao.com/a6609159394368160269/

      免责声明£º本站系公益性非盈利IT技术普及网£¬本文由投稿者转载自互联网的公开文章£¬文末均已注明出处£¬其内容和?#35745;?#29256;权归原网站或作者所有£¬文中所述不代表本站观点£¬若有无意侵权或转载?#22351;?#20043;处请从网站右下角联系我们处理£¬谢谢合作£¡


      鲜花

      ?#24080;?/a>

      雷人

      路过

      鸡蛋

      相关阅读

      最新评论

       最新
      返回顶部
      Ðþ»úͼ
      <dl id="wqg5j"></dl>

        1. <menuitem id="wqg5j"></menuitem>

          <dl id="wqg5j"><font id="wqg5j"></font></dl>
        2. <dl id="wqg5j"><ins id="wqg5j"></ins></dl>
        3. <dl id="wqg5j"><ins id="wqg5j"><thead id="wqg5j"></thead></ins></dl>
          <li id="wqg5j"><ins id="wqg5j"></ins></li>
          <dl id="wqg5j"></dl>

            1. <menuitem id="wqg5j"></menuitem>

              <dl id="wqg5j"><font id="wqg5j"></font></dl>
            2. <dl id="wqg5j"><ins id="wqg5j"></ins></dl>
            3. <dl id="wqg5j"><ins id="wqg5j"><thead id="wqg5j"></thead></ins></dl>
              <li id="wqg5j"><ins id="wqg5j"></ins></li>