-
I've encountered a problem with "gluing" SMB and HTTP packets in the network.data.decoded field in the Kibana interface. I'm using SecurityOnion version 2.3.260. When checking the triggering of Suricata signatures, mainly on SMB and HTTP traffic, I am faced with the fact that the network.data.decoded field contains the Payload of not the packet on which the signature directly triggered, but the Payload of several adjacent packets at once, which makes analysis difficult and does not allow me to understand what the trigger was specifically for. Here is a specific example: [email protected][email protected]... ....;.....Up.9.......................................d...x...P.......t.e.s.t...l.o.c.a.l..P.o.l.i.c.i.e.s..{****}..U.s.e.r..P.r.e.f.e.r.e.n.c.e.s..S.c.h.e.d.u.l.e.d.T.a.s.k.s..S.c.h.e.d.u.l.e.d.T.a.s.k.s...x.m.l.8........... ...DH2Q......................P..u..........................MxAc....................QFid................4...RqLs....j9..?.r.. ^.,.P..................R Here is the signature itself, the triggering of which has this network.data.decoded field: alert tcp any any -> $HOME_NET 445 (msg:"TEST ET POLICY SMB2 NT Create AndX Request For a unknown Powershell .ps1 File (Policies)"; flow:established,to_server; content:"SMB"; depth:8; content:"|05 00|"; distance:8; within:2; content:"|00 2E 00|p|00|s|00|1|00|"; nocase; distance:0; content:"|00 5C 00|P|00|o|00|l|00|i|00|c|00|i|00|e|00|s|00 5C 00|"; nocase; sid:123456; rev:1;) The signature detects references to .ps1 scripts in the "Policies" folder in SMB traffic. If we move on to the analysis of the pcap file with this session, we can see that in this session, literally not a single packet had a payload containing both "Policies" and "ps1". (Screenshot 1) Most often, a similar situation occurs (it is impossible to understand from network.data.decoded what exactly the signature triggered due to the "gluing" of payloads), but when analyzing pcap, a specific packet is found that matches the signature conditions. Now is a similar example of "gluing" from HTTP traffic (screenshot 2). Please advise:
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi @spvcxsh1p and welcome to Security Onion Discussions!
First, please note that 2.3.260 is over a year old: Also note that 2.3 as a whole is past End Of Life and no longer supported: Please migrate to Security Onion 2.4:
Is this perhaps an example of HTTP pipelining?
The network.data.decoded field is simply Suricata's native payload_printable field renamed to network.data.decoded for ECS compliance: You can read more about Suricata's payload_printable field here:
At a quick glance, I do see Policies:
and ps1:
|
Beta Was this translation helpful? Give feedback.
Hello! Thanks for your response, but the problem is slightly different.
I may not have expressed it clearly in my question, but I have already managed to solve part of the problem.
The question probably relates more to the Suricata module, and I shouldn't have referred to the SecOnion documentation.
I assumed that Suricata analyzes each packet individually, however, in addition to checking the payload of each packet individually, Suricata also performs "stream" traffic analysis.
In my example with SMB, I embedded the logic of checking the payload of each packet individually in the rule, because the Create Request in SMB packets is usually small and fits in the payload of a single TCP packet.