From 9d7cba857a2775b9f627c6b585e30923b40693db Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Wed, 23 Aug 2023 15:57:58 -0600 Subject: [PATCH] tests: community id tests for ipv4 and ipv6 The IPv6 uses values confirmed with Zeek. Issue: #6276 --- tests/community-id-ipv4/README.md | 3 + tests/community-id-ipv4/input.pcap | Bin 0 -> 31724 bytes tests/community-id-ipv4/suricata.yaml | 12 ++++ tests/community-id-ipv4/test.yaml | 28 +++++++++ tests/community-id-ipv6/README.md | 7 +++ tests/community-id-ipv6/input.pcap | Bin 0 -> 41870 bytes tests/community-id-ipv6/suricata.yaml | 12 ++++ tests/community-id-ipv6/test.yaml | 83 ++++++++++++++++++++++++++ 8 files changed, 145 insertions(+) create mode 100644 tests/community-id-ipv4/README.md create mode 100644 tests/community-id-ipv4/input.pcap create mode 100644 tests/community-id-ipv4/suricata.yaml create mode 100644 tests/community-id-ipv4/test.yaml create mode 100644 tests/community-id-ipv6/README.md create mode 100644 tests/community-id-ipv6/input.pcap create mode 100644 tests/community-id-ipv6/suricata.yaml create mode 100644 tests/community-id-ipv6/test.yaml diff --git a/tests/community-id-ipv4/README.md b/tests/community-id-ipv4/README.md new file mode 100644 index 000000000..ca3b65864 --- /dev/null +++ b/tests/community-id-ipv4/README.md @@ -0,0 +1,3 @@ +# Test Description + +Community ID for IPv4 test. diff --git a/tests/community-id-ipv4/input.pcap b/tests/community-id-ipv4/input.pcap new file mode 100644 index 0000000000000000000000000000000000000000..b3a6b63ab58f09136c31e5721089c159c274cb25 GIT binary patch literal 31724 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 literal 0 Hc-jL100001 diff --git a/tests/community-id-ipv4/suricata.yaml b/tests/community-id-ipv4/suricata.yaml new file mode 100644 index 000000000..6cef79de8 --- /dev/null +++ b/tests/community-id-ipv4/suricata.yaml @@ -0,0 +1,12 @@ +%YAML 1.1 +--- + +outputs: + - eve-log: + enabled: yes + community-id: true + community-id-seed: 7 + types: + - tls: + extended: yes + - flow diff --git a/tests/community-id-ipv4/test.yaml b/tests/community-id-ipv4/test.yaml new file mode 100644 index 000000000..436478fd6 --- /dev/null +++ b/tests/community-id-ipv4/test.yaml @@ -0,0 +1,28 @@ +args: +- -k none + +checks: +- filter: + count: 1 + match: + community_id: 1:IwiTNfuO7aCaamMijl+7/X9uLx0= + dest_ip: 172.217.14.206 + dest_port: 443 + event_type: tls + pcap_cnt: 7 + proto: TCP + src_ip: 172.26.0.39 + src_port: 35958 + tls.sni: ipv4.google.com + tls.version: TLS 1.3 +- filter: + count: 1 + match: + app_proto: tls + community_id: 1:IwiTNfuO7aCaamMijl+7/X9uLx0= + dest_ip: 172.217.14.206 + dest_port: 443 + event_type: flow + proto: TCP + src_ip: 172.26.0.39 + src_port: 35958 diff --git a/tests/community-id-ipv6/README.md b/tests/community-id-ipv6/README.md new file mode 100644 index 000000000..954938297 --- /dev/null +++ b/tests/community-id-ipv6/README.md @@ -0,0 +1,7 @@ +# Test Description + +Community ID test with IPv6. + +## Related Issue + +https://redmine.openinfosecfoundation.org/issues/6276 diff --git a/tests/community-id-ipv6/input.pcap b/tests/community-id-ipv6/input.pcap new file mode 100644 index 0000000000000000000000000000000000000000..21fa6834280b67436ede198df3990d5b5b922750 GIT binary patch literal 41870 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 Sss(XMI_p@>uUgQjck>_Rx{Lk* literal 0 Hc-jL100001 diff --git a/tests/community-id-ipv6/suricata.yaml b/tests/community-id-ipv6/suricata.yaml new file mode 100644 index 000000000..6cef79de8 --- /dev/null +++ b/tests/community-id-ipv6/suricata.yaml @@ -0,0 +1,12 @@ +%YAML 1.1 +--- + +outputs: + - eve-log: + enabled: yes + community-id: true + community-id-seed: 7 + types: + - tls: + extended: yes + - flow diff --git a/tests/community-id-ipv6/test.yaml b/tests/community-id-ipv6/test.yaml new file mode 100644 index 000000000..daf362242 --- /dev/null +++ b/tests/community-id-ipv6/test.yaml @@ -0,0 +1,83 @@ +args: +- -k none + +checks: +- filter: + count: 1 + match: + community_id: 1:ptJhMvufAbB5nLDNW77cB800wFM= + dest_ip: 2607:f8b0:400a:0800:0000:0000:0000:200e + dest_port: 443 + event_type: tls + pcap_cnt: 41 + proto: TCP + src_ip: 2600:1f13:00f8:d400:03a6:303c:e011:18eb + src_port: 60202 + tls.sni: ipv6.google.com + tls.version: TLS 1.3 +- filter: + count: 1 + match: + community_id: 1:PGf+a0eBbs1OhuPtJmsF0Sm51v4= + dest_ip: 2001:4860:4860:0000:0000:0000:0000:8888 + dest_port: 443 + event_type: tls + pcap_cnt: 7 + proto: TCP + src_ip: 2600:1f13:00f8:d400:03a6:303c:e011:18eb + src_port: 33892 + tls.sni: dns.google + tls.version: TLS 1.3 +- filter: + count: 1 + match: + app_proto: tls + community_id: 1:PGf+a0eBbs1OhuPtJmsF0Sm51v4= + dest_ip: 2001:4860:4860:0000:0000:0000:0000:8888 + dest_port: 443 + event_type: flow + flow.age: 0 + flow.alerted: false + flow.bytes_toclient: 7122 + flow.bytes_toserver: 2303 + flow.pkts_toclient: 17 + flow.pkts_toserver: 17 + flow.reason: shutdown + flow.state: established + proto: TCP + src_ip: 2600:1f13:00f8:d400:03a6:303c:e011:18eb + src_port: 33892 + tcp.ack: true + tcp.psh: true + tcp.state: established + tcp.syn: true + tcp.tcp_flags: 1a + tcp.tcp_flags_tc: 1a + tcp.tcp_flags_ts: 1a +- filter: + count: 1 + match: + app_proto: tls + community_id: 1:ptJhMvufAbB5nLDNW77cB800wFM= + dest_ip: 2607:f8b0:400a:0800:0000:0000:0000:200e + dest_port: 443 + event_type: flow + flow.age: 0 + flow.alerted: false + flow.bytes_toclient: 28862 + flow.bytes_toserver: 2439 + flow.pkts_toclient: 18 + flow.pkts_toserver: 18 + flow.reason: shutdown + flow.state: closed + proto: TCP + src_ip: 2600:1f13:00f8:d400:03a6:303c:e011:18eb + src_port: 60202 + tcp.ack: true + tcp.fin: true + tcp.psh: true + tcp.state: closed + tcp.syn: true + tcp.tcp_flags: 1b + tcp.tcp_flags_tc: 1b + tcp.tcp_flags_ts: 1b -- 2.47.2