Skip to content
← 返回文件与文本处理列表
文件与文本处理任务与配置

命令与脚本:账号、权限与加密 · 配置硬件密钥与一次性口令至检查口令与分析隐写数据 ​

返回分篇目录

配置硬件密钥与一次性口令 ​

先识别设备和配置接口,再按 FIDO、OATH、OpenPGP 功能查阅子命令;oathtool 提供单独的一次性口令计算。

ykinfo · 从 YubiKey 获取基本信息 ​

更多信息:https://developers.yubico.com/yubikey-personalization/Manuals/ykinfo.1.html。

  • 显示 YubiKey 的所有信息:
bash
ykinfo -a
  • 仅获取 YubiKey 的十进制序列号:
bash
ykinfo -s -q
  • 获取 YubiKey 的功能:
bash
ykinfo -c

ykman · YubiKey 管理器 - 配置 YubiKey ​

如果连接了多个 YubiKey,您必须在子命令之前添加 --device serial_number。 更多信息:https://docs.yubico.com/software/yubikey/tools/ykman/index.html。

  • 显示 YubiKey 的一般信息(序列号、固件版本、功能等):
bash
ykman info
  • 列出已连接 YubiKey 的简短单行描述(包括序列号):
bash
ykman list
  • 查看关于启用和禁用应用程序的文档:

参见 ykman config。

  • 查看关于管理 FIDO 应用程序的文档:

参见 ykman fido。

  • 查看关于管理 OATH 应用程序的文档:

参见 ykman oath。

  • 查看关于管理 OpenPGP 应用程序的文档:

参见 ykman openpgp。

ykman config · 启用或禁用 YubiKey 应用程序 ​

注意:您可以使用 ykman info 查看当前已启用的应用程序。 更多信息:https://docs.yubico.com/software/yubikey/tools/ykman/Base_Commands.html#ykman-config-options-command-args。

  • 通过 USB 或 NFC 启用某个应用程序(--enable 可以多次使用以指定更多应用程序):
bash
ykman config {{usb|nfc}} {{[-e|--enable]}} {{otp|u2f|fido2|oath|piv|openpgp|hsmauth}}
  • 通过 USB 或 NFC 禁用某个应用程序(--disable 可以多次使用以指定更多应用程序):
bash
ykman config {{usb|nfc}} {{[-d|--disable]}} {{otp|u2f|fido2|oath|piv|openpgp|hsmauth}}
  • 禁用 NFC 上的所有应用程序:
bash
ykman config nfc {{[-D|--disable-all]}}

ykman fido · 管理 YubiKey FIDO 应用程序 ​

更多信息:https://docs.yubico.com/software/yubikey/tools/ykman/FIDO_Commands.html。

  • 显示 FIDO2 应用程序的一般信息:
bash
ykman fido info
  • 更改 FIDO 密码:
bash
ykman fido access change-pin
  • 列出存储在 YubiKey 上的常驻凭证:
bash
ykman fido credentials list
  • 从 YubiKey 中删除一个常驻凭证:
bash
ykman fido credentials delete {{id}}
  • 列出存储在 YubiKey 上的指纹(需要带有指纹传感器的密钥):
bash
ykman fido fingerprints list
  • 向 YubiKey 添加一个新指纹:
bash
ykman fido fingerprints add {{名称}}
  • 从 YubiKey 删除一个指纹:
bash
ykman fido fingerprints delete {{名称}}
  • 清除所有 FIDO 凭证(在超过密码重试次数之后需要执行此操作):
bash
ykman fido reset

ykman oath · 管理 OATH YubiKey 应用程序 ​

关键词 可以是名称或发行者的一部分。 更多信息:https://docs.yubico.com/software/yubikey/tools/ykman/OATH_Commands.html。

  • 显示有关 OATH 应用程序的一般信息:
bash
ykman oath info
  • 更改用于保护 OATH 账户的密码(添加 --clear 以移除密码):
bash
ykman oath access change
  • 添加一个新账户(--issuer 是可选的):
bash
ykman oath accounts add {{[-i|--issuer]}} {{发行者}} {{名称}}
  • 列出所有账户(及其发行者):
bash
ykman oath accounts list
  • 列出所有账户及其当前的 TOTP/HOTP 代码(可通过关键词过滤列表):
bash
ykman oath accounts code {{关键词}}
  • 重命名一个账户:
bash
ykman oath accounts rename {{关键词}} {{发行者:名称|名称}}
  • 删除一个账户:
bash
ykman oath accounts delete {{关键词}}
  • 删除所有账户并恢复出厂设置:
bash
ykman oath reset

ykman openpgp · 管理 OpenPGP YubiKey 应用程序 ​

注意:你需要使用 gpg --card-edit 来进行某些设置。 更多信息:https://docs.yubico.com/software/yubikey/tools/ykman/OpenPGP_Commands.html。

  • 显示有关 OpenPGP 应用程序的一般信息:
bash
ykman openpgp info
  • 分别设置用户 PIN码、复位代码和管理 PIN码的重试次数:
bash
ykman openpgp access set-retries {{3}} {{3}} {{3}}
  • 更改用户 PIN码、复位代码或管理 PIN码:
bash
ykman openpgp access change-{{pin|reset-code|admin-pin}}
  • 将 OpenPGP 应用程序恢复出厂设置(在超过管理 PIN码 重试次数后需要这样做):
bash
ykman openpgp reset

oathtool · OATH 一次性密码工具 ​

更多信息:https://www.nongnu.org/oath-toolkit/oathtool.1.html。

  • 生成 TOTP 令牌(行为类似于 Google Authenticator):
bash
oathtool --totp {{[-b|--base32]}} "{{密码}}"
  • 根据给定时间产生特定的 TOTP 令牌:
bash
oathtool --totp {{[-N|--now]}} "{{2004-02-29 16:21:42}}" {{[-b|--base32]}} "{{密码}}"
  • 验证 TOTP 令牌:
bash
oathtool --totp {{[-b|--base32]}} "{{密码}}" "{{令牌}}"

检查口令与分析隐写数据 ​

ZIP 的口令检查先提取 hash 再交给 john;hashcat 与 zsteg 分别处理口令恢复和隐写分析。

zip2john · 从 Zip 压缩文件中提取密码哈希,供 John the Ripper 密码破解程序使用 ​

这是一个通常作为 John the Ripper 安装的一部分安装的实用工具。 更多信息:https://www.openwall.com/john/。

  • 从一个压缩文件中提取密码哈希,列出压缩文件中的所有文件:
bash
zip2john {{路径/到/文件.zip}}
  • 仅使用特定压缩文件提取密码哈希:
bash
zip2john -o {{路径/到/压缩_文件}} {{路径/到/文件.zip}}
  • 从压缩文件中提取密码哈希到一个特定文件(供 John the Ripper 使用):
bash
zip2john -o {{路径/到/压缩_文件}} {{路径/到/文件.zip}} > {{文件.hash}}

john · 密码破解工具 ​

更多信息:https://www.openwall.com/john/。

  • 破解密码哈希:
bash
john {{路径/到/hashes.txt}}
  • 显示已破解的密码:
bash
john --show {{路径/到/hashes.txt}}
  • 按用户标识符从多个文件中显示用户的已破解密码:
bash
john --show --users={{用户标识符}} {{路径/到/hashes1.txt 路径/到/hashes2.txt ...}}
  • 使用自定义的单词列表破解密码哈希:
bash
john --wordlist={{路径/到/wordlist.txt}} {{路径/到/hashes.txt}}
  • 列出可用的哈希格式:
bash
john --list=formats
  • 使用特定的哈希格式破解密码哈希:
bash
john --format={{md5crypt}} {{路径/到/hashes.txt}}
  • 启用单词变形规则破解密码哈希:
bash
john --rules {{路径/到/hashes.txt}}
  • 从状态文件恢复一个中断的破解会话,例如:mycrack.rec:
bash
john --restore={{路径/到/mycrack.rec}}

hashcat · 快速且先进的密码恢复工具 ​

更多信息:https://hashcat.net/wiki/doku.php?id=hashcat。

  • 使用默认的 hashcat 掩码执行暴力破解攻击(模式 3):
bash
hashcat {{[-m|--hash-type]}} {{哈希类型id}} {{[-a|--attack-mode]}} 3 {{哈希值}}
  • 使用已知的 4 位数字模式执行暴力破解攻击(模式 3):
bash
hashcat {{[-m|--hash-type]}} {{哈希类型id}} {{[-a|--attack-mode]}} 3 {{哈希值}} "{{?d?d?d?d}}"
  • 使用最多 8 个可打印的 ASCII 字符执行暴力破解攻击(模式 3):
bash
hashcat {{[-m|--hash-type]}} {{哈希类型id}} {{[-a|--attack-mode]}} 3 --increment {{哈希值}} "{{?a?a?a?a?a?a?a?a}}"
  • 使用 Kali Linux 系统中的 RockYou 字典执行字典攻击(模式 0):
bash
hashcat {{[-m|--hash-type]}} {{哈希类型id}} {{[-a|--attack-mode]}} 0 {{哈希值}} {{/usr/share/wordlists/rockyou.txt}}
  • 使用经过常见密码变体规则变换的 RockYou 字典,执行字典攻击(模式 0):
bash
hashcat {{[-m|--hash-type]}} {{哈希类型id}} {{[-a|--attack-mode]}} 0 {{[-r|--rules-file]}} {{/usr/share/hashcat/rules/best64.rule}} {{哈希值}} {{/usr/share/wordlists/rockyou.txt}}
  • 连接两个不同自定义字典的单词并执行组合攻击(模式 1):
bash
hashcat {{[-m|--hash-type]}} {{哈希类型id}} {{[-a|--attack-mode]}} 1 {{哈希值}} {{/路径/到/字典.txt}} {{/路径/到/字典.txt}}
  • 显示已经破解的哈希值的结果:
bash
hashcat --show {{哈希值}}
  • 显示所有示例哈希值:
bash
hashcat --example-hashes

zsteg · 用于 PNG 和 BMP 文件格式的隐写术检测工具 ​

它检测 LSB 隐写术、ZLIB 压缩数据、OpenStego、Camouflage 和包含 Eratosthenes 集的 LSB。 更多信息:https://github.com/zed-0xff/zsteg。

  • 检测 PNG 文件中的嵌入数据:
bash
zsteg {{路径/到/image.png}}
  • 使用所有已知方法检测 BMP 图像中的嵌入数据:
bash
zsteg --all {{路径/到/image.bmp}}
  • 检测 PNG 中的嵌入数据,以垂直方式遍历像素并优先使用 MSB:
bash
zsteg --msb --order yx {{路径/到/image.png}}
  • 在 BMP 图像中检测嵌入数据,指定要考虑的位:
bash
zsteg --bits {{1,2,3|1-3}} {{路径/到/image.bmp}}
  • 检测 PNG 文件中的嵌入数据,仅提取素数像素并反转位:
bash
zsteg --prime --invert {{路径/到/image.png}}
  • 检测 BMP 图像中的嵌入数据,指定要找到的字符串的最小长度和查找模式:
bash
zsteg --min-str-len {{10}} --strings {{first|all|longest|none}} {{路径/到/image.bmp}}

继续阅读