sucrack使用教程

sucrack 是 Kali Linux 中一款专注于 SU 命令密码暴力破解 的工具,核心功能是通过"字典攻击"的方式,尝试使用预设的密码列表(或标准输入的密码)反复调用系统的 su 命令,以破解目标用户(通常是 root 等特权用户)的登录密码,从而获取切换用户的权限。

其核心特点包括:支持多线程加速破解、可自定义密码改写规则(如大小写转换、添加数字等)、能通过环境变量适配不同系统的 su 命令反馈,适用于渗透测试中对本地用户或远程主机用户的密码爆破场景(需先获取目标主机的操作权限)。

二、工具 Usage 中文翻译(表格版)

2.1 基础语法

英文语法 中文翻译
sucrack [-char] [-w num] [-b size] [-s sec] [-u user] [-l rules] wordlist sucrack [选项] 密码字典文件
The word list can either be an existing file or stdin. In that case, use '-' instead of a file name 密码字典可以是已存在的文件,也可以是标准输入(此时用 '-' 代替文件名)
Either -w or -s has to be given 必须指定密码字典文件(或标准输入 '-')

2.2 选项说明(Options)

选项 英文说明 中文翻译
-h print this message 打印帮助信息(本 Usage 内容)
-a use ansi escape codes for nice looking statistics 使用 ANSI 转义码,显示更美观的破解统计信息
-s sec statistics display interval 设置统计信息的显示间隔(单位:秒)
-c only print statistics if a key other than `q' is pressed 仅在按下非 'q' 键时,才打印破解统计信息('q' 键通常用于退出)
-r enable rewriter 启用密码改写功能(需配合 -l 选项指定改写规则)
-w num number of worker threads running with 设置工作线程数量(num 为具体数字,线程数越多,破解速度通常越快,需根据主机性能调整)
-b size size of word list buffer 设置密码字典缓冲区大小(size 为具体数值,用于缓存字典内容,优化读取效率)
-u user user account to su to 指定要切换到的目标用户(如 root、普通用户等,默认通常为 root)
-l rules specify rewriting rules; rules can be: A = all characters upper case, F = first character upper case, L = last character upper case, a = all characters lower case, f = first character lower case, l = last character lower case, D = prepend digit, d = append digit, e = 1337 characters, x = all rules 指定密码改写规则(需先启用 -r 选项),规则说明: A = 所有字符转为大写 F = 首字符转为大写 L = 尾字符转为大写 a = 所有字符转为小写 f = 首字符转为小写 l = 尾字符转为小写 D = 在密码前添加数字 d = 在密码后添加数字 e = 将密码转为"1337 字符"(如 a→4、e→3、o→0 等) x = 启用所有改写规则

2.3 环境变量(Environment Variables)

环境变量 英文说明 中文翻译
SUCRACK_SU_PATH The path to su (usually /bin/su or /usr/bin/su) 指定系统中 su 命令的路径(默认通常为 /bin/su 或 /usr/bin/su,适配不同系统的 su 位置)
SUCRACK_AUTH_FAILURE The message su returns on an authentication failure (like "su: Authentication failure" or "su: Sorry") 指定 su 命令在"认证失败"时返回的提示信息(如 "su: Authentication failure" 或 "su: Sorry",用于工具识别破解失败)
SUCRACK_AUTH_SUCCESS The message that indicates an authentication success. This message must not be a password listed in the wordlist (default is "SUCRACK_SUCCESS") 指定标识"认证成功"的提示信息(该信息不能是密码字典中的密码,默认值为 "SUCRACK_SUCCESS",用于工具识别破解成功)

2.4 示例(Example)

英文示例命令 中文说明
export SUCRACK_AUTH_SUCCESS="sucrack_says_hello" sucrack -a -w 20 -s 10 -u root -rl AFLafld dict.txt 1. 先设置环境变量,将"认证成功"提示信息设为 "sucrack_says_hello" 2. 运行 sucrack:启用美观统计(-a)、20 个工作线程(-w 20)、每 10 秒显示一次统计(-s 10)、目标用户为 root(-u root)、启用密码改写并应用规则 AFLafld(-rl AFLafld)、使用密码字典 dict.txt

三、sucrack 完整使用教程

3.1 前提条件

  1. 已获取目标主机的操作权限(sucrack 需在目标主机本地运行,或通过 SSH 等远程连接在目标主机上执行);
  2. 目标主机安装了 su 命令(Linux 系统默认自带);
  3. 准备好密码字典文件(如 Kali 自带的 /usr/share/wordlists/rockyou.txt,需先解压:gunzip /usr/share/wordlists/rockyou.txt.gz)。

3.2 步骤 1:确认工具安装与帮助信息

Kali 通常默认预装 sucrack,若未安装,执行以下命令安装:

sudo apt update && sudo apt install sucrack -y

查看帮助信息,确认工具可用:

sucrack -h

输出内容应与前文 "选项说明" 一致,说明工具正常。

3.3 步骤 2:配置环境变量(可选,按需适配)

默认情况下,sucrack 已适配多数 Linux 系统的 su 反馈,但部分特殊系统需手动配置环境变量:

  • 指定 su 路径(若 su 不在 /bin 或 /usr/bin):
    export SUCRACK_SU_PATH="/path/to/your/su"
  • 指定"认证失败"提示(如部分系统提示"su: 认证失败"):
    export SUCRACK_AUTH_FAILURE="su: 认证失败"
  • 指定"认证成功"提示(避免与字典密码冲突,建议自定义):
    export SUCRACK_AUTH_SUCCESS="sucrack_success_flag"

3.4 步骤 3:基础破解命令(无密码改写,单线程)

场景:破解目标用户 testuser,使用字典 rockyou.txt,单线程运行:

sucrack -u testuser /usr/share/wordlists/rockyou.txt

说明:工具会逐个尝试字典中的密码,若破解成功,会输出"认证成功"提示(如前文的 "sucrack_success_flag"),并显示对应的密码。

3.5 步骤 4:多线程加速破解(常用)

场景:破解 root 用户,使用 10 个线程,每 5 秒显示一次统计:

sucrack -a -w 10 -s 5 -u root /usr/share/wordlists/rockyou.txt

参数说明:

  • -a:美观显示统计(如已尝试密码数、成功率等);
  • -w 10:10 个线程并行,建议线程数不超过主机 CPU 核心数(避免卡顿);
  • -s 5:每 5 秒刷新一次统计信息。

3.6 步骤 5:启用密码改写规则(提升破解成功率)

场景:字典密码多为小写,需尝试"首字母大写+尾字母加数字"等规则,破解 root 用户:

export SUCRACK_AUTH_SUCCESS="success_msg"
sucrack -a -w 8 -s 3 -u root -rl Fd /usr/share/wordlists/rockyou.txt

参数说明:

  • -r:启用密码改写;
  • -l Fd:应用规则 F(首字母大写)和 d(尾字母加数字),例如字典中的"123456"会被改写为"1234561""1234562"..."1234569""1234560"。

若需启用所有改写规则,将 -l Fd 改为 -l x 即可。

3.7 步骤 6:通过标准输入(stdin)传入密码

场景:若密码来自其他工具的输出(而非本地文件),可通过管道将标准输入作为密码源:

cat custom_passwords.txt | sucrack -u testuser -

说明:- 表示使用标准输入作为密码字典,cat custom_passwords.txt 的输出会作为密码列表传入 sucrack。

3.8 步骤 7:退出与结果查看

  • 破解过程中,按下 q 键可强制退出工具;
  • 若破解成功,工具会在终端输出"认证成功"提示(如 SUCRACK_SUCCESS),并显示对应的用户名和密码;
  • 若需保存结果,可将输出重定向到文件:
    sucrack -a -w 10 -u root rockyou.txt > crack_results.txt 2>&1

四、注意事项

  1. 合法性:使用 sucrack 破解他人主机密码需获得明确授权,未经授权的破解属于非法行为,需承担法律责任;
  2. 线程数:线程数并非越多越好,过多线程会导致主机 CPU 占用过高,反而降低破解效率,建议根据 CPU 核心数设置(如 4 核 CPU 设为 4-8 线程);
  3. 字典选择:密码字典的质量直接影响破解成功率,建议使用包含常见密码的字典(如 rockyou.txt),或根据目标用户习惯自定义字典;
  4. 环境变量冲突:若"认证成功"提示(SUCRACK_AUTH_SUCCESS)与字典中的密码重复,会导致工具误判破解成功,需避免此情况。
相关推荐
24zhgjx-fuhao2 小时前
Ospf网络类型:P2P和Broadcast
网络
天才测试猿2 小时前
Python接口自动化测试之Token详解及应用
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
TON_G-T2 小时前
WebSocket实现长链接
网络·websocket·网络协议
弘毅 失败的 mian2 小时前
Linux 进程属性详解
linux·运维·服务器·经验分享·笔记
混迹中的咸鱼2 小时前
UE5 网络联机常用命令
网络·ue5
三万棵雪松2 小时前
【Linux 物联网网关主控系统-感知层部分(一)】
linux·单片机·物联网·嵌入式linux
三万棵雪松2 小时前
【Linux 物联网网关主控系统-感知层部分(二)】
linux·物联网·嵌入式linux
众创岛2 小时前
Allure下载安装与配置
测试工具
淼淼爱喝水2 小时前
openEuler 下 Ansible 基础命令详解与实操演示1
linux·服务器·ansible