Suterusu命令行工具使用指南:sock程序的17种恶意操作全解析
Suterusu命令行工具使用指南:sock程序的17种恶意操作全解析
【免费下载链接】suterusuAn LKM rootkit targeting Linux 2.6/3.x on x86(_64), and ARM项目地址: https://gitcode.com/gh_mirrors/su/suterusu
Suterusu是一款针对Linux 2.6/3.x系统的LKM rootkit工具,其提供的sock程序可通过命令行执行多种恶意操作,包括进程隐藏、端口伪装、文件操作等核心功能。本文将全面解析sock程序的17种关键操作,帮助安全研究者快速识别其攻击模式。
一、环境准备与编译步骤 🛠️
在开始分析前,需先通过以下命令获取并编译项目:
git clone https://gitcode.com/gh_mirrors/su/suterusu cd suterusu gcc sock.c -o sock # 编译sock程序编译完成后,可通过./sock [命令编号] [参数]格式执行各类操作。程序通过ioctl系统调用与内核模块通信,所有命令需验证AUTH_TOKEN(定义于sock.c)。
二、核心恶意操作解析
1. 获取root权限(命令0)
./sock 0直接触发execl(SHELL, "sh", NULL)执行系统shell,实现权限提升。此操作无需额外参数,执行后将获得root权限的交互式终端。
2. 进程隐藏与恢复(命令1-2)
- 隐藏进程:
./sock 1 [PID]
通过修改内核进程列表,使指定PID进程从ps、top等工具中消失(实现代码见sock.c)。 - 恢复进程:
./sock 2 [PID]
解除对目标进程的隐藏状态,使其重新可见。
3. 网络端口伪装(命令3-10)
针对TCP/UDP协议的IPv4/IPv6端口提供隐藏功能:
- TCPv4端口隐藏:
./sock 3 [端口号] - TCPv6端口恢复:
./sock 6 [端口号] - UDPv4端口隐藏:
./sock 7 [端口号] - UDPv6端口恢复:
./sock 10 [端口号]
通过修改内核网络栈,使目标端口在netstat、ss等工具中无法被检测。
4. 文件系统操作(命令11-12)
- 隐藏文件/目录:
./sock 11 [路径]
如./sock 11 /tmp/backdoor可隐藏后门文件,实现文件系统级别的隐蔽。 - 恢复文件/目录:
./sock 12 [路径]
需提供与隐藏时完全一致的路径参数。
5. 网络监控规避(命令13-14)
- 隐藏PROMISC模式:
./sock 13
禁止网卡混杂模式被检测,常用于隐藏网络嗅探行为。 - 恢复PROMISC模式:
./sock 14
6. 内核模块控制(命令15-17)
- 启用模块加载:
./sock 15 - 禁止模块加载:
./sock 16 - 恢复模块加载:
./sock 17
通过控制内核模块加载权限,阻止管理员安装安全补丁或检测工具。
三、防御与检测建议 🚨
- 监控异常ioctl调用:sock程序通过固定
AUTH_TOKEN(0x12345678)与内核通信,可通过审计工具追踪此特征值。 - 检查隐藏进程痕迹:对比
/proc目录下进程ID与ps输出差异,寻找未显示的可疑进程。 - 端口扫描验证:使用第三方工具(如nmap)扫描本机端口,与系统工具结果交叉比对。
四、总结
Suterusu的sock程序通过17种命令实现了对Linux系统的深度控制,其设计隐蔽性强,危害性大。安全人员需重点关注进程、端口、文件系统的异常状态,通过行为分析及时发现rootkit踪迹。项目核心代码实现可参考sock.c中的命令分发逻辑(第50-274行),深入理解其攻击原理有助于构建更有效的防御机制。
【免费下载链接】suterusuAn LKM rootkit targeting Linux 2.6/3.x on x86(_64), and ARM项目地址: https://gitcode.com/gh_mirrors/su/suterusu
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
