记录 yara-l 在 IP 列表上没有失败

问题描述 投票:0回答:1

尝试在 Google SecOps (Chronicle) 中创建规则来检测未知用户和/或未知 IP 是否已成功登录服务器。如果已知用户从未知 IP 登录,则应触发检测规则。

 events:
    //implicit "and" between lines
    //looking for user login events in auditd
    $event.metadata.log_type = "AUDITD"
    $event.metadata.event_type = "USER_LOGIN"

    //put the user ID and IP in the event header
    $userID = strings.to_lower($event.about[0].user.user_display_name)
    $userIP = $event.principal.ip[0]

    //looking for the sshd command
    $event.principal.process.file.full_path = "/usr/sbin/sshd"

    //IP needs to be populated, and not in known IPs list
    ($event.principal.ip[0] != "" and not ($event.principal.ip[0] in cidr %known_ips))

    //successful login, there are tons of failed attempts
    $event.security_result[0].action_details = "success"

    //user not in the known users list
    not ($userID in %known_users)

  match:
      $userID, $userIP over 1m

  condition:
    $event

如果我从known_users列表中注释掉用户ID,该规则将触发并在检测行上显示用户ID和用户IP。如果用户在列表中,并且该 IP 从known_ips 列表中删除,则规则不会检测到它。

我尝试了以下方法,但没有成功:

  • 不是(cidr %known_ips 中的 $event.principal.ip[0])

我什至制作了一个字符串列表,在其中放置了一个随机 IP,而不是我正在测试的 IP,这也不会触发规则。

  • 不是(%known_ip_str 中的 $userIP)
yara devsecops
1个回答
0
投票

解决了。

我把未知用户ID和未知登录IP的检测分开了。两条规则完全相同,一条规则查找不在列表中的用户 ID。另一个为不在列表中的用户IP。两者都有效!!

© www.soinside.com 2019 - 2024. All rights reserved.