I have two virtual machines set up with Suricata to monitor the same network.
One machine is running on Ubuntu 22.04 with Suricata version “7.0.4”.
The other machine is running on CentOS 7.9 with Suricata version “5.0.3”.
Both virtual machines have Suricata installed from the source code, and there is no difference in the rule files referenced or the setup content. However, for the following rule listed in “emerging-all.rules”, the alert detection timing was different between the two virtual machines.
alert tcp any any → $HOME_NET 445 (msg:“ET POLICY SMB2 NT Create AndX Request For an Executable File”; flow:established,to_server; content:“SMB”; depth:8; content:“|05 00|”; distance:8; within:2; content:“|00 2E 00|e|00|x|00|e|00|”; nocase; distance:0; classtype:bad-unknown; sid:2025701; rev:2; metadata:affected_product Windows_XP_Vista_7_8_10_Server_32_64_Bit, attack_target SMB_Client, created_at 2018_07_16, deployment Perimeter, former_category POLICY, signature_severity Minor, updated_at 2019_07_26;)
The alert with different detection timing is as follows.
ET POLICY SMB2 NT Create AndX Request For an Executable File [**] [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} xxx.xxx.xxx.xxx:XXXXX → yyy.yyy.yyy.yyy:YYYYY
Between 00:00 and 09:30 on May 16, 2024, Japan time, the virtual machine with Suricata 7.0.4 installed detected the above alert 42 times from 00:00 to 00:30, and no detections were made after that time. The virtual machine with Suricata 5.0.3 installed did not detect the above alert at all from 00:00 to 00:30, but detected it 863 times after that time.
When I ran the tcmdump command on each virtual machine to check if I could capture the communication from xxx.xxx.xxx.xxx:XXXXX to yyy.yyy.yyy.yyy:YYYYY, I was able to confirm that both virtual machines could capture at the same timing.
Based on the above, I would like to know if the reason for these different detection timings is due to the different versions of Suricata.