在攻防演练中,作为蓝方(防守方),检查 CentOS 操作系统中是否存在隐藏的用户以及是否有未授权的权限获取是非常重要的。以下是一些检查步骤和工具的使用方法,这些可以帮助你确保系统的安全和完整性。
1. 检查系统用户
查看 /etc/passwd
文件
这个文件包含了系统上所有用户的列表。你可以通过以下命令查看:
bash
cat /etc/passwd
这将列出所有用户和它们的信息,包括登录名、用户ID(UID)、组ID(GID)、家目录以及默认的shell。
检查没有登录shell的用户
有些隐藏用户可能没有分配有效的shell,这些通常是系统或服务账户,但也可能是潜在的隐藏用户:
bash
awk -F: '$7 == "/sbin/nologin" {print $1}' /etc/passwd
或者检查 /usr/sbin/nologin
和 /bin/false
:
bash
awk -F: '($7 == "/sbin/nologin" || $7 == "/bin/false") {print $1}' /etc/passwd
2. 检查用户登录记录
查看当前登录的用户
使用 who
或 w
命令查看当前登录到系统的用户:
bash
who
或者
bash
w
查看最近登录的用户
使用 last
命令可以查看系统最近用户登录的记录:
bash
last
3. 查看系统进程和活动
检查当前运行的进程
使用 ps
命令检查所有运行的进程,并搜索非标准路径或者未知的执行文件:
bash
ps aux
4. 检查特权获取和提升
查看有 root 权限的进程
bash
ps aux | grep '^root'
检查 sudo 权限的历史记录
bash
cat /var/log/secure | grep sudo
5. 检查启动项和服务
未授权的服务或者脚本可能被配置为启动时执行:
bash
systemctl list-unit-files --type=service
检查 /etc/rc.local
和 Cron 任务:
bash
crontab -l
cat /etc/crontab
6. 检查网络活动
查看当前网络连接
使用 netstat
或 ss
查看活动的网络连接:
bash
netstat -tulnp
或者
bash
ss -tulnp
7. 使用安全工具
可以使用如 Lynis 或 chkrootkit 这样的安全审计工具进行全面检查:
bash
# Lynis
lynis audit system
# chkrootkit
chkrootkit
通过上述步骤,你可以在一定程度上发现潜在的隐藏用户和未授权的权限获取行为。确保定期进行这些检查,以维护系统的安全性。