非浏览器进程的外部IP查找

编辑

识别攻击者用于入侵后IP查找的常用域名。攻击者在访问系统后,通常会测试互联网访问并获取其外部IP地址。例如,在利用信息窃取程序 Trickbot 的活动中观察到这种行为。

规则类型: eql

规则索引:

  • logs-endpoint.events.network-*

严重性: 低

风险评分: 21

每隔: 5m

搜索索引自: now-9m (日期数学格式,另请参阅 其他回溯时间)

每次执行的最大警报数: 100

参考:

标签:

  • 领域: 端点
  • 操作系统: Windows
  • 用例: 威胁检测
  • 战术: 发现
  • 资源: 调查指南
  • 数据源: Elastic Defend
  • 规则类型: BBR

版本: 108

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查非浏览器进程的外部IP查找

成功入侵环境后,攻击者可能会尝试获取态势感知以规划下一步行动。这可以通过运行命令来枚举网络资源、用户、连接、文件和已安装的安全软件来实现。

此规则查找通过非浏览器进程或未安装程序连接到已知IP查找服务的连接。攻击者仅使用受损系统的IP地址,就可以获取有价值的信息,例如系统的地理位置、拥有该IP的公司、系统是否为云托管等等。

可能的调查步骤

  • 调查未知进程的进程执行链(父进程树)。检查其可执行文件是否存在、是否位于预期位置以及是否使用有效的数字签名进行签名。
  • 识别执行此操作的用户帐户,以及该帐户是否应该执行此类操作。
  • 联系帐户所有者并确认他们是否了解此活动。
  • 调查过去48小时内与用户/主机关联的其他警报。
  • 调查目标进程观察到的异常行为,例如网络连接、注册表或文件修改以及任何生成的子进程。

误报分析

  • 如果发现活动是孤立的,则发现活动本身并不一定是恶意的。只要分析师没有识别与用户或主机相关的可疑活动,就可以忽略此类警报。
  • 如果由于预期活动导致此规则在您的环境中产生大量噪声,请考虑添加异常——最好结合用户和命令行条件。

响应和补救

  • 根据分类结果启动事件响应流程。
  • 隔离相关主机以防止进一步的入侵后行为。
  • 使用通过分析收集的数据来调查环境中受影响的其他机器。
  • 调查受攻击者入侵或使用的系统上的凭据泄露,以确保识别所有受损帐户。重置这些帐户和其他可能受损的凭据(例如电子邮件、业务系统和 Web 服务)的密码。
  • 运行完整的反恶意软件扫描。这可能会发现系统中留下的其他工件、持久性机制和恶意软件组件。
  • 确定攻击者滥用的初始载体,并采取措施防止通过相同载体重新感染。
  • 使用事件响应数据更新日志记录和审计策略,以提高平均检测时间 (MTTD) 和平均响应时间 (MTTR)。

规则查询

编辑
network where host.os.type == "windows" and network.protocol == "dns" and
    process.name != null and user.id not in ("S-1-5-19", "S-1-5-20") and
    event.action == "lookup_requested" and
    /* Add new external IP lookup services here */
    dns.question.name :
    (
        "*api.ipify.org",
        "*freegeoip.app",
        "*checkip.amazonaws.com",
        "*checkip.dyndns.org",
        "*freegeoip.app",
        "*icanhazip.com",
        "*ifconfig.*",
        "*ipecho.net",
        "*ipgeoapi.com",
        "*ipinfo.io",
        "*ip.anysrc.net",
        "*myexternalip.com",
        "*myipaddress.com",
        "*showipaddress.com",
        "*whatismyipaddress.com",
        "*wtfismyip.com",
        "*ipapi.co",
        "*ip-lookup.net",
        "*ipstack.com"
    ) and
    /* Insert noisy false positives here */
    not
    (
      (
        process.executable : (
            "?:\\Program Files\\*.exe",
            "?:\\Program Files (x86)\\*.exe",
            "?:\\Windows\\Prey\\versions\\*\\bin\\node.exe",
            "?:\\Windows\\System32\\WWAHost.exe",
            "?:\\Windows\\System32\\smartscreen.exe",
            "?:\\Windows\\System32\\MicrosoftEdgeCP.exe",
            "?:\\ProgramData\\Microsoft\\Windows Defender\\Platform\\*\\MsMpEng.exe",
            "?:\\Users\\*\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe",
            "?:\\Users\\*\\AppData\\Local\\Programs\\Fiddler\\Fiddler.exe",
            "?:\\Users\\*\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe",
            "?:\\Users\\*\\AppData\\Local\\Microsoft\\OneDrive\\OneDrive.exe"
        ) and process.code_signature.trusted == true
      ) or
      (
        (process.name : "Evernote.exe" and process.code_signature.subject_name : "Evernote Corporation" and process.code_signature.trusted == true) or
        (process.name : "firefox.exe" and process.code_signature.subject_name : "Mozilla Corporation" and process.code_signature.trusted == true) or
        (process.name : "Loom.exe" and process.code_signature.subject_name : "Loom, Inc." and process.code_signature.trusted == true) or
        (process.name : "opera.exe" and process.code_signature.subject_name : "Opera Norway AS" and process.code_signature.trusted == true) or
        (process.name : "brave.exe" and process.code_signature.subject_name : "Brave Software, Inc." and process.code_signature.trusted == true) or
        (process.name : "vivaldi.exe" and process.code_signature.subject_name : "Vivaldi Technologies AS" and process.code_signature.trusted == true)
      )
    )

框架: MITRE ATT&CKTM