[clamav-users] Minor bug or working as intended?
Kris Deugau
kdeugau at vianet.ca
Fri Feb 25 16:39:59 UTC 2022
Maarten Broekman via clamav-users wrote:
> There's not a lot that you can do in Yara rules that you can't do in LDB
> sigs... for what it's worth, here's a logical sig that detects the same
> thing as the Yara rules...
>
> mbroekman at lothlorien:~$ grep MJB.JS.SendEmail
> clamdb/javascript_sigs.ldb| sigtool --decode-sigs
> VIRUS NAME: MJB.JS.SendEmailFunc-0
> TDB: Engine:90-255,Target:0
> LOGICAL EXPRESSION: 0>3
> * SUBSIG ID 0
> +-> OFFSET: ANY
> +-> SIGMOD: NOCASE
> +-> DECODED SUBSIGNATURE:
> <script{WILDCARD_ANY_STRING(LENGTH<=1)}type="text/javascript">{WILDCARD_ANY_STRING(LENGTH<=1)}function{WILDCARD_ANY_STRING(LENGTH<=1)}sendemail{WILDCARD_ANY_STRING(LENGTH<=1)}(){
>
> mbroekman at lothlorien:~$ grep MJB.JS.SendEmail clamdb/javascript_sigs.ldb
> MJB.JS.SendEmailFunc-0;Engine:90-255,Target:0;0>3;3c736372697074{-1}747970653d22746578742f6a617661736372697074223e{-1}66756e6374696f6e{-1}73656e64656d61696c{-1}28297b::i
*nods* Thanks. As it was I kept at it until I did actually have a full
Yara signature that matched as intended working around the broken
repetition condition with the hex string instead of the regex.
.ldb signatures could definitely use more expansive documentation; the
examples in the PDF are really pretty simple. Earlier on I had also
tripped over (among other things) what might be the correct syntax for
multiple regex matches triggered by the same "hey, wake up!"
subsignature. (I'm not sure I understand why that's needed, it seems
rather awkward.)
I'll have to remember to try {-1} more often. This isn't the first time
I've wanted to match a character that may not be there, although I also
usually also want to restrict matching to a subset of characters, not
"any byte" (which is why I reached for the regex match in both my
attempts at an ldb signature, and in the Yara signature).
-kgd
More information about the clamav-users
mailing list