HideMyPHPShell, ofuscador de código PHP

Número de lecturas: 2964
{lang: 'es-419'}
Son ya muy conocidas las clásicas shells escritas en PHP, que comúnmente se utilizan para aprovechar vulnerabilidades del tipo Arbitrary File Upload.
También pueden ser utilizadas para administrar ciertos aspectos en caso de que sólamente tengamos acceso vía web a nuestro servidor.
Es muy común que cuando un atacante consigue subir una shell a un servidor para comprometerlo, ofusque el código fuente de la misma para hacerla más difícil de detectar. De hecho, muchas de estas shells que se han encontrado “in the wild”, cuentan con algún tipo de ofuscación.
La herramienta HideMyPHPShell, que os presentamos hoy, permite ofuscar código PHP de cualquier tipo, de una manera rápida, y con varios métodos diferentes.

HideMyPHPShell help
./hidemyphpshell.py method_number php_file
1 eval() base64
2 eval() gzip + base64

En su primera versión soporta ofuscación mediante Base64, o mediante compresión gzip con un grado de compresión aleatorio. La idea es, en un futuro, incluir más métodos, incluso utilizando algoritmos de cifrado más avanzados, aunque la clave esté en el propio fichero y se utilice en la rutina de descifrado.
Podemos ver un ejemplo de uso con PHPShell.
Si la descargamos y vemos el código fuente, es demasiado ruidoso:

$ head phpshell.php
<?php // -*- coding: utf-8 -*-

define(‘PHPSHELL_VERSION’, ‘2.2’);
/*

**************************************************************
*                     PHP Shell                              *
**************************************************************

PHP Shell is an interactive PHP script that will execute any command

En cambio, si la pasamos por el programa:

./hidemyphpshell.py 2 phpshell.php
Obfuscating phpshell.php with method 2 …
Done, dumped to phpshell.php.obfuscated.php

cat phpshell.php.obfuscated.php
<?php eval(gzuncompress(base64_decode(“eF7lXO1z20Zz/2zP+H84oaxJ2nyR7HSaSiL9KLL8WK0seyS5mYzscCAQFBGBAAOAovUkz//e3+7eHQ4gKTlOpv1QxxOTwN3e3t6+7x5fDfdfzadz1e+r7rOuCtJxlFzvqkUx6X5PT548fvJ4HE6iJGw1P7z9cP726ORk9N9HZ+fH70+bHdV80XvRbO89edx/RiOVevan/jAEte4P…

Además, al utilizar el segundo método compresión gzip, el tamaño del fichero PHP ha sido reducido de 20 KB a 9.1 KB.
Ya podéis descargar HideMyPHPShell (hidemyphpshell.py) desde el repositorio oficial de SbD.

Fuente:

securitybydefault.com

Be Sociable, Share!