NOPEN简介
“NOPEN”木马工具为针对Unix/Linux系统的远程控制工具,主要用于文件窃取、系统提权、网络通信重定向以及查看目标设备信息等,是访问技术运营办公室(TAO)远程控制受害单位内部网络节点的主要工具。通过技术分析,我国国家计算机病毒应急处理中心认为,“NOPEN”木马工具编码技术复杂、功能全面、隐蔽性强、适配多种处理器架构和操作系统,并且采用了插件式结构,可以与其他网络武器或攻击工具进行交互和协作,是典型的用于网络间谍活动的武器工具。
根据美国网络安全公司Vectra的Nick Beauchesne的说法,NOPEN是Equation Group的Unix系统后门,安全专家之前将其描述为Equation Group安装在受感染设备上的“后利用外壳”,使他们能够连接到被黑设备。Equation Group运营商破坏系统,安装NOPEN,建立从被黑设备到他们自己系统的连接,然后开始监听数据。
具体功能
“NOPEN”木马工具包含客户端“noclient”和服务端“noserver”两部分,客户端会采取发送激活包的方式与服务端建立连接,使用RSA算法进行秘钥协商,使用RC6算法加密通信流量。该木马工具设计复杂,支持功能众多,主要包括以下功能:内网端口扫描、端口复用、建立隧道、文件处理(上传、下载、删除、重命名、计算校验值)、目录遍历、邮件获取、环境变量设置、进程获取、自毁消痕等。
图表:主控端样本文件信息
文件名 | Noclient |
MD5 | 188974cea8flf4bb75e53d490954c569 |
SHA-1 | a84ac3ea04f28ffla2027ee0097f69511af0ed9d |
SHA-256 | ed2c2d475977c78de800857d3dddc739 57d219f9bb09a9e8390435c0b6da21ac |
文件大小 | 241.2KB(241192字节) |
文件类型 | ELF32 |
文件最后修改时间 | 2011-12-8 19:07:48 |
支持处理器架构 | I386,i486,i586,i686,sparc,alpha,x86_64,amd64 |
支持操作系统 | FreeBSD、SunOS、HP-UX、Solaris、Linux |
主控端连接目标受控端
图表:远程控制指令
序号 | 指令类型 | 指令 | 功能 |
1 | 全局指令 | -elevate | 提升权限 |
2 | -getenv | 获取环境变量 | |
3 | -gs | 未知 | |
4 | -setenv | 设置环境变量 | |
5 | -shell | 返回命令行接口 | |
6 | -status | 查看当前连接状态、本地与远程主机环境信息 | |
7 | -time | 查看本地与远程主机的日期、时间和时区信息 | |
8 | 远程服务器指令 | -burn | 终止控制并关闭远程进程 |
9 | -call ip port | 设置回连IP地址和端口号 | |
10 | -listen port | 设置监听端口号 | |
11 | -pid | 查看远程受控端进程ID | |
12 | 远程网络指令 | icmptimetarget_ip[source_ip] | 远程Ping目标地址,查看时延 |
13 | -ifconfig | 查看远程主机的IP地址设置和MAC地址 | |
14 | -nslookup | 远程对指定域名进行解析 | |
15 | -ping | 远程Ping目标地址,用于内网探测 | |
16 | -trace | 远程traceroute | |
17 | 远程网络转发指令 | -fixudp port | 指定UDP传输端口 |
18 | -irtun | irtun隧道 | |
19 | -jackpop | 未知 | |
20 | -nrtun | nrtun隧道 | |
21 | -nstun | nstun隧道 | |
22 | -rawsend | 未知 | |
23 | -rtun | rtun隧道 | |
24 | -scan | 调用扫描器对指定目标进行端口扫描 | |
25 | -sentry | 未知 | |
26 | -stun | stun隧道 | |
27 | -sutun | sutun隧道 | |
28 | -tunnel | 对指定隧道进行操作,包括修改端口号、查看隧道状态信息以及关闭隧道 | |
29 | -vscan | 未知 | |
30 | 文件操作指令 | -cat | 查看远程文件内容 |
31 | -chili | 未知 | |
32 | -cksum | 计算远程文件HASH校验值 | |
33 | -fget | 未知 | |
34 | -get | 下载远程受控端主机上的文件 | |
35 | -grep | 查找远程受控端主机文件里符合条件的字符串 | |
36 | -oget | 按照文件偏移量提取远程目标文件内容 | |
37 | -put | 上传本地文件到远程主机 | |
38 | -strings | 读取远程目标文件中的字符串 | |
39 | -tail | 从第n行开始读取目标文件 | |
40 | -touch | 未知 | |
41 | -rm | 删除远程目录或文件 | |
42 | -upload | 打开本地文件传输端口 | |
43 | -mailgrep | 从远程主机邮箱中用正则表达式查找邮件附件 | |
44 | 远程目录操作指令 | -find | 从远程目录中查找特定文件 |
45 | -ls | 列举远程目录文件 | |
46 | -cd | 更换远程目录 | |
47 | -cdp | 未知 |
资料来源:国家计算机病毒应急处理中心
图表:受控端样本文件信息
文件名 | noserver_linux |
MD5 | 9081d61fabeb9919e4e3fa84227999db |
SHA-1 | 0274bd33c2785d4e497b6ba49f5485caa52a0855 |
SHA-256 | 4acc94c6be340fb8ef4133912843aa0e 4ece01d8d371209a01ccd824f519a9ca |
文件大小 | 357KB(356996字节) |
文件类型 | ELF32 |
文件最后修改时间 | 2011-12-8 19:07:48 |
资料来源:国家计算机病毒应急处理中心
图表:受控端样本功能模块
序号 | 函数名 | 功能 |
1 | KillProc、kill | 终止指定进程 |
2 | Chmod | 为指定对象赋权限 |
3 | GetCWD | 获取当前工作目录 |
4 | GetPid | 获得当前进程ID |
5 | DeleteFile_Dir | 删除指定文件或目录 |
6 | GetFileMD5 | 获得指定文件MD5摘要 |
7 | GetPCInfo | 获得所在主机环境信息 |
8 | Recv | 上传、下载数据 |
9 | Connect | 建立socket连接 |
资料来源:国家计算机病毒应急处理中心
使用方式
“NOPEN”木马工具支持多种植入运行方式,包括手动植入、工具植入、自动化植入等,其中最常见的植入方式是结合远程漏洞攻击自动化植入至目标系统中,以便规避各种安全防护机制。此外,TAO还研发了一款名为Packrat的工具,可用于辅助植入“NOPEN”木马工具,其主要功能为对“NOPEN”木马工具进行压缩、编码、上传和启动。
“NOPEN”木马工具主要包括8个功能模块,每个模块支持多个命令操作,TAO主要使用该武器对受害机构网络内部的核心业务服务器和关键网络设备实施持久化控制。其主要使用方式为:攻击者首先向安装有“NOPEN”木马工具的网内主机或设备发送特殊定制的激活包,“NOPEN”木马工具被激活后回连至控制端,加密连接建立后,控制端发送各类指令操作“NOPEN”木马工具实施网内渗透、数据窃取、其他武器上传等后续攻击行为。
结尾
“NOPEN”远程木马具有极高的技术水平,可对现有多数网络服务器和网络终端进行远程控制,既可以由攻击者手动植入,也可以由美国国家安全局的网络攻击武器平台自动植入受害者的互联网设备,更能够在受害者的内网中秘密执行多种窃密、破坏等控制指令,潜伏在目标网络中持续完成间谍任务。
主要参考资料
1、Nopen远程木马分析报告.国家计算机病毒应急处理中心.
2、China claims it has captured NSA NOPEN cyber-weapon.
3、Nakashima, Ellen; Timberg."NSA officials worried about the day its potent hacking tool would get loose. Then it did". Washington Post.
4、National Security Agency – 60 Years of Defending Our Nation.