一
概述
二
样本分析
版本更迭
表2.1 KmsdBot样本演进
影响平台
KmsdBot采用Go 语言开发,通过SSH暴破的方式传播,最新版本已经适配如下平台:
表2.2 最新版本样本支持架构
基础攻击模块
最新版的KmsdBot在运行后首先使用fslock库创建文件独占锁防止访问冲突。同时会在同目录下生成pid.lock文件。
图2.1 文件独占锁标志
接着通过curl和tftp命令从FTP服务器拉取名为“watchdogs”的SSH暴破工具并调用该程序进行弱密码暴破,以此来传播样本。在调用暴破工具之前,木马会执行如下增加系统文件描述符上限的命令,为SSH暴破工具的多线程扫描暴破做准备。
图2.2 SSH暴破准备参数
从C&C服务器拉取的watchdogs程序是一个独立的暴破模块,会利用弱密码暴破的方式尝试SSH登录,同时该程序具备telnet扫描的功能。
图2.3 SSH扫描暴破模块
图2.4 telnet扫描准备模块
攻击者长期在维护和更新DDoS攻击模块,相比于早期样本,最新版本添加了多种基于UDP协议的泛洪攻击方式,最新版本DDoS攻击方式如下:
tcp_flood |
tcphex_flood |
udp_flood |
udphex_flood |
udpvse_flood |
http_flood |
表2.3 DDoS攻击手法
挖矿模块
KmsdBot能够完整控制挖矿程序的工作流程,通过“main_reloadminer”,“main_startminer”和“main_updateminer”函数实现下载、加载以及更新挖矿程序。
图2.5 新版挖矿功能模块
另外,值得注意的是挖矿程序使用类似于linux本身守护进程的名称 “watchdog” 来迷惑受者,同时采用用了tls协议用来保护通信的隐匿性,启动挖矿进程的参数如下:
图2.6 挖矿模块启动参数
最新版本中使用的钱包地址如下:
图2.7 内置加密货币钱包
定向攻击模块
不同于传统类僵尸网络家族,KmsdBot在后期版本中内置了定向攻击 FiveM 公司的模块。
图2.8 早期针对fivem公司攻击模块
最新版本中将上述攻击模块进行整合优化,提高了DDoS攻击的效率和稳定性,能够针对FiveM发起基于http协议的泛洪攻击。
图2.9 新版中的针对fivem公司攻击模块
三
总结
KmsdBot僵尸网络家族从2022年年底首次发现至今,版本更迭频繁,功能趋于完善,兼具挖矿和DDoS功能,同时还存在定向攻击的模块。近期以来,该家族开始了新一轮的活跃,绿盟科技伏影实验室依托全球威胁狩猎系统积累的数据,对该僵尸网络家族控制者所持有的资源进一步梳理,发现KmsdBot背后控制者可谓是“家大业大”,其攻击范围涵盖了Windows和Linux平台,拥有SSH暴破和挖矿在内的多款自研式黑客工具,所控制僵尸网络家族除了KmsdBot外,还拥Mirai变种在内的多个僵尸网络家族。伏影实验室将持续监控KmsdBot及其控制者的新动向。
四
IOC
Hash:
718fc249bcd6bc37ad229fb2d8c4037dc8dc8f4555d01934266d1a0c17d676cf | ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not stripped |
542791cf2dde1f449629b03ef95d3c2e0b2f98b1143d619232620d7c9459706c | ELF 32-bit MSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, not stripped |
1f66675d2102e5d4ac89a239f9022c48b3bf23fe92dadb832d84e0eac6e476d6 | ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=4CWcVcQDyAfarcRQGM1Y/lXpmxngqUu8dHG25P9LP/7lbFU9sY5RhkJ3GtkYHV/5BsV46yNL398LjDsq7Ez, not stripped |
50afbf471a92acd1a0a6a2ffe199a52881eb80f683d95273302506194b2cd6ae | ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped |
b921f0de63ffae2865f5e1dbe8a52a1da505c902e2e4e2a96b85983029d311b5 | ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, Go BuildID=dgDmRqzNrOYIFzUsZGX6/Jd6QBGYU0eXrZjbUCJto/yIwrhleWAjAyjsauMa-2/NdBwoRvNlrhjo4npEm2Z, not stripped |
812133033ba969731b66c63d5468556e42048bad396ef1026b5a91dda98bc289 | ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, not stripped |
8d1df3c5357adbab988c62682c85b51582649ff8a3b5c21fca3780fe220e5b11 | ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=lmjZVXbGVxjEutEAYziK/ak2EoKWzPPmCz2ipOltK/uKypKwO7m2jjT2AT0qnG/PiKIqd334XYNEl_likc3, with debug_info, not stripped |
e83a61c538f11e4fc9dd9d0f414a9e74d0d585ffe3302e4d3741be6a3523bd1e | ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=CV7cqV3r6hVM05Ma2jpB/kc_FWOhPv8HtKZQUhiUi/jrGTR9lhjVWxp-9kHdDA/ev1S8rMmqqwjpvWz4sLX, with debug_info, not stripped |
714eeba5b6e4610946cd07c1ddadddc94052bfe450a8a9b1c23495721082884d | ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=S65yXt0R7hEC1YEm5Ci7/qGG-jP6bpvA1TCgQwZoV/WpM491XNek0FReOrQmX_/EMNmhh6mJI8ycZhLPtP4, with debug_info, not stripped |
8775bdd7a33f136d31b2840dab68505ac0ab8eaa0bcb58713fae36552b8a1f95 | ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=GJzVUpDg_KR3vZPPLHON/tJ5p1UP3VMYwQ8w3y3rW/zMKUPgxjCiHGh1jUampI/DJGzVSopd7ujiQ5NZsFY, with debug_info, not stripped |
b927e0fe58219305d86df8b3e44493a7c854a6ea4f76d1ebe531a7bfd4365b54 | ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=57pm413aVTQ8Go rUjHox/DwlgdSzYxLxitlBpe0OR/hdbtJaHv8ujFruku5AIJ/RrSUbVKsJ9wj-rBopzh3, with debug_info, not stripped |
75569874dadb814ce51d121c108ead006b0f39c27057945b649837563f635f51 | ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=2FTLNIjq7bgMnSOW0NhD/YBc64Ubft703RycI5yQL/85YkVXL_eseyGJG3XHm1/M_laLRa5tNb5oeZ24ROq, with debug_info, not stripped |
09761d69bd5b00b2e767a1105dd3e80ce17b795cd817676c737a1e83c5b96f1b | PE32+ executable (GUI) x86-64 (stripped to external PDB), for MS Windows |
3928c5874249cc71b2d88e5c0c00989ac394238747bb7638897fc210531b4aab | ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, stripped |
74075b2bdfaf52d9e5984a28ec7765ae489077a69dd696718e724a455a6f7910 | ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=lA-om03CG7rmRGVauhlK/_XGLZT-GnUhLmWxz-ZFs/JBg92ZptL6PKCGBNzO4P/PGEQ20SlCSvOvxus2cnT, with debug_info, not stripped |
7fe04a3307666e6b6dac381664c901daea3ed5e8af3d7700ac5bde9550350d5a | ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=oKopAFKAQrJhoY2b1vrY/AefSWWtAhOPkKPvbNlKA/8Cwl6kF8tPoGxn_ezdos/zCioSGTcw1kuPmWdmaFQ, not stripped |
7c8a06b85280a43f96215203fb229d0f2a91b23d84e6ab2d25d9382fef19c35b | ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, Go BuildID=tUB_stK2lZyPnRmgFU4r/YEUKD-1paNoRgwqyNvoi/AUnj49wjlTtocKdByS53/ApRoq05iUcGRVOrvQRs4, not stripped |
da609100cb66e6e4e79916ca1e7481269406e6a484f46187b3accb1626552d61 | ELF 32-bit MSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, Go BuildID=gQd9LGkPSm-S01lKRh1e/hRcs-mU7xbmO2DJ--5BB/NLnc_Fk1iKoeb3KhiKj0/SHwuQu5LFvRyXzxLwnke, not stripped |
e5a06b250ba10fe0156efe7399b321cb8b1fc8b1929e49ee62d837fa1440313f | ELF 64-bit MSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, not stripped |
2971a37849388c7c3af0840eabc52f0b604fb9894429b7397100b12a069cfeff | ELF 64-bit MSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, not stripped |
718fc249bcd6bc37ad229fb2d8c4037dc8dc8f4555d01934266d1a0c17d676cf | ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not stripped |
812133033ba969731b66c63d5468556e42048bad396ef1026b5a91dda98bc289 | ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=lmjZVXbGVxjEutEAYziK/ak2EoKWzPPmCz2ipOlt |
挖矿钱包:
43uCW7AgcgNcKj3MTBKVhy16iRqby1ithKpZyMzUdUGw1vyyqfn9Q5JU1RJ6ztS8C4AxxAKNM4Z4zARBRt2aRoQqFAKpgd6 |
4AK7DLTqTa7jM8mr5v2mBdRD4WojZJc8XfM8h4BEy177ChHWpgv4uEwfm3ktRwrEjx6r5EBH3eAoAKcw9x1KKCok9k5zK6d |
44S7rRMq1wA1Ma9PdGkCBe52MN2bRVphfKAVVhSrSVxQXywRMFgWnB36ofhfUkKa1cBYqLh47SobKcHFVeT4TLeVAfGh2dN |
43YuNypyDwXSVY2nrD9765iakoG5CzhrZMnEpDPnL8Wu5iBeg4Ekx6D1cXTDQBssDoQ3Hn6mtiggNVGSmwfAnUB28oy3fuD |
45yK4gR5QCNag2X4g6ss6PUiL4s1e929b8mev4Rz3CbiTPU9NSXYHiyPL9FMi6cDVvD7EKho4atUf82s3vkVfFXNSsMqyUE |
42vGrE1WDpKgue8Y9ewpi6gXupMqDqYiKV4EwM7CFZFuNdRKP3dG6rADE7DRAcoEWGY6LmgCRKAiX16wGAu3Tj4mMQ9HR5B |
43uCW7AgcgNcKj3MTBKVhy16iRqby1ithKpZyMzUdUGw1vyyqfn9Q5JU1RJ6ztS8C4AxxAKNM4Z4zARBRt2aRoQqFAKpgd6 |
42WDUXX5UYtNf9DyboNRx6TgNrJD43QfgTvEjh8djtdKVoNppnN96Nz8sVp2wWJTQgW9e8XjFLkv6KpSEgwWbLXLMKn5wwg |
46DBehyheMSatgdGffv8SVAEK8ts6Ur4wToVNL99Yqo6ZGnv7q4QpaxG7YnaasngPvN1rbyxYyCZAABgyXyme92wRMaVn1V |
关于绿盟科技伏影实验室
研究目标包括Botnet、APT高级威胁,DDoS对抗,WEB对抗,流行服务系统脆弱利用威胁、身份认证威胁,数字资产威胁,黑色产业威胁及新兴威胁。通过掌控现网威胁来识别风险,缓解威胁伤害,为威胁对抗提供决策支撑。
绿盟威胁情报中心
绿盟威胁情报中心(NSFOCUS Threat Intelligence center, NTI)是绿盟科技为落实智慧安全3.0战略,促进网络空间安全生态建设和威胁情报应用,增强客户攻防对抗能力而组建的专业性安全研究组织。其依托公司专业的安全团队和强大的安全研究能力,对全球网络安全威胁和态势进行持续观察和分析,以威胁情报的生产、运营、应用等能力及关键技术作为核心研究内容,推出了绿盟威胁情报平台以及一系列集成威胁情报的新一代安全产品,为用户提供可操作的情报数据、专业的情报服务和高效的威胁防护能力,帮助用户更好地了解和应对各类网络威胁。
绿盟威胁情报中心官网:https://nti.nsfocus.com/
绿盟威胁情报云:https://ti.nsfocus.com/
扫码关注我们
公众号 | 绿盟科技威胁情报
原文始发于微信公众号(绿盟科技威胁情报):持续更新的KmsdBot——定制化的僵尸网络家族
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论