GFSistemas Ecuador - Detectando Web Shells en Nuestro Servidor Web
19
Junio
(0 votos)

Blog

Detectando Web Shells en Nuestro Servidor Web

Gran cantidad de desarrolladores webs me ha preguntado constantemente, ¿Cómo puedo detectar si alguien subió alguna Web Shell a mi servidor web? Existen diversas técnicas para realizar este proceso.

Tenemos que considerar cosas como, por ejemplo, revisar los últimos archivos dentro de nuestro servidor, verificar que no hallan archivos con funciones que permitan ejecutar comandos en el sistema, etc.

grep -lir "shell_exec\|@eval" /var/www/html/

Con este comando le decimos de forma recursiva a nuestra ruta de directorio web, que nos traiga TODOS los archivos que contengan las palabrás shell_exec@eval. A continuación explicaremos en que consiste cada una de ellas.

Al ejecutar esto en nuestro servidor nos percatamos de lo siguiente:

Detectando Web Shells – Archivos Sospechosos

La función shell_exec permite ejecutar comandos del sistema, en conjunto con la función @eval, la cual permite imprimir datos por pantalla, sin embargo también es posible ejecutar comandos del sistema, ninguno de estas dos funciones se recomienda utilizar a menos que sea bajo tu responsabilidad.

Lo primero que nos percatamos es que nos aparece un archivo de imagen, la pregunta es ¿Las imágenes pueden contener código PHP malicioso? Por supuesto que si, ya que una imagen puede esconder cualquier tipo de información, si revisamos la imagen a continuación:

Detectando Web Shells – Imagen jpg con código PHP Incrustado

 

Esta imagen, posee código PHP incrustado, por que lo que podría tratarse de un archivo potencialmente peligroso, además utiliza la función shell_exe(“ls –latr”), la cual podría permitir a un atacante listar los archivos del directorio actual del servidor, por lo tanto esta “Imagen” debe ser eliminada del servidor.

A continuación tenemos el archivo cmd.php:

 

Detectando Web Shells – Simple Web Shell PHP

 

Este archivo  permite ejecutar comandos del sistema a través del método POST. Este archivo puede ser peligroso por ende se recomienda eliminarlo.

Finalmente abriremos el archivo phpi.php (No nos detendremos a revisar todos los archivos,  sin embargo en la vida real se recomienda revisar cada uno de los archivos que fueron detectados con el comando).

 

Detectando Web Shells – Función Obsoleta de PHP detectada

Esto claramente es un fallo de programación demasiado peligroso, un atacante podría aprovecharse de esta función y de esta manera ejecutar comandos de forma arbitraría sobre el sistema. Un atacante podría hacer hacer una Web Shell con esta función, o si el programador desarrolló una aplicación con esta función se recomienda que la elimine lo antes posible.

También podemos utilizar una herramienta para la detección de Web Shells, su nombre es Web Shell Detector, la cual la pueden descargar de su repositorio oficial:

 

https://github.com/emposha/PHP-Shell-Detector

 

Una vez descargado, mover los archivos al directorio raiz del servidor web para realizar pruebas. Ingresamos a la ruta:


http://172.16.45.167/shelldetect.php

 

Al abrirlo nos pedirá un password el cual es admin/protect.

 

Detectando Web Shells – WebShell Detector

 

Detectando Web Shells – WebShell Detector , Web Shell Detectadas

 

Lo que hace esta herramienta es revisar en profundidad todos los archivos del Servidor Web y buscar posibles Web Shells. Como es posible visualizar en la imagen anterior nos ha detectado 3 archivos de tipo Shell, siempre será bueno verificar esto de forma manual para descartar falsos positivos.

Modificado por última vez en Junio 19, 2017
Jorge Aguilar

En los últimos años he ayudado a profesionales y empresas a lograr un incremento sostenible en ventas y posicionar de una mejor forma su marca, en este blog compartiré muchos temas de actualidad e interés.

Sitio Web: gfsistemas.net

Asesoría Inmediata
(02)604 6802  
(02)604 6803

Contacto directo, Respuesta Inmediata 099 8933 278

Diseñamos Páginas Web Profesionales

Consultoría

Un servicio exclusivo para profesionales que quieren crear su marca personal, potenciar su presencia online o que quieren vender productos y servicios a través de Internet.

CUÉNTANOS CÓMO PODEMOS AYUDARTE

Nuestras Marcas
ecuador 360 gfm  paraiso host

Ventas: ventas@gfsistemas.net

SOPORTE TÉCNICO