Ataque dirigido a una entidad de gobierno - Detección con FireEye
En esta oportunidad les compartiré una experiencia que tuve mientras trabaja en una prueba de concepto para una importante entidad del gobierno peruano, la PoC se llevó a cabo con dos soluciones de la marca FireEye, específicamente FireEye NX y HX.
Acerca de las soluciones FireEye NX y HX.
Para no hacer largo este artículo les comento que las soluciones de FireEye NX y HX están diseñadas para la detección de malware avanzado, el primero inspecciona el tráfico de red, mientras que, el segundo busca malware mediante el uso de agentes (software). Para mayor información pueden visitar los siguientes enlaces:
FireEye Endpoint Security (HX)
INSTALACIÓN DE UN BACKDOOR (China Chooper Web Shell)
El ataque comenzó con la instalación de una web shell sobre un servidor web de la organización, específicamente un servidor de intranet con SharePoint. La particularidad de este backdoor es que, el script encargado de recibir los comandos apenas tiene un tamaño de 4KB, lo que lo hace invisible frente a los sistemas de Antivirus. Además, utiliza una interfaz para la administración de la web shell, una característica poco común en herramientas de este tipo.
Como verán en la siguiente imagen, el código se envía codificado en Base 64, además se aprecia que, el cliente de la web shell agrega el header X-Forwarded-For con una dirección IP pública, esto para engañar a los equipos que revisen este tipo de etiqueta y la tomen como la dirección IP original. Finalmente, se aprecia que en esta solicitud utilizó el user agent de un bot.
Las dos imagines mostradas anteriormente fueron sacadas de un entorno de testing, es decir, no forman parte de lo que sucedió en el ataque.
FIREEYE NX DETECCIÓN BACKDOOR CHINA CHOPPER
Desde este punto empieza la explicación del ataque llevado acabo en Noviembre del 2016.
Como se puede apreciar se muestra la alerta de la web shell detectada en un servidor web.
El ejemplo mostrado en las dos primeras imágenes se hizo utilizando la web shell en código PHP, en cambio, para esta ocasión el atacante había subido la web shell en ASP.NET, debido a que el sitio web intranet trabajaba en un servidor Windows Server 2012 con IIS.
La información de la imagen anterior es parte de un archivo de texto que FireEye NX brinda para análisis, esta información también puede ser descargada en formato PCAP para ser revisado en wireshark. Lo curioso en la imagen anterior es que, el atacante configuró la variable que recibiría el código asp con el nombre de "apec2016", debido a que en ese mes se llevaría acabo el foro APEC en Lima Perú.
Lo sorprendente también era que, por delante de nuestra solución FireEye NX habían dos productos de seguridad, un IPS y un WAF de conocidas marcas líderes en el cuadrante de Gartner. El problema ocurre cuando se tienen soluciones con configuraciones por defecto y poco o nulo monitoreo de ellos. Si bien es cierto que estas soluciones detienen una gran cantidad de ataques automatizados poco pueden hacer contra ataques dirigidos, por ello es importante contar con un equipo humano preparado para hacer frente a este tipo de incidentes.
Continuando con la explicación de lo sucedido, después de haber comprometido el servidor windows server el atacante subió el mismo backdoor pero esta vez escrito en PHP a un CMS Joomla que, por desconocimiento había sido instalado sobre un servidor windows server, facilitando enormemente al atacante la tarea de post-explotación.La imagen anterior muestra firmas del motor de IPS/IDS con el que cuenta FireEye NX confirmando la existencia de un backdoor dentro del servidor Joomla. Cada evento indica la ejecución de comandos en el Sistema Operativo.
EJECUCIÓN DE COMANDOS
Si ven la fecha de los logs del IPS verán que los eventos sucedieron el 08 de noviembre alrededor de las 03:00 AM. Los logs del IPS demuestran que el atacante tenía los permisos necesarios para poder realizar cualquier actividad en el servidor.
EXFILTRACIÓN DE INFORMACIÓN
Contando con estos permisos el atacante procedió a subir un binario del archivo winrar que puede ejecutarse en distintas versiones de Windows sin ningún tipo de dependencia, para posterior a ello poder copiar los archivos de correo de una ubicación remota y comprimirlas en varios ficheros.
Este comando generó cuatro archivos cada uno de 100MB, después de ello estos archivos fueron copiados a un directorio caché de Joomla y renombrados a con extensión PDF.
El mismo proceso se llevó acabo para varias cuentas de correo, exfiltrando en total más de 10GB de archivos. La confirmación de la descarga de estos archivos se realizó en el archivo access log del servidor joomla.
DETECTANDO MIMIKATZ CON FIREEYE HX
Con los privilegios que una mala configuración de un servidor web le había proporcionado al atacante, este se dió la tarea de ejecutar mimikatz en el corazón de la organización (el controlador de dominio) logrando de esta forma no solo tener acceso a los archivos del servidor de correo, sino también a todas las contraseñas en el directorio activo.
La imagen anterior muestra 4 hosts con alertas, una estación de trabajo y tres servidores, entre ellos un servidor de correo y el controlador de dominio.
La imagen anterior indica que mimikatz fue ejecutado con powershell, de esta forma el atacante bypasseo el antivirus que tenían tanto las estaciones de trabajo como los servidores.
CONCLUSIONES
Con esta publicación pueden ver que lo que dice FireEye sobre su solución NX de cierta forma se cumplió.
FireEye Network Security es una solución efectiva de protección contra las amenazas cibernéticas que ayuda a las organizaciones a minimizar el riesgo de costosas brechas de seguridad al detectar con precisión y detener de inmediato ataques avanzados, individualizados y otros ataques evasivos ocultos en el tráfico de Internet
Está claro que lo que detectó gran parte de los eventos sucedidos en está entidad fue el módulo de IPS/IDS de FireEye NX, el cual podría ser evadido al igual que otras soluciones que utilizan la búsqueda de patrones (firmas). El atacante pudo haberse esforzado más y haber utilizado una webshell propia y con menos funcionalidades evitando el ruido de tráfico innecesario que generaba el backdoor china chooper. Aquí lo que hará la diferencia entre detectar o no es la capacidad de respuesta que tenga la organización ante este tipo de incidentes.
Para terminar, es importante que haya gente con los conocimientos necesarios para interpretar este tipo de amenazas, de nada sirve tener cajas costosas en el datacenter si van a tener configuraciones por defecto y generando logs que no ayuden a proteger lo que finalmente genera la inversión de todos estos productos de seguridad, la información.
Saludos.