From a495a1b39abefe5ee8a6afb5f3af7632d06c4b40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Tue, 2 Jul 2024 12:16:32 -0400 Subject: [PATCH] Split up the ddos_refs rule for improved accuracy (#316) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Split up the ddos rule for better accuracy * Split up the ddos rule for better accuracy * Add testdata * remove hashes that will no longer match * simplify condition * spaces, not tabs * Update rules/net/ddos.yara Co-authored-by: Evan Gibler <20933572+egibs@users.noreply.github.com> Signed-off-by: Thomas Strömberg --------- Signed-off-by: Thomas Strömberg Co-authored-by: Evan Gibler <20933572+egibs@users.noreply.github.com> --- rules/net/ddos.yara | 25 +++++++++++----- rules/ref/words/ackflood.yara | 8 ++++++ rules/ref/words/synflood.yara | 8 ++++++ samples/Linux/2023.Gafgyt/5636cddb43.elf.x86 | Bin 0 -> 84999 bytes .../2023.Gafgyt/5636cddb43.elf.x86.simple | 27 ++++++++++++++++++ samples/Linux/clean/tracer.o.aarch64.simple | 16 +++++++++++ 6 files changed, 77 insertions(+), 7 deletions(-) create mode 100644 rules/ref/words/ackflood.yara create mode 100644 rules/ref/words/synflood.yara create mode 100644 samples/Linux/2023.Gafgyt/5636cddb43.elf.x86 create mode 100644 samples/Linux/2023.Gafgyt/5636cddb43.elf.x86.simple create mode 100644 samples/Linux/clean/tracer.o.aarch64.simple diff --git a/rules/net/ddos.yara b/rules/net/ddos.yara index c09dcae3b..e05b48126 100644 --- a/rules/net/ddos.yara +++ b/rules/net/ddos.yara @@ -1,15 +1,26 @@ -rule ddos_refs : critical { +rule tsource_engine_query : critical { meta: description = "Performs DDoS (distributed denial of service) attacks" hash_2023_Unix_Malware_Agent_6fbb = "6fbbbd21cd5895553e7caf2d8d77e96e5dfe88095f970a8704ce472eb1eb219b" hash_2023_Unix_Trojan_Gafgyt_28e1 = "28e1a958b781f23cdea4e7ec1a1a7458c75004daaf2847362335f9d07358cf4f" hash_2023_Unix_Trojan_Gafgyt_5636 = "5636cddb43765a7e9228c88bd9f5c4cef443da2add0f7b7a9b77cead9387f5db" strings: - $ref = "TSource Engine Query" - $ref2 = "ackflood" fullword - $ref3 = "synflood" fullword - // datadog-agent tracer-fentry-debug.o - $ignore_ref = "synflood_warned" + $tsource = "TSource Engine Query" condition: - any of ($ref*) and not $ignore_ref + $tsource +} + +rule tcp_flood_refs : high { + meta: + description = "May perform DDoS (distributed denial of service) attacks" + strings: + $ack2 = "ack flood" fullword + $ack3 = "ACK flood" fullword + $ack = "ackflood" fullword + + $syn2 = "syn flood" fullword + $syn3 = "SYN flood" fullword + $syn = "synflood" fullword + condition: + any of ($ack*) and any of ($syn*) } diff --git a/rules/ref/words/ackflood.yara b/rules/ref/words/ackflood.yara new file mode 100644 index 000000000..b84998237 --- /dev/null +++ b/rules/ref/words/ackflood.yara @@ -0,0 +1,8 @@ +rule ackflood : medium { + meta: + description = "References ACK flooding" + strings: + $ref = "ackflood" fullword + condition: + any of them +} diff --git a/rules/ref/words/synflood.yara b/rules/ref/words/synflood.yara new file mode 100644 index 000000000..51a15e2e0 --- /dev/null +++ b/rules/ref/words/synflood.yara @@ -0,0 +1,8 @@ +rule synflood : medium { + meta: + description = "References SYN flooding" + strings: + $ref = "synflood" fullword + condition: + any of them +} diff --git a/samples/Linux/2023.Gafgyt/5636cddb43.elf.x86 b/samples/Linux/2023.Gafgyt/5636cddb43.elf.x86 new file mode 100644 index 0000000000000000000000000000000000000000..945324a56da2154bd8cb2047c2eac5cbd8b7b4c1 GIT binary patch literal 84999 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 Cqg>$t literal 0 HcmV?d00001 diff --git a/samples/Linux/2023.Gafgyt/5636cddb43.elf.x86.simple b/samples/Linux/2023.Gafgyt/5636cddb43.elf.x86.simple new file mode 100644 index 000000000..83462118e --- /dev/null +++ b/samples/Linux/2023.Gafgyt/5636cddb43.elf.x86.simple @@ -0,0 +1,27 @@ +# Linux/2023.Gafgyt/5636cddb43.elf.x86 +3P/elastic/gafgyt +combo/net/raw_flooder +combo/recon/upload_netinfo +evasion/fake/user/agent +exec/program/background +net/ddos +net/hostname/resolve +net/ip/parse +net/ip/string +net/mac/address +net/raw_sockets +net/socket/local/address +net/socket/receive +net/socket/send +procfs/net_route +random/insecure +ref/ip +ref/ip/dns_resolver +ref/ip_port +ref/path/etc +ref/path/etc/hosts +ref/path/etc/resolv.conf +ref/path/usr/bin +ref/path/usr/sbin +ref/path/usr/sbin/telnetd +ref/program/ancient_gcc diff --git a/samples/Linux/clean/tracer.o.aarch64.simple b/samples/Linux/clean/tracer.o.aarch64.simple new file mode 100644 index 000000000..d2496c58f --- /dev/null +++ b/samples/Linux/clean/tracer.o.aarch64.simple @@ -0,0 +1,16 @@ +# Linux/clean/tracer.o.aarch64 +combo/recon/system_network +databases/mysql +kernel/acct +net/bpf +net/http/post +net/ip/multicast/send +net/socket/listen +net/socket/receive +net/socket/send +net/stat +net/syncookie +ref/ip_port +ref/words/heartbeat +ref/words/synflood +security_controls/linux/iptables