### 查看服务器是否存在可疑账号、新增账号

Windows 服务器排查

在 Windows 系统中，我们可以通过命令行工具、注册表和日志来查找异常账号

1. 使用命令行检查

- 查看本地所有用户账号 使用 `net user` 命令可以列出系统上的所有本地用户。仔细检查是否有不认识或命名异常的账号，例如：`tempadmin`、`testuser`、`service_a` 等

      net user

- 查看新增的管理员账号 使用以下命令可以查看本地管理员组的成员。如果发现新的或不熟悉的账号，需要重点排查

      net localgroup administrators

- 查看最近创建的账号 `lusrmgr.msc`（本地用户和组）是一个图形化界面，可以按创建日期排序。在命令行中，我们通常需要结合 安全日志 来进行排查

2. 检查安全事件日志

这是最可靠的方法之一。Windows 会记录用户创建、修改和删除等操作到安全事件日志中

- 事件查看器（Event Viewer）

  1. 打开事件查看器 (`eventvwr.msc`)
  2. 导航到“Windows 日志” -> “安全”
  3. 使用“筛选当前日志”功能，输入以下事件 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 用户执行的账户创建操作