Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
pulledpork — Pulled Pork 用于 Snort 和 Suricata 规则管理(来自 Google Code) | Kitploit
工具/GitHubGitHub/shirkdog/pulledpork
漏洞扫描器威胁源与聚合器配置审计网络安全入侵检测
GitHubshirkdog/pulledpork

pulledpork

Pulled Pork 用于 Snort 和 Suricata 规则管理(来自 Google Code)

查看仓库
4421325年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PulledPork

适用于 Snort 和 Suricata 规则管理的 PulledPork(来自 Google Code)

在 Libera.Chat (IRC) 上找到我们 #pulledpork

版权所有 (C) 2009-2021 JJ Cummings、Michael Shirk 和 PulledPork 团队!

感谢您选择使用 PulledPork!本文档提供一些关于 PulledPork 使用的基本指导。请务必仔细阅读本文件,以免遗漏任何内容!

功能与特性

  • 自动下载、解析、状态修改和规则修改,适用于您的所有 Snort 规则集。
  • 所有主要规则下载的校验和验证。
  • 自动生成更新的 sid-msg.map 文件。
  • 支持将您的 local.rules 包含到 sid-msg.map 文件中。
  • 支持从自定义 URL 拉取规则压缩包。
  • 完整的共享对象支持。
  • 完整的 IP 信誉列表支持。
  • 支持同时下载多个不同的规则集。
  • 维护准确的变更日志。
  • 支持在规则下载和处理后向进程发送 HUP 信号。
  • 辅助规则集的调优。
  • 详细输出,让您确切了解正在发生什么。
  • 最少的 Perl 模块依赖。
  • 支持 Suricata 以及 ETOpen/ETPro 规则集。
  • 猪肉中带有甜甜的烟熏风味!

命令使用参考

root@kitploit:~
用法: pulledpork.pl [-dEgklnRTPVvv? -help] -c <配置文件名称> -o <规则输出路径>
 -O <oinkcode> -s <共享对象规则输出目录> -D <发行版> -S <Snort版本>
 -p <Snort二进制文件路径> -C <snort.conf路径> -t <共享对象存根输出路径>
 -h <变更日志路径> -H <信号名称> -I (security|connectivity|balanced) -i <disablesid.conf路径>
 -b <dropsid.conf路径> -e <enablesid.conf路径> -M <modifysid.conf路径>
 -r <文档文件夹路径> -K <单独规则文件目录>

 选项:
 -help/? 打印此帮助信息。
 -b dropsid 配置文件所在路径。
 -C 您的 snort.conf 路径。
 -c pulledpork 配置文件所在路径。
 -d 不验证规则压缩包的签名,即从非 VRT 或 ET 位置下载。
 -D 您运行的发行版类型,用于共享对象规则。
    最新支持的选项请参见 http://www.snort.org/snort-rules/shared-object-rules
    有效发行版类型:
	Alpine-3-10
	Centos-6, Centos-7, Centos-8
	Debian-8, Debian-9, Debian-10
	FC-27, FC-30
	FreeBSD-11, FreeBSD-12
	OpenBSD-6-2, OpenBSD-6-4, OpenBSD-6-5 
	OpenSUSE-15-0, OpenSUS-15-1, OpenSUSE-42-3
	RHEL-6, RHEL-7, RHEL-8
	Slackware-14-2
	Ubuntu-14-4, Ubuntu-16-4, Ubuntu-17-10, Ubuntu-18-4
 -e enablesid 配置文件所在路径。
 -E 仅将启用的规则写入输出文件。
 -g 仅抓取(下载压缩包规则文件但不处理)
 -h 如果您希望保留 sid_changelog 的路径?
 -H 向配置文件中列出的 PID 发送信号名称(SIGHUP 或 SIGUSR2)
 -I 指定基础规则集(-I security、connectivity 或 balanced,请参阅 README.RULESET)
 -i disablesid 配置文件所在路径。
 -k 将规则保留在单独的文件中(使用读取时相同的文件名)
 -K 您希望我将单独规则文件放在哪个目录?
 -l 将重要信息记录到系统日志(错误、成功运行等,所有项目记录为 WARN 或更高级别)
 -L 您希望我在哪里读取您的 local.rules 以包含到 sid-msg.map 中
 -m 您希望我将 sid-msg.map 文件放在哪里?
 -M modifysid 配置文件所在路径。
 -n 执行除下载新文件之外的所有操作(disablesid 等)
 -o 您希望我将通用规则文件放在哪里?
 -O 在命令行上定义 oinkcode(某些用户必需)
 -p 您的 Snort 二进制文件路径
 -P 即使没有下载新规则也处理规则
 -R 处理 enablesid 时,将规则恢复为其原始状态
 -r 您希望我将参考文档(xxxx.txt)放在哪里?
 -S 您使用的 Snort 版本(2.8.6 或 2.9.0 为有效值)
 -s 您希望我将 so_rules 放在哪里?
 -T 仅处理基于文本的规则文件,即不处理 so_rules
 -u 您希望我从哪里拉取规则压缩包
    ** 例如,ET、Snort.org。请参阅 pulledpork 配置中的 rule_url 选项以获取值参考
 -V 打印版本并退出
 -v 详细模式,用于故障排除等无聊事务。
 -vv 超级详细模式,用于深入故障排除等无聊事务。
 -w 跳过 SSL 验证(如果拉取规则文件时出现问题)
 -W 用于解决某些 LWP 实现无法与 pulledpork 代理配置配合使用的问题。

基本使用示例

一个使用 PulledPork 的简单示例是将所有配置指令指定在 PulledPork.conf 文件中。特别地,对于最小功能(即不处理共享对象规则),您至少需要定义 rule_file、oinkcode、temp_path、tar_path 和 rule_path 值。以下是一些示例。

root@kitploit:~
./pulledpork.pl -o /usr/local/etc/snort/rules/ -O 12345667778523452344234234 \
  -u http://www.snort.org/reg-rules/snortrules-snapshot-2973.tar.gz \
  -i disablesid.conf -T -H

以上命令将从 snort.org 使用指定的 oinkcode 12345667778523452344234234 获取 snortrules-snapshot-2973.tar.gz 压缩包,并将该压缩包中的规则文件放入输出路径 /usr/local/etc/snort/rules/,同时 -i 选项告诉 pulledpork disablesid.conf 文件的位置,-T 选项告诉 pulledpork 不处理任何共享对象规则,最后的 -H 选项告诉 pulledpork 向您在 pulledpork.conf 中定义的 Snort PID 发送 Hangup 信号。

root@kitploit:~
./pulledpork.pl -c pulledpork.conf -i disablesid.conf -T -H

与第一个示例类似,但所有选项都指定在 pulledpork.conf 文件中(除了 disablesid 和 -H)...

root@kitploit:~
./pulledpork.pl -c pulledpork.conf -i disablesid.conf \
  -m /usr/local/etc/snort/sid-msg.map -Hn

以上命令将简单地读取 disablesid 并按定义禁用规则,然后在生成 sid-msg.map 到指定位置后发送 Hangup 信号,而不下载任何内容。 在调优/进行更改等情况下非常有用。

下一个示例,内联式 Snort,包含我们想要丢弃和禁用的规则,然后在创建 sid-msg.map 并将变更信息写入 sid_changes.log 后向守护进程发送 HUP 信号!

root@kitploit:~
./pulledpork.pl -c pulledpork.conf -i disablesid.conf -b dropsid.conf \
  -m /usr/local/etc/snort/sid-msg.map -h /var/log/sid_changes.log -H

下一个示例,与上一个相同,但指定我们要运行默认的“security”基础规则集,并且要启用 enablesid.conf 中指定的规则。

root@kitploit:~
./pulledpork.pl -c pulledpork.conf -i disablesid.conf -b dropsid.conf \
  -e enablesid.conf -m /usr/local/etc/snort/sid-msg.map \
  -h /var/log/sid_changes.log -I security -H

下一个示例,与上一个相同,但指定我们要使用 -K(保留)原始压缩包名称,并将它们写入 /usr/local/etc/snort/rules/。

root@kitploit:~
./pulledpork.pl -c pulledpork.conf -i disablesid.conf -b dropsid.conf \
  -e enablesid.conf -m /usr/local/etc/snort/sid-msg.map \
  -h /var/log/sid_changes.log -I security -H -K /usr/local/etc/snort/rules/

对于 Suricata 用户,根据安装文件所在位置需要执行相同的步骤,但 pulledpork 处理规则文件所需的全部就是将 -S 标志设置为 suricata-3.1.3 或您使用的任何 Suricata 版本。

root@kitploit:~
./pulledpork.pl -c pulledpork.conf -S suricata-3.1.3

Pulledpork“应该”能与 Suricata 和 ET/ETPro 规则一起使用。但 Talos 规则不支持在 Suricata 上运行。

特别说明

请注意,pulledpork 默认按以下顺序执行规则修改(启用、丢弃、禁用、修改):

  1. 启用
  2. 丢弃
  3. 禁用

这意味着禁用规则始终优先...因此如果您在启用和禁用配置文件中指定了相同的 gid:sid,则该 sid 将被禁用...对于范围也是如此!但是,您可以使用主配置文件中的 state_order 关键字指定不同的顺序。

我可能会在以后添加更多信息,--help 或 --? 将显示所有运行时选项,并且 pulledpork.conf 有相当详细的注释...所以如果您弄不明白...再努力一点!一旦您弄明白了,请随时贡献额外的 readme / help 文档,谢谢!

另外,我想向我的哥们 Bruce 致敬,感谢他帮助命名 PulledPork! “希望这能让他闭嘴 ;-)”

J

下载工具