Commandement et contrôle
Liens vers toutes les parties:Partie 1. Obtention de l'accès initial (accès initial)Partie 2. ExécutionPartie 3. Fixation (persistance)Partie 4. Escalade de privilègesPartie 5. Évasion de la défensePartie 6. Obtention des informations d'identification (accès aux informations d'identification)Partie 7. DécouvertePartie 8. Mouvement latéralPartie 9. Collecte de données (collecte)Partie 10. ExfiltrationPartie 11. Commandement et contrôleLa section «Command and Control» (
abréviation - C2, C & C ) est la dernière étape de la chaîne d'attaque introduite dans
ATT & CK Matrix for Enterprise .
Le commandement et le contrôle comprennent les techniques par lesquelles l'ennemi communique avec les systèmes connectés au réseau attaqué et sous son contrôle. Selon la configuration des systèmes et la topologie du réseau cible, il existe de nombreuses façons d'organiser le canal caché C2. Les techniques les plus courantes sont décrites sous cat. Les recommandations générales sur l'organisation des mesures de prévention et de détection de C2 sont mises en évidence dans un bloc séparé et placées à la fin de la section.
L'auteur n'est pas responsable des conséquences possibles de l'application des informations énoncées dans l'article, et s'excuse également pour d'éventuelles inexactitudes faites dans certaines formulations et termes. Les informations publiées sont une nouvelle version gratuite du contenu de MITRE ATT & CK .Système: Windows, Linux, macOS
Description: Afin de contourner les pare-feu et de mélanger le trafic malveillant avec une activité réseau normale, un adversaire peut rester en contact avec le système attaqué via les ports standard couramment utilisés par les applications régulières:
TCP: 80 (HTTP)
TCP: 443 (HTTPS)
TCP: 25 (SMTP)
TCP/UDP: 53 (DNS)
Des exemples de ports pour organiser les connexions réseau au sein d'une enclave ennemie, par exemple entre un serveur proxy et d'autres nœuds) sont:
TCP/UDP: 135 (RPC)
TCP/UDP: 22
TCP/UDP: 3389
Système: Windows, Linux, macOS
Description: un adversaire peut organiser une infrastructure C2 entre des nœuds physiquement isolés à l'aide d'un support de stockage amovible pour transférer des commandes d'un système à un autre. Les deux systèmes doivent être compromis. Un système avec une connexion Internet est le plus susceptible d'être compromis par le premier, et le deuxième système est compromis pendant le mouvement latéral en répliquant des logiciels malveillants via un support amovible (voir la
partie 8 ). Les commandes et les fichiers seront relayés d'un système isolé vers un système avec une connexion Internet, à laquelle l'adversaire a un accès direct.
Recommandations de protection: désactivez l'exécution automatique des périphériques amovibles. Interdisez ou limitez l'utilisation de supports amovibles au niveau de la stratégie organisationnelle. Organisez un audit des processus qui sont effectués lors de la connexion d'un support amovible.
Système: Windows, Linux, macOS
Description: un serveur proxy peut être utilisé par un attaquant pour rediriger le trafic réseau entre les systèmes ou comme intermédiaire pour les communications réseau. De nombreux outils (tels que HTRAN, ZXProxy et ZXPortMap) vous permettent de rediriger le trafic ou de rediriger les ports.
Le concept de proxys peut également englober les approbations en peer-to-peer (p2p), les réseaux maillés ou les connexions sécurisées entre réseaux. Un réseau peut être au sein d'une organisation ou entre des organisations avec des fiducies. Un adversaire peut utiliser des approbations de réseau pour contrôler le canal C2, réduire le nombre de connexions réseau sortantes simultanées, fournir une tolérance aux pannes ou utiliser des connexions sécurisées pour éviter les soupçons.
Système: Windows, Linux, macOS
Description: un attaquant peut organiser un canal C2 en utilisant son propre protocole réseau au lieu d'encapsuler des commandes / données dans un protocole de couche application standard existant. L'implémentation du protocole C2 ennemi peut imiter des protocoles bien connus ou des protocoles utilisateur (y compris des sockets brutes) sur les protocoles de base présentés dans TCP / IP ou une autre pile réseau standard.
Système: Windows, Linux, macOS
Description: Afin de masquer le trafic transmis via le canal C2, l'adversaire peut utiliser son propre protocole cryptographique ou algorithme de cryptage. Un schéma simple, tel que le cryptage XOR du texte brut avec une clé fixe, donnera un texte chiffré (bien que très faible).
Les schémas de chiffrement propriétaires peuvent varier en complexité. L'analyse et l'ingénierie inverse d'échantillons de logiciels malveillants peuvent être utilisées pour détecter avec succès l'algorithme utilisé et la clé de chiffrement. Certains attaquants peuvent essayer d'implémenter leur propre version d'un algorithme cryptographique bien connu au lieu d'utiliser une bibliothèque bien connue, ce qui peut entraîner des erreurs involontaires dans le fonctionnement du logiciel ennemi.
Recommandations de protection: si un logiciel malveillant utilise son propre chiffrement avec des clés symétriques, il est possible d'obtenir un algorithme et une clé à partir d'échantillons de logiciels afin de les utiliser pour décoder le trafic réseau et identifier les signatures de logiciels malveillants.
Système: Windows, Linux, macOS
Description: les informations transmises sur le canal C2 sont codées à l'aide de systèmes de codage de données standard. L'utilisation du codage de données doit être conforme aux spécifications de protocole existantes et comprend l'utilisation de ASCII, Unicode, Base64, MIME, UTF-8 ou d'autres codages de texte et de caractères binaires. Certains systèmes d'encodage, tels que gzip, peuvent en outre compresser des données.
Système: Windows, Linux, macOS
Description: les données du canal C2 peuvent être masquées (mais pas nécessairement à l'aide du cryptage) afin de rendre difficile la détection et le décryptage du contenu transmis, ainsi que de rendre le processus de communication moins visible et de masquer les commandes transmises. Il existe de nombreuses méthodes d'obscurcissement, telles que l'ajout de données inutiles au trafic de protocole, l'utilisation de la stéganographie, la combinaison du trafic légitime avec le trafic C2 ou l'utilisation d'un système de codage de données non standard, par exemple, un Base64 modifié dans le corps d'un message de requête HTTP.
Système: Windows, Linux, macOS
Description: L'essence de Domain Fronting est la possibilité de masquer l'adresse de destination réelle du paquet HTTPs dans les réseaux CDN (Content Delivery Netwoks).
Exemple: il y a le domaine X et le domaine Y, qui sont des clients des mêmes CDN. Un paquet avec l'adresse de domaine X dans l'en-tête TLS et l'adresse de domaine Y dans l'en-tête HTTP sera très probablement livré à l'adresse de domaine Y, même si la communication réseau entre les adresses source et de destination est interdite.Un paquet HTTPs contient deux ensembles d'en-têtes: le premier, TLS, se trouve dans la partie ouverte du paquet, le second, HTTP - fait référence à la partie chiffrée du paquet. De plus, chaque en-tête possède son propre champ pour spécifier l'adresse IP de destination. L'essence de Domain Fronting est l'utilisation délibérée de différents noms de domaine dans le champ «SNI» de l'en-tête TLS et le champ «Host» de l'en-tête HTTP. Ainsi, l'adresse de destination autorisée est indiquée dans le champ "SNI" et l'adresse de destination de livraison est indiquée dans le champ "Host". Si les deux adresses appartiennent aux mêmes CDN, alors à la réception d'un tel paquet, le nœud de routage peut relayer la demande à l'adresse de destination.
Il existe une autre variante de cette technique appelée façade sans revêtement. Dans ce cas, le champ «SNI» (en-tête TLS) est intentionnellement laissé vide, ce qui permet au paquet d'atteindre son objectif même si le CDN vérifie la coïncidence des champs «SNI» et «HOST» (si les champs SNI vides sont ignorés).
Recommandations de protection: S'il est possible d'inspecter le trafic HTTPS, des connexions similaires à la façade de domaine peuvent être capturées et analysées. Si une inspection SSL est effectuée ou si le trafic n'est pas chiffré, le champ «HOST» peut être vérifié pour coïncider avec le champ «SNI» ou la présence de l'adresse spécifiée dans des listes blanches ou noires. Pour implémenter le domaine Fronting, un adversaire devra probablement déployer des outils supplémentaires dans un système compromis, dont l'installation peut être empêchée en installant des outils de protection d'hôte local.
Système: Windows, Linux, macOS
Description: Afin d'assurer la fiabilité du canal de contrôle et d'éviter de dépasser les valeurs de seuil des données transmises, les attaquants peuvent utiliser des canaux de sauvegarde ou de communication alternatifs si le canal principal C2 est compromis ou indisponible.
Système: Windows, Linux, macOS
Description: Les attaquants peuvent créer des canaux C2 à plusieurs étages qui sont utilisés dans diverses conditions ou pour des fonctions spécifiques. L'utilisation de plusieurs étapes peut brouiller et obscurcir le canal C2, ce qui le rend difficile à détecter.
Les RAT exécutés sur l'hôte cible établissent une connexion avec le serveur de premier niveau C2. La première étape peut avoir des capacités automatisées pour collecter des informations de base sur l'hôte, exécuter des outils de mise à jour et télécharger des fichiers supplémentaires. Ensuite, un deuxième outil RAT peut être lancé pour rediriger l'hôte vers le serveur de deuxième niveau C2. La deuxième étape de C2, très probablement, sera entièrement fonctionnelle et permettra à l'ennemi d'interagir avec le système cible via la coque inversée et des fonctions RAT supplémentaires.
Les étapes C2, très probablement, seront placées séparément les unes des autres sans traverser leur infrastructure. Le chargeur de démarrage peut également disposer de canaux de rétroaction ou de secours de premier étage redondants au cas où le canal de premier étage d'origine serait détecté et bloqué.
Recommandations de protection: l' infrastructure C2 utilisée pour organiser les canaux à plusieurs étages peut être bloquée si elle est connue à l'avance. Si des signatures uniques sont présentes dans le trafic C2, elles peuvent être utilisées pour identifier et bloquer le canal.
Système: Windows, Linux, macOS
Description: pour masquer la source du trafic malveillant, un adversaire peut utiliser une chaîne de plusieurs serveurs proxy. En règle générale, le défenseur ne pourra déterminer que le dernier proxy. L'utilisation du multiproxing rend l'identification de la source du trafic malveillant plus difficile, obligeant la partie défenderesse à surveiller le trafic malveillant via plusieurs serveurs proxy.
Recommandations de protection: le trafic vers les réseaux anonymes connus (tels que Tor) et les infrastructures C2 peut être bloqué en organisant des listes noires et blanches. Cependant, vous devez faire attention à ce que cette méthode de blocage puisse être contournée en utilisant des techniques similaires à la façade de domaine.
Système: Windows, Linux, macOS
Description: certains opposants peuvent diviser le canal de données C2 entre différents protocoles. Les commandes entrantes peuvent être transmises via un protocole et les données sortantes d'une manière différente, ce qui vous permet de contourner certaines restrictions du pare-feu. La séparation peut également être accidentelle afin d'éviter les avertissements concernant le dépassement des valeurs de seuil pour un seul message.
Recommandations de protection: Analysez le contenu des paquets pour trouver des connexions qui ne correspondent pas au comportement de protocole attendu pour le port utilisé. Faire correspondre les alertes entre plusieurs canaux de communication peut également aider à détecter C2.
Système: Windows, Linux, macOS
Description: un adversaire peut appliquer plusieurs niveaux de chiffrement du trafic C2. En règle générale (mais d'autres options ne sont pas exclues), un tunneling supplémentaire utilisant son propre schéma de chiffrement est utilisé dans le cadre du chiffrement HTTPS ou SMTPS.
Conseils de sécurité: l' utilisation de protocoles de chiffrement peut compliquer la découverte C2 typique basée sur l'analyse du trafic basée sur les signatures. Si le malware utilise un protocole cryptographique standard, l'inspection SSL / TLS peut être utilisée pour détecter le trafic C2 sur certains canaux cryptés. La vérification SSL / TLS comporte certains risques qui doivent être pris en compte avant la mise en œuvre afin d'éviter des problèmes de sécurité potentiels, tels qu'une
vérification de certificat incomplète . Après la vérification SSL / TLS, une analyse cryptographique supplémentaire peut être requise pour le chiffrement de deuxième niveau.
Système: Linux, macOS
Droits: utilisateur
Description: les attaquants peuvent utiliser les méthodes de détournement de port pour masquer les ports ouverts qu'ils utilisent pour se connecter au système.
Conseils de
sécurité: l' utilisation de pare-feu avec état peut empêcher la mise en œuvre de certaines options de détournement de port.
Système: Windows, Linux, macOS
Description: Pour établir un mode de commande et de contrôle interactif, un attaquant peut utiliser un logiciel légitime conçu pour ceux-ci. prise en charge des postes de travail et logiciels pour l'accès à distance, par exemple TeamViewer, Go2Assist, LogMain, AmmyAdmin, etc., qui sont généralement utilisés par les services de support technique et peuvent être ajoutés à la liste blanche. Les outils d'accès à distance, tels que VNC, Ammy et Teamview, sont les plus couramment utilisés par les ingénieurs du support technique et sont couramment utilisés par les cybercriminels.
Les outils d'accès à distance peuvent être installés une fois que le système a été compromis pour être utilisé comme canal C2 alternatif. Ils peuvent également être utilisés comme composants de logiciels malveillants pour établir une connexion inverse avec un serveur ou un système contrôlé par un adversaire.
Des outils d'administration, tels que TeamViewer, ont été utilisés par plusieurs groupes axés sur les agences gouvernementales dans les pays d'intérêt pour l'État russe et les sociétés criminelles.
Recommandations de protection: les outils d'accès à distance peuvent être utilisés en conjonction avec les techniques de Fronting de domaine, il est donc conseillé d'empêcher l'adversaire d'installer les outils RAT à l'aide des outils de sécurité de l'hôte.
Système: Windows, Linux, macOS
Description: les fichiers peuvent être copiés d'un système à un autre pour déployer des outils ennemis ou d'autres fichiers. Les fichiers peuvent être copiés à partir d'un système externe contrôlé par un attaquant, via le canal C&C ou à l'aide d'autres outils utilisant des protocoles alternatifs, tels que FTP. Les fichiers peuvent également être copiés sur Mac et Linux à l'aide d'outils intégrés tels que scp, rsync, sftp.
Les ennemis peuvent également copier des fichiers latéralement entre les systèmes internes des victimes pour prendre en charge le mouvement du réseau et l'exécution de commandes à distance. Cela peut être fait à l'aide de protocoles de partage de fichiers en connectant les ressources réseau via SMB ou en utilisant des connexions authentifiées aux partages d'administration Windows ou RDP.
Recommandations de protection: comme moyen de détection, il est recommandé de surveiller la création et le transfert de fichiers sur le réseau via le protocole SMB. Les processus inhabituels avec des connexions réseau externes qui créent des fichiers dans le système doivent également être suspects. L'utilisation atypique d'utilitaires comme FTP peut également être suspecte.
Système: Windows, Linux, macOS
Description: pour éviter de détecter et de mélanger le trafic C2 avec le trafic réseau existant, les attaquants peuvent utiliser des protocoles standard au niveau de l'application tels que HTTP, HTTPS, SMTP ou DNS. Pour les connexions au sein du canal C2 (enclave), par exemple, entre le serveur proxy et le nœud maître et d'autres nœuds, les protocoles RPC, SSH ou RDP sont généralement utilisés.
Système: Windows, Linux, macOS
Description: les opposants peuvent utiliser des algorithmes de cryptage bien connus pour masquer le trafic C2. Malgré l'utilisation d'un algorithme robuste, si les clés secrètes sont cryptées et générées par des logiciels malveillants et / ou stockées dans des fichiers de configuration, le trafic C2 peut être révélé à l'aide de la rétro-ingénierie.
Système: Windows, Linux, macOS
Description: les protocoles de couche non applicative du modèle OSI peuvent être utilisés pour la communication entre l'hôte et le serveur infectés ou pour l'interaction des hôtes infectés sur le réseau. Dans des implémentations bien connues, le protocole de couche réseau - ICMP, la couche de transport - UDP, la couche de session - SOCKS et des protocoles tels que redirigés / tunnelés, tels que Serial over LAN (SOL), ont été utilisés.
ICMP est souvent utilisé par les cybercriminels pour cacher la communication entre les hôtes. Étant donné qu'ICMP fait partie de la suite de protocoles Internet et doit être implémenté par tous les appareils compatibles IP, il n'est pas aussi souvent surveillé que d'autres protocoles, tels que TCP ou UDP.
Système: Windows, Linux, macOS
Description: les adversaires peuvent communiquer via C2 via un port non standard pour contourner les serveurs proxy et les pare-feu qui n'ont pas été correctement configurés.
Système: Windows
Droits: utilisateur
Description: les attaquants peuvent utiliser un service Web externe légitime en cours d'exécution comme moyen d'envoyer des commandes pour contrôler un système infecté. Les serveurs de gestion sont appelés Commandement et contrôle (C&C ou C2). Les sites Web et les réseaux sociaux populaires peuvent servir de mécanisme pour C2, et divers services publics tels que Google ou Twitter peuvent également être utilisés. Tout cela permet de masquer les activités malveillantes dans le flux de trafic global. Les services Web utilisent généralement SSL / TLS, de sorte que les adversaires bénéficient d'une couche de protection supplémentaire.
Recommandations de protection: les pare-feu et les proxys Web peuvent être utilisés pour implémenter des stratégies de restriction des communications réseau externes.
Recommandations générales sur l'organisation de mesures de prévention et de détection de C2
• Les systèmes IDS / DLP qui utilisent l'analyse du trafic basée sur les signatures peuvent être utilisés pour détecter et bloquer des outils C2 spécifiques et des programmes malveillants connus, de sorte que l'adversaire changera très probablement les outils utilisés au fil du temps ou configurera le protocole de transfert de données afin d'éviter la détection par des moyens connus de lui. protection;
• Utiliser des outils antivirus de protection des terminaux pour bloquer les outils et logiciels malveillants C2 connus;
• Assurez-vous que les hôtes du réseau interne ne sont accessibles que via des interfaces autorisées;
• Limitez le trafic sortant en autorisant uniquement les ports nécessaires sur les pare-feu et les proxys via les passerelles réseau appropriées;
• Bloquer les domaines et les adresses IP des infrastructures C2 connues. Il convient toutefois de noter qu’il ne s’agit pas d’une solution efficace et à long terme,
les adversaires peuvent souvent changer l'infrastructure de C2;• Utiliser les outils de mise en liste blanche des applications pour rendre difficile l'installation et l'exécution de logiciels tiers;• À l'aide de pare-feu, de pare-feu d'application et de proxys, limitez le trafic sortant vers des sites et des services utilisés par des outils d'accès à distance bien connus (TeamViewer, Go2Assist, LogMain, AmmyAdmin, etc.);• Si un malware utilise son propre cryptage avec des clés symétriques, alors en utilisant la rétro-ingénierie d'échantillons logiciels, il est possible d'obtenir un algorithme et une clé afin de décoder le trafic réseau et d'identifier les signatures de malware;• Surveiller les appels aux fonctions API liées à l'inclusion ou à l'utilisation de canaux de communication alternatifs;• Analyser le trafic réseau pour les messages ICMP ou autres protocoles qui contiennent des données anormales ou qui ne sont généralement pas visibles sur le réseau ou hors de celui-ci;• Analyser les flux réseau pour identifier les flux anormaux, par exemple, lorsqu'un client envoie beaucoup plus de données qu'il n'en reçoit d'un serveur ou lorsqu'un processus qui n'utilise généralement pas de réseau ouvre des connexions réseau;• Analyser les flux du réseau pour identifier les paquets qui ne sont pas conformes à la norme de protocole pour le port utilisé.