开始介绍:本文章来源博主个人学习总结 。均为测试环境 。请勿用于商业 ,后果自负~
大佬勿喷~~~
Linux提权概述
一句话概括,在 Linux 中,我们进行权限提升的最终目标是获得一个以 root 用户身份运行的 shell。
环境:
靶机 :Linux Debian
攻击机:kali Linux
实操一:
shadow文件利用权限(可读)
*shadow文件是用来存储用户密码的
最初只有passwd文件,新发行版Linux passwd文件中,passwd密码段都用 ‘ X ’表示:(意味着,密码实际以哈希值存储在shadow文件中。)(这就是为什么cat /etc/shadow 会看到该文件中显示有哈希值的原因)
shadow和passwd的区别:(孪生兄弟)
1、枚举shadow文件(检查/etc/shadow文件的权限:)
命令:ls -liah /etc/shadow
看到shadow文件是可写的,那么它就是可以利用起来的
r:读
w:写
x:执行
2、查看shadow文件
命令:cat /etc/shadow
可以看到我环境里面有两条是带有哈希值的为root和user字段是~可读
即可考虑(暴力破解)
附1:正常的shadow文件是有两个哈希信息的。一个是root 一个是user ,user就是当前用户,root是我们 最感兴趣的,大家都知道
* 附2:现在Linux的发行中 ,密码都是在shadow文件中的;passwd文件中 并不存储,只用一个 X 来占位 ;但还是可以在可写的文件中直接写入密码
因操作文件比较重要,我们先要把passwd文件做一备份
cp /etc/passwd /tmp/passwd.bak
3、将有哈希值的记录贴出来,看有什么特征
只要有:$ 把它单独提取出来。( $ 要加转义符 \ )
命令:cat /etc/shadow | grep ':\$'
我们可以拿到root和user的哈希值,然后 创建一个存放hash值的文档(这里我是以hash命名)
4、使用John破解密码哈希:
命令:sudo john --wordlist=/usr/share/wordlists/rockyou.txt hash
5、su命令切换到root用户。
输入我们破解的root密码:password123
已登录到root
可读shadow文件利用提权演示完毕~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
实操二:
shadow文件利用权限(可写)
这里前3步和实操一 一样。简写~
1、枚举shadow文件(检查/etc/shadow文件的权限:)
命令:ls -l /etc/shadow
看到shadow文件是可读可写的,那么它也是可以利用起来的
我们可以把密码替换到我们自己的,然后切换到root用户
2、查看shadow文件
2.1 附:
<!--加密算法-->
<!--$6$开头的,表明是用SHA-512加密的,-->
<!--$1$ 表明是用MD5加密的-->
<!--$2$ 是用Blowfish加密的-->
<!--$5$ 是用 SHA-256加密的。-->
3、生成密码哈希
命令:mkpasswd -m sha-512 zmy
mkpasswd:生成Linux密码哈希
m为需要指定哈希的加密类型
zmy 为密码哈希(自定义)
常用的Linux密码的加密方式看哈希值的前几个字母就可以了
如不清楚 可自行用kali自带 hash-identifier 进行验证
4、替换shadow文件中root哈希值
命令: vim /etc/shadow
将生成的哈希值 替换到root 字段 后一个 : (分号)
保存 ,退出
5、su进入 root权限
看到命令行带有#号的,没问题已经进入到root账户
可写shadow文件利用提权演示完毕~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
实操三:
passwd文件利用提权(可写)
1、枚举passwd文件(检查/etc/passwd文件的权限:)
命令:ls -liab /etc/passwd
ls -lish /etc/passwd
可以看到该文件是可写的。可以利用
提示:或是通过历史记录等命令查看用户操作,也有可能会发现可以操作passwd文件的~~~
2、查看passwd
用一个‘ X ’来占位 。但还是可以在可写的文件中来写入密码。
但还是可以利用这种方式尝试提权
3、生成一个 自己密码的哈希
(使用openssl以密码"password"生成密码哈希值:)
5yinBM4eKKq6g(自己的哈希)
也到passwd文件中,替代占位的‘ X ’ :wq
4、su进入 root权限
拿到root权限
可写passwd文件利用提权演示完毕~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
记得备份 记得备份 记得备份(养成好习惯)