前言
虽然 Windows 仍然是最常见的桌面操作系统,尤其是在企业环境中,但Linux也占据了很大一部分。特别是,Linux 在为企业托管不同服务的服务器中非常普遍。
在企业环境中,攻击者最常见的两个入口点是通过面向公众的服务器或通过个人使用的终端。由于Linux可以在这两个中的任何一个中找到,因此了解如何在 Linux 机器上查找取证信息是很有用的
虽然国内有以取证大师为代表作的取证工具,但是对于自己更好的学习电子取证这一块的技术,我宁愿手搓。希望各位大佬提供宝贵的建议,那我们就开始吧
我们将学习:
- 不同发行版
- 操作系统信息,内核信息,账户信息
- 正在运行的进程、已执行进程和计划运行的进程的信息
- 查找系统日志文件并从中识别信息
- Linux中常用的第三方应用及其日志
发行版本
关于发行版本这一块不做过多介绍,主要有:
- Ubuntu
- Redhat
- ArchLinux
- Open SUSE
- Linux Mint
- CentOS
- Debian
以ubuntu为例(不同的发行版有不同)
操作系统和账户信息
查找操作系统版本信息,配置文件位置/etc/os-release或/etc/lsb-release
(老一点的版本只有/etc/issue
)
cat /etc/issue或/etc/os-release或/etc/lsb-release
lsb_release -a
查找内核版本信息,在/proc/version
(关于/proc 文件系统只是系统内核的映像)
cat /proc/version
uname -a
uname -r
查找用户信息,在/etc/passwd
系统上存在的用户帐户的信息。我们可以使用该cat
程序来读取此文件。输出包含7个冒号分隔的字段,描述了用户名、密码信息、用户标识(uid)、组标识(gid)、描述、主目录信息以及用户登录时执行的默认shell。可以注意到就像 Windows 一样,用户创建的用户帐户的 uid 为 1000 或更高。可以使用以下命令使其更具可读性:
cat /etc/passwd | column -t -s :
我们可以看到用户ubuntu的信息。用户名为ubuntu,其密码信息字段显示为x
,表示密码信息存储在/etc/shadow
文件中。用户的 uid 是 1000。gid 也是 1000。通常包含全名或联系信息的描述中提到了 Ubuntu 这个名字。主目录设置为/home/ubuntu
,默认 shell 设置为/bin/bash
. 我们也可以从文件中看到关于其他用户的类似信息
查看工作组信息,/etc/group
文件包含有关主机上存在的不同用户组的信息
cat /etc/group
可以看到用户ubuntu
属于该adm
组,该组在文件中存储了一个密码/etc/shadow
,由字符表示x
。gid 为 4,该组包含 2 个用户,syslog 和 ubuntu。
Sudoers列表,只允许那些用户将权限提升到Sudoers 列表中的权限。该列表存储在文件中/etc/sudoers
(要提升权限)
sudo cat /etc/sudoers
sudo -l
登录信息,在 /var/log
目录下,我们可以找到各种日志文件,wtmp
包括btmp
该 btmp
文件保存有关失败登录的信息,同时wtmp
保留登录的历史数据。这些文件不是可以使用cat
,less
或读取的常规文本文件vim
;相反,它们是二进制文件,必须使用last
实用程序读取
sudo last -f /var/log/wtmp
last
打个码意思一下
身份验证日志,
每个在Linux主机上进行身份验证的用户都会记录在身份验证日志中。授权日志是放置在 location 中的文件/var/log/auth.log
。可以使用该实用程序读取它,cat
但是,鉴于文件的大小,我们可以使用tail
、或head
,more
,less
更加容易阅读
cat /var/log/auth.log | tail
可以看到我用sudo的su切换到root用户,直接被记录下来
欲知后事如何,请听下回分解
不积跬步无以至千里,不积小流无以成江河