网络安全-Linux渗透测试5
Linux渗透测试
su用户切换
su机制介绍
su(substitute user):切换/替换用户
- root切换为任何可登录的用户,无需密码
- 普通用户切换至其他用户时,需要验证目标用户的密码
- 不指定目标用户时,默认切换为root
su基本用法
切换到新用户的登录环境
- 执行su - 用户名 进入新的用户环境
- 执行exit返回原来的用户
1 | [root@ntd ~]# su - student //切换为student,其中 - 表示登录 |
禁止滥用su切换权限
通常情况下,任何用户都被允许使用su 切换
但openEuler中启用了wheel组限制
- 除了root以外,只有加入wheel组的用户才被允许使用su
- 切换其他人使用su切换时,会提示拒绝权限
1 | [root@ntd ~]# useradd student //创建student用户 |
使用su切换
- 将用户添加到wheel组中
1 | [root@ntd ~]# gpasswd -a student wheel //将student用户加入到wheel组 |
- 取消wheel组限制(注释配置项使其失效)
1 | [root@ntd ~]# vi /etc/pam.d/su |
su操作日志
安全日志/var/log/secure文件
- 记录了用户登录、切换相关的事件信息
- 查找su-l关键词(/su-l),可以找到与使用su切换用户相关的消息
1 | [root@ntd ~]# less /var/log/secure |
sudo命令提权
sudo机制介绍
sudo(super doing):执行管理员授权的命令
- 允许授权用户代替管理员(或其他用户) 来完成预先授权的命令
- 授权用户、授权命令需要提前配置
- 通过sudo执行命令时,只验证自己的密码 (5分钟内不重复验证)
配置sudo授权
使用visudo专用工具
- 授权规则:用户名 本机可用主机名列表=(用户身份) 授权命令列表
- 不指定用户身份时,缺省为root
- 指定用户组使用%组名
1 | [root@ntd ~]# visudo |
sudo基本用法
sudo -l:查看自己的sudo授权
1 | [zy@ntd ~]$ sudo -l |
执行管理员已允许提权的命令
- sudo 命令
1 | [zy@ntd ~]$ mkdir /zydir //正常使用,无权在/下创建子目录 |
开启sudo操作日志
- 日志审计功能默认不开启
- 如果需要,可以手动开启sudo操作日志
1 | [root@ntd ~]# visudo |
1 | [root@ntd ~]# cat /var/log/sudo //查看sudo记录 |
systemctl系统控制
systemctl工具
用户主要通过systemctl来控制系统和服务状态
启动、停止、重启服务
基本用法
- systemctl –type service //列出所有服务
- systemctl start service //启动服务
- systemctl stop service //停止服务
- systemctl restart service //重启服务
1 | [root@ntd ~]# systemctl --type service |
检查服务状态
基本用法
- systemctl is-active 服务名 //检查服务状态(简洁)
- systemctl status 服务名 //检查服务状态(详细)
主要看Active:信息
- active(running)表示运行中,inactive(dead)表示已停止
1 | [root@ntd ~]# systemctl start firewalld //开启防火墙服务 |
允许服务开机自启动
基本用法
- systemctl enable 服务名 //允许开机自启
- systemctl enable –now 服务名 //允许开机自启,并立即启动
- systemctl is-enabled 服务名 //查看是否设置为开机自启
1 | [root@ntd ~]# systemctl enable firewalld //设置防火墙服务开机自启 |
禁止服务开机自启动
基本用法
- systemctl disable 服务名 //禁止开机自启
- systemctl disable –now 服务名 //禁止开机自启,并立即停止服务
1 | [root@ntd ~]# systemctl disable firewalld //禁止防火墙服务开机自启 |
SELinux防护
SELinux介绍
Security Enhanced Linux,安全增强型Linux系统
源于美国国家安全局(NSA) 强制保护安全策略
- 主要针对Linux系统中的文件、进程等提供策略保护
- 用户只分配“需要”的最小权限
- 进程只访问“需要”的资源
- 网络服务只能开启“需要”的端口
查看SELinux运行状态
三种运行状态
- Enforcing,强制(严格按策略执行保护)
- Permissive,宽松(若有违规会记录,但不会做真正限制)
- Disable,禁用(内核不加载SELinux)
检查当前的SELinux运行状态
1 | [root@ntd ~]# getenforce //获取SELinux状态 |
切换SELinux运行状态
立即切换(在“强制”与“宽松”之间)
- 使用setenforce 1|0,执行后立即生效
1 | [root@ntd ~]# setenforce 0 //切换为宽松模式 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Nicopilot!