前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Linux上狩猎Netwire RAT

在Linux上狩猎Netwire RAT

作者头像
FB客服
发布2020-04-14 14:34:56
1.5K0
发布2020-04-14 14:34:56
举报
文章被收录于专栏:FreeBufFreeBuf

如今攻击者可以选择多种 RAT,现在的这些 RAT 不仅针对 Windows 而是跨平台的(如 CrossRAT、Pupy 与 Netwire)。尽管此前有大量的研究针对 Windows 与 macOS 版本的 Netwire,但是 Linux 版本的 Netwire 却鲜为人知。

Netwire 简介

Netwire 是由 World Wired Labs 开发并销售的 RAT。它支持远程访问 Windows、macOS、Linux 和 Solaris 系统,可以用多种方式传输文件与系统管理。

其中也有许多功能会被滥用,被滥用时这些功能没有看起来那么好了:

键盘记录 使用浏览器 User-Agent 伪装网络流量 捕获屏幕截图 在 Web 浏览器中访问凭据

Netwire 允许通过代理转发流量、监听接收加密命令控制的任何端口。文章的末尾表格列出了 Netwire 使用的 ATT&CK 概述情况,特定在 Linux 中的技术以粗体显示。

Linux 版特性

Netwire 大多数功能在各个平台上都是相同的,只有少数功能不同。比如 Windows 平台的持久化依赖 Windows 注册表,但在非 Windows 系统中不存在注册表需要更改持久化方法。另外,不同平台的可执行格式也不相同,Windows 和 macOS 版本分别使用 PE 与 Mach-O 格式,而 Linux 与 Solaris 使用 ELF 格式。

持久化机制也有变化,提供了使用 XDG 自启动项与 crontabs 定时任务进行持久化。之前,我们介绍过 crontabs 但是没有详细探讨过 XDG 自启动项,这类似于 Windows 中的开始菜单启动项。

在任何使用与 Freedesktop.org 的 XDG 兼容的类 Unix 桌面操作系统中,都可以添加自启动项在桌面加载时执行程序或脚本。这些文件通常在以下文件夹中,也可以通过环境变量对路径进行更改:

/etc/xdg/autostart ~/.config/autostart

自启动项本身的文件扩展名通常为 .desktop,其内容如下所示:

代码语言:javascript
复制
[Desktop Entry]
Type=Application
Exec=/home/user/.config/dbus-notifier/dbus-inotifier
Name=system service d-bus notifier

当然,Netwire 不是唯一一个使用这种方法的 RAT(Fysbis、Pupy、jRAT、CrossRAT)。

详细分析

我们在 VirusTotal 上查看了 Netwire 的样本,我们将其下载下来进行详细地分析。

执行样本后,注意到样本将自身复制到一个隐藏文件夹中,并从该隐藏文件夹中启动。

这是将自己隐藏起来的第一步,用以将 RAT 的副本安装到本地文件夹以便长期潜伏。接下来现实了 Netwire 使用 .desktop 进行持久化的机制与其他两个文件的创建。

文件 /tmp/.rOuYXzdOF 可能是用于确保 Netwire 只运行一次的互斥量。接下来的文件 .default.conf 是一个配置文件,用于存储 Netwire 与 C&C 服务器通信所需的配置数据。在 Windows 中该信息存储在注册表中。最后,Netwire 会建立网络连接以供攻击者进行远程控制。

归因到 Netwire

为了归因到 Netwire,我们提供了多方证据。首先,VirusTotal 上的反病毒引擎的检测率与家族分类信息可以提供可信支撑。接下来,根据 Patrick Wardle 对 macOS 的 Netwire 变体的分析文章中从 macOS 版 Netwire 样本中提取的字符串。将这些字符串与 Linux 版 Netwire 进行比较可以发现 14 个相同的字符串。如 User-Agent、网络配置发现、可能是会话 ID 或密码的特殊字符串:

代码语言:javascript
复制
/bin/bash
/bin/sh
/tmp/.%s
Accept-Language: en-US,en;q=0.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
CONNECT %s:%d HTTP/1.0
Current IP Address:
GET / HTTP/1.1
Host: %s:%d
Host: checkip.dyndns.org
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
checkip.dyndns.org
exit
hyd7u5jdi8

最后,我们将其余字符串与 Netwire 在线用户手册的功能进行了比较。Netwire 较新版本的发行说明中提到了对 crontab 持久化的支持,并且我们观察到一个字符串暗示该程序可能使用了 crontab -l 命令,尽管在执行过程中我们并未发现该命令执行。我们还观察到了 Netwire 用户手册中描述的 HTTP 和 SOCKS 代理的字符串。据此,我们可以非常肯定地说该样本是 Netwire 的变体,而且是较新的版本。希望本文能够对检测、阻止环境中的 RAT 提供一些帮助!

Netwire 使用的 ATT&CK 技术项

ATT&CK ID

战术

描述

注释

XDG 自启动项

N/A

Netwire 可能会在 Linux 系统上使用 XDG 自启动项来进行持久化

可由用户在编译时配置

数据压缩(T1002)

数据外带

Netwire 可以将捕获的屏幕压缩

应用窗口发现(T1010)

发现

Netwire 可以发现并关闭受控主机上的窗口

系统网络配置发现(T1016)

发现

Netwire 与外部通信发现其公共 IP 地址

Netwire 使用域名 checkip.dyndns.org

数据加密(T1022)

数据外带

Netwire 将捕获的击键记录存储在加密的日志文件中

标准加密协议(T1032)

命令控制

Netwire 使用 AES 加密来传输数据

系统用户发现(T1033)

发现

Netwire 可以发现已登录的用户

伪装(T1036)

防御逃避

Netwire 伪装成其他软件,网络流量伪装 User-Agent

Netwire 模拟了 TeamViewer、macOS Finder 与其他软件的流量,通常使用 Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko. 作为 User-Agent

加壳(T1045)

防御逃避

一些文件使用 .NET 加壳工具进行检测逃避

计划任务(T1053)

执行、持久化、权限提升

使用计划任务保持 Netwire 的持久化

Netwire 并未内置计划任务,通常由部署 Netwire 的另一种机制实现

进程注入(T1055)

防御逃避、权限提升

使用进程注入逃避检测

代码注入系统进程如 notepad.exe、svchost.exe 和 vbc.exe 中

输入捕获(T1056)

信息收集、凭据访问

Netwire 可以执行键盘记录

进程发现(T1057)

发现

Netwire 可以发现并中止受控主机上的进程

命令行界面(T1059)

执行

Netwire 可以使用 cmd.exe 和 sh 执行命令

注册表运行/启动文件夹(T1060)

持久化

Netwire 创建一个注册表启动项维持持久化

可以在编译时配置

本地计划任务(T1168)

持久化、执行

Netwire 通过 cron 定时任务实现的能力

文件中的凭据(T1081)

凭据访问

Netwire 可以从邮件客户端程序中检索密码

支持的程序包括 Windows Live Messenger、Pidgin、Mozilla Thunderbird 和 Microsoft Outlook

系统信息发现(T1082)

发现

Netwire 可以发现并收集失陷主机信息

连接代理(T1090)

命令控制、防御逃避

Netwire 可以代理系统的网络流量

进程 Hollowing(T1093)

防御逃避

使用该技术逃避检测

远程文件复制(T1105)

命令控制、横向平移

Netwire 将文件传输至远端系统

修改注册表(T1112)

防御逃避

Netwire 将配置存储在 Windows 注册表中

配置信息通常存储在 HKCU:\Software\Netwire

屏幕截图(T1113)

信息收集

Netwire 可以捕获失陷主机的屏幕

数字签名(T1116)

防御逃避

Netwire 使用伪造或无效的数字证书

启动代理(T1159)

防御逃避

Netwire 包含启动代理的 macOS 启动选项

可在编译时进行配置

登录(T1162)

持久化

Netwire 包含用于登录的 macOS 启动项

可在编译时进行配置

Web 浏览器凭据(T1503)

凭据访问

Netwire 从众多 Web 浏览器检索密码

支持的浏览器包括 Mozilla Firefox、Internet Explorer、Opera、Chromium 和 SeaMonkey

*参考来源:RedCanary,FB 小编 Avenger 编译,转载请注明来自 FreeBuf.COM

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Netwire 简介
  • Linux 版特性
  • 详细分析
  • 归因到 Netwire
  • Netwire 使用的 ATT&CK 技术项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档