修改文件/终端属性
修改文件创建时间
如果蓝队根据文件修改时间来判断文件是否为后门,如果参考 index.php 的时间再来看 shell.php 的时间就可以判断 shell.php 的生成时间有问题。那么此时我们可以利用touch命令修改文件创建时间来进行隐藏。
touch -r index.php shell.php
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
文件锁定
在Linux中,使用chattr命令来防止root和其他管理用户误删除和修改重要文件及目录,此权限用ls -l是查看不出来的,从而达到隐藏权限的目的。
chattr +i shell.php #锁定文件 rm -rf shell.php #提示禁止删除 lsattr shell.php #属性查看 chattr -i shell.php #解除锁定 rm -rf shell.php #彻底删除文件
历史操作命令
在我们做攻防的时候,通常不希望自己的命令被记录下来,因为一旦被记录下来就很容易判断是否主机是否沦陷并借此进行溯源,那么此时我们就需要在拿到shell之后进行一个设置,让Linux不去记录我们的命令:
[space]set +o history #备注:[space] 表示空格。并且由于空格的缘故,该命令本身也不会被记录
上面的命令会临时禁用历史功能,这意味着在这命令之后你执行的所有操作都不会记录到历史中,然而这个命令之前的所有东西都会原样记录在历史列表中。
要重新开启历史功能,执行下面的命令:
[Space]set -o history #将环境恢复原状
当然,如果刚开始忘了进行设置,也可以通过后续删除历史记录来进行清楚痕迹。
删除大规模历史操作记录,这里,我们只保留前150行:
sed -i '150,$d' .bash_history
假设历史记录中已经包含了一些你不希望记录的命令。这种情况下我们怎么办?很简单。通过下面的命令来删除:
history | grep "keyword"
输出历史记录中匹配的命令,每一条前面会有个数字。从历史记录中删除那个指定的项:
history -d [num]