0x01
前言:
今天拿了个linux的主机,提下来了,以前提成root之后就没深入过,这次想着先把root密码破解出来;
以前交洞的时候只是单纯证明存在/etc/passwd和/etc/shadow,但从没管过里面的hash;
看网上教程也很多,我也记录一下我的学习成果吧。
0x02
大家都知道,linux系统中有一个用户密码配置文件 /etc/shadow ,里面存放着用户名以及一串密文:
形如:
|
1
2
|
:
:保留字段
|
另外一个 /etc/passwd 文件是用户账户配置文件,只保存用户账户的基本信息,并不保存密码信息。
形如:
|
1
2
|
bash
Shell
|
0x03
由于咱们要破解是root密码,则只需要把/etc/shadow的root的加密密码拿出来即可;
|
1
|
.
|
最后小数点不要漏掉,因为这些文件内容格式都是:分割的,其余的都是内容;
这里来解释一下$分割的各个部分的含义:
|
1
2
3
4
|
;
)值;
hash值;
password
|
将这段加密密码保存到一个文件里,文件后缀.hash;
咱们这里保存为1.hash。
0x04
kali下的一款hash破解工具 hashcat ,网上说的天花乱坠,我这直接记录关于咱们破解root密码的具体用法,其他用法类似,具体百度吧;
hashcat据官网说牛逼得很,每秒最快可爆破80亿数据;
咱们这里利用他的暴力破解,就是常说的爆破,这也是得看字典;
具体命令:
|
1
|
1.txt
|
解释一下:
|
1
2
3
4
5
|
help来查看;
;
;
是我们上面保存的加密密码文件;
是我们的爆破密码,越大越精越好;
|
这里碰到了一点小问题,hash-identifier 来看root密码检查是 SHA-256 加密,但这个并不是我这台机子linux的加密方式,使用这个是不能开始爆破的;
但这可以先记住一点:
|
1
2
3
|
6)。
500参数;
参数。
|
具体标记如下:
|
1
2
3
4
5
|
DES
MD5
Blowfish
256
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
|
MD5
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
.
|
4.这里linux的密码只看$分割,其余字符都是内容,有点 . 也得带上。