转载

0x01

前言:

今天拿了个linux的主机,提下来了,以前提成root之后就没深入过,这次想着先把root密码破解出来;

以前交洞的时候只是单纯证明存在/etc/passwd和/etc/shadow,但从没管过里面的hash;

看网上教程也很多,我也记录一下我的学习成果吧。

0x02

大家都知道,linux系统中有一个用户密码配置文件 /etc/shadow ,里面存放着用户名以及一串密文:

形如:

1
2

root:$6$7vXyCOws$Hp/xoGf50Kov51cy83h6CTYoQerInkAFWWYZL22640N6P0kgy9Gfy4NVndDa1hNUevqR122E7ykmA1BIIOg0C.:16821:0:99999:7:::
用户名:加密密码:上次更改密码的时间:最小更改密码间隔:密码有效期限:密码过期提示时间:密码锁定期:账户有效期:保留字段

另外一个 /etc/passwd 文件是用户账户配置文件,只保存用户账户的基本信息,并不保存密码信息。

形如:

1
2

root:x:0:0:root:/root:/bin/bash
用户名:密码:用户id:组ID:GECOS:主目录:默认Shell

0x03

由于咱们要破解是root密码,则只需要把/etc/shadow的root的加密密码拿出来即可;

1
$6$7vXyCOws$Hp/xoGf50Kov51cy83h6CTYoQerInkAFWWYZL22640N6P0kgy9Gfy4NVndDa1hNUevqR122E7ykmA1BIIOg0C.

最后小数点不要漏掉,因为这些文件内容格式都是:分割的,其余的都是内容;

这里来解释一下$分割的各个部分的含义:

1
2
3
4

6:表示一种类型标记为6的密码散列;
7vXyCOws:加盐(Salt)值;
Hp/xoGf50Kov51cy83h6CTYoQerInkAFWWYZL22640N6P0kgy9Gfy4NVndDa1hNUevqR122E7ykmA1BIIOg0C.:hash值;
!具体也就是magic、salt、password

将这段加密密码保存到一个文件里,文件后缀.hash;

咱们这里保存为1.hash。

0x04

kali下的一款hash破解工具 hashcat ,网上说的天花乱坠,我这直接记录关于咱们破解root密码的具体用法,其他用法类似,具体百度吧;

hashcat据官网说牛逼得很,每秒最快可爆破80亿数据;

咱们这里利用他的暴力破解,就是常说的爆破,这也是得看字典;

具体命令:

1
hashcat -m 1800 -a 0 -o found.txt 1.hash 1.txt

解释一下:

1
2
3
4
5

-m 是指定那种加密类型,1800是SHA-512(Unix)的代号,具体--help来查看;
-a  是指定攻击模式,0代表Straight模式,使用字典进行破解尝试;
-o 是破解出来的信息输出结果文件,输出到found.txt文件中;
1.hash 是我们上面保存的加密密码文件;
1.txt 是我们的爆破密码,越大越精越好;

这里碰到了一点小问题,hash-identifier 来看root密码检查是 SHA-256 加密,但这个并不是我这台机子linux的加密方式,使用这个是不能开始爆破的;

但这可以先记住一点:

1
2
3

linux 的/etc/shadow文件中hash算法包括缺省的DES经典算法、MD5哈希算法($1)、Blowfish加密算法($2或$2a)和SHA哈希算法($5或$6)。
因此利用hashcat进行破解的参数也不同,比如MD5哈希算法($1),使用hashcat -m 500参数;
SHA哈希算法($5或$6),使用hashcat -m 1800 参数。

具体标记如下:

1
2
3
4
5

1. $0 = DES
2. $1 = MD5
3. $2a(2y) = Blowfish
4. $5 = SHA-256
5. $6 = SHA-512

这里可以直接看magic标记值来直接判断,这里是6,所以是SHA-512的magic值1800;

回车开始爆破。

0x05

拿本地操作一下,放了个6000小字典,里面放上了虚拟机root的密码;

可以看到,很快就爆破出来了,每秒近700次,还是挺快的;

结果会在当前目录生产两个文件found.txt和hashcat.pot;

里面内容一样,都是爆破出来的结果;

0x06

1.hashcat支持市面上存在的近乎全部的hash加密,–help可以看到;

2.在并不知道密文的情况下,我们可以先使用hash-identifier来帮助检测下,虽然有的不准确;

3.各种加盐(salt)的顺序,以及hash值的具体得来的方式不同,也会导致加密的类型产生差别;

如同:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

0 = MD5
10 = md5($pass.$salt)
20 = md5($salt.$pass)
300= md5(unicode($pass).$salt)
40 = md5($salt.unicode($pass))
3300 = MD5(Sun)
3500 = md5(md5(md5($pass)))
3610 = md5(md5($salt).$pass)
3710 = md5($salt.md5($pass))
3720 = md5($pass.md5($salt))
3800 = md5($salt.$pass.$salt)
3910 = md5(md5($pass).md5($salt))
4010 = md5($salt.md5($salt.$pass))
4110 = md5($salt.md5($pass.$salt))
4210 = md5($username.0.$pass)
4300 = md5(strtoupper(md5($pass)))
4400 = md5(sha1($pass))
....

4.这里linux的密码只看$分割,其余字符都是内容,有点 . 也得带上。

转载于:https://www.cnblogs.com/shengulong/p/7561748.html

如何破解linux用户帐号密码二相关推荐

  1. 增加计算机用户名和密码,win7系统如何新增用户帐号

    Windows系统可以分配多个用户分别进行使用.那么win7系统如何新增用户帐号呢?学习啦小编分享了win7系统新增用户帐号的方法,希望对大家有所帮助. win7系统新增用户帐号方法一:进入控制面板增 ...

  2. 使用 OpenLDAP 集中管理用户帐号

    关键字: OpenLDAP ReiserFS SCTP nmon 正则表达式 使用轻量级目录访问协议(LDAP)构建集中的身份验证系统可以减少管理成本,增强安全性,避免数据复制的问题,并提高数据的一致 ...

  3. 在AD中批量添加多个用户帐号

    问题: 如何批量的创建帐号? 解决方案: 在利用CSVDE.EXE或LDIFDE.EXE来批量创建用户帐号 实验环境: Windows 2003 如果我们要想批量的创建帐号的话,我们可以首先利用文字编 ...

  4. mysql fulsh_MYSQL教程:MySQL用户帐号管理_MySQL

    MySQL用户帐号管理主要用grant(授权)和revoke(撤权)两个SQL指令来管理.这两个指令实质是通过操作user(连接权限和全局权限).db(数据库级权限).tables_priv(数据表级 ...

  5. HexorBase 登陆、执行语句、数据库帐号密码破解

    HexorBase Tool:整合了目前几大主流的数据库,包括登陆,执行语句,数据库帐号密码破解等功能. 安装HexorBase Tool,安装文件:hexorbase_1.0_all.deb 下载地 ...

  6. unix 服务器 密码修改,主流服务器UNIX操作系统用户帐号的设置.docx

    主流办事器UNIX操纵系统用户帐号的设置 账号设置 HP-UX FreeBSD Solaris (SPARC) 密码文件 /etc/passwd/tcb/files/auth/r/root /etc/ ...

  7. linux建立用户帐号的命令,有关Linux创建用户命令的详细讨论

    Linux系统用户的创建不同于windows系统,这里陈述一下Linux创建用户的命令.包括创建用户,修改密码,修改信息,新建群组. Linux创建用户命令1:创建新用户 useradd命令(也可以使 ...

  8. linux系统用户帐号管理

    Hellow,我是jack,今天给大家分享的是linux 系统的账号管理.话不多说,让我们直接进入正题. 俗话说"花有百样红",所以我们每个人在使用计算机使也会有不同的方式或方法, ...

  9. 重装系统后服务器不提示用户密码,明明没有设置密码,重装系统后开机要求输入帐号密码咋办?...

    原标题:明明没有设置密码,重装系统后开机要求输入帐号密码咋办? 时常有用户在重装系统后出现开机需要输入帐号密码的情况,其实这是由于Administrator管理员帐号被停用导致的,出现这情况只要进入安 ...

最新文章

  1. linux 程序收到sigsegv信号_信号
  2. python装饰器类-python_类装饰器
  3. switchhosts(本地域名解析)小工具使用
  4. Ajax学习(6)---服务器端脚本和程序中用 JSON 进行响应和回复
  5. ionic + cordova 使用 cordova-gallery-api 获取本地相册所有图片
  6. Caffe RPN:把RPN网络layer添加到caffe基础结构中
  7. 【牛客 - 551F】CSL 的神奇序列(推公式,猜结论,母函数)
  8. python sorted下标_Python学习教程(Python学习路线):第七天-字符串和常用数据结构
  9. 发生了未经处理的异常
  10. 东芝正式退出笔记本电脑业务!
  11. Python:程序生成Windows可执行文件/不显示命令执行窗口/无法生成exe报错TypeError: an integer is required (got type bytes)解决方法
  12. python 正则表达式1
  13. Kotlin Compose 标准组件
  14. Wordpress主题制作基础教程
  15. iOS开发企业版ipa分发
  16. IntelliJ IDEA运行内存设置
  17. 多元线性方程的python解法
  18. 188. 武士风度的牛
  19. Vue 中路由传参(动态路由匹配)
  20. SQL Server性能优化

热门文章

  1. ikun 潜入?疑似 B 站后台源码泄露
  2. new java.util.date_java.util.Date的替代品
  3. ctypealpha php_php中Ctype函数用法详解
  4. springboot+vue+element+mybatisplus项目(前端)
  5. 大学物理光学思维导图_头晕/眩晕问诊最全思维导图,赶紧收藏!
  6. 启动模拟器要20多分钟_有硬核开发者将Windows 10X模拟器镜像提取并在物理机上成功安装...
  7. react http请求_React组件的应用分析
  8. 怎么用计算机求浮动额,2015计算机一级考试MSOFFICE上机综合训练(5)
  9. mac xampp连接mysql数据库_在mac上如何使用终端打开XAMPP自带的MySQL
  10. python制作简单动画_用Tkinter Python制作简单动画