From: Shivani Bhardwaj Date: Wed, 24 Feb 2021 08:05:37 +0000 (+0530) Subject: doc/dcerpc: add proto keywords X-Git-Tag: suricata-7.0.0-beta1~1555 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=51be8f0238d30e91beeaee582cafd82ea77bb10c;p=thirdparty%2Fsuricata.git doc/dcerpc: add proto keywords --- diff --git a/doc/userguide/rules/dcerpc-keywords.rst b/doc/userguide/rules/dcerpc-keywords.rst new file mode 100644 index 0000000000..2065f66ef2 --- /dev/null +++ b/doc/userguide/rules/dcerpc-keywords.rst @@ -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:; + dcerpc.iface:,[>,<,!,=]; + dcerpc.iface:,any_frag; + dcerpc.iface:,[>,<,!,=],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:; + dcerpc.opnum:[>,<,!,=]; + dcerpc.opnum:,,....; + dcerpc.opnum:-; + +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: ``_ diff --git a/doc/userguide/rules/index.rst b/doc/userguide/rules/index.rst index 2e7dd00c96..bed3a82e37 100644 --- a/doc/userguide/rules/index.rst +++ b/doc/userguide/rules/index.rst @@ -18,6 +18,7 @@ Suricata Rules ssh-keywords ja3-keywords modbus-keyword + dcerpc-keywords dnp3-keywords enip-keyword ftp-keywords