一、系统排查
1.Windows系统
msinfo32:
在命令框中输入:msinfo32打开系统消息(可以显示出本地计算机的 硬件资源、 组件和软件环境的信息。 除了各方面的概述信 息,还可以对正在运行任务、服务、系统驱动程序、加 载的模块、启动程序等进行排查。)
简单了解系统消息:systeminfo
2.Linux系统
lscpu:查看cpu信息
uname -a:
查看当前操作系统消息(或在命令行中输入【 cat /proc/version】命令, 可查 看当前操作系统版本信息)
lsmod:可查看所有已 载入系统的模块信息
二、用户信息
1.Windows系统
net user:可直接收集用 户账户信息
(注意, 此方法看不到以$结尾的隐藏账户), 若需查看某个账户的详细信息, 可在命令行中输 入【 net user username 】命令( username 为具体的用户 名)。使用【net user k8h3d】命令, 查看 k8h3d 账户的详细信息,或者直接到计算机管理中查看用户信息,或者使用D盾,名称以$结尾的 为隐藏账户,或者使用注册表方法,打开【注册表编辑器】窗口, 选择【HKEY _ LOCAL _ MACHINE】下的【SAM】选项, 为该项添 加【允许父项的继承权限传播到该对象和所有子对象。 包括那些在此明确定义的项目】和【用在此显示的可 以应用到子对象的项目替代所有子对象的权限项目】 权限,使当前用户拥有 SAM 的读取权限,添加权限完成后按【F5】键, 刷新后即可访问子项 并查看用户信息,也可以使用wmic 扩展 WMI(Windows Management Instrum- entation , Windows 管理工具) ,提供从命令行接口和 批命令脚本执行系统管理支持。在命令行中输入【 wmicuseraccount get name , SID】命令, 可以查看系统 中的用户信息
2.Linux系统
cat /etc/passwd:
查看系统所有用户信息可以在命令行中输入【 cat /etc/passwd】命令,后续各项由冒号隔开, 分别表 示“用户名”“密码加密”“用户 ID ”“用户组 ID ”“注 释”“用户主目录”“默认登录 shell ”,如图 2.1.20 所 示。查询的用户信息中,最后显“bin/bash”的, 表 示账户状态为可登录; 显示“sbin/nologin”的, 表示 账户状态为不可登录。
分析超级权限账户:
在命令行中输入【awk -F: '{if($3==0)print $1}' / etc/passwd】命令,可查询可登录账户 UID 为 0 的账 户, 如图 2.1.21 所示。 root 是 UID 为 0 的可登录账户, 如果出现其他为 0 的账户,就要重点排查。
查看可登录的账户:
在命令行中输入【 cat /etc/passwd | grep '/bin/ bash'】命令,可查看可登录的账户
查看用户错误的登录信息:
在命令行中输入【lastb】命令,可查看显示用户 错误的登录列表,包括错误的登录方法、 IP 地址、时间等
查看所有用户最后的登录信息:
在命令行中输入【lastlog】命令,可查看系统中 所有用户最后的登录信息
查看用户最近登录信息:
在命令行中输入【last】命令,可查看用户最近 登录信息(数据源为/var/log/wtmp 、 /var/log/btmp 、 / var/log/utmp),如图 2.1.25 所示。其中, wtmp 存储登 录成功的信息、 btmp 存储登录失败的信息、 utmp 存储 当前正在登录的信息。
查看当前用户登录系统情况:
在命令行中输入【who】命令,可查看当前用户 登录系统情况
查看空口令账户:
在命令行中输入【awk -F: 'length($2)==0 {print $ 1}' /etc/shadow】命令,可查看是否存在空口令账户