Análisis de malware

Cómo detectar y prevenir web shells: nuevas directrices de la NSA y el gobierno australiano

11 de agosto de por Greg Belding

Introducción

No todos los días los gobiernos de diferentes países redactan juntos normas orientativas sobre cualquier tema. Es aún más raro que creen orientaciones conjuntas por motivos de ciberseguridad. Puede que a muchos les sorprenda que el gobierno de los Estados Unidos (NSA) y el gobierno australiano (Australian Signals Directorate o ASD) hayan emitido reglas de orientación consultivas conjuntas sobre cómo detectar y prevenir web shells.

Este artículo detallará el CSI entre NSA y ASD y explorará orientación sobre cómo detectar web shells, prevenir web shells y respuesta y recuperación.

¡Conviértete en un ingeniero inverso certificado!

Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

Un encuentro de mentes entre el gobierno de los Estados Unidos (NSA) y el gobierno australiano

El 22 de abril de, la NSA y la ASD publicaron una hoja de información de ciberseguridad (CSI) que aborda una amenaza común: el malware web shell.

Los web shells son malware utilizado por atacantes, normalmente en el servidor web de la víctima, que son capaces de ejecutar comandos arbitrarios del sistema. Se implementan explotando vulnerabilidades de aplicaciones web o se cargan en máquinas comprometidas y pueden servir como puertas traseras (para persistencia).

El CSI clasifica sus orientaciones de asesoramiento en tres categorías: detección, prevención y respuesta y recuperación. Estas categorías se utilizarán para presentarle estas guías de la manera más organizada posible. Si bien este artículo proporcionará las principales sugerencias de orientación, no es una lista exhaustiva. Para ver el CSI completo, haga clic aquí .

Detección

Comparación con aplicaciones web «conocidas»

Se sabe que los shells web dependen de la modificación o creación de archivos dentro de las aplicaciones web. Lo que se considera el mejor método de detección de web shell es comparar la versión de producción de una aplicación web con la de un web shell que se haya verificado como benigno. Cualquier discrepancia debe revisarse manualmente para verificar su autenticidad. Para más información haga clic aquí .

Cabe señalar que durante la revisión de autenticidad, no se debe confiar en las marcas de tiempo. Se sabe que los atacantes modifican marcas de tiempo legítimas para aumentar su propia legitimidad y evitar ser detectados.

Uso de firmas para la detección

Desde el punto de vista tanto del host como de la red, la detección de web shell basada en firmas no es confiable. Los shells web son fáciles de modificar y ofuscar, por lo que, a menos que se trate de un shell web mínimamente modificado donde pueda utilizar la detección basada en expresiones o huellas dactilares, no es una buena idea confiar en las firmas desde la perspectiva del host.

Desde la perspectiva de la red, el uso de firmas para detectar shells web no es confiable porque se cifran fácilmente.

Detección de tráfico web anómalo

Los caparazones web están diseñados para mezclarse con el tráfico cuando se fabrican bien, pero hay algunas grietas proverbiales en su armadura en las que se debe centrar la atención para su detección.

Prevención

¡Reforza esos servidores web!

Reforzar los servidores web, es decir, proteger las configuraciones de servidores y aplicaciones web, puede evitar los shells web. Otras medidas para hacer que su endurecimiento sea más efectivo incluyen:

Madre, ¿puedo?

Los privilegios para los servicios web deben estar alineados con el paradigma de seguridad de privilegios mínimos. Esto significa que no debe otorgar permiso a las aplicaciones web para escribir directamente en un directorio accesible desde la web ni permiso para modificar el código accesible desde la web, lo que haría que los atacantes no pudieran cargar un shell web en aplicaciones web vulnerables. Es posible que esto no esté disponible para aplicaciones web, así que consulte la disponibilidad con su proveedor.

Supervisión de la integridad del archivo

Si no puede reforzar los permisos de las aplicaciones web, puede obtener un efecto similar monitoreando la integridad de los archivos. Esto se debe a que las soluciones de integridad de archivos pueden permitirle bloquear o alertarle cuando se produzcan cambios en los directorios accesibles en la web. Dependiendo de su solución de monitoreo de la integridad de los archivos, es posible que pueda permitir ciertos cambios legítimos en los archivos y rechazar otros.

Respuesta/recuperación

Los shells web varían ampliamente en sus mecanismos de persistencia y otras funcionalidades. Pueden indicar una intrusión mayor. Una vez descubierto, es necesario determinar hasta qué punto ha penetrado el atacante en la red.

La captura de paquetes y datos de flujo de red (PCAP) puede ayudar a determinar dónde están ingresando los atacantes en la red. No limpie este pivote sin descubrir toda la fuerza de la instrucción y reemplazar al intruso o podrá recuperar el acceso más tarde.

Conclusión

En abril de, la NSA y la ASD del gobierno australiano unieron fuerzas para combatir un desafío de ciberseguridad común al que se enfrentan ambos países: los web shells. Si bien los shells web no son de ninguna manera nuevos, los atacantes todavía dependen bastante de ellos y siguen siendo uno de los malware más utilizados que existen.

Para aquellos que buscan detectar, prevenir o responder/recuperarse de la actividad de web shell en su entorno, encontrarán que esta guía está muy retrasada, ya que es útil para los administradores que se ocupan de web shells.

Fuentes

  1. Hoja de información sobre ciberseguridad: detectar y prevenir malware de shell web , Agencia de Seguridad Nacional
  2. Cómo detectar y evitar que los ciberatacantes exploten los servidores web a través del malware Web Shell , Revista de seguridad