rule HackTool_Linux_NodeRevShell_A{ meta: description = "HackTool:Linux/NodeRevShell.A,SIGNATURE_TYPE_CMDHSTR_EXT,0a 00 0a 00 09 00 00 " strings : $a_00_0 = {6e 00 6f 00 64 00 65 00 6a 00 73 00 20 00 2d 00 65 00 } //2 nodejs -e $a_00_1 = {6e 00 6f 00 64 00 65 00 20 00 2d 00 65 00 } //2 node -e $a_02_2 = {72 00 65 00 71 00 75 00 69 00 72 00 65 00 [0-02] 28 00 [0-04] 63 00 68 00 69 00 6c 00 64 00 5f 00 70 00 72 00 6f 00 63 00 65 00 73 00 73 00 [0-04] 29 00 } //1 $a_02_3 = {72 00 65 00 71 00 75 00 69 00 72 00 65 00 [0-02] 28 00 [0-04] 6e 00 65 00 74 00 [0-04] 29 00 } //1 $a_00_4 = {73 00 74 00 64 00 6f 00 75 00 74 00 2e 00 70 00 69 00 70 00 65 00 } //1 stdout.pipe $a_00_5 = {73 00 74 00 64 00 65 00 72 00 72 00 2e 00 70 00 69 00 70 00 65 00 } //1 stderr.pipe $a_00_6 = {63 00 72 00 65 00 61 00 74 00 65 00 53 00 65 00 72 00 76 00 65 00 72 00 28 00 } //2 createServer( $a_02_7 = {2e 00 73 00 70 00 61 00 77 00 6e 00 [0-02] 28 00 [0-04] 2f 00 62 00 69 00 6e 00 2f 00 [0-04] 73 00 68 00 } //2 $a_02_8 = {2e 00 65 00 78 00 65 00 63 00 [0-02] 28 00 [0-04] 2f 00 62 00 69 00 6e 00 2f 00 [0-04] 73 00 68 00 } //2 condition: ((#a_00_0 & 1)*2+(#a_00_1 & 1)*2+(#a_02_2 & 1)*1+(#a_02_3 & 1)*1+(#a_00_4 & 1)*1+(#a_00_5 & 1)*1+(#a_00_6 & 1)*2+(#a_02_7 & 1)*2+(#a_02_8 & 1)*2) >=10 }