Compartir

Un web shell es una herramienta que los actores maliciosos pueden usar para interactuar y mantener acceso a un sistema después de comprometerlo. Toma la forma de un web script (un fragmento de código) que se carga en un sistema vulnerable y posteriormente puede utilizarse para interactuar con el sistema operativo subyacente.

La complejidad de los sistemas modernos, especialmente los sitios de internet que pueden incluir software de terceros y bibliotecas, que a su vez realizan conexiones de salida, significa que los scripts maliciosos que los ciberdelincuentes usan para el acceso inicial se pasan por alto fácilmente.

Después del acceso inicial, los scripts web maliciosos pueden aprovechar las técnicas de explotación o son usados para llevar a cabo más ataques.

¿Cómo se usan normalmente los web shell en ataques?

Los atacantes pueden buscar las vulnerabilidades dentro un sistema para encontrar los mejores lugares que ayuden a su objetivo: colocar uno o varios web shells. Estas flaquezas pueden estar en el sistema de administración de contenidos del website o en un web server sin parches, por ejemplo.

El objetivo es establecer un punto ancla para obtener acceso constante a un sistema. Es como construir una puerta trasera que nadie sabe que existe, de la que el atacante tiene la llave y a la que puede entrar tantas veces como él quiera.

De esta forma, los ciberdelincuentes tienen muchas opciones frente a sí, dependiendo de su motivación final. Cisco Talos, la unidad de ciberinteligencia de la compañía, ha visto ejecutar remotamente códigos o comandos, así como hacer movimientos laterales dentro de la red, o entregar cargas maliciosas adicionales.

En el reporte de incidentes realizado por Cisco Talos del primer trimestre de 2023, la explotación de aplicaciones públicas fue la principal técnica de acceso inicial observada, y el aumento de la actividad de web shell, siendo prácticamente la cuarta amenaza detectada desde principio de año, posiblemente contribuyó a esta observación significativa.

Un ejemplo: China Chooper

China Chopper es un web shell que permite a los atacantes mantener el acceso a un sistema infectado, utilizando una aplicación del lado del cliente que contiene la información requerida para el control del objetivo.

En 2019 y debido al uso significativo en los dos años anteriores –incluyendo campañas de espionaje– dos de los investigadores de Talos observaron más de cerca el China Chopper web shell. Éste había sido detectado hace nueve años, sin embargo, aún sigue vigente y es utilizado por diferentes grupos para diferentes campañas. Por ejemplo, por actores financiados por estados como Leviathan Threat Group-3390, entre otros. El análisis de Talos puede leerse aquí.

¿Cómo detectar un web shell?

Un web shell a menudo deja huellas en la escena donde está cometiendo el crimen. Un sistema de prevención puede ayudar a detectar si el atacante ha usado una herramienta como web shell para obtener acceso remoto. Por ejemplo:

  • Una solución que proporcione una visibilidad de la red generalizada y análisis de seguridad para una protección avanzada en toda la red extendida y en la nube.
  • Herramientas en la nube que utilicen la infraestructura de internet para aplicar la seguridad y bloqueen la actividad maliciosa antes de que se establezca la conexión.
  • Soluciones de detección y respuesta para puntos finales.

Recomendaciones de prevención

El incremento de redes comprometidas con web shell destaca la necesidad de una mayor conciencia y protecciones para ayudar a prevenirlos. Por ello Cisco Talos recomienda:

  • Actualizar y aplicar parches de forma rutinaria a todo el software y los sistemas operativos para identificar y corregir vulnerabilidades o configuraciones incorrectas en aplicaciones web y servidores web.
  • Realizar un “hardening” general del sistema, incluida la eliminación de servicios o protocolos cuando sean innecesarios y prestar atención a todos los sistemas expuestos directamente a internet.
  • Deshabilitar funciones php innecesarias en el “php.in” como eval(), exec(), peopen(), proc_open() y passthru().
  • Auditar y revisar frecuentemente los registros de los servidores web para detectar actividades inusuales o anómalas.

Por Yair Lelis,  Director de Ciberseguridad Cisco México

Compartir