三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Suterusu命令行工具使用指南:sock程序的17种恶意操作全解析

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进程从pstop等工具中消失(实现代码见sock.c)。
  • 恢复进程./sock 2 [PID]
    解除对目标进程的隐藏状态,使其重新可见。

3. 网络端口伪装(命令3-10)

针对TCP/UDP协议的IPv4/IPv6端口提供隐藏功能:

  • TCPv4端口隐藏./sock 3 [端口号]
  • TCPv6端口恢复./sock 6 [端口号]
  • UDPv4端口隐藏./sock 7 [端口号]
  • UDPv6端口恢复./sock 10 [端口号]
    通过修改内核网络栈,使目标端口在netstatss等工具中无法被检测。

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
    通过控制内核模块加载权限,阻止管理员安装安全补丁或检测工具。

三、防御与检测建议 🚨

  1. 监控异常ioctl调用:sock程序通过固定AUTH_TOKEN(0x12345678)与内核通信,可通过审计工具追踪此特征值。
  2. 检查隐藏进程痕迹:对比/proc目录下进程ID与ps输出差异,寻找未显示的可疑进程。
  3. 端口扫描验证:使用第三方工具(如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),仅供参考

← 返回列表