Filless PowerShell恶意软件使用DNS作为隐蔽通信频道
有针对性的攻击正在远离传统恶意软件到涉及滥用标准系统工具和协议的隐秘技术,其中一些并不总是监控。
最新例子是被称为Dnsmessenger的攻击,由思科系统的研究人员分析了“Talos团队”。该攻击从通过电子邮件网络钓鱼活动分发的恶意Microsoft Word文档开始。
打开后,文件伪装成由McAfee保障的“受保护的文件”,这是由英特尔安全的防病毒品牌所拥有的。要求用户单击“启用内容”按钮才能查看文档的内容,但实际执行嵌入在内部的恶意脚本。
该脚本是用PowerShell编写的,该脚本在Windows中构建了一个强大的脚本语言,允许系统管理任务的自动化。有趣的是,直到这一点,一切都在内存中完成,而不将任何恶意文件写入磁盘。
第二阶段还在PowerShell中完成,涉及检查环境的几个参数,如登录用户的权限和系统上安装的PowerShell版本。此信息用于确定如何进入下一步以及如何实现持久性。
根据阶段 - 两个检查结果,另一个PowerShell脚本将存储在NTFS文件系统中的备用数据流(广告)中,也将直接存储在注册表中。第三阶段PowerShell脚本包含一个额外的混淆脚本,该脚本在域名系统(DNS)上建立相当复杂的双向通信通道。
DNS通常用于查找与域名相关联的Internet协议地址,但它还支持不同类型的记录。特别允许DNS服务器将未格式化的文本附加到响应中的TXT记录。
“使用DNS TXT查询和响应执行与此恶意软件相关联的所有C2 [命令和控制]通信,”Cisco Talos研究人员在博客文章中表示。
此隐蔽通信通道允许攻击者发送要在系统上执行的命令并接收这些命令的输出。
组织通常会达到很大的长度来过滤进出网络的HTTP和HTTPS流量,但其中许多监控DNS。攻击者知道这一点,并封装了DNS内的其他协议以保持未被发现。
使用像PowerShell和CODE中直接在内存中执行的代码的系统工具也越来越常见的技术,使得检测到妥协更难。
“这个恶意软件样本是长度攻击者的一个很好的例子,旨在在他们瞄准的环境中运作时愿意保持未被发现,”思科·塔罗斯索斯研究人员表示。“它还说明了除了检查和过滤网络协议之类的网络协议之外的重要性,如HTTP / HTTPS,SMTP / POP3等的DNS流量也应该被视为攻击者可以用于实现全功能,双向的频道C2基础设施。“