从签名创建自定义威胁 Snort 签名

从签名创建自定义威胁 Snort 签名

92299
Created On 09/25/18 19:10 PM - Last Modified 07/13/22 10:55 AM


Symptom


 
 


Environment


 
 


Cause


 
 


Resolution


本文档提供了 SNORT 使用三个使用案例从 Palo Alto 网络上的签名创建自定义威胁签名的一般概述 Firewall 。

简介

漏洞保护功能可检测和防止针对客户端和服务器系统漏洞的网络传播攻击。 漏洞可以是系统和服务的特定或泛型, 并且不绑定到特定的端口, 而是用于协议或应用程序。 除了预定义的漏洞保护配置文件之外, 您还可以创建针对要保护的环境量身定做的自定义配置文件。 A 自定义配置文件可以包含定义包含哪些漏洞保护签名的一个或多个规则和例外。

防间谍软件功能检测和防止间谍软件和恶意软件网络通信。 反间谍软件功能不仅限于特定的协议, 而且可以检测任何类型的电话-家庭通信。 除了预定义的反间谍软件配置文件外, 您还可以创建定制的定制配置文件, 以适应您要保护的环境。 A 自定义配置文件可以包含一个或多个定义包含哪些反间谍软件签名的规则和例外。

自定义配置文件还允许您启用匹配流量的数据包捕获。 这可用于证据收集或疑难解答目的。 在生产网络中部署之前,请查看文档末尾的"建议"部分。

使用案例

1. 警报 TA17-318B HIDDEN COBRA – 朝鲜特洛伊木马:伏尔格默

参考
:https://www.us-cert.gov/ncas/alerts/TA17-318B

IOC 列表
TA-17 :https://www.us-cert.gov/sites/default/files/publications/-318B-IOC.csv

Snort 规则:

alert tcp any any -> any any (msg:"Malformed_UA"; content:"User-Agent: Mozillar/"; depth:500; sid:99999999;)
 

一般说明:

  • 使用 IP 作为列表一部分提供的地址 IOC ,通过搜索日志来检测是否存在可能的感染 Firewall
  • IP提供的地址可以是 EDL 或地址组的一部分,并添加到阻止 Policy 流量进出可疑列表。
  • 使用提供的 Snort 签名并将其转换为自定义间谍软件签名。 此签名将成为间谍软件配置文件添加到适当的一部分 Policy 。

详细步骤:

  1. 创建自定义间谍软件对象
    1. 导航到 对象 选项卡 -> 自定义对象 -> 间谍软件
    2. 单击 "添加" 并提供以下屏幕截图中显示的适当详细信息
Picture1.png
  1. 单击 签名 -> 添加 [标准签名选项]
  2. 创建自定义签名, 如下所示:
Picture2.png
  1. 签名中的"用户代理:Mozillar/"模式 snort 与"http-req-head"上下文一起用于创建自定义签名。
  2. 单击 OK 以创建间谍软件对象。
  3. 验证创建的间谍软件对象是否是防间谍软件配置文件的一部分
Picture3.png
  1. 创建 EDL 对象

    1. 导航到 对象 选项卡-> 外部动态列表
    2. 单击 "添加"
    3. 将 IP 列表中提供的可疑地址添加到 IOC 以前创建 EDL 的或 EDL 下文所示的新地址。
Picture4.png
  1. 将 EDL 防间谍软件配置文件添加到适当的 Policy 对象。
  2. Policy通过查看威胁日志,测试是按预期工作。
  3. 在验证后, 将间谍软件对象的操作从警报更改为下拉/重置。 还可以更改根据需要创建的自定义对象的严重性。
Picture5.png


2. 警报 TA17-293A 高级持久性威胁活动

参考
:https://www.us-cert.gov/ncas/alerts/TA17-293A https://www.us-cert.gov/ncas/current-activity/2017/01/16/
SMB- 安全最佳实践

IOC列表
:https://www.us-cert.gov/sites/default/files/publications/TA17-293A_TLP_WHITE_CSV.csv

Snort规则
提醒 tcp $HOME_NET 任何 -> $EXTERNAL_NET $HTTP_PORTS(msg: HTTP URI 包含"/aspnet_client/system_web/4_0_30319/更新/"(信标)": sid:42000000;转速:1;流量:已建立,to_server;内容:"/aspnet_client/system_web/4_0_30319/更新/";http_uri;fast_pattern:仅:类类型:未知: 元数据:服务http:)

提醒tcp$HOME_NET任何-> $EXTERNAL_NET$HTTP_PORTS(msg:" HTTP URI 包含"/img/bson021.dat";sid:42000001;转速:1;流量:已建立, to_server;内容:"/img/bson021.dat";http_uri;fast_pattern:仅;类类型:未知;元数据:服务http:)

提醒tcp$HOME_NET任何-> $EXTERNAL_NET$HTTP_PORTS(msg: HTTP URI 包含'/A56WY'(回拨)";sid:42000002;转速:1;流量:已建立,to_server;内容:"/A56WY";http_uri;fast_pattern;类类型:未知;元数据:服务http:)

提醒tcp任何->任何445(msg:" SMB 客户请求包含 PNG "AME_ICON"。 ( SMB 证书收获)":sid:42000003:转速:1:流:已建立,to_server:内容 FF :"||| SMB75 00 00 00 |":偏移:4:深度:9:内容:"|08 00 01 00|":距离:3:内容:"|00 5c 5c|":距离:2:内:3:内容:"|5c|AME_ICON。 PNG距离:7:fast_pattern;类类型:坏未知:元数据:服务网生物-ssn:)

提醒tcp$HOME_NET任何-> $EXTERNAL_NET$HTTP_PORTS(msg:" HTTP URI OPTIONS 包含"/ame_icon.png"( SMB 证书收获)";sid:420000004;转速:1: 流量:已建立,to_server;内容:"/ame_icon.png";http_uri;fast_pattern:仅;内容 OPTIONS :";无大写;http_method;类类型:未知;元数据:服务http:)

提醒tcp$HOME_NET任何-> $EXTERNAL_NET$HTTP_PORTS(msg:" HTTP 客户端标题包含"用户代理|3a 20|去-赫特普客户端/1.1'"希德:42000005:转速:1;流量:已建立,to_server:内容:"用户代理|3a 20|去-http客户端/1.1|0d 0a|接受编码|3a 20|格齐普":http_header;fast_pattern:仅:pcre:"/\。(:阿斯普克斯|特克斯)?[a-z0-9]{3}=[a-z0-9]{32}]/" U 类类型:未知坏;元数据:服务http:)

提醒tcp$EXTERNAL_NET [139,445] -> $HOME_NET 任何(msg:" SMB 服务器流量包含 NTLM- 经过验证的SMBv1会话";sid:42000006: rev:1:流:已建立,to_client:内容:"|53 4d 42 72 00 00 00 00 80|":fast_pattern:仅:内容:"|05 00|";距离:23:类类型:未知;元数据:服务网比奥斯-sn:)


  • 使用 IP 作为列表一部分提供的地址 IOC ,通过搜索   Firewall 日志来检测是否存在可能的感染
  • IP提供的地址、域名和 URL 's可以是一个的 EDL 一部分,并添加到一个 Policy 阻止流量的可疑列表。
  • 阻止 SMB 应用程序流量从信任区到不信任区是推荐的最佳实践。 这 policy 可以用作将 netbios-ssn 相关签名转换为 snort 自定义威胁签名的限性变通方法。
  • 使用其他提供的 Snort 签名,并将它们转换为自定义间谍软件签名。 这些签名将成为反间谍软件配置文件添加到适当的一部分 Policy 。


详细步骤:

  1. 创建自定义间谍软件对象
    1. 导航到 对象 选项卡 -> 自定义对象 -> 间谍软件
    2. 单击 "添加" 并提供以下屏幕截图中显示的适当详细信息
Picture21. png
  1. 单击 签名 -> 添加 [标准签名选项]
  2. 创建自定义签名, 如下所示:
Picture22. png
  1. Sig-1:签名中的"/aspnet_client/system_web/4_0_30319/更新/"模式 snort 与"http-req-uri路径"上下文一起用于创建自定义间谍软件签名,如下所示:
Picture23. png
  1. Sig-2:签名中的图案"/img/bson021.dat" snort 与"http-req-uri路径"上下文一起用于创建自定义间谍软件签名,如下所示:
Picture24. png
  1. Sig-3:签名中的图案"/A56WY" snort 与"http-req-uri路径"上下文一起用于创建自定义间谍软件签名。 由于没有 7 个手提包锚,因此我们包括 GET 并 POST 请求方法,以及如下所示模式中的尾随空间:
Picture25. png
  1. Sig-4:签名中的模式"/ame_icon.png" snort 与"http-req-uri路径"上下文和"http-方法 OPTIONS :"限定符一起使用,以创建自定义间谍软件签名,如下所示:
Picture26. png
  1. Sig-5 深潜:
    1. Snort 签名:
提醒 tcp $HOME_NET 任何 -> $EXTERNAL_NET $HTTP_PORTS (msg: HTTP 客户端标题包含"用户代理|3a 20|去-赫特普客户端/1.1'"希德:42000005:转速:1;流量:已建立,to_server: 内容:"用户代理|3a 20|去-http客户端/1.1|0d 0a|接受编码|3a 20|格齐普":http_header:fast_pattern:仅:pcre:"/\。(:阿斯普克斯|特克斯)?[a-z0-9]{3}=[a-z0-9]{32}+/"; U 类类型:未知;元数据:服务http:)
  1. 实际 HTTP 请求
GET /aspnet_client/system_web/4_0_30319/更新/默认形式.aspx?9bf=04631fbd3f402316f006b9977863998+881456FCno= 7 71=29c7ac4b37168dc9e246ca915da8b0/1.1 HTTP
主机:5.150.143.107
用户代理:去http客户端/1.1
接受编码:gzip
  1. 自定义间谍软件签名说明:
  • 模式 "User-Agent|3a 20 |走-http-客户端/1.1 "是使用" http-应标头 "上下文的一部分。 这里十六进制3a 和20对应于冒号和空间字符。
  • 模式 "Accept-Encoding|3a 20 | gzip" 是使用 "http-必需-头" 上下文的一部分。 这里十六进制3a 和20对应于冒号和空间字符。
  • 模式 "DefaultForm \(aspx) |(txt))\ "作为" http-必需-uri-路径 "上下文的一部分使用。 这是使用,因为签名的 pcre 部分没有提供 7 个手提包锚 snort 。
  • 最终产生的自定义间谍软件签名是 AND 上述所有签名之一,如下所示:
Picture27. png

 

  1. 单击 OK 以创建新的间谍软件对象
    1. 验证创建的间谍软件对象是否是防间谍软件安全配置文件的一部分
Picture28. png

 

  1. 创建一个 policy SMB 阻止从内部到外部区域的应用程序,反之亦然。 这是一个推荐的最佳做法,并解决"网比奥斯-ssn"相关的 snort 签名
Picture29. png
  1. EDL为 IP 列表中的可疑地址创建对象 IOC
    1. 导航到 对象 选项卡-> 外部动态列表
    2. 单击 "添加"
    3. 将 IP 列表中的可疑地址添加到 IOC 以前创建 EDL 的或 EDL 下文所示的新地址:
Picture291. png
  1. EDL为 URL 列表中的可疑对象创建对象 IOC
    1. 导航到 对象 选项卡-> 外部动态列表
    2. 单击 "添加"
    3. 将 URL 列表中的可疑 IOC 内容添加到以前创建 EDL 的或 EDL 下文所示的新内容中。
    4. 现在,这可以包含在 URL 过滤安全配置文件下的适当操作中:
Picture292. png

Picture293. png

  1. EDL为列表中的可疑域创建对象 IOC
    1. 导航到 对象 选项卡-> 外部动态列表
    2. 单击 "添加"
    3. 将可疑域从列表中添加到 IOC 以前创建 EDL 的域名或 EDL 下文所示的新域。
    4. 对于外部动态列表中包含的域列表, firewall 创建一组类型的间谍软件和中等严重性的自定义签名,以便您可以使用沉井操作进行域的自定义列表:
Picture294. png
 
Picture295. png
  1. 将 EDL "s"和"反间谍软件"配置文件添加到适当的 Policy 对象。
  2. Policy通过查看威胁日志,测试是按预期工作。
  3. 在验证后, 将间谍软件对象的操作从警报更改为下拉/重置。 还根据需要更改创建的自定义对象的严重程度
Picture296. png


其他有用信息:

  • 示例 GET 请求-1:
GET /aspnet_client/system_web/4_0_30319/更新/默认形式.aspx?9bf=04631fbd3f402316f006b9977863998+881456FCno= 7 71=29c7ac4b37168dc9e246ca915da8b0/1.1 HTTP
主机:5.150.143.107
用户代理:去http客户端/1.1
接受编码:gzip
  • 示例 GET 请求-2:
GET 请求 GET HTTP -/A56WY/1.1
主机:167.114.44.147
连接:保持活
缓存控制:无缓存


3. CVE-2018 -4878

参考:

https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=26998 https://www.flashpoint-intel.com/blog/targeted-attacks-south-korean-entities/ http://blog.talosintelligence.com/2018/02/group-123-goes-wild.html https://threatpost.com/adobe-flash-player-zero-day-spotted-in-the-wild/129742/



Snort规则:
警报 tcp $HOME_NET 任何 -> $EXTERNAL_NET $HTTP_PORTS (msg:"可能 CVE-2018 -4878 值机警报": 流:已建立,to_server;http_uri;内容:"?id=";http_uri;内容:"[fp_vs]";http_uri;内容:"[os_vs]";http_uri;参考:来源,Vitali Kremez-Flashpoint;类类型:特洛伊木马活动;rev:1:):hxxp://www[]

IOC
1588-2040[.]合作[。]kr/康夫
/product_old.jpg hxxp://www[。1588-2040[.]合作[。]kr/设计/m/图像/图像/图像
.php hxxp://www[。韩国税[。]信息/主要/本地
.php hxxp://www[。]发电机[。]合作[。]kr/管理员中心/文件/板/4/经理.php

一般说明:

  • 使用 URL 作为其中一部分提供的 IOC ',通过搜索日志来检测是否已经存在可能的感染 Firewall 。
  • URL所提供的'可以是作为 EDL URL Policy 过滤配置文件添加到自定义类别对象的一部分 URL 。
  • 使用所提供的 Snort 签名并将其转换为自定义漏洞签名。 此签名将成为添加到适当的漏洞配置文件的一部分 Policy 。


详细步骤:

  1. 创建自定义漏洞对象
    1. 导航到 对象 选项卡 -> 自定义对象 - > 漏洞
    2. 单击 "添加" 并提供以下屏幕截图中显示的适当详细信息
Picture31. png
  1. 单击 签名 -> 添加 [标准签名选项]
  2. 模式 "id ="、"fp_vs =" 和 "os_vs =" 用于创建自定义漏洞签名。 这样做是为了克服7字节锚定限制。
  3. 请求标题中的路径 HTTP (包括"?")也是"http-req-uri 路径"上下文和查询字符串 HTTP 的一部分,请求中的参数是"http-req-params"上下文的一部分。
Picture32. png
  1. 单击 OK 以创建新的漏洞对象。
  2. 验证创建的漏洞对象是否属于您的漏洞保护安全配置文件的一部分
Picture33. png
  1. 创建自定义 URL 类别对象
    1. 导航到对象->自定义对象- >URL类别,并添加可疑 URL 的列表的一部分 IOC
Picture34. png
  1. 还将 URL 类别对象添加到适当的 URL 筛选安全配置文件
Picture35. png
  1. 将漏洞安全配置文件和 URL 过滤配置文件添加到适当的 Policy
  2. Policy通过查看威胁日志,测试是按预期工作。
  3. 在验证后, 将漏洞对象的操作从警报更改为下拉/重置。 还根据需要更改创建的自定义对象的严重程度
Picture36. png

其他有用的信息:

  •  A 分解的闪存对象的片段如下所示:

Picture37. png


建议

在部署基于漏洞保护和基于防间谍软件配置文件的政策时,应特别小心,以避免对受保护的流量产生负面影响。 虽然这些签名是精心开发的,并提交到广泛的回归测试,但有些签名本质上是通用的,可能会触发来自配置错误的服务或错误应用程序的流量。

对于用于构建自定义威胁签名的任何第三方内容也是如此,因为它们通常没有经过与 Palo Alto 网络开发的威胁签名相同的数量的广泛测试。 因此,在没有事先检查这些签名及其对网络的潜在影响的情况下,简单地打开自定义威胁签名的阻止通常不是一个好主意。

如果时间和环境允许,建议在漏洞保护部署时间表中加入分析阶段。 特别是对于服务可用性至关重要的环境,一旦漏洞保护和反间谍软件策略完全投入使用,就需要这样的阶段来确保基础设施的正常功能。

一般来说,建议从每个签名使用默认操作的配置文件开始。 特别是对于自定义威胁签名, 建议首先对每个创建的签名使用 "警报" 的默认操作。 或者, 首先可以在仅警报或监视模式下部署自定义漏洞保护配置文件, 以获得有关阻塞模式可能如何影响基础结构的清晰图片。 此类配置文件将设置为每个签名的"警报"操作。

以下步骤将帮助您确定给定位置或主机的正确配置文件设置。

  • 配置 "只通知" 保护配置文件。
  • firewall为要保护的主机和细分市场配置必要的规则。
  • 将 "只通知" 保护配置文件应用于每个规则。
  • 监视威胁日志的代表时间 (例如1周、1月)。
  • 调查任何潜在的误报。
  • 使用收集的分析信息构建和微调启用块的保护配置文件。


Additional Information


有用的指南

创建自定义应用程序和威胁签名
:https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClOFCA0

提示和技巧:自定义漏洞:https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClSOCA0


Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClUdCAK&lang=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language