From e8a1d7236c674fe5fb0a34ece26d7ba3cc3af437 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Fri, 12 Jan 2024 14:38:57 +0100 Subject: [PATCH] tests: add test for alert-then-pass issue 5466 --- .../icmp_and_ssh.pcap | Bin 0 -> 57838 bytes .../suricata.yaml | 21 ++++++++++ .../issue-5466-alert-then-pass-01/test.rules | 2 + tests/issue-5466-alert-then-pass-01/test.yaml | 33 ++++++++++++++++ .../icmp_and_ssh-s0.pcap | Bin 0 -> 53278 bytes .../suricata.yaml | 21 ++++++++++ .../issue-5466-alert-then-pass-02/test.rules | 3 ++ tests/issue-5466-alert-then-pass-02/test.yaml | 36 ++++++++++++++++++ .../suricata.yaml | 21 ++++++++++ .../test.rules | 2 + .../test.yaml | 35 +++++++++++++++++ .../suricata.yaml | 21 ++++++++++ .../test.rules | 2 + .../test.yaml | 34 +++++++++++++++++ 14 files changed, 231 insertions(+) create mode 100644 tests/issue-5466-alert-then-pass-01/icmp_and_ssh.pcap create mode 100644 tests/issue-5466-alert-then-pass-01/suricata.yaml create mode 100644 tests/issue-5466-alert-then-pass-01/test.rules create mode 100644 tests/issue-5466-alert-then-pass-01/test.yaml create mode 100644 tests/issue-5466-alert-then-pass-02/icmp_and_ssh-s0.pcap create mode 100644 tests/issue-5466-alert-then-pass-02/suricata.yaml create mode 100644 tests/issue-5466-alert-then-pass-02/test.rules create mode 100644 tests/issue-5466-alert-then-pass-02/test.yaml create mode 100644 tests/issue-5466-alert-then-pass-03-drop-pass/suricata.yaml create mode 100644 tests/issue-5466-alert-then-pass-03-drop-pass/test.rules create mode 100644 tests/issue-5466-alert-then-pass-03-drop-pass/test.yaml create mode 100644 tests/issue-5466-alert-then-pass-04-drop-alert/suricata.yaml create mode 100644 tests/issue-5466-alert-then-pass-04-drop-alert/test.rules create mode 100644 tests/issue-5466-alert-then-pass-04-drop-alert/test.yaml diff --git a/tests/issue-5466-alert-then-pass-01/icmp_and_ssh.pcap b/tests/issue-5466-alert-then-pass-01/icmp_and_ssh.pcap new file mode 100644 index 0000000000000000000000000000000000000000..7708ee4815a7fc2590dce74165a848a3eb23d7be GIT binary patch literal 57838 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 any 22 (alert; sid:2; gid:10000003; msg:"PASS SSH";) +drop tcp any any -> any any (noalert; sid:1; rev:1; msg:"DROP all TCP";) diff --git a/tests/issue-5466-alert-then-pass-01/test.yaml b/tests/issue-5466-alert-then-pass-01/test.yaml new file mode 100644 index 000000000..7c29856e6 --- /dev/null +++ b/tests/issue-5466-alert-then-pass-01/test.yaml @@ -0,0 +1,33 @@ +requires: + min-version: 8 + +args: + - --simulate-ips + - -k none + +checks: + - filter: + count: 0 + match: + event_type: alert + alert.signature_id: 1 + - filter: + count: 1 + match: + event_type: alert + alert.signature_id: 2 + alert.signature: "PASS SSH" + - filter: + count: 0 + match: + event_type: drop + - filter: + count: 2 + match: + event_type: flow + - filter: + min-version: 7 + count: 1 + match: + event_type: flow + flow.action: pass diff --git a/tests/issue-5466-alert-then-pass-02/icmp_and_ssh-s0.pcap b/tests/issue-5466-alert-then-pass-02/icmp_and_ssh-s0.pcap new file mode 100644 index 0000000000000000000000000000000000000000..fbfc65418389c6c4f6c6531ce2b2523134bc4e68 GIT binary patch literal 53278 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 m(l>fAC6?KWmW@;td4sOvM*r9!cZqF&F`LH!h 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 literal 0 HcmV?d00001 diff --git a/tests/issue-5466-alert-then-pass-02/suricata.yaml b/tests/issue-5466-alert-then-pass-02/suricata.yaml new file mode 100644 index 000000000..bf8a47e9b --- /dev/null +++ b/tests/issue-5466-alert-then-pass-02/suricata.yaml @@ -0,0 +1,21 @@ +%YAML 1.1 +--- + +action-order: + - pass + - drop + - reject + - alert + +outputs: + - eve-log: + enabled: yes + filetype: regular + types: + - alert + - drop: + flows: all + alerts: yes + - files + - http + - flow diff --git a/tests/issue-5466-alert-then-pass-02/test.rules b/tests/issue-5466-alert-then-pass-02/test.rules new file mode 100644 index 000000000..53c347063 --- /dev/null +++ b/tests/issue-5466-alert-then-pass-02/test.rules @@ -0,0 +1,3 @@ +pass ssh any any -> any any (msg:"pass rule with alert"; ssh.proto; content:"2"; alert; flow:established, to_server; sid:10201;) +pass tcp any any -> any any (msg:"allow session establishment"; alert; flow:not_established; sid:10202;) +drop ip any any -> any any (msg:"drop all packets"; sid:10211;) diff --git a/tests/issue-5466-alert-then-pass-02/test.yaml b/tests/issue-5466-alert-then-pass-02/test.yaml new file mode 100644 index 000000000..9f63dba06 --- /dev/null +++ b/tests/issue-5466-alert-then-pass-02/test.yaml @@ -0,0 +1,36 @@ +requires: + min-version: 8 + +args: + - --simulate-ips + - -k none + +checks: + - filter: + count: 0 + match: + event_type: alert + alert.signature_id: 10211 + - filter: + count: 3 + match: + event_type: alert + alert.signature_id: 10202 + - filter: + count: 1 + match: + event_type: alert + alert.signature_id: 10201 + - filter: + count: 0 + match: + event_type: drop + - filter: + count: 1 + match: + event_type: flow + - filter: + count: 1 + match: + event_type: flow + flow.action: pass diff --git a/tests/issue-5466-alert-then-pass-03-drop-pass/suricata.yaml b/tests/issue-5466-alert-then-pass-03-drop-pass/suricata.yaml new file mode 100644 index 000000000..4d96ebf7c --- /dev/null +++ b/tests/issue-5466-alert-then-pass-03-drop-pass/suricata.yaml @@ -0,0 +1,21 @@ +%YAML 1.1 +--- + +action-order: + - drop + - reject + - alert + - pass + +outputs: + - eve-log: + enabled: yes + filetype: regular + types: + - alert + - drop: + flows: all + alerts: yes + - files + - http + - flow diff --git a/tests/issue-5466-alert-then-pass-03-drop-pass/test.rules b/tests/issue-5466-alert-then-pass-03-drop-pass/test.rules new file mode 100644 index 000000000..f697f217d --- /dev/null +++ b/tests/issue-5466-alert-then-pass-03-drop-pass/test.rules @@ -0,0 +1,2 @@ +pass tcp any any -> any 22 (alert; sid:2; gid:10000003; msg:"PASS SSH";) +drop tcp any any -> any any (noalert; sid:1; rev:1; msg:"DROP all TCP";) diff --git a/tests/issue-5466-alert-then-pass-03-drop-pass/test.yaml b/tests/issue-5466-alert-then-pass-03-drop-pass/test.yaml new file mode 100644 index 000000000..3187671c6 --- /dev/null +++ b/tests/issue-5466-alert-then-pass-03-drop-pass/test.yaml @@ -0,0 +1,35 @@ +requires: + min-version: 8 + +args: + - --simulate-ips + - -k none + +pcap: ../issue-5466-alert-then-pass-01/icmp_and_ssh.pcap + +checks: + - filter: + count: 0 + match: + event_type: alert + alert.signature_id: 1 + - filter: + count: 1 + match: + event_type: alert + alert.signature_id: 2 + alert.signature: "PASS SSH" + - filter: + count: 322 + match: + event_type: drop + - filter: + count: 2 + match: + event_type: flow + - filter: + min-version: 7 + count: 1 + match: + event_type: flow + flow.action: drop diff --git a/tests/issue-5466-alert-then-pass-04-drop-alert/suricata.yaml b/tests/issue-5466-alert-then-pass-04-drop-alert/suricata.yaml new file mode 100644 index 000000000..4d96ebf7c --- /dev/null +++ b/tests/issue-5466-alert-then-pass-04-drop-alert/suricata.yaml @@ -0,0 +1,21 @@ +%YAML 1.1 +--- + +action-order: + - drop + - reject + - alert + - pass + +outputs: + - eve-log: + enabled: yes + filetype: regular + types: + - alert + - drop: + flows: all + alerts: yes + - files + - http + - flow diff --git a/tests/issue-5466-alert-then-pass-04-drop-alert/test.rules b/tests/issue-5466-alert-then-pass-04-drop-alert/test.rules new file mode 100644 index 000000000..2f707c4ea --- /dev/null +++ b/tests/issue-5466-alert-then-pass-04-drop-alert/test.rules @@ -0,0 +1,2 @@ +alert tcp any any -> any 22 (sid:2; gid:10000003;) +drop tcp any any -> any any (noalert; sid:1; rev:1; msg:"DROP all TCP";) diff --git a/tests/issue-5466-alert-then-pass-04-drop-alert/test.yaml b/tests/issue-5466-alert-then-pass-04-drop-alert/test.yaml new file mode 100644 index 000000000..8ecad2eb3 --- /dev/null +++ b/tests/issue-5466-alert-then-pass-04-drop-alert/test.yaml @@ -0,0 +1,34 @@ +requires: + min-version: 7 + +args: + - --simulate-ips + - -k none + +pcap: ../issue-5466-alert-then-pass-01/icmp_and_ssh.pcap + +checks: + - filter: + count: 0 + match: + event_type: alert + alert.signature_id: 1 + - filter: + count: 1 + match: + event_type: alert + alert.signature_id: 2 + - filter: + count: 322 + match: + event_type: drop + - filter: + count: 2 + match: + event_type: flow + - filter: + min-version: 7 + count: 1 + match: + event_type: flow + flow.action: drop