渗透测试--5.3.使用john破解密码
前言
由于Linux是Internet最流行的服务器操作系统,因此它的安全性备受关注。这种安全主要靠口令实现。
Linux使用一个单向函数crypt()来加密用户口令。单向函数crypt()从数学原理上保证了从加密的密文得到加密前的明文是不可能的或是非常困难的。当用户登录系统时,系统并不是去解密已加密的口令,而是将输入的口令明文字符串传给加密函数,将加密函数的输出与/etc/passwd文件中该用户的PASSWORD域进行比较,若匹配成功,则允许用户登录系统。
在目前多数Linux系统中,口令文件都做了shadow变换,即把/etc/passwd中的口令域分离出来,单独存在/etc/shadow文件中,并加强对shadow文件的保护,以增强口令安全。因此,在破解密码是,要先做UNshadow变换,将/etc/passwd文件与/etc/shadow文件合二为一。
Linux 系统下的用户密码存储在 /etc/shadow (hash值)或者 /etc/passwd 文件中。如果有管理员权限,则可以从这两个文件中获取加密后的密码 hash,然后使用 john 等工具进行密码破解。要破解 Linux 系统用户密码,可以使用暴力破解或者字典攻击的方式进行尝试。
目录
前言
1、john简介
2、john参数
3、john实例
步骤一: 合并密码文件
步骤二: 使用John工具进行密码破解
1、john简介
John the Ripper一款免费、开源的暴力密码破解器,它有多平台版本,支持目前大多数的加密算法,如DES、MD4、MD5等。该软件破解密码方式简单而粗暴,理论上只要时间上面允许,该软件可以破译绝大多数用户密码。
John the Ripper免费的开源软件,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。
2、john参数
John支持四种密码破解模式:
- 1.字典模式:在这种模式下,用户只需要提供字典和密码列表用于破解。
- 2.单一破解模式:这是john作者推荐的首选模式。John会使用登录名、全名和家庭通讯录作为候选密码。
- 3.递增模式:在该模式下john会尝试所有可能的密码组合。这是最具威力的一种。
- 4.外部模式:在这种模式下,用户可以使用john的外部破解模式。使用之前,需要创建一个名为(list.external : mode)的配置文件,其中mode有用户分配。
下面是 John the Ripper 常用的参数和选项:
--wordlist=<file>: 指定密码字典文件路径。
--rules: 使用密码破解规则,如大小写互换、添加特殊字符等。
--stdin: 从标准输入中读入密码,适用于使用管道等方式输入密码。
--format=<format>: 指定哈希算法类型,如MD5、SHA-1、SHA-256等。
--show: 显示已破解的密码。
--pot=<file>: 指定已破解密码的保存文件路径。
--incremental: 使用增量模式进行破解,尝试所有可能的密码组合。
--session=<name>: 为当前破解会话指定名称。
--status: 显示当前破解进度。
--fork=<n>: 指定使用多少个进程进行并行破解。
--mask: 使用掩码模式进行暴力破解,限制密码的可能字符类型。
以上是 John the Ripper 常用的参数和选项,可以根据需要进行组合使用。
3、john实例
使用unshadow命令及John工具破解某一Linux系统靶机的用户密码,并实现明文输出显示。
步骤一: 合并密码文件
在Linux系统中,密码哈希值通常存储在/etc/shadow文件中,只有root用户才能读取和修改该文件,
使用unshadow命令生成一个含有/etc/passwd和/etc/shadow文件信息合并的文件:
sudo unshadow /etc/passwd /etc/shadow > gyp

步骤二: 使用John工具进行密码破解
Linux使用一个单向函数crypt()来加密用户口令,所以密码算法为crypt 的hash算法,
john --format=crypt gyp

可以看到破解了三个用户的密码为:kali
相关文章:
渗透测试--5.3.使用john破解密码
前言 由于Linux是Internet最流行的服务器操作系统,因此它的安全性备受关注。这种安全主要靠口令实现。 Linux使用一个单向函数crypt()来加密用户口令。单向函数crypt()从数学原理上保证了从加密的密文得到加密前的明…...
Go中的变量类型
Go中的变量类型 1.为什么要使用变量 变量其实指定的是一段内存地址,根据这个内存地址可以找到我们需要找到的东西。 2.变量类型 变量的功能就是用来存储数据的,根据不同的数据类型可以存储不同的数据。常见的变量的类型 整型、浮点型、布尔型等。变…...
基于STM32的NRF24L01 2.4G通讯模块的驱动实验(HAL库)
前言:本文为手把手教学NRF24L01 2.4G通讯模块的驱动实验,本教程的 MCU 采用STM32F103ZET6与STM32F103C8T6,彼此进行互相通讯。通过 CubeMX 软件配置 SPI 协议驱动NRF24L01 2.4G通讯模块(HAL库)。NRF24L01 2.4G是嵌入式…...
DJ5-3 多路访问链路和协议
目录 一、网络链路 二、广播信道要解决问题 三、多路访问协议 1、基本介绍 2、多路访问协议的类型(3) 四、信道划分协议 1、时分多路访问 TDMA 2、频分多路访问 FDMA 3、码分多路访问 CDMA(略) 五、随机访问协议 1、纯…...
技术领导力?
作品集(Portfolio)会比简历(Resume)更有参考意义。 怎么才算有技术领导力? 1) 能够发现问题,并能够提供解决问题的思路和方案,并能比较方案的优缺点。 2) 能用更简洁有效的方式解决问题。 3…...
计算机的基本工作原理
参考资料: L-1.6: Common Bus system| How basic computer works - YouTube 准备好内存单元、不同类型的寄存器,内存和寄存器、寄存器和寄存器之间都是通过总线连接(假设是直接把数据总线、控制总线、地址总线变成一条总线)。 使用多路复用器实现的总线&…...
【论文简述】Cross-Attentional Flow Transformer for Robust Optical Flow(CVPR 2022)
一、论文简述 1. 第一作者:Xiuchao Sui、Shaohua Li 2. 发表年份:2021 3. 发表期刊:arxiv 4. 关键词:光流、Transformer、自注意力、交叉注意力、相关体 5. 探索动机:由于卷积的局部性和刚性权重,有限…...
【JAVA】Java中方法的使用,理解方法重载和递归
目录 1.方法的概念及使用 1.1什么是方法 1.2方法的定义 1.3方法调用的执行过程 1.4实参和形参 2.方法重载 2.1为什么需要使用方法重载 2.2什么是方法重载 3.递归 3.1什么是递归 3.2递归执行的过程 3.3递归的使用 1.方法的概念及使用 1.1什么是方法 方法就是一个代…...
高级网络计算模式复习
P2P 对等网络(Peer-to-Peer Networks)是分布式系统和计算机网络相结合的产物,在应用领域和学术界获得了广泛的重视和成功,被称为“改变Internet的一代网络技术”。 peer指网络结点,在行为上是自由的——任意加入、退…...
【笔试强训选择题】Day15.习题(错题)解析
作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!! 文章目录 前言 一、…...
图论专题(一)
图论专题(一) 参考文献 BFS和DFS的直观解释 https://blog.csdn.net/c406495762/article/details/117307841Leetcode岛屿问题系列分析 https://blog.csdn.net/qq_39144436/article/details/124173504多源广度优先 https://blog.csdn.net/peko1/article/details/121989497拓扑排…...
新星计划2023【网络应用领域基础】————————Day4
常见的网络基础介绍 前言 我们学习了一些基础的网络协议,以及子网掩码和vlan,同时也做了个简单的单臂路由实验 这篇文章我将仔细的讲解单臂路由的应用和交换机二层接口类型,以及wireshark的教程。 一,交换机二层接口 交换机的二…...
[CTF/网络安全] 攻防世界 view_source 解题详析
[CTF/网络安全] 攻防世界 view_source 解题详析 查看页面源代码方式归类总结 题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。 查看页面源代码方式归类 单击鼠标右键,点击查看页面源代码: …...
目前流行的9大前端框架
1. React 2. Vue 3. Angular 、 4. Svelte 官网:https://svelte.dev 中文官网:https://www.sveltejs.cn Svelte 是一种全新的构建用户界面的方法。传统框架如 React 和 Vue 在浏览器中需要做大量的工作,而 Svelte 将这些工作放到构建应用程…...
【mysql】explain执行计划之select_type列
目录 一、说明二、示例2.1 simple:简单表,不使用union或者子查询2.2 primary:主查询,外层的查询2.3 subquery:select、where之后包含了子查询,在select语句中出现的子查询语句,结果不依赖于外部…...
网易云音乐开发--音乐播放暂停切换上下首功能实现
音乐播放暂停功能实现 封装一个控制音乐播放/暂停的功能函数 看一下文档,我需要用的api 这个接口好像没有音频的url,查看一下,换个api 这样就能拿到id,并可以播放了 但是音乐并没有播放 我们少了这个 现在可以播放了ÿ…...
如何学习网络安全?
近半年我一直在整理网络安全相关资料,对于网络安全该怎么入门我谈谈我的看法,网络安全一直处于法律的边缘,学的不好或者剑走偏锋一下子人就进去了,所以我建议入门前先熟读《网络安全法》,除此之外还有《互联网安全产品…...
软件测试适合女生吗?
大家好,我是程序员馨馨,一个混过大厂,待过创业公司,有着 6 年工作经验的软件测试妹纸一枚。之前在也写过几篇文章,之后很多朋友过来咨询女生能不能做软件测试。 今天索性写篇文章,详细的介绍一下软件测试&a…...
华为云——代码托管的使用
一、打开前后端项目 登录华为云,点击页面右上角的用户名——点击个人设置 2.点击代码托管的HTTPS密码管理,设置自己的密码 3.回到代码仓库,复制HTTP地址 4.打开GitHubDesktop,点击左上角进行仓库克隆 (我这里已经cl…...
ChatGPT从⼊⻔到精通
编者寄语 ChatGPT 作为⼀种强⼤的⾃然语⾔处理模型,已经成为人工智能领域的重要研究⽅向之⼀。在不断的发展和创新 中,ChatGPT 已经具备了很强的⾃然语⾔处理能⼒,其可以实现⾃然语⾔的⽣成、理解和交互,为⼈类的⽣产和⽣活带来了…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 ; List<Integer> evens new ArrayList…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
