En varias ocasiones hemos sido testigos de cómo, paradójicamente, los cibercriminales utilizan las buenas prácticas tales como el encodeado para realizar sus actividades delictivas: a lo largo de los últimos años vimos diferentes técnicas de ofuscación de código y packers para ocultar códigos maliciosos. En esta entrada veremos cómo se aplican técnicas similares a sitios web, más precisamente a archivos PHP ofuscados con IonCube para esconder algún tipo de actividad maliciosa.
Esta vez nos centraremos en la herramienta IonCube, la cual se encarga de ofuscar no solo ejecutables sino también archivos PHP, entre otros. Su propósito es ayudar en la prevención del análisis, ya que permite proteger el código fuente de estos archivos web.
La forma de usar esta herramienta no es compleja, ya que cuenta con un asistente para realizar la tarea. Puede descargarse e instalarse la versión de prueba por 14 días de IonCube Encoder para probarla; veamos a continuación algunas de las funciones que pueden utilizarse para ofuscar código:
Una vez creado el proyecto, seleccionados los archivos a ofuscar y las opciones de ofuscado que deseen aplicarse (vistas en la captura de pantalla anterior) solo resta hacer clic en el botón play en la barra de herramientas para que comience el proceso. A continuación veremos el ejemplo de la ejecución de esta tarea en una captura de pantalla:
Con esto vemos que en pocos pasos se obtienen los archivos ofuscados dificultando la visibilidad de su código fuente.
Como contraparte, entonces, observamos que los cibercriminales también utilizan herramientas de este tipo, pero para esconder sus códigos maliciosos -desde paneles de botnets hasta exploit kits. Citando el ejemplo mencionado, veremos una captura de cómo se ve un panel de un exploit kit ofuscado con esta herramienta:
Con solo abrir este archivo ejecutable en un editor de texto, podemos ver que hace llamada al complemento denominado IonCube. En la captura de pantalla anterior podemos ver las veces que llama a esta herramienta para su desencodeado, mientras que en el recuadro color rojo inferior (a partir de la línea de texto número 5) se muestran caracteres sin sentido. Todo esto remarcado en este recuadro no es más que las instrucciones PHP cifradas por la herramienta.
Sin embargo, investigando en Internet y tratando de buscar una solución a esto, me topé con algunas herramientas que se encargan de desofuscarlo, aunque también hay algunos sitios como www.decry.pt que lo hacen de forma gratuita y online. La buena noticia es que existen varias de estas herramientas que con solo ejecutarlas y esperar algunos segundos, nos permitirán leer el código y ver las instrucciones maliciosas que ejecutan.
Al instalarse la herramienta Idezender crea dos directorios, uno llamado “Encoded Files” y otro “Decoded Files”. Su funcionamiento es sencillo; basta con arrastrar los archivos ofuscados al directorio “Encoded Files”, tal como vemos en la siguiente captura de pantalla:
Realizado lo anterior, solo resta ejecutar la herramienta, seleccionar la opción 4 (en este caso) para que automáticamente corra el proceso de desencodeado:
Una vez desencodeados los archivos, serán movidos automáticamente al directorio Decoded, donde se encontrarán de forma legible. Es decir, listos para su lectura y comprensión con cualquier editor de textos, como vemos en el siguiente ejemplo:
Como podemos apreciar, una vez realizado el proceso, las instrucciones en el archivo PHP quedan al descubierto y pueden leerse claramente. Inclusive estos archivos PHP puede ser ejecutado en un servidor web, para ver cómo se comporta en la siguiente imagen veremos el antes y el después del desencodeado de estos archivos:
Como mencionamos el principio de la entrada en este caso se trata de un exploit pack, el cual estaba encodeado para pasar desapercibido y poder lograr su actividad maliciosa.
Es muy importante conocer estas herramientas, ya que ante la detección de este tipo de archivos serán capaces de analizar la situación y prevenir que sus equipos se vean involucrados en actividades delictivas. Aquí es muy importante remarcar que en muchas ocasiones, estos archivos pueden ser detectados de forma manual únicamente.
Por este motivo, como siempre remarcamos, la proactividad es una de las armas fundamentales contra el cibercrimen. Siempre es bueno plantearse ¿qué sucedería si sus equipos fueran comprometidos y utilizados para explotar vulnerabilidades o alojar algún panel de control de botnets?
Estas son situaciones en las que ninguno querría verse envuelto, porque podrían ser protagonistas de ataques de denegación de servicio (DoS), propagación de malware o alojamiento de sitios de phishing. Estas actividades, dependiendo del país y sus leyes, pueden ser penadas legalmente. Por eso, si tienen algún servidor web, recomendamos buscar este tipo de archivos y analizarlos cuando antes para evitar futuros dolores de cabeza –o inclusive problemas con la ley.