🍬 博主介绍👨🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
目录
前言
1、可读shadow文件利用提权
1、可写shadow文件利用提权
3、可写passwd文件利用提权
4、sudo环境变量提权
5、自动任务文件权限提权
6、自动任务path环境变量提权
7、自动任务通配符提权
8、SUID可执行文件已知利用提权
9、SUID共享库注入提权
10、SUID环境变量利用提权
11、巧用SUID-shell功能提权#1
12、巧用SUID-shell功能提权#2
13、ssh密钥敏感信息提权
14、NFS提权
15、doas less+vi提权
16、利用MOTD机制提权
17、可预测prng暴力破解ssh
前言
【「红队笔记」Linux提权精讲:演示2 - 重磅大作!Linux提权大赏,20种Linux渗透测试提权演示精讲一次看完,渗透测试必修课一次彻底搞定!】 「红队笔记」Linux提权精讲:演示2 - 重磅大作!Linux提权大赏,20种Linux渗透测试提权演示精讲一次看完,渗透测试必修课一次彻底搞定!_哔哩哔哩_bilibili
1、可读shadow文件利用提权
我们可以尝试读取/etc/passwd的加密密码,
$6$是SHA-512加密的,但是hash-identifier可能会误判为SHA-256,不过我们后续的john破解,没有指定format,John自己可以正确识别。
1、可写shadow文件利用提权
通过/etc/shadow文件的可写入权限,然后通过mkpasswd工具加密,然后写入到/etc/passwd中
在Kali Linux中,可以使用mkpasswd命令来生成加密后的密码,并将其保存到/etc/shadow文件中。你可以使用以下命令格式来生成加密后的密码:
mkpasswd -m <加密方法> <密码> <盐值>
<加密方法>
: 选择一种密码加密算法,比如SHA-256, SHA-512等。<密码>
: 要加密的密码。<盐值>
: 盐值是一个随机字符串,增加密码的复杂度。
例如,使用SHA-512算法加密密码password
,可以执行以下命令:
mkpasswd -m sha-512 password
3、可写passwd文件利用提权
openssl passwd routing
在Kali Linux中使用命令openssl passwd routing
是用于生成OpenSSL加密后的密码字符串。这个命令会将routing
这个明文密码使用OpenSSL提供的默认加密算法(通常是SHA-256、SHA-512)加密,生成加密后的密码字符串。这个功能通常用于生成加密后的密码,以便手动更新系统的密码文件,比如/etc/shadow文件中的密码字段。
4、sudo环境变量提权
5、自动任务文件权限提权
cat /etc/crontab
6、自动任务path环境变量提权
7、自动任务通配符提权
8、SUID可执行文件已知利用提权
find / -user root -perm -4000 -print 2>/dev/null
9、SUID共享库注入提权
10、SUID环境变量利用提权
11、巧用SUID-shell功能提权#1
12、巧用SUID-shell功能提权#2
13、ssh密钥敏感信息提权
拿到openssl密钥,然后利用密码进行免密码登录操作
在 Kali Linux 中,使用 OpenSSL 生成私钥,并使用私钥进行 SSH 登录的过程如下:
- 生成 RSA 私钥:首先使用 OpenSSL 生成一个 RSA 私钥文件。可以通过以下命令生成一个 2048 位的 RSA 私钥:
openssl genrsa -out privateKey.pem 2048
- 转换私钥格式:生成的私钥文件默认为 OpenSSL 的 PEM 格式,而 SSH 需要的是 OpenSSH 格式。可以使用以下命令转换私钥格式:
openssl rsa -in privateKey.pem -outform PEM -out privateKey.openssh
- 将私钥添加到 SSH 代理:使用以下命令将私钥添加到 SSH 代理中:
ssh-add privateKey.openssh
- 通过 SSH 登录:现在你可以通过 SSH 登录到目标主机,并使用私钥进行身份验证。假设远程主机的用户名为 "username",IP 地址为 "remote_host_ip",可以使用以下命令:
ssh -i privateKey.openssh username@remote_host_ip
这样就可以使用生成的 OpenSSL 私钥文件进行 SSH 登录了。请确保私钥文件的权限设置正确,通常私钥文件的权限应为 600。