查看服务器是否存在可疑账号、新增账号
Windows 服务器排查
在 Windows 系统中,我们可以通过命令行工具、注册表和日志来查找异常账号
1. 使用命令行检查
查看本地所有用户账号 使用
net user
命令可以列出系统上的所有本地用户。仔细检查是否有不认识或命名异常的账号,例如:tempadmin
、testuser
、service_a
等net user
查看新增的管理员账号 使用以下命令可以查看本地管理员组的成员。如果发现新的或不熟悉的账号,需要重点排查
net localgroup administrators
查看最近创建的账号
lusrmgr.msc
(本地用户和组)是一个图形化界面,可以按创建日期排序。在命令行中,我们通常需要结合 安全日志 来进行排查
2. 检查安全事件日志
这是最可靠的方法之一。Windows 会记录用户创建、修改和删除等操作到安全事件日志中
事件查看器(Event Viewer)
- 打开事件查看器 (
eventvwr.msc
) - 导航到“Windows 日志” -> “安全”
- 使用“筛选当前日志”功能,输入以下事件 ID 进行筛选:
- 4720: 创建用户账号
- 4722: 启用用户账号
- 4724: 重置用户密码
- 4732: 将用户添加到本地安全组(如管理员组)
- 4728: 将用户添加到全局安全组
通过筛选这些事件 ID,你可以快速定位到账号被创建、启用或权限提升的时间点,并查看操作者(通常是 SYSTEM 或其他管理员账号)
- 打开事件查看器 (
Linux 服务器排查
在 Linux 系统中,我们可以通过检查系统文件和命令历史来发现异常账号
1. 检查关键系统文件
/etc/passwd
文件 这个文件包含了系统上所有用户的信息,每行代表一个用户。通常,系统的服务账号会以/sbin/nologin
或/bin/false
结尾,而可登录的用户通常以/bin/bash
或/bin/sh
结尾。 你可以使用cat
或less
命令查看,重点关注 UID(用户 ID),UID 小于 1000 的通常是系统账号,而 UID 大于 1000 的是普通用户cat /etc/passwd
要找到 UID 大于 1000 的账号,可以使用:
awk -F: '$3 >= 1000 {print $1}' /etc/passwd
/etc/shadow
文件 这个文件包含了用户的密码哈希值和密码过期信息。虽然不能直接看到密码,但它能确认用户的存在cat /etc/shadow
/etc/group
文件 这个文件定义了用户组。你可以检查sudo
、wheel
或root
等特权组,看是否有可疑用户被添加cat /etc/group
2. 查看登录历史和命令历史
查看用户登录历史 使用
last
命令可以查看所有用户的登录历史。检查是否有不正常的登录时间、来源 IP 地址或登录用户。last
使用
who
命令可以查看当前登录的用户who
查看命令历史 检查
/root/.bash_history
或/home/<username>/.bash_history
文件,看是否有添加用户的命令(如useradd
)cat /root/.bash_history | grep "useradd"
注意:攻击者可能会清除命令历史,所以这不能作为唯一的判断依据
3. 检查审计日志(Auditd)
如果你的 Linux 服务器配置了 auditd
服务,那你可以通过审计日志来获取更详细的信息。auditd
会记录系统上几乎所有的操作
事件 ID
auditd
记录用户创建的事件 ID 是 1000。你可以通过ausearch
命令来查询:ausearch -ua root -i | grep 1000
这个命令可以帮助你查找由 root 用户执行的账户创建操作