来源:https://blog.trendmicro.com/trendlabs-security-intelligence/from-fileless-techniques-to-using-steganography-examining-powloads-evolution/

技术点

Powload是通过垃圾邮件发送的恶意软件,2018年上半年宏观恶意软件的上升是由Powload引起的,利用各种技术提供有效载荷,例如信息窃取Emotet,Bebloh和Ursnif。虽然它使用垃圾邮件作为分发方法可能是不变的,但它采用了不同的方式来提供有效载荷,从绕过文件预览模式等缓解措施到使用无文件技术和劫持电子邮件帐户。

图1. Powload的典型执行流程(顶部,中心)及其使用隐写术的攻击链(底部)

Powload如何使用隐写术

在图像中隐藏代码,黑客组织使用隐写技术来检索他们的后门。漏洞利用工具包使用这种方式来隐藏恶意广告流量,而其他威胁使用这种方式来隐藏其命令和控制(C&C)通信。

在Powload的案例中,使用隐写术来检索包含恶意代码的图像。基于趋势科技分析的Powload变体的代码提取案例程序,Powload滥用公开可用的脚本(

Invoke-PSImage)来创建包含其恶意代码的图像。

垃圾邮件中的附件具有嵌入在文档中的恶意宏代码,该代码执行PowerShell脚本,该脚本下载在线托管的图像。然后处理下载的图像以获取隐藏在图像内的代码。

图2.显示PowerShell脚本下载图像并使用GetPixel获取隐藏代码的代码快照(突出显示)

图3.包含恶意代码的图像的屏幕截图

图4.发送给收件人的垃圾邮件示例,使用采购订单/发票 - (左)和参考资料/“招牌”相关的社交工程诱饵,敦促用户下载并点击附件

有针对性的广告系列?

在Powload嵌入式垃圾邮件中观察到的另一个趋势是其目标的特异性。通过挑选一个国家 - 使用特定地区的品牌和词汇 - 来发送垃圾邮件,电子邮件内容及其附件对于不知情的收件人来说更具说服力。

另一个缺点是自动和传统的沙盒解决方案,其区域设置未设置为垃圾邮件的目标国家/地区,将无法正确分析恶意软件。

区域检测方法与我们分析的样本不同。有些人使用PowerShell命令“Get-Culture”来获取计算机的区域设置。其他人在Excel中获取xlCountrySetting属性的值(它返回有关当前区域设置的信息)以确定受影响的计算机的位置。另一方面,一些样本通过访问URL(hxxp://ipinfo.io/country)来确定位置,这是一个返回IP地址的国家/地区的免费工具。

图5. PowerShell脚本的快照,用于检查计算机的区域设置是否设置为日本(突出显示)

图6.快照显示如果xlCountrySetting等于81(日本)或82(韩国),宏代码将如何仅执行其主例程

图7.连接到ipinfo [。] io的PowerShell命令

解决Powload的持久性

Powload的持续性是2018年最普遍的威胁之一,它突出了其最新技术的有效性 - 尽管相对较老。

我们希望Powload的开发人员能够继续为他们的恶意软件添加更多恶意程序,并考虑到它如何成为其他威胁的催化剂。

我们还希望Powload能够提供除信息窃取之外的有效负载。

IoC SHA-256

23e85ee19a2f46f4f462e72995b6a91616ea2f315908c1566c36cd0afc3aa200 - 被趋势科技检测为Trojan.X97M.DLOADR.JHKK
667e30b20e0986c7def59f66d871a579a32f150b61f64aefd431864b33dced12 - Trojan.X97M.DLOADR.JHKH
75a46329eed0e0a2948f4c5e35a3fda1e0f3a23d059ba019de33c654ff0e84fa - Trojan.X97M.POWLOAD.NSFGAIDM
81e10dc5acf7b150591d147c1101fed72d90648f1ec40a20798836d07258b804 - Trojan.X97M.POWLOAD.NSFGAIBQ

从无文件技术到使用隐写术:检查Powload的演变的更多相关文章

  1. 议题解析与复现--《Java内存攻击技术漫谈》(二)无文件落地Agent型内存马

    无文件落地Agent型内存马植入 可行性分析 使用jsp写入或者代码执行漏洞,如反序列化等,不需要上传agent Java 动态调试技术原理及实践 - 美团技术团队 (meituan.com) 首先, ...

  2. 网站性能优化之CSS无图片技术:三角形

    1.使用CSS无图片技术,可以总结得到以下三个优点: 减少请求资源的大小: 减少http的请求个数: 提高可维护性. 一.CSS无图片技术,微博中有哪些实际应用呢? 通过上面的展示,我们可以看到,无图 ...

  3. 使用python对py文件程序代码复用度检查

    #!/user/bin/env python # @Time :2018/6/5 14:58 # @Author :PGIDYSQ #@File :PyCheck.py from os.path im ...

  4. CAS无锁技术

    前言:关于同步,很多人都知道synchronized,Reentrantlock等加锁技术,这种方式也很好理解,是在线程访问的临界区资源上建立一个阻塞机制,需要线程等待 其它线程释放了锁,它才能运行. ...

  5. 探索CAS无锁技术

    前言:关于同步,很多人都知道synchronized,Reentrantlock等加锁技术,这种方式也很好理解,是在线程访问的临界区资源上建立一个阻塞机制,需要线程等待 其它线程释放了锁,它才能运行. ...

  6. 使用QFileInfo类获取文件信息(在NTFS文件系统上,出于性能考虑,文件的所有权和权限检查在默认情况下是被禁用的,通过qt_ntfs_permission_lookup开启和操作。absolutePath()必须查询文件系统。而path()函数,可以直接作用于文件名本身,所以,path() 函数的运行会更快)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Amnes1a/article/details/65444966QFileInfo类为我们提供了系统无 ...

  7. 渗透测试之无文件渗透简单使用-windows

    无文件渗透测试工作原理:无文件恶意程序最初是由卡巴斯基在2014年发现的,一直不算是什么主流的攻击方式,直到此次事件的发生.说起来无文件恶意程序并不会为了执行而将文件或文件夹复制到硬盘上,反而是将pa ...

  8. 利用WinRM实现内网无文件攻击反弹shell

    利用WinRM实现内网无文件攻击反弹shell 原文转自:https://www.freebuf.com/column/212749.html 前言 WinRM是Windows Remote Mana ...

  9. 使用QFileInfo类获取文件信息(文件的所有权和权限检查在默认情况下是被禁用的。要使能这个功能 extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;)

    QFileInfo类为我们提供了系统无关的文件信息,包括文件的名字和在文件系统中位置,文件的访问权限,是否是目录或符合链接,等等.并且,通过这个类,可以修改文件的大小和最后修改.读取时间.同时,QFi ...

随机推荐

  1. Struts2_配置文件

    1.结果跳转方式 <struts> <constant name="struts.devMode" value="true"></ ...

  2. jQuery使用(四):DOM操作之查找兄弟元素和父级元素

    查找兄弟元素 向下查找兄弟元素 next() nextAll() nextUntil() 向上查找兄弟元素 prev() prevAll() prevUntil() 查找所有兄弟元素 siblings ...

  3. bzoj千题计划319:bzoj2865: 字符串识别(后缀自动机 + 线段树)

    https://www.lydsy.com/JudgeOnline/problem.php?id=2865 同上一篇博客 就是卡卡空间,数组改成map #include<map> #inc ...

  4. Python复习笔记(八)迭代器和生成器和协程

    1. 迭代器 1.1 可迭代对象 判断xxx_obj是否可以迭代 在第1步成立的前提下,调用 iter 函数得到 xxx_obj 对象的 __iter__ 方法的返回值 __iter__ 方法的返回值 ...

  5. Vertica系列: Vertica DB连接负载均衡

    背景 谈到负载均衡, 对于数据库集群需要区分几个概念: 运算的负载均衡, Vertica 本身是 MPP 数据库, SQL 操作自动会利用多台机器来加快处理速度. 数据库连接的负载均衡, Vertic ...

  6. SQL Server进阶(十二)函数

    概述 函数有且只有一个输入参数和一个返回值,而存储过程没有这个限制: 返回表变量的函数可以当做VIEW或者临时表用在WHERE/HAVING/SELECT/JOIN语句中而存储过程不可以: 存储过程中 ...

  7. android的android.intent.action.MAIN

    当我们使用Android Studio创建一个工程并生成一个Activity时,经常可以在清单文件中看到如下的代码 android.intent.action.MAIN:决定应用的入口Activity ...

  8. 关于PHP建立数据库访问类的封装以及操作php单例模式连接数据库封装类

    建立数据库访问类的封装 <?php   class DBDA {     public $host = "localhost"; //服务器地址     public $ui ...

  9. oracle 存储过程(包)的写法和执行

    --in 代表输入参数,out 代表输出参数create or replace procedure myproc(id in int, v_message out varchar2) is--定义临时 ...

  10. plsql 根据sid连接oracle

    ORCL73 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.73)(PORT = 152 ...