当前位置: 首页 > news >正文

【学习记录】Linux 密码破解实战

文章目录

    • 📌 前言
    • 🔐 一、Linux 密码存储机制简介
      • 1. `/etc/shadow` 文件的作用
      • 2. 为何选择 `/etc/shadow` 攻击?
    • 📁 二、获取 `/etc/shadow` 文件
    • 💻 三、使用 John the Ripper 提取并破解 Hash
      • 步骤 1:安装 John the Ripper
      • 步骤 2:合并 `/etc/passwd` 与 `/etc/shadow`
      • 步骤 3:开始破解
    • 🔥 四、使用 Hashcat 破解 Hash
      • 步骤 1:准备 Hash 文件
      • 步骤 2:使用 Hashcat 破解 SHA-512 Hash
        • ✅ 使用字典攻击(模式 `-m 1800`)
        • ✅ 使用暴力破解(掩码攻击)
    • 📋 示例命令汇总
    • 🧠 五、总结


📌 前言

在渗透测试或安全研究过程中,获取目标系统的用户凭证是一项关键任务。与 Windows 不同,Linux 系统中用户的登录密码不会以明文形式存储,而是经过加密处理后以哈希值的形式保存在系统文件 /etc/shadow 中。

本文将详细介绍如何通过提取 Linux 系统中的 /etc/shadow 文件,并结合 John the RipperHashcat 进行本地哈希提取与爆破,从而实现对 Linux 用户密码的破解。

整个过程无需上传恶意工具,具备良好的隐蔽性和实用性,适用于红队渗透、取证分析等场景。


🔐 一、Linux 密码存储机制简介

1. /etc/shadow 文件的作用

在 Linux 系统中,用户的密码信息通常存储在 /etc/shadow 文件中,其格式如下:

username:password_hash:last_change:min_age:max_age:warning_period:inactivity_period:expiration_date:reserved_field
  • username:用户名;
  • password_hash:加密后的密码哈希(如 SHA-512);
  • 其余字段用于管理密码策略(如过期时间、最小最大使用天数等)。

📌 注意:只有 root 权限才能读取 /etc/shadow 文件内容。

2. 为何选择 /etc/shadow 攻击?

  • 无需上传工具:只需导出 /etc/shadow 文件即可完成信息提取;
  • 规避检测:直接读取系统文件,不易被杀毒软件或 EDR 检测;
  • 离线分析:可在本地环境中进行破解,不受目标网络环境限制;
  • 高价值信息:可获取所有用户账户的密码哈希,便于后续攻击。

📁 二、获取 /etc/shadow 文件

要获取 /etc/shadow 文件,你需要具有目标机器的 root 权限。可以通过 SSH 登录或其他方式访问目标机器,并执行以下命令复制文件:

scp root@target_machine:/etc/shadow /path/to/local/directory/

或者,先拷贝到临时目录再下载:

cp /etc/shadow /tmp/shadow_backup
scp root@target_machine:/tmp/shadow_backup /path/to/local/directory/

成功获取后,即可在本地进行下一步操作。


💻 三、使用 John the Ripper 提取并破解 Hash

John the Ripper 是一款广泛使用的开源密码破解工具,支持多种哈希算法,尤其擅长解析 /etc/shadow 文件。

步骤 1:安装 John the Ripper

在大多数 Linux 发行版中,可以通过包管理器安装:

sudo apt install john      # Debian/Ubuntu
sudo yum install john      # CentOS/RHEL

步骤 2:合并 /etc/passwd/etc/shadow

使用 unshadow 工具将两个文件合并成一个可用于 John 解析的格式:

unshadow /etc/passwd /etc/shadow > passwords.txt

如果你是在本地操作已下载的 shadow 文件:

unshadow /etc/passwd /path/to/local/shadow_backup > passwords.txt

步骤 3:开始破解

默认情况下,John 会尝试自动识别哈希类型并进行破解:

john passwords.txt

如果知道是 SHA-512 加密(现代 Linux 系统常用),可以指定格式:

john --format=sha512crypt passwords.txt

你也可以使用字典攻击加速破解:

john --wordlist=/path/to/your/dictionary.txt --format=sha512crypt passwords.txt

🔥 四、使用 Hashcat 破解 Hash

Hashcat 是目前最流行的多平台密码恢复工具之一,支持 GPU 加速,效率极高。

步骤 1:准备 Hash 文件

/etc/shadow 文件中提取纯哈希值,保存为 hashes.txt,内容示例如下:

$6$salt$hash_value
$6$salt$another_hash_value

📌 $6$ 表示使用的是 SHA-512 加密算法。


步骤 2:使用 Hashcat 破解 SHA-512 Hash

✅ 使用字典攻击(模式 -m 1800
hashcat -a 0 -m 1800 hashes.txt /path/to/your/dictionary.txt
  • -a 0:表示字典攻击模式;
  • -m 1800:SHA-512 crypt 哈希类型;
  • /path/to/your/dictionary.txt:自定义字典路径。
✅ 使用暴力破解(掩码攻击)

若无合适字典,也可尝试暴力破解:

hashcat -a 3 -m 1800 hashes.txt ?a?a?a?a?a?a?a?a --increment --increment-min=1 --increment-max=10
  • -a 3:掩码攻击模式;
  • ?a:代表任意字符(大小写+数字+符号);
  • --increment:递增长度破解;
  • --increment-min=1 ~ --increment-max=10:设置密码长度范围。

📋 示例命令汇总

类型工具命令模板
合并用户与密码unshadowunshadow /etc/passwd /etc/shadow > passwords.txt
自动破解John the Ripperjohn passwords.txt
指定哈希类型John the Ripperjohn --format=sha512crypt passwords.txt
字典攻击Hashcathashcat -a 0 -m 1800 hashes.txt dict.txt
暴力破解Hashcathashcat -a 3 -m 1800 hashes.txt ?a...

🧠 五、总结

本文详细介绍了如何从 Linux 系统中提取 /etc/shadow 文件,并结合 John the RipperHashcat 进行本地密码哈希的提取与破解。

主要优势包括:

  • 无需上传工具:仅需导出系统文件即可完成操作;
  • 规避检测:使用原生命令操作,降低被发现的风险;
  • 离线分析:可在本地进行高效破解,提升灵活性;
  • 获取高价值用户凭证:有助于进一步横向渗透。

📌 注意:本文仅供学习交流,请勿用于非法用途。未经授权获取他人系统权限属于违法行为。


💬 欢迎留言交流你在实际操作中遇到的问题,或分享你的经验技巧!

相关文章:

  • Seata 分布式事务 XA 模式
  • 什么是分布式锁?几种分布式锁分别是怎么实现的?
  • Python-多线程
  • 渗透测试服务如何全方位评估企业安全状况并揭示潜在缺陷?
  • 哈希表入门:用 C 语言实现简单哈希表(开放寻址法解决冲突)
  • Oj系统测试报告
  • 湖北理元理律师事务所:债务化解中的心理重建与法律护航
  • C++——智能指针 shared_ptr
  • SSH登陆Linux常见问题大全
  • 【unity游戏开发入门到精通——通用篇】AssetBundle(AB包)和AssetBundleBrowser的使用介绍
  • 【Unity】R3 CSharp 响应式编程 - 使用篇(二)
  • 树莓派上遇到插入耳机后显示“无输入设备”问题
  • Java异常信息
  • “详规一张图”——香港土地利用数据
  • 6. MySQL基本查询
  • 如何安装并使用RustDesk
  • 【BUG解决】关于BigDecimal与0的比较问题
  • MySQL 表的内连和外连
  • RAG-Gym:一个用于优化带过程监督的代理型RAG的统一框架
  • 关于Dify聊天对话名称无法自动生成的原因和解决方法
  • 青岛做网站哪家优化好/建站公司最新报价
  • 百度快照是什么/厦门seo优化
  • 如何做vip微信电影网站/营销推广工作内容
  • wordpress输密码查看/seo公司seo教程
  • asp.net 网站启动慢/有哪些推广平台和渠道
  • 开原网站制作/什么是seo网站优化