My org received the ET OPEN rulset update on 5/9, and since then I’ve observed multiple alerts triggering on SID 2069175 rev 2.
While I did not observe any of the additional artifacts referenced in Rapid7’s whitepaper, I did notice a pattern across all events today. Every alert fired within a single one-second window (02:57:12.017-02:57:13.000).
On review of the ICMP payloads, the data appears consistent with standard Linux ping behavior, including the expected incremental ASCII filler pattern following the ICMP timestamp structure.
In my case, I believe Suricata is interpreting the initial bytes of the ICMP struct timeval timestamp as ASCII. Two adjacent bytes in the binary timestamp may coincidentally be decoding to 0x58 0x3A, depending on the specific capture timing.
I’m still validating this against additional captures, but the strict 1-second clustering and payload consistency makes me think this may be a decoding edge case.
For reference, these are the ASCII-rendered ICMP payloads from our misc Linux devices that were alerted on.
X:.j............................ !"#$%&'()*+,-./01234567
X:.j............................ !"#$%&'()*+,-./0123456789:;<=>?
X:.j.....* ..................... !"#$%&'()*+,-./01234567
X:.j...... ..................... !"#$%&'()*+,-./01234567
X:.j...... ..................... !"#$%&'()*+,-./01234567
X:.j.....J...................... !"#$%&'()*+,-./01234567
X:.j.....Y...................... !"#$%&'()*+,-./01234567
X:.j...."Y...................... !"#$%&'()*+,-./01234567
X:.j...... ..................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j.....1...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j.....7...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j.....K...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j.....R...................... !"#$%&'()*+,-./01234567
X:.j.....`...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....9....................... !"#$%&'()*+,-./01234567
X:.j....9q...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....N_...................... !"#$%&'()*+,-./01234567
X:.j....P*...................... !"#$%&'()*+,-./01234567
X:.j....X}...................... !"#$%&'()*+,-./01234567
X:.j....]1...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....^....................... !"#$%&'()*+,-./01234567
X:.j....a....................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....b. ..................... !"#$%&'()*+,-./01234567
X:.j....p....................... !"#$%&'()*+,-./01234567
X:.j....t'...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....z....................... !"#$%&'()*+,-./01234567
X:.j.... ....................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j...."&...................... !"#$%&'()*+,-./01234567
X:.j....#....................... !"#$%&'()*+,-./01234567
X:.j....#7...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....&....................... !"#$%&'()*+,-./01234567
X:.j....(....................... !"#$%&'()*+,-./01234567
X:.j....(s...................... !"#$%&'()*+,-./01234567
X:.j....*+...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....*....................... !"#$%&'()*+,-./01234567
X:.j.....!...................... !"#$%&'()*+,-./01234567
X:.j.....#...................... !"#$%&'()*+,-./01234567
X:.j.....$ ..................... !"#$%&'()*+,-./01234567
X:.j.....*...................... !"#$%&'()*+,-./01234567
X:.j.....,...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j...... ..................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j.....?...................... !"#$%&'()*+,-./01234567
X:.j.....C...................... !"#$%&'()*+,-./01234567
X:.j.....I...................... !"#$%&'()*+,-./01234567
X:.j.....L...................... !"#$%&'()*+,-./01234567
X:.j.....M...................... !"#$%&'()*+,-./01234567
X:.j.....P...................... !"#$%&'()*+,-./01234567
X:.j.....Q ..................... !"#$%&'()*+,-./01234567
X:.j.....Q...................... !"#$%&'()*+,-./01234567
X:.j.....f ..................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j.....h...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j.....v...................... !"#$%&'()*+,-./01234567
X:.j.....x...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j.....y...................... !"#$%&'()*+,-./01234567
X:.j.....z...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....4(...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....6....................... !"#$%&'()*+,-./01234567
X:.j....8....................... !"#$%&'()*+,-./01234567
X:.j....@....................... !"#$%&'()*+,-./01234567
X:.j....B ...................... !"#$%&'()*+,-./01234567
X:.j....C....................... !"#$%&'()*+,-./01234567
X:.j....CP...................... !"#$%&'()*+,-./01234567
X:.j....D....................... !"#$%&'()*+,-./01234567
X:.j....Ee...................... !"#$%&'()*+,-./01234567
X:.j....H+...................... !"#$%&'()*+,-./01234567
X:.j....Ht...................... !"#$%&'()*+,-./01234567
X:.j....Q....................... !"#$%&'()*+,-./01234567
X:.j....S....................... !"#$%&'()*+,-./01234567
X:.j....V#...................... !"#$%&'()*+,-./01234567
X:.j....X....................... !"#$%&'()*+,-./01234567
X:.j....\....................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....`)...................... !"#$%&'()*+,-./01234567
X:.j....b?...................... !"#$%&'()*+,-./01234567
X:.j....e....................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....g....................... !"#$%&'()*+,-./01234567
X:.j....g3...................... !"#$%&'()*+,-./01234567
X:.j....n....................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....n? ..................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....o....................... !"#$%&'()*+,-./01234567
X:.j....oQ ..................... !"#$%&'()*+,-./01234567
X:.j....q. ..................... !"#$%&'()*+,-./01234567
X:.j....q0...................... !"#$%&'()*+,-./0123456789:;<=>?
X:.j....t?...................... !"#$%&'()*+,-./01234567
X:.j....|....................... !"#$%&'()*+,-./0123456789:;<=>?
I currently have no revision recommendations, as I’m away from my lab. I just wanted to bring this up in case this was noticed by anyone else.
EDIT: I’ve validated that rev 2 is firing on 0x58 0x3A in the Unix timestamp. Given we’re dealing with a 32-bit integer, we’re looking at a 65,536-second interval. My original alerts fired between 02:57:12.017-02:57:13.000, then I had another burst between 21:09:12-21:09:13.
I’ve tested a new revision which accounts for the 16-byte timestamp. Please share your thoughts.
alert icmp any any -> $HOME_NET any (msg:"ET MALWARE BPFDoor ICMP Echo Request, X:[COMMAND] (Inbound)"; xbits:set,ET.bpfdoor,track ip_src,expire 60; itype:8; content:"X:"; offset:16;