Kaiji:新的中文Linux恶意软件转向Golang

很少看到僵尸网络的工具是从头开始编写的。物联网(IoT)僵尸网络生态系统由安全专家进行了相对完善的记录。由于DDoS操作在感染新机器和进行操作方面都固有的噪声,通常会很快发现新的威胁因素。简而言之,很难掩盖这种公开的活动。除非他们需要特定的功能,否则大多数DDoS参与者都不会在创建自定义工具上投入资源,而是使用众所周知的僵尸网络植入程序(例如Mirai,BillGates)。 4月下旬,我们确定了一个新的僵尸网络活动,该活动具有明确的中国血统,它通过SSH暴力破解针对服务器和IoT设备。尽管大多数攻击者都从流行的和经过测试的来源(例如开源(例如Mirai)或黑市工具集(例如BillGates))获得植入物,但该僵尸网络利用了自己的自定义植入物,MalwareMustDie  根据功能名称之一将其 命名为Kaiji  僵尸网络是使用Golang编程语言从头开始构建的,在IoT僵尸网络领域中很少见。 技术分析 Kaiji仅通过以root用户为目标,通过SSH暴力强制进行专有传播。访问根对其操作很重要,因为某些DDoS攻击只能通过制作自定义网络数据包来使用。在Linux中,自定义网络数据包仅提供给特权用户(例如root)。 建立SSH连接后,将执行bash脚本,以设置恶意软件的环境: 创建一个/ usr / bin / lib目录,然后在文件名“ netstat”,“ ps”,“ ls”或其他一些系统工具名称下安装Kaiji。 Kaiji具有简单的功能。它由多个DDoS攻击库(例如ipspoof和synack攻击),一个ssh bruteforcer模块(用于继续传播)以及另一个ssh spreader(依赖于劫持本地SSH密钥来感染服务器过去连接的已知主机)组成。 尽管剥离了Kaiji文件,我们仍然能够使用IDAGolangHelper还原函数名称。该技术通过检索嵌入在Golang二进制文件中的函数定义而起作用,这些函数定义未被strip  命令删除。 一旦执行了恶意软件,它将自身复制到  / tmp / seeintlog  并启动第二个实例,该实例开始其恶意操作。每个操作都在自己的goroutine中实现:
贴图0
存在13个中央goroutine,它们对于植入物的操作很重要。其中许多功能都以中文单词的英文表示形式命名。我们重点介绍了最有趣的功能,并添加了中文到相关功能的翻译: doLink例程: 解密C2地址,将新感染的服务器注册到命令服务器之一,然后启动doTask和RotKit goroutines。 顺便说一句,某些C2地址是通过三个加密方案的链解密的,而另一个C2地址只是用base64编码的:
粘贴的图像0 4 贴图0 1
左边是C2 base64解码。在右侧,C2解密。 二进制文件包含四个命令服务器主机名,其中两个已注册为主机名。唯一有效的主机名已运行了两个星期,然后才响应。 main_doTask: 从C2获取命令。其中包括: •DDoS指令 •SSH暴力破解指令,包括主机范围和尝试登录的密码 •运行shell命令 •替换C2服务器 •删除自身并删除所有持久性 对于DDoS操作,将检索目标和攻击技术。 攻击包括: •两个TCPFlood实现(一个带有原始套接字) •两个UDPFlood实现(一个带有原始套接字) •IPSpoof攻击 •SYNACK攻击 •SYN攻击 •ACK攻击 ddos_ Rotkit : 尝试通过bash历史记录中找到的现有SSH RSA密钥或IP连接到已知主机:
粘贴的图像0 3
main_runkshell: 通过rc.d和Systemd服务安装持久性: Systemd(/etc/systemd/system/linux.service):
rc.d(/etc/rc.d/init.d/linux_kill):
main_runghost: Install persistence through /etc/profile.d (/etc/profile.d/linux.sh) main_rundingshi (漢字: run timing): Install persistence through crontab main_runganran (漢字: run infection): Another persistence technique, backdoor the SSH init script /etc/init.d/ssh to call the rootkit on startup main_runshouhu (漢字: run surgery): Copy the rootkit to /etc/32679 and run it every 30 seconds main_runkaiji (漢字: run boot): Install more persistence init.d files, e.g.: /etc/init.d/boot.local ddos_rdemokill: Check the CPU usage machine periodically and kill if CPU usage exceeds 85%. This can inadvertently kill unrelated processes. Interestingly, this function refers to the rootkit as a demo 在我们自己的沙箱中,我们观察到rootkit往往会调用自身太多次,从而使机器不断积蓄内存:
粘贴的图像0 2
这以及C2只能暂时运行的事实以及“演示”字符串的存在,使我们相信这是仍在测试中的早期版本。 结论 考虑到黑市论坛和开放源代码项目中的攻击者容易使用的工具,很少看到一个从头开始编写的僵尸网络。在本文中,我们发现了从头开始编写的新的DDoS操作。这再次证实了诸如Palo Alto之类的供应商指出的一条有趣的轨迹 ,即恶意软件开发人员正在将现代语言(例如Golang)用于其操作。 IOCs 4e8d4338cd3b20cb027a8daf108c654c10843e549c3f3da6646ac2bb8ffbe24d 9198853b8713560503a4b76d9b854722183a94f6e9b2a46c06cd2865ced329f7 98aee62701d3a8a75aa19028437bc2d1156eb9bfc08661c25db5c2e26e364dca 0ed0a9b9ce741934f8c7368cdf3499b2b60d866f7cc7669f65d0783f3d7e98f7 f4a64ab3ffc0b4a94fd07a55565f24915b7a1aaec58454df5e47d8f8a2eec22a 9f090a241eec74a69e06a5ffed876c7a37a2ff31e171924673b6bb5f1552814c 370efd28a8c7ca50275957b47774d753aabb6d7c504f0b81a90c7f96c591ae97 357acbacdb9069b8484f4fdead1aa946e2eb4a505583058f91f40903569fe3f3 cu.versiondat[.]xyz 1.versionday[.]xyz www.aresboot[.]xyz www.6×66[.]com www.2s11[.]com
0 0 vote
Article Rating

未经允许不得转载:x-sec » Kaiji:新的中文Linux恶意软件转向Golang

赞 (0) 打赏
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

0
Would love your thoughts, please comment.x
()
x