¿Qué es webshell? ¿Cuál es el daño?
Webshell es un script en segundo plano o un entorno de ejecución de comandos que se puede ejecutar en el servidor web.
Los piratas informáticos obtienen permiso para ejecutar operaciones en el servidor invadiendo el sitio web y cargando un webshell, como ejecutar comandos del sistema, robar datos del usuario, eliminar páginas web, modificar páginas de inicio, etc. El daño es evidente .
¿Cuáles son las características de los ataques Webshell?
1
Acceso remoto persistente
Los intrusos pueden utilizar webshell para controlar el servidor del sitio web durante mucho tiempo. Si el atacante corrige la vulnerabilidad él mismo para garantizar que nadie más pueda explotarla, el atacante puede tomar silenciosamente el control del servidor en cualquier momento. Algunos webshells populares utilizan autenticación de contraseña y otras técnicas para garantizar que solo el atacante que cargó el webshell pueda acceder a él.
2
Elevación de privilegios
En ausencia de errores de configuración del servidor, webshell se ejecutará bajo los derechos de usuario del servidor web, cuyos derechos de usuario son limitados. Al utilizar webshell, los atacantes pueden intentar escalar privilegios explotando vulnerabilidades locales en el sistema. Los ejemplos comunes incluyen encontrar archivos de configuración confidenciales, elevar privilegios a través de vulnerabilidades del kernel y elevar privilegios explotando scripts en directorios de usuarios con pocos privilegios a los que pueden llamar. Usuarios root., planificación de misiones, etc.
3
Fuerte ocultación
Algunos scripts web maliciosos pueden anidarse en páginas web normales y ejecutarse, y no se detectan ni eliminan fácilmente. Webshell también puede atravesar el firewall del servidor. Dado que los datos que interactúan con el servidor controlado o el host remoto se transmiten a través del puerto 80, el firewall no los interceptará. Cuando el tráfico no se registre, webshell no lo enviará mediante el paquete de publicación. Al estar registrados en el registro del sistema, solo algunos registros de envío de datos se registrarán en el registro web.
Formas comunes de obtener webshell
1
Cargar directamente para obtener webshell
Debido al filtrado laxo de los archivos cargados, los usuarios pueden cargar Webshell va directamente a cualquier directorio de escritura del sitio web para obtener derechos de control de administrador del sitio web.
2
Agregar y modificar tipos de carga
Hoy en día, muchos módulos de carga de scripts no solo permiten la carga de tipos de archivos legales. La mayoría de los sistemas permiten agregar tipos de carga. .
3
Utilice la función de administración de fondo para escribir webshell
Después de ingresar al fondo, también puede escribir webshell modificando los archivos relacionados.
4
Utilice la copia de seguridad y recuperación de la base de datos en segundo plano para obtener
Utilice principalmente la función "respaldar base de datos" o "restaurar base de datos" en segundo plano para acceder a la base de datos. Ruta de la base de datos" y otras variables no se filtran, por lo que puede cambiar el sufijo de cualquier archivo a asp, obteniendo así el webshell.
5
sistema php+mysql
El fondo debe tener la función de consulta de datos mysql, y el intruso puede usarla para ejecutar SELECT... en TO OUTFILE consulta el archivo php de salida, debido a que todos los datos se almacenan en mysql, podemos insertar nuestro código WebShell en mysql por medios normales y usar SELECT... en la instrucción TO OUTFILE para exportar el shell.
Cómo eliminar puertas traseras de sitios web de shell
Los archivos de puerta trasera se pueden eliminar directamente. Busque los archivos de puerta trasera y elimínelos directamente.
Los archivos de puerta trasera no se pueden eliminar directamente; El código troyano del contenido del archivo se puede eliminar para limpiarlo.
1. Los nombres de los archivos son index.asp e index.php. Estos son archivos de tipo SEO generados automáticamente y se pueden eliminar directamente. Si desea eliminar completamente la puerta trasera, debe encontrar el archivo fuente. que generó este archivo.
2. El contenido del archivo es solo una línea, o una cantidad muy pequeña de código, lo que se denomina "puerta trasera de una oración".
3. La contraseña o la palabra clave UserPass existe en el contenido del archivo.
4. Otros archivos en el directorio del componente de carga o en el directorio de carga se pueden eliminar directamente. Como eWebEditor, Editor, FCKeditor, webeditor, UploadFiles, cargas, etc.
1. Se inserta código malicioso en los archivos del propio sitio web
2. Archivos de configuración del sitio web
Métodos para eliminar puertas traseras insertadas en el código del propio sitio web: p >
Primero, haga una copia de seguridad de este archivo para prepararse para la corrección de errores y la recuperación. Encuentre la ubicación del código de puerta trasera. Generalmente, ubíquelo buscando las palabras clave "eval, ejecutar, solicitar, ExecuteGlobal". Elimine el código determinado como la puerta trasera y guarde el archivo. Visite el sitio web para ver si se informa algún error y confirmar si se han corregido.
¿Cómo se defiende el sitio web contra los ataques webshell?
Para resolver fundamentalmente el problema de seguridad de los scripts web dinámicos, para evitar inyecciones, biblioteca antidisturbios, suplantación de COOKIES, ataques anti-entre sitios, etc., asegúrese de configurar los permisos FSO del servidor. .
1. Se recomienda que los usuarios carguen y mantengan páginas web a través de ftp y traten de no instalar programas de carga.
2. La llamada al programa de carga debe estar autenticada y solo las personas de confianza pueden utilizar el programa de carga.
3. El nombre de usuario y contraseña del administrador del programa deben ser de cierta complejidad, no demasiado simples y deben cambiarse periódicamente.
4. Descargue el programa desde un sitio web normal y modifique el nombre de la base de datos y la ruta de almacenamiento. El nombre de la base de datos debe ser de cierta complejidad.
5. Intenta mantener el programa actualizado.
6. No agregue un enlace a la página de inicio de sesión del programa de administración en segundo plano en la página web.
7. Para evitar vulnerabilidades desconocidas en el programa, puede eliminar la página de inicio de sesión del programa de administración en segundo plano después del mantenimiento y cargarla nuevamente durante el próximo mantenimiento.
8. Realice copias de seguridad de archivos importantes, como bases de datos, de vez en cuando.
9. Realice un mantenimiento diario y preste atención a si hay archivos asp de origen desconocido en el espacio.
10. Intente desactivar la función de búsqueda del sitio web y utilice herramientas de búsqueda externas para evitar la exposición de datos.
11. Utilice la lista blanca para cargar archivos. Los archivos que no están en la lista blanca tienen prohibido cargar. Los permisos del directorio de carga siguen el principio de permisos mínimos.