¿Qué es un web shell?
Es un script malicioso que se introduce en los sistemas que son atacados. En la mayoría de los casos, los servidores web forman parte del objetivo. Una vez que dichos sistemas cuenten con el web shell, el cibercriminal puede tener control remoto del mismo. En consecuencia, tendrá acceso persistente al sistema y podrá manejarlo como quiera. Esto significa que los web shells tienen la capacidad de crear backdoors en los sistemas vulnerados para tener cierto control e incluso el control total.
Además, los web shells tienen un alcance mucho mayor. También pueden vulnerar a interfaces de gestión de dispositivos en red. Por lo que es sumamente importante tener buenas prácticas de gestión segura en redes. Sobre todo, si se trata de aquellas que cuentan con cientos y miles de dispositivos conectados a diario. El auge del teletrabajo trae consigo riesgos de seguridad, que, si bien son ya conocidos, estos merecen especial atención, debido a que, evidentemente, no es lo mismo trabajar en un entorno de red «seguro» de una empresa, que desde casa. Sin embargo, podrías preguntarte si no es suficiente utilizar servicios de VPN para que podamos conectarnos con total seguridad a nuestros recursos de la organización, esa es tan sólo una parte de lo que un administrador de red debe hacer.
Detección de un web shell
La principal dificultad que se presenta a la hora de detectar este tipo de malware es que los atacantes pueden aplicar métodos de cifrado para cubrir su actividad maliciosa. Esto es consecuencia directa de la facilidad en que se pueden introducir los scripts. Como sabemos, para los ciberataques hay posibilidades infinitas y el escudo de protección de las redes debe reforzarse cada vez más. Algunos de los métodos de detección eficaz son los siguientes:
- Comparar una versión de la aplicación web distinta a la que se encuentra en producción. Esto último se refiere a la aplicación que está disponible para los usuarios. Esta comparación servirá para analizar las diferencias ante cualquier señal de actividad inusual.
- Buscar anomalías en el tráfico de la aplicación web mediante herramientas de monitorización.
- Aplicar detección basada en firmas, es decir, verificar todas las web shells que hayan sido modificadas. Aunque estas hayan sufrido una modificación mínima.
- Buscar flujos de tráfico en la red que tengas características inusuales.
¿Qué herramientas y qué procedimientos debo aplicar para el proceso de detección de estos scripts maliciosos? A continuación, compartimos recomendaciones fundamentales para protegerte eficazmente.
Cómo proteger tus sistemas y redes de los web shells
Este tipo de malware se introduce mediante vulnerabilidades presentes en:
- Aplicaciones web
- Malas prácticas de configuraciones de seguridad para servidores
Como hemos comentado anteriormente, estos web shells también se introducen directamente a los sistemas y redes que son víctimas, esto se da principalmente porque las aplicaciones web (en su mayoría) y su infraestructura vulnerable tienen permisos para realizar modificaciones de forma directa a un directorio web accesible, o bien, a piezas de código web. Sin embargo, este tipo de permisos no debería concederse.
En consecuencia, los propios sistemas abren la puerta sin inconveniente alguno a los cibercriminales para llevar a cabo los ataques. Por lo que se recomienda bloquear los permisos de modificación. Ahora bien, si es que no existe esa posibilidad, se cuenta con una alternativa.
Sistemas IDS/IPS y firewall de aplicaciones web
Esta alternativa consiste en poner en marcha un esquema de monitoreo de integridad de los archivos que están alojados en la infraestructura de las aplicaciones. De esta manera, los administradores contarán con la visibilidad necesaria ante cualquier eventualidad de cambios que puedan ocurrir en los directorios web y las piezas de código.
Por otro lado, un firewall especial para aplicaciones web. La misma está orientada a aquellas aplicaciones basadas en HTTP. Aplica una serie de reglas cuando se da una conversación HTTP. Un beneficio adicional y muy destacable es que estas reglas propias de estos firewalls también pueden proteger de otros ataques más letales como el Cross-Site Scripting y las inyecciones SQL, entre otros. De acuerdo a la organización OWASP, este tipo de firewall está orientado a la protección a servidores. Así como los proxies protegen a los hosts (a los usuarios). De hecho, los Firewalls de Aplicaciones Web también se lo considera como un tipo de proxy reverso.
Recursos de la NSA
Esta reconocida agencia de los EEUU ha puesto a disposición un completo repositorio en Github. En este repositorio podemos encontrar un amplio listado de métodos y herramientas que ayudarán a que tu sistema esté protegido del malware de tipo web shell. Un punto interesante es que no será necesario realizar mayores inversiones en cuanto a soluciones de seguridad se refiere.
Ponemos como ejemplo a PowerShell de Microsoft. En el repositorio que hemos compartido, encontrarás soporte para realizar detección de web shells mediante un esquema de comparación «Known Good». Además, podrás realizar detección de solicitudes sospechosas en los logs de los servidores web.
Como vemos, es importante estar al tanto de las principales vulnerabilidades que se presentan no sólo a los servidores de aplicaciones web, sino también aquellos que están ligados a aplicaciones tradicionales e incluso, las propias redes de datos. En cuanto a ciberataques, hay posibilidades infinitas y el escudo de protección debe ser lo más robusto posible. Por fortuna, los recursos en línea y las herramientas sumamente accesibles nos pueden ayudar como administradores a prevenir más de una tragedia.
Fuente obtenida de: https://www.redeszone.net/tutoriales/seguridad/que-es-web-shell-ataques-remotos/