lunes, 29 de junio de 2015

[TUT] Zeus Botnet

Zeus Botnet Overview

Creación y configuración de Bot

El primer paso en la construcción de un ejecutable bot es editar el archivo de configuración. La configuración le dice al bot cómo conectarse a la red de bots, y también contiene información sobre los datos que los usuarios reunir y cómo hacerlo. El archivo de configuración está en dos partes, como se describe a continuación.

Configuración estática 
El StaticConfig se compila en el bot por la herramienta del constructor. Contiene información que necesitará el bot cuando se ejecuta primero. Para actualizar el StaticConfig los robots deben ser ordenados para descargar una nueva versión de bot.

Los ajustes disponibles son:
El nombre de la red de bots que este bot pertenece.
La cantidad de tiempo de espera entre descargas dinámicas de archivos de configuración.
El intervalo de tiempo entre cargas de registros y la información estadística con el servidor de gota.
La URL en la que el robot puede obtener el archivo de configuración dinámica.
Una URL donde el bot puede comprobar su propia dirección IP, para determinar si está detrás de un router o firewall.
La clave de cifrado que se utiliza para ocultar la información transmitida dentro de la botnet.
Una lista de ID de lenguaje que le dice al bot para entrar en un estado latente si el lenguaje de la computadora infectada está en la lista.

Configuración dinámica

El DynamicConfig se descarga por el bot, inmediatamente después de que se instala en el ordenador de la víctima.
Este archivo se descarga a intervalos de tiempo por el bot, y se puede utilizar para cambiar el comportamiento de la botnet.
La mayor parte de las entradas de control de cómo se recopila la información de la computadora infectada. Los valores disponibles son:

Una URL donde el bot puede descargar una nueva versión de sí mismo, si se da la orden de hacerlo.
La URL del servidor caída donde se subirán y se guardan registros, estadísticas y archivos.
La información utilizada para inyectar campos adicionales en las páginas web visitadas por el equipo infectado.
Una lista de direcciones URL en un archivo de configuración de copia de seguridad de emergencia se puede encontrar.
Un conjunto de máscaras de URL utilizados para causar o prevenir el registro de la información.
Un conjunto de máscaras de URL para indicar que una imagen de la pantalla debe ser salvado si se hace clic en el botón izquierdo del ratón.
Una lista de pares de direcciones URL que se utilizan para causar la redirección de la primera a la segunda URL.
Un conjunto de máscaras de URL utilizados para recoger TAN números (autenticación de transacciones) - utilizado por algunos bancos para la autenticación en línea.
Una lista de pares / URL IP que se insertan en los ejércitos de la computadora infectada archivo para anular las búsquedas de DNS.

Construyendo el Bot

Una vez que el archivo de configuración está lista la herramienta del constructor se utiliza para construir el archivo de configuración dinámica cifrado y el archivo ejecutable bot. El Constructor primero comprueba el equipo que se está ejecutando para comprobar si está instalado el bot Zeus y le da al usuario la opción de limpiar el sistema. Esta es, probablemente, la intención de hacer más fácil para poner a prueba los valores de configuración. El Constructor entonces reportar la información del sistema como se ve en la Figura 1 a continuación:


Figura 1: Zeus Builder - Información 
Utilizando el constructor, el maestro botnet aspirante puede hacer clic en el botón "Generar config" para compilar el archivo de configuración en su forma encriptada. También se proporciona una opción de editar aquí. Cuando este archivo está listo se coloca en el servidor donde los robots se les ha dicho a buscar la DynamicConfig. Distribuir el archivo de configuración de esta manera hace que sea fácil de actualizar la configuración en el futuro. La imagen siguiente muestra la salida del constructor después de la configuración se ha construido. Si se produce algún error durante la construcción se detalla aquí.


Figura 2: Zeus Builder - Compilación de configuración 
A continuación, haciendo clic en el botón "Generar loader", la forma distribuible del ejecutable bot puede montarse y se guarda. El botón se puede empujar varias veces para producir ejecutables bot internamente idénticos con cifrado diferente. Los tamaños de las secciones de archivos PE también se cambian en cada nueva generación. La imagen siguiente muestra la información mostrada por el constructor después de que el robot se ha construido.


Figura 3: Zeus Builder - Montaje y configuración binaria  Debido a las nuevas versiones de la misma configuración bot pueden ser fácilmente creados es bastante fácil para mantener la ampliación de la red de bots cuando el software anti-virus comienza a detectar las versiones anteriores.

Bot Distribución e Instalación

El bot Zeus no tiene capacidad incorporada para propagarse a otros ordenadores. En la mayoría de los casos una campaña de spam se utiliza para distribuirlo, ya sea como un archivo adjunto o un enlace. Algún tipo de ingeniería social en el mensaje de spam se utiliza para engañar a las víctimas para que ejecute el bot. Una amplia variedad de estos trucos se han visto, a menudo en formas que son persuasivo y difícil de detectar. El gran número de trucos de ingeniería social es el resultado de muchos individuos que intentan sembrar su propia botnet, utilizando la plataforma de Zeus común. La falta de capacidad de propagación de gusano hace que el robot adecuado para los ataques dirigidos, ya que el bot es menos visible y menos probable que se detecten. En los ataques dirigidos, puede ser enviado a la víctima en varios disfraces hasta que se logre el éxito.

Cuando el bot se ejecuta en el ordenador de la víctima pasa por una serie de pasos para instalar y configurar en sí, y para conectarse a la red de bots. Los nombres de archivo dan aquí son para la versión probada, ya veces se cambian en nuevas versiones. A continuación se describen las medidas adoptadas tras la ejecución inicial:

  1. Las búsquedas de función para instalar el proceso de "winlogon.exe", asigna algo de memoria dentro de ella y descifra a sí mismo en el proceso.
  2. El ejecutable bot se escribe en el disco duro como "C: WINDOWSsystem32sdra64.exe".
  3. Se crea: El directorio "WINDOWSsystem32lowsec C". Este directorio no es visible en el Explorador de Windows, pero se puede ver desde la línea de comandos. Su propósito es contener los siguientes archivos: local.ds: Contiene el archivo DynamicConfig más recientemente descargado. user.ds: Contiene información registrada. user.ds.lll: Temporalmente creado si falla la transmisión de registros al servidor gota.
  4. El valor de la clave de registro Winlogon ("HKLM / SOFTWARE / Microsoft / Windows NT / CurrentVersion / Winlogon") se adjunta con la ruta del ejecutable bot: C: /WINDOWS/system32/sdra64.exe. Esto hará que el robot que se ejecuta cuando se reinicia el equipo
  5. El firewall de Windows XP está desactivado. Esto hace que un icono de advertencia Centro de seguridad de Windows para que aparezca en la bandeja del sistema, la única indicación visible de que el ordenador ha sido infectado.
  6. El robot emite un comando "M-SEARCH" para encontrar los dispositivos de red UPnP. Esto puede ser un intento de acceder y configurar los routers locales.
  7. El bot envía un comando HTTP GET al servidor botnet configurado para obtener el archivo DynamicConfig tardar.
  8. El robot comienza la captura y registro de la información de la computadora infectada. El archivo DynamicConfig determina en gran medida lo que se recoge la información.
  9. El bot envía dos POST HTTP comandos para cargar registro (user.ds) y stat información al servidor gota botnet.
  10. Tres temporizadores se ajustan a los valores de la StaticConfig, cada ejecución de una función de tiempo de espera Tener nuevas fichero de configuración (DynamicConfig) del servidor (por defecto 60 minutos). Pon cosechado datos (user.ds) al servidor (por defecto 1 minuto). Pon a estadísticas del servidor (por defecto 20 minutos).
  11. Si una página web que se ve desde el ordenador infectado se encuentra en la lista de objetivos de la inyección en el DynamicConfig, los campos adicionales de la lista se inyectan en la página.
  12. Si el HTTP "200 OK" respuesta a un POST contiene un comando de script oculto, el robot ejecuta y devuelve una indicación de éxito o fracaso, junto con todos los datos (ver sección Comunicación abajo).
Mando y Control Botnet

Instalación del panel de control

La aplicación Panel de control Zeus se utiliza principalmente para realizar el seguimiento del estado de las botnets controladas y enviar comandos de guión para los bots. También proporciona una manera organizada para ver y acceder a la información recogida por los robots de los ordenadores infectados.
El Panel de Control es una aplicación PHP de código abierto que se puede ejecutar en un servidor IIS o Apache Web. Algunos programas de software adicional, la mayoría de los cuales se especifica en la documentación, también es necesario. Un usuario de MySQL con permisos adecuados también debe estar configurado. Cuando el sistema está listo el código panel de control se puede copiar en el directorio del servidor web. La página de instalación puede entonces acceder desde un navegador. Si se realizan los errores al rellenar este formulario, el usuario recibe un mensaje de ayuda. Una vez que se complete esta forma el resto de la configuración se realiza automáticamente.


Administración botnet 
Después de entrar en el Panel de control, se muestra la página inicial, como se muestra en la Figura 5 a continuación:

A la izquierda hay un menú donde se puede acceder a varias páginas. A la derecha es un resumen de la información sobre la red de bots. Tenga en cuenta que varias versiones del robot se pueden administrar con una versión del Panel de control. Si se hace clic en el elemento "OS" en el menú tenemos una lista de las versiones del sistema operativo en la red con un recuento de los robots para cada versión. El siguiente elemento del menú es "Motores de búsqueda", que muestra inicialmente la forma "Filtro". Aquí el usuario puede seleccionar "Inside NAT" o "Fuera de NAT", "en línea" o "fuera de línea", etc. filtrar solamente los bots más interesantes.


Al hacer clic en "Aceptar" resultados en una lista que muestra información básica sobre cada uno de los bots. El "ID Bot" es un identificador único generado automáticamente para el bot. El campo "Comentarios" muestra los comentarios que se han añadido por el usuario. La "acción Motores de búsqueda:" en el menú desplegable permite algo más de información que se obtiene, por ejemplo, los seleccionados "información completa" Resultados de la opción en los detalles que aparecen en la Figura 7. El usuario puede agregar comentarios aquí, y el campo "Usado" se puede ajustar. El propósito de estos parece ser la de permitir el filtrado más exclusivo de los robots que aparecen en la lista que se muestra arriba.


El siguiente punto del menú principal es "Scripts", que muestra una lista de secuencias de comandos que han sido creados por el usuario. Estos scripts se utilizan para enviar uno o más de los comandos integrados a los bots (ver Comunicaciones abajo).


Al hacer clic en "Agregar nuevo script" o en uno de los nombres de script hace que el diálogo de edición que se mostrará. Aquí el estado de la secuencia de comandos se puede establecer en "Enabled", por lo que se distribuirá la próxima vez que los robots de check in. El rango de distribución puede ser limitada a un bot o un botnet, o para los países mencionados. Esto es importante para los servicios basados en localización (LBS). En el campo de contexto una o más secuencias de comandos se pueden introducir.


Si el guión ha sido enviada a cualquiera de los bots, un cuadro de información muestra cada transmisión con éxito a un bot y si falló o fue ejecutado. Guiones mal formados fallan en el bot, no en el panel de control, que parece hacer muy poco corriente. Al hacer clic en el signo de interrogación al lado de "Contexto:" muestra una lista de comandos disponibles en la actualidad guión con explicaciones. Los comandos se pueden usar para recoger más información, para realizar cambios en la red de bots o para dar un mayor control de la computadora infectada.


Los "Informes:" sección del menú principal contiene dos opciones para el manejo de la información robada de ordenadores infectados. Información que no sea archivos se ponen en la base de datos MySQL, y se puede ver haciendo clic en la opción "Buscar en la base de datos". La siguiente imagen muestra el cuadro de diálogo de búsqueda y un poco de información que se ha encontrado.

Entre los primeros elementos de la lista se encuentran algunos con capturado información de acceso. Un ejemplo de los detalles de estas entradas contienen se puede ver en la figura 12. La segunda opción en los "Informes:" sección "Buscar en archivos". Aquí es donde los archivos que se envían de vuelta de los bots se pueden encontrar. Como de costumbre, se proporciona un diálogo de búsqueda, debido a que el número de archivos que viene de una gran botnet será muy alto.


Figura 13: Panel de control - Archivos de diálogo de búsqueda


Figura 14: Panel de control - Archivos Resultados de la búsqueda  La figura 13 muestra una búsqueda sin restricciones, con todos los archivos que han sido enviados por los robots y la estructura de directorios que se llevan a cabo. Hay un directorio principal para cada bot. Las capturas de pantalla se colocan en una carpeta "pantallas", bajo otra carpeta con el nombre con el URL que se está viendo cuando fueron capturados. Estas son las capturas de pantalla hechas cuando se hace clic en el botón izquierdo del ratón. Archivos de certificados que fueron capturados cuando se le dio el comando getcerts se encuentran en la carpeta "certs".
El autorun.inf archivo fue subido mediante el comando "getfile D: autorun.inf", por lo que se ha colocado dentro de una carpeta llamada "D:", en base a su trayectoria original. Al hacer clic en un nombre de archivo, cualquiera de los archivos se pueden descargar o ver.
Alternativamente, las casillas de verificación se puede hacer clic en los elementos que el usuario desea, y la opción "Crear archivo y descargar" se pueden elegir en "acción Files:".
En el marco del "Sistema:" sección del menú principal, el elemento "información" muestra algunos números de versión para la instalación del panel de control. El elemento "Opciones" permite cambios en algunas opciones de configuración, incluyendo la clave de cifrado botnet. Antes se cambia la clave de cifrado, los robots deben ser ordenados para descargar una nueva construcción bot con la nueva clave.


Figura 15: Panel de control - Opciones de sistema


Figura 16: Panel de control - Opciones de usuario 
La figura 16 muestra el elemento de "Usuario" en el menú principal, lo que permite de contraseña y de idioma cambios para el usuario principal. También hay una opción para cambiar el formato de las imágenes de pantalla. El panel de control ofrece un potente y fácil de usar interfaz gráfica de usuario para la botnet. Desde Zeus es un producto comercial, este tipo de característica tiene la ventaja de hacer más deseable a los posibles compradores, los compradores especialmente relativamente no técnicos.

Botnet Communications
Todas las comunicaciones botnet Zeus pasan entre los robots y uno o más servidores. Sólo se necesita un servidor físico, pero los adicionales se puede utilizar para distribuir actualizaciones de archivos de bots y archivos de configuración de repliegue.Los datos enviados a través de la botnet Zeus se cifran con el cifrado RC4. En esta implementación de un flujo de clave se genera a partir de la contraseña botnet, y es XOR con los datos. La misma contraseña se utiliza para cifrar todos los datos que se transmiten a través de la botnet. Cambio de la contraseña botnet requiere que todos los ejecutables bot actualizarse para una generación que incluye la nueva contraseña. El archivo de configuración dinámica también se debe actualizar y cambiar la contraseña del servidor desde el Panel de Control.Cuando un equipo está infectado con el bot Zeus, su primera comunicación con el servidor es una solicitud para el archivo de configuración dinámica. A diferencia de otros datos que se envían a través de la red, el archivo de configuración ya se ha cifrado por la aplicación Builder y puede ser enviado sin más trámite. La figura 17 muestra el archivo de configuración que se solicita por el bot, devuelto por el servidor de control.


Figura 17: El robot se pone el archivo de configuración dinámica 
Cuando se ha recibido el archivo de configuración, el robot va a recuperar la URL del servidor gota de ella. El bot luego POST HTTP alguna información básica sobre sí mismo al servidor gota, para iniciar sesión en e indicar que es en línea. Mientras se está ejecutando, el robot sigue HTTP Post encriptada registros y estadísticas al servidor a intervalos de tiempo. Por defecto los registros se envían a intervalos de 1 minuto y las estadísticas se envían cada 20 minutos.


Figura 18: El bot mensajes Información básica 
Cuando un bot mensajes de datos en el servidor, el servidor responde con un HTTP / 1.1 200 OK respuesta. El servidor Zeus esconde un mensaje cifrado como datos dentro de la respuesta. Este campo de datos se utiliza para enviar comandos (scripts) al bot. A continuación se muestra un ejemplo de los datos por defecto cuando no se envía ningún comando, que es el caso más común.


Figura 19: La respuesta del servidor para el POST contiene algunos datos
Cuando un guión de comando está siendo enviado por el servidor, el tamaño de los datos será considerablemente más grande que la respuesta estándar. La Figura 20 muestra un comando enviado getfile, resultando en 82 bytes de datos cifrados.

Figura 20: La respuesta del servidor para el POST contiene un comando

Web Page Injection

Una característica importante de la bot Zeus es su capacidad para inyectar dinámicamente dinámica en páginas web visitadas por un equipo infectado. Esto se hace en la marcha, como datos pasan desde el servidor al navegador del cliente. Un fragmento de los datos de configuración de este se muestra a continuación. Hace un buscar e insertar el funcionamiento bastante sencillo:

set_url http://www.bank.com/login.html GP
data_before
name="password"*</tr>
data_end
data_inject
<tr><td>PIN:</td><td><input type="text" name="pinnumber" id="pinnumber" /></td></tr>
data_end
data_after
data_end

El parámetro set_url identifica la página a ser atacado, data_before contiene el texto a buscar antes del punto de inyección y data_inject tiene el texto que se inyecta. La figura 21 muestra una página de acceso antes y después de la inyección.

Figura 21: Formulario de acceso antes y después de la inyección 

Se trata de un solo simple demostración. En la práctica engaños más elaborados se pueden crear, por ejemplo, los cambios inyectados podían pretender negar el acceso y pedir a las víctimas que confirmar su identidad mediante la cumplimentación de los campos adicionales. A continuación se muestra el código HTML antes de la inyección. El texto de búsqueda data_before se resalta.

<TR>
<TD>Username:</TD>
<TD><INPUT id=username name=username></TD></TR>
<TR>
<TD>Password:</TD>
<TD><INPUT type=password name=password></TD></TR>
<TR>
<TD colSpan=2><INPUT type=submit value=Submit></TD></TR>

La siguiente es la fuente HTML después de la inyección, con el código introducido desde el campo data_inject discutido anteriormente.

<TR>
<TD>Username:</TD>
<TD><INPUT id=username name=username></TD></TR>
<TR>
<TD>Password:</TD>
<TD><INPUT type=password name=password></TD></TR>
<TR>
<TD>PIN:</TD>
<TD><INPUT id=pinnumber name=pinnumber></TD></TR>
<TR>
<TD colSpan=2><INPUT type=submit value=Submit></TD></TR>

El archivo de configuración distribuida actualmente contiene ajustes por defecto para los ataques de inyección de más de 100 direcciones URL. Un ataque bien ejecutado puede ser muy difícil para una víctima de distinguir de una página web auténtica.





About the Author

Unknown

Author Kha & Editor Leb

Khaled Hadj Ibrahim (en árabe, خالد حاج إبراهيم Jālid Ḥāŷŷ Ibrāhīm), más conocido como Khaled (en árabe: خالد [Xālad] )?, antes Cheb Khaled.

Publicar un comentario

 
Khaleb MX © 2015 - Designed by Templateism.com