Détection et mise à mort de l'amadou

Viser l’Internet des objets, une nouvelle variante du "Gaffe" Un cheval de Troie apparaît

Viser l’Internet des objets, une nouvelle variante du "Gaffe" Un cheval de Troie apparaît. Récemment, Le laboratoire de sécurité Huorong a découvert un incident d'intrusion virale, qui s'est avéré être une nouvelle variante du virus cheval de Troie Gafgyt après enquête et analyse.

Viser l’Internet des objets, une nouvelle variante du "Gaffe" Un cheval de Troie apparaît

Récemment, Le laboratoire de sécurité Huorong a découvert un incident d'intrusion virale, qui s'est avéré être une nouvelle variante du virus cheval de Troie Gafgyt après enquête et analyse.

Gafgyt est un programme de botnet IoT basé sur le protocole IRC, qui infecte principalement les systèmes basés sur Linux Appareils IdO lancer des attaques par déni de service distribué (DDoS). Il s'agit de la plus grande famille de botnets IoT active, autre que la famille Mirai..

Après que son code source ait été divulgué et téléchargé sur GitHub en 2015, diverses variantes et exploits sont apparus les uns après les autres, posant une plus grande menace de sécurité pour les utilisateurs. Maintenant, Les produits de sécurité Huorong peuvent intercepter et tuer les virus mentionnés ci-dessus. Les utilisateurs d'entreprise sont priés de mettre à jour la base de données virale à temps pour se défendre..

Tinder detection and killing - Aiming at the Internet of Things, a new variant of the "Gafgyt" Trojan appears

1. Analyse d'échantillon
Le virus renomme d'abord son propre processus en "/usr/sbin/dropbear" ou "chut" se cacher:

process rename
processus de renommage

Parmi eux, la chaîne chiffrée est trouvée, et l'algorithme de décryptage est l'octet XOR de 0xDEDEFFBA. Lorsqu'elle est utilisée, seuls ceux utilisés sont décryptés individuellement, mais, seulement 4 sont effectivement référencés:

Encrypted string and decryption algorithm
Chaîne cryptée et algorithme de décryptage

 

La première référence sert uniquement à afficher la chaîne correspondante à l'écran, et les deux références du milieu sont des opérations sur le processus de surveillance pour éviter de perdre le contrôle en raison du redémarrage de l'appareil.:

decrypt and quote

décrypter et citer

 

Les opérations restantes sont effectuées en boucle, y compris l'initialisation de la connexion C2 (94.156.161.21:671), envoi du type d'appareil de la plateforme, recevoir la commande de retour et exécuter l'opération de module correspondante. Et comparé au code source divulgué par Gafgy, le format et le traitement de la commande n'ont pas beaucoup changé, et le format de la commande est toujours "!*Commande [Paramètre]"

loop operation code

code d'opération de boucle

 

Dans la fonction processCmd, un total de 14 les commandes reçoivent une réponse et les attaques DDOS correspondantes sont lancées, y compris: "HTTP", "Extension CUDP", "UDP", "MST", "JSC", "TCP", "SYN" , "ACCK", "CXMAS", "NOËL", "CVSE", "TOUT", "CNC", "NIGGA"

command screenshot - IoT security
capture d'écran de la commande - Sécurité de l'IoT

 

Parmi eux, le CUDP, UDP, JSC, et les modules TCP peuvent tous envoyer des chaînes aléatoires à l'adresse IP et au port spécifiés, et peut reconstruire les paquets TCP et UDP par des en-têtes IP auto-construits pour masquer l'adresse IP source.

 

message structure
structure des messages

 

On suppose que le préfixe C est l'abréviation de custom. Prendre CUDP et UDP comme exemples, dans la version originale de Gafgyt, les paramètres de la commande émise incluent: adresse IP, port, temps, usurpé, taille du paquet, pollinterval et autres valeurs de champ et bits de drapeau Pour la construction de paquets UDP. Dans cet échantillon, cependant, les résultats observés montrent que c'est l'application de ces paramètres à différents degrés de restriction, qui peut améliorer la flexibilité de types spécifiques d'attaques DDOS.

Comparaison de CUDP et UDP

Les fonctions d'autres modules incluent l'ajout d'un grand nombre de chaînes User-Agent, qui sont utilisés pour lancer des commandes HTTP pour les attaques CC:

Attaque CC

Inclus pour les attaques contre les serveurs Source Engine de Valve: ("Moteur source" les requêtes font partie de la communication quotidienne entre les clients et serveurs de jeux en utilisant le protocole du logiciel Valve)

Attaques contre l'industrie du jeu

Y compris les commandes CNC qui peuvent changer l'IP de connexion:

IP de connexion du commutateur

Comprend les attaques SYN et ACK:

Attaques SYN et ACK

Y compris les attaques par inondation UDP STD:

Attaque de MST

Y compris l'attaque de Noël: (c'est, Attaque d'arbre de Noël, en définissant tous les bits d'indicateur de TCP sur 1, consommant ainsi plus de ressources de traitement de réponse du système cible)

Attaque de Noël

Le module NIGGA est équivalent à la commande KILLATTK dans la version originale, qui arrête les attaques DoSS en tuant tous les processus enfants à l'exception du processus principal

Module négro

Analyse comparative
La fonction processCmd qui stocke la logique principale dans le code source inclut PING, OBTENIRLOCALIP, SCANNER, E-MAIL, ORDURE, UDP, TCP, PRISE, KILLATTK, et modules LOLNOGTFO. Seules les versions simplifiées des modules UDP et TCP coexistent dans la variante d'exploit capturée cette fois.. .

Et dans l'opération d'obtention de l'IP locale, la version originale obtient l'adresse IP locale via /proc/net/route et la renvoie via le module GETLOCALIP. La même opération get est observée dans cette variante, mais il n'y a pas de module GETLOCALIP et aucune référence n'est observée.

Obtenez une adresse IP locale

Il est à noter qu'il n'existe pas de version originale du module SCANNER utilisé pour faire exploser SSH. (port 22) dans ce type d'échantillon, et il n'existe pas d'autres variantes intégrant plusieurs "applications/appareil" vulnérabilités à propager via Payload. On peut voir que l'attaquant divise le module de propagation en programmes indépendants, et après vous être connecté avec succès à l'hôte victime, il téléchargera l'exemple de communication pour l'étape suivante en exécutant le shellcode, c'est, l'échantillon d'analyse.

Exécuter un exemple de shellcode

Prendre comme exemple les échantillons obtenus de la même source, l'attaquant a supprimé les informations de débogage pour la plupart des échantillons, sauf quelques-uns, tel que: x86.

Partagez votre amour

Laisser un commentaire

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *