¿Necesita Cloud Computing? Empiece ahora

Derrota del shell web WSO-NG

Akamai Wave Blue

escrito por

Dennis German y Maxim Zavodchik

November 22, 2023

dennis-german

escrito por

Dennis German

Dennis German is a Security Researcher in the Apps & APIs Threat Research Group at Akamai.

Maxim Zavodchik

escrito por

Maxim Zavodchik

Maxim Zavodchik is a Senior Manager of Apps & APIs Threat Research at Akamai.

Nuestra exhaustiva exploración de los orígenes y las características avanzadas de WSO-NG pone de relieve su potencial como amenaza en la era actual, mientras la concienciación en materia de ciberseguridad sigue en auge.

Los administradores web y los profesionales de la seguridad se muestran cada vez más recelosos de los shells web, ya que estos scripts maliciosos proporcionan a los atacantes la capacidad de controlar de forma remota los servidores web comprometidos.

En esta publicación de blog, analizaremos el shell web denominado WSO-NG. Esta publicación es la primera de una serie que arrojará más luz sobre el mundo de los shells web.

¿Qué es un shell web?

Antes de entrar en los detalles de WSO-NG, echemos un vistazo rápido a lo que implican los shells web. Un shell web es un script, escrito normalmente en un lenguaje compatible con web como PHP, ASP o JSP, que proporciona control remoto sobre un servidor comprometido. Una vez cargado, los atacantes pueden llevar a cabo una serie de actividades maliciosas, como el robo de datos, la supervisión de servidores y el avance lateral dentro de la red.

Según MITRE ATT&CK, la implementación de un shell web es una táctica utilizada por los atacantes para establecer un punto de apoyo duradero en el sistema de la víctima.

Breve historia de WSO

WSO, abreviatura de "web shell de oRb", es un web shell bien establecido que ha estado presente durante un mínimo de 14 años. Su origen se remonta al momento en el que el usuario llamado "oRb" lo introdujo en un foro de piratería ruso (Figura 1).

 Sus comienzos se remontan a su introducción por parte de un usuario con el nombre "oRb" en un foro de piratería ruso (Figura 1). Fig. 1: Publicación oRb en un foro de piratería en 2010

WSO proporciona una amplia gama de funcionalidades de shell web que agilizan el proceso para que los hackers recopilen información de un servidor objetivo, manejen archivos de forma eficaz, obtengan acceso no autorizado a bases de datos y ejecuten comandos de shell.

Con el paso del tiempo, el desarrollador inicial de WSO, junto con sus colaboradores, fue incorporando mejoras en las funciones y corrigiendo errores continuamente (Figura 2).

Con el paso del tiempo, el desarrollador inicial de WSO, junto con sus colaboradores, fue incorporando mejoras en las funciones y corrigiendo errores continuamente (Figura 2). Fig. 2: Una de las primeras versiones de WSO (fuente: https://github.com/mIcHyAmRaNe/wso-webshell)

En 2021, un usuario de GitHub con el nombre "0xbadad" reveló una iteración actualizada del shell WSO. Inicialmente denominado "step.php", el nombre se cambió posteriormente a "wso-ng.php", para representar, según el creador, el hecho de que se trata de la "nueva generación del famoso shell web WSO."

WSO-NG: la nueva generación

Un enemigo potencial que selecciona un shell web para supervisar un servidor cuenta con diversas opciones poderosas, como China Chopper, B374K o R57, entre otras. Una de las opciones más destacadas es WSO y su iteración avanzada, WSO-NG (Figura 3). WSO-NG proporciona a los ciberatacantes las herramientas contemporáneas esenciales para navegar por el entorno digital de hoy en día concienciado con la seguridad.

Una de las opciones más destacadas es WSO y su iteración avanzada, WSO-NG (Figura 3). Fig. 3: WSO-NG, la nueva generación de WSO (fuente: https://github.com/aels/wso-ng)

Ocultar la página de inicio de sesión

Para aumentar las capacidades de ocultación de WSO-NG y limitar el acceso, el shell web muestra la página de error 404 cuando los usuarios intentan acceder a su interfaz de inicio de sesión.

Sin embargo, detrás esta ilusión de una página de "error", el shell web espera de forma encubierta que se introduzca la contraseña a través del teclado. El formulario de inicio de sesión oculto emplea una astuta técnica CSS para permanecer oculto al usuario, lo que consigue desplazándose 1000 píxeles hacia la izquierda. Esta manipulación sitúa el formulario de manera eficaz fuera del área visible de la pantalla (Figura 4).

Esta manipulación sitúa el formulario de manera eficaz fuera del área visible de la pantalla (Figura 4). Fig. 4: La página de inicio de sesión de WSO-NG en blanco tiene una funcionalidad oculta

Recopilación de inteligencia sobre amenazas a través de terceros

Después de obtener acceso a través del formulario de inicio de sesión oculto, es probable que el siguiente paso del atacante implique el reconocimiento del entorno comprometido. Con WSO-NG, el atacante puede recopilar información sobre las amenazas que afectan al sistema, empleando tácticas y herramientas similares a las que utilizan las organizaciones que se defienden de las ciberamenazas.

WSO-NG se integra a la perfección con un servicio de inteligencia contra amenazas denominado VirusTotal, lo que permite analizar la reputación de IP del servidor comprometido para determinar si se ha marcado por llevar a cabo actividades maliciosas. Si el atacante planea utilizar este servidor para ataques online adicionales, esta integración resulta crucial a la hora de evaluar la probabilidad de que el ataque sea bloqueado por los posibles objetivos, especialmente si la IP ya figura en sus registros de denegación (Figura 5).

Otro aspecto esencial es que esta función puede descubrir si el servidor ha experimentado riesgos previamente por parte de otros atacantes, lo que hará que el atacante proceda con precaución.

Además, la integración de WSO-NG con el servicio SecurityTrails ayuda a los atacantes a identificar dominios adicionales alojados a través del servidor comprometido, lo que contribuye a la creación de perfiles de objetivos adicionales.

 Si el atacante planea utilizar este servidor para ataques online adicionales, esta integración resulta crucial a la hora de evaluar la probabilidad de que el ataque sea bloqueado por los posibles objetivos, especialmente si la IP ya figura en sus registros de denegación (Figura 5). Fig. 5: Ejemplo de información de inteligencia contra amenazas en la IP del servidor (fuente: https://github.com/aels/wso-ng)

Adaptarse a entornos modernos

A medida que se van adoptando entornos de nube y tecnologías modernas de forma más generalizada, han ido surgiendo nuevos métodos para almacenar y acceder a información técnica crucial y secretos operativos.

Una función de reconocimiento destacable del shell web implica la recuperación de metadatos de AWS. Esta sirve como método habitual para intentar adquirir credenciales de AWS asociadas a la instancia de nube activa, lo que podría facilitar un movimiento lateral posterior en la cuenta en la nube.

Otra función de reconocimiento que ofrece el shell web es la capacidad de buscar posibles conexiones a base de datos Redis con el objetivo de obtener un acceso más amplio a los datos de las aplicaciones. Redis, una base de datos de clave-valor en memoria, se utiliza ampliamente en aplicaciones contemporáneas, especialmente en entornos de nube.

Ofensiva mejorada

WSO-NG es un shell web de nivel superior, por lo que está equipado de forma inherente con amplias capacidades ofensivas desde el principio.

En el típico entorno de alojamiento web compartido que ofrecen por muchos proveedores de alojamiento, se implementan precauciones para evitar que los propietarios de sitios web accedan a otros sitios en el mismo servidor y escalen privilegios. Los proveedores de alojamiento emplean varios mecanismos, como restringir el uso de funciones de PHP de alto riesgo, como la ejecución directa de comandos de shell mediante la funcionalidad de adición de filtro de PHP.

WSO-NG incorpora una explotación integrada diseñada específicamente para eludir estas medidas de seguridad. Además, aprovecha una explotación preexistente para ejecutar código arbitrario en entornos FastCGI, una configuración muy extendida en el alojamiento web. Esto le permite escalar privilegios y establecer un punto de apoyo en el nivel "raíz".

Mejoras en la experiencia del usuario

Por último, WSO-NG no descuida las mejoras en la experiencia de usuario, lo que permite al atacante alcanzar sus objetivos de forma eficaz.

El shell web introduce numerosas mejoras en la interfaz de usuario, incluyendo un nuevo panel de rutas de navegación, accesos directos de teclado, resaltado de sintaxis, edición ordenada de código PHP (Figura 6), y copia rápida en el portapapeles con un simple clic, entre otras.

El shell web introduce numerosas mejoras en la interfaz de usuario, incluyendo un nuevo panel de rutas de navegación, accesos directos de teclado, resaltado de sintaxis, edición ordenada de código PHP (Figura 6), y copia rápida en el portapapeles con un simple clic, entre otras. Fig. 6: Edición ordenada de código PHP

Derrota de WSO-NG

Para implementar un shell web en el servidor de una víctima, es necesario un método de acceso inicial; dicho método suele implicar la explotación de una vulnerabilidad web. Para evitar este acceso inicial al servidor, se recomienda a los profesionales de la seguridad que se mantengan actualizados con los parches más recientes. Sin embargo, mientras las empresas se esfuerzan por mantenerse al día en materia de parches y medidas de seguridad, los shells web también podrían ser derrotados por firewalls de aplicaciones web avanzados (WAF), como App & API Protector de Akamai.

Con el uso de Adaptive Security Engine, el WAF de Akamai puede identificar los intentos iniciales de explotación de vulnerabilidades web que podrían allanar el camino para la implementación de un shell web de acceso continuado. Además, puede detectar los esfuerzos de un atacante por cargar un shell web en el servidor objetivo utilizando un grupo de ataque de inyección de comandos (Figura 7).

En concreto, WSO-NG se podría detectar con la siguiente regla de Adaptive Security Engine:

  • 3000171 — Webshell/Backdoor File Upload Attempt

 puede detectar los esfuerzos de un atacante por cargar un shell web en el servidor de destino mediante el grupo de ataque de inyección de comandos (Figura 7). Fig. 7: Detección por parte del motor de seguridad adaptable del intento de carga de WSO-NG

Conclusión

En el dinámico mundo de los avances digitales, shells web tales como WSO-NG emergen como potentes instrumentos cuando están en manos de los adversarios. La amplia gama de funciones que estos scripts maliciosos proporcionan a los atacantes los convierte en una preocupación importante tanto para los expertos en seguridad como para los administradores web. Nuestra exhaustiva exploración de los orígenes y las características avanzadas de WSO-NG pone de relieve su potencial como amenaza en la era actual, mientra la concienciación en material de ciberseguridad sigue en auge.

La buena noticia es que a medida que crece la amenaza, también lo hacen nuestras defensas. App & API Protector, el WAF de Akamai, surge como un poderoso baluarte frente a estos scripts insidiosos que protege el mundo digital del que dependemos.

Podemos contrarrestar las amenazas que plantean los shells web avanzados actualizando los parches de forma sistemática, utilizando herramientas de seguridad innovadoras como App & API Protector y manteniendo una estrategia de seguridad proactiva, para garantizar un entorno web más seguro para todos los usuarios.



Akamai Wave Blue

escrito por

Dennis German y Maxim Zavodchik

November 22, 2023

dennis-german

escrito por

Dennis German

Dennis German is a Security Researcher in the Apps & APIs Threat Research Group at Akamai.

Maxim Zavodchik

escrito por

Maxim Zavodchik

Maxim Zavodchik is a Senior Manager of Apps & APIs Threat Research at Akamai.