写在前面的话
在卡巴斯基全球紧急响应团队(GERT)和GReAT处理的一次网络安全事件应急响应过程中,研究人员发现了一个名为“KNAbuse”的新型多平台网络威胁。这款恶意软件利用了NKN技术在对等节点之间进行数据交换,功能上相当于一种有效的恶意植入物,并且具备洪泛攻击和后门功能。该恶意软件使用了Go语言开发,灵活性强,可以生成与各种操作系统架构兼容的二进制文件。
研究人员的分析表明,KNAbuse的主要目标是Linux桌面端操作系统,但鉴于其感染MISP和ARM系统的能力,它也会对物联网设备构成安全威胁。NKAbuse主要通过将植入物上传到目标主机来实现系统渗透,通过cronjob建立持久化机制,并将其自身安装到目标主机的主目录中。
NKN-新型网络
NKN是“New kind of Network”的缩写,即“新型网络”,作为一种点对点(P2P)和面向区块链的网络协议,首先考虑的就是去中心化和隐私保护。NKN网络目前拥有超过6万个官方节点,并且提供了多种路由算法,旨在通过选择最短的节点轨迹到达预期目的地来优化数据传输。
根据以往的恶意活动,威胁行为者会利用NKN等新型通信协议来与其命令和控制服务器 (C2)或僵尸主机连接,然后滥用NKN公共区块链协议执行大规模洪泛攻击,最终实现Linux操作系统的后门植入。
一种“不算很新”的攻击向量
根据GERT收集和分析的数据,该恶意活动利用了一个与Struts2相关的老漏洞(CVE-2017-5638–Apache Struts2),其目标是一家金融机构。
下面给出的是日志记录下的取证信息:
(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#cont ainer=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.g etInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNam es().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).( #req=#context.get('com.opensymphony.xwork2.dispatcher.HttpServletRequest')).(#cmds=@java.n et.URLDecoder@decode(#req.getHeader('shell'),'UTF-8')).(#cmd={'/bin / bash', ' - c', #cmds}).(#p = new java.lang.ProcessBuilder(#cmd)).(#p.redirectErrorStream(true)).(#process = #p.start()).(#ros = (@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.c ommons.io.IOUtils@copy(#process.getInputStream(), #ros))
该漏洞允许威胁行为者通过标识为“Shell”的Header来传递命令并将指令发送给服务器端Bash来执行,成功利用该漏洞后,目标系统将执行命令并下载初始脚本。
一种新型多平台植入物
该恶意软件会通过执行远程Shell脚本来将其安装在目标设备上,恶意脚本可以下载并执行威胁行为者远程托管的setup.sh Shell脚本内容。在安装过程中,脚本会检查目标设备的操作系统类型,并根据操作系统类型下载第二阶段的Payload,即实际要植入的恶意软件。恶意植入物也是从同一个服务器下载的,命名为“app_linux_{ARCH}”,这里的{ARCH}代表目标操作系统架构。下载好的植入程序会存储到/tmp临时目录并执行。该服务器中托管了针对8种不同架构操作系统的恶意软件版本:
386
arm64
arm
amd64
mips
mipsel
mips64
mips64el
本文接下来的分析主要针对的是amd64(x86-64)版本。
恶意软件执行之后,首先会检查它是否是唯一正在运行的实例,并将其自身移动到安全位置,,而不是保留在/tmp临时目录中,这里恶意软件选择的路径地址为“/root/.config/StoreService/”。接下来,它会在该目标路径内创建另外两个目录,即files和.cache,然后通过向ifconfig.me发送GET请求来获取目标设备的IP地址。接下来,它会加载默认配置,并检查它是否位于.cache目录内,如果不在,则加载对应的硬编码设置:
这份配置随后会被保存到一个新的缓存结构中,该结构也会保存其他重要的会重复使用的配置信息,比如说生成的私钥等等。
NKAbuse利用了cronjob来实现重启,而这一操作需要用到root权限。为此,它会检查当前用户 ID 是否为 0,如果是,则继续解析当前的 crontab,并在每次重新启动时将自己添加到作业任务中。
新的通信方式
NKAbuse 利用 NKN 协议与僵尸主机进行通信并接收/发送信息。为此,恶意软件植入程序会创建一个新帐户和一个新的多客户端,使其能够同时从多个客户端发送和接收数据,从而提高与僵尸主机通信的可靠性。
NKN 帐户是使用默认配置选项创建的,然后使用标识符初始化多客户端,在我们的分析样例中,该标识符是一个64个字符长度的字符串,即恶意软件使用的公钥和远程地址:
一旦客户端设置完毕并准备好接收和发送数据,恶意软件就会建立一个处理程序(句柄)来接受僵尸主机发送的传入消息。该句柄包含了大约42种使用场景,每个场景都能够根据发送的控制命令代码来执行不同的操作。
NKAbuse包含了大量分布式拒绝服务(DDoS)攻击Payload,以下是洪泛攻击Payload列表:
命令 | 攻击Payload |
Default/0 | http_flood_HTTPGetFloodPayload |
1 | http_flood_HTTPPostFloodPayload |
2 | tcp_flood_TCPFloodPayload |
3 | udp_flood_UDPFloodPayload |
4 | ping_flood_PINGFloodPayload |
5 | tcp_syn_flood_TCPSynFloodPayload |
6 | ssl_flood_SSLFloodPayload |
7 | http_slowloris_HTTPSlowlorisPayload |
8 | http_slow_body_HTTPSlowBodyPayload |
9 | http_slow_read_HTTPSlowReadPayload |
10 | icmp_flood_ICMPFloodPayload |
11 | dns_nxdomain_DNSNXDOMAINPayload |
所有的这些Payload都曾被僵尸网络使用过,因此在将NKN作为通信协议使用时,恶意软件可以异步等待威胁行为者的命令并发起组合攻击。
具备RAT功能的新型后门
NKAbuse 具有多种功能,可使其成为强大的后门或远程访问木马(RAT),而不仅仅是一款DDoS工具。实际上,上述提到的大多数消息命令其功能主要是持久化感染、命令执行或信息收集。
恶意软件植入物会建立了一个名为“Heartbeat”的结构体,它负责定期与僵尸主机进行通信。其中还包含了很多其他的结构体,可以用来存储与目标主机相关的信息,例如PID、设备IP地址、可用内存和当前配置等等。
该恶意软件的另一个功能是能够对受感染设备进行屏幕截图,它使用了一个开源项目来确定显示边界,然后捕获当前屏幕的截图,并将其转换为PNG图片发送给威胁行为者:
NKAbuse还可以创建具有特定内容的文件、从文件系统中删除文件以及从特定路径获取文件列表。它可以获得系统中运行的进程列表,甚至还有可用网络接口的详细列表。值得一提的是,该恶意软件植入程序还能够以当前用户身份和权限在目标设备上执行系统命令,命令执行后的结果将通过NKN发送给威胁行为者。
总结
像NKAbuse这样的新型跨平台恶意软件目前还比较少见,这种特殊的恶意软件植入程序专为僵尸网络集成而设计,可以适应不同的主机系统并充当后门程序。除此之外,它还使用了区块链技术来确保可靠性和匿名性。不过值得庆幸的是,这款恶意软件目前还没有自我传播的功能。
入侵威胁指标IoC
主机MD5
11e2d7a8d678cd72e6e5286ccfb4c833
文件创建
/root/.config/StoreService /root/.config/StoreService/app_linux_amd64 /root/.config/StoreService/files /root/.config/StoreService/.cache
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
2️⃣视频配套资料&国内外网安书籍、文档
① 文档和书籍资料
② 黑客技术
因篇幅有限,仅展示部分资料
4️⃣网络安全面试题
5️⃣汇总
所有资料 ⚡️ ,朋友们如果有需要全套 《网络安全入门+进阶学习资源包》,扫码获取~