]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
doc/dcerpc: add proto keywords
authorShivani Bhardwaj <shivanib134@gmail.com>
Wed, 24 Feb 2021 08:05:37 +0000 (13:35 +0530)
committerVictor Julien <victor@inliniac.net>
Fri, 2 Jul 2021 08:49:40 +0000 (10:49 +0200)
doc/userguide/rules/dcerpc-keywords.rst [new file with mode: 0644]
doc/userguide/rules/index.rst

diff --git a/doc/userguide/rules/dcerpc-keywords.rst b/doc/userguide/rules/dcerpc-keywords.rst
new file mode 100644 (file)
index 0000000..2065f66
--- /dev/null
@@ -0,0 +1,71 @@
+DCERPC Keywords
+================
+
+Following keywords can be used for matching on fields in headers and payloads
+of DCERPC packets over UDP, TCP and SMB.
+
+dcerpc.iface
+-------------
+
+Match on the value of the interface UUID in a DCERPC header. If `any_frag` option
+is given, the match shall be done on all fragments. If it's not, the match shall
+only happen on the first fragment.
+
+The format of the keyword::
+
+  dcerpc.iface:<uuid>;
+  dcerpc.iface:<uuid>,[>,<,!,=]<iface_version>;
+  dcerpc.iface:<uuid>,any_frag;
+  dcerpc.iface:<uuid>,[>,<,!,=]<iface_version>,any_frag;
+
+Examples::
+
+  dcerpc.iface:367abb81-9844-35f1-ad32-98f038001003;
+  dcerpc.iface:367abb81-9844-35f1-ad32-98f038001003,!10;
+  dcerpc.iface:367abb81-9844-35f1-ad32-98f038001003,any_frag;
+  dcerpc.iface:367abb81-9844-35f1-ad32-98f038001003,>1,any_frag;
+
+ET Open rule example:
+
+.. container:: example-rule
+
+  alert tcp any any -> $HOME_NET any (msg:"ET NETBIOS DCERPC WMI Remote Process Execution"; flow:to_server,established; dce_iface:00000143-0000-0000-c000-000000000046; classtype:bad-unknown; sid:2027167; rev:1; metadata:affected_product Windows_XP_Vista_7_8_10_Server_32_64_Bit, attack_target Client_Endpoint, created_at 2019_04_09, deployment Internal, former_category NETBIOS, signature_severity Informational, updated_at 2019_04_09;)
+
+
+dcerpc.opnum
+-------------
+
+Match on one or many operation numbers and/or operation number range within the
+interface in a DCERPC header.
+
+The format of the keyword::
+
+  dcerpc.opnum:<u16>;
+  dcerpc.opnum:[>,<,!,=]<u16>;
+  dcerpc.opnum:<u16>,<u16>,<u16>....;
+  dcerpc.opnum:<u16>-<u16>;
+
+Examples::
+
+  dcerpc.opnum:15;
+  dcerpc.opnum:>10;
+  dcerpc.opnum:12,24,62,61;
+  dcerpc.opnum:12,18-24,5;
+  dcerpc.opnum:12-14,12,121,62-78;
+
+dcerpc.stub_data
+-----------------
+
+Match on the stub data in a given DCERPC packet. It is a 'sticky buffer'.
+
+Example::
+
+  dcerpc.stub_data; content:"123456";
+
+
+Additional information
+-----------------------
+
+More information on the protocol can be found here:
+
+* DCERPC: `<https://pubs.opengroup.org/onlinepubs/9629399/chap1.htm>`_
index 2e7dd00c9623ce2881d57d47094a8b88e918f018..bed3a82e37b9f70944a74c16a569a9cc80c3ef0d 100644 (file)
@@ -18,6 +18,7 @@ Suricata Rules
    ssh-keywords
    ja3-keywords
    modbus-keyword
+   dcerpc-keywords
    dnp3-keywords
    enip-keyword
    ftp-keywords