PHP-Obfuskationsregeln
Loader- und Obfuskationsmuster: eval/base64-Ketten, assert- und create_function-Loader, preg_replace /e, str_rot13/gzinflate-Schichten, Hex- und chr-Escape-Ketten, goto-Obfuskation.
Loader- und Obfuskationsmuster: eval/base64-Ketten, assert- und create_function-Loader, preg_replace /e, str_rot13/gzinflate-Schichten, Hex- und chr-Escape-Ketten, goto-Obfuskation.
Quelldatei: panomity_php_obfuscation.yar (Lizenz MIT, Autor Panomity GmbH). Scores reichen von 0 bis 100; 85 und darüber markiert einen Fund für sich genommen als malicious, 40 bis 84 als suspicious.
| Regel | Score | Was sie erkennt |
|---|---|---|
Panomity_PHP_Eval_Base64_Chain | 90 | eval() direkt auf einen Decode-/Inflate-Aufruf angewendet — der klassische gepackte PHP-Shell-Loader |
Panomity_PHP_Assert_Superglobal_Loader | 90 | assert() als Code-Execution-Senke über Request-Eingaben genutzt |
Panomity_PHP_Assert_Decode_Loader | 88 | assert() auf einen Decode-/Inflate-Aufruf angewendet, als Ersatz für eval genutzt |
Panomity_PHP_CreateFunction_Loader | 87 | create_function()-Lambda-Body, aufgebaut aus Request-Eingaben oder einem Decode-Aufruf |
Panomity_PHP_PregReplace_E_Modifier | 88 | preg_replace() mit dem veralteten /e-Modifier, einer Code-Execution-Primitive in alten PHP-Shells |
Panomity_PHP_StrRot13_GzInflate | 90 | Gestapelte str_rot13-/gzinflate-/base64-Decode-Schichten um eine ausführbare Payload |
Panomity_PHP_Hex_Escape_Chain | 85 | PHP-Datei, deren ausführbare Bezeichner als lange \x-Hex-Escape-Folgen versteckt sind |
Panomity_PHP_Chr_Concat_Chain | 85 | PHP-Bezeichner, zusammengesetzt aus einer langen chr()-Konkatenationskette |
Panomity_PHP_Goto_Obfuscation | 85 | PHP-Datei, mit vielen goto-Sprüngen zu zufälligen Labels flachgeklopft — typisch für automatisierte Shell-Packer |
Panomity_PHP_Concat_Eval_Obfuscation | 86 | eval/assert-Bezeichner, über String-Konkatenation aufgeteilt, um naive Scanner zu umgehen |
Panomity_PHP_Variable_Function_Superglobal | 89 | Variable-Function-Dispatch, bei dem sowohl das Callable als auch das Argument aus Request-Eingaben stammen |
Einen Fehlalarm melden
Schicken Sie die Finding-ID, den Regelnamen, den SHA-256 und die Datei selbst an falsepositive@shelltrap.com , von der E-Mail-Adresse, die in Ihrem Kundenbereich hinterlegt ist. Mail von einer anderen Adresse wird nicht verarbeitet, und ohne die Datei gibt es keine automatische Prüfung.
Die Datei wird mit der aktuellen Generation neu gescannt und automatisch auf Panomity-eigener Hardware in München analysiert; sie wird niemals ausgeführt und nie an Dritte weitergegeben. Die Antwort kommt meist innerhalb einer Stunde von sentinel@shelltrap.com . Ein bestätigter Fehlalarm wird per SHA-256 in der nächsten signierten Generation freigegeben, die sofort veröffentlicht wird und jeden Server bei dessen nächstem Feed-Refresh erreicht; die Regel selbst wird in einer späteren Generation verschärft. ClamAV- und Hash-Set-Treffer werden nie automatisch freigegeben, unklare oder abgelehnte Fälle gehen über ein Ticket im Kundenbereich an einen Menschen.