Une question plus générale Comment les bots communiquent-ils dans le Zeus Botnet? ne résout pas vraiment ma question.
J'essaie de comprendre comment un bot peut communiquer avec la machine de commande et de contrôle (CC). Sur un niveau technique, je sais que les bottes utilisent des sockets (par exemple), mais je n'ai vraiment aucune idée de la manière dont la CC peut envoyer des commandes à un bot/ordinateur qui est probablement à l'intérieur d'un réseau privé LAN. Beaucoup d'ordinateurs sont dans un réseau local derrière une boîte ou un routeur. Donc, pour la communication derrière un port avec un serveur, vous devez utiliser NAT Je pense.
Quelqu'un peut-il expliquer comment cela fonctionne?
Habituellement, ce n'est pas l'infrastructure de commande et de contrôle qui se connecte aux robots, car il ne peut pas savoir par magie quand un système est infecté. Ce sont les clients BotNet qui contactent l'infrastructure C & C et demandent des commandes.
La plupart des routeurs (au moins dans le segment des consommateurs) sont configurés pour transmettre aveuglément toutes les connexions de l'intérieur du réseau aux systèmes situés à l'extérieur du réseau. Le transfert de port doit uniquement être configuré lorsqu'un service doit être contacté de l'extérieur.
Comment les robots contactent exactement les serveurs C & C diffèrent considérablement entre différents botnets. Ils se masquent comme d'autres protocoles (comme http), utilisent des réseaux d'anonymisation tels que TOR et diverses autres méthodes pour éviter d'être détectées facilement.
Certains bots (par exemple Stuxnet) peuvent avoir des itinéraires alternatifs très sophistiqués, mais la plupart d'entre eux initient simplement une connexion HTTPS à un serveur C & C contrôlé par les attaquants. Il y a des cas où cela ne fonctionne pas, mais la plupart des réseaux sont configurés pour permettre de telles connexions et que la plupart des outils de filtrage/filtrage automatisés ne le détectent pas comme inhabituel.
Une fois que le bot a fait cette connexion, il a un canal raisonnablement sécurisé (crypté pour éviter la journalisation, et avec l'authentification afin qu'elle sait qu'il se connecte au véritable C & C, et non à un domaine de simulation ou de dépassement) et peut interrogation périodiquement pour les ordres d'exécuter et Listes d'autres serveurs C & C Backup.
Comment les bots communiquent avec le CC ne sont pas de différence avec la façon dont les programmes réguliers communiquent les uns avec les autres. La plupart des bots ont un CC qui est un serveur réel, cela signifie qu'ils ont une adresse IP réelle et peuvent écouter un port. Beaucoup utiliseraient des protocoles standard tels que HTTP, XML-RPC, SMTP/POP/IMAP, IRC, Socket Web, etc. Certains utilisent des protocoles personnalisés écrits dans TCP ou UDP. La plupart seraient cryptés et/ou Proxy leurs protocoles pour éviter la détection, utilisant généralement des prises de cryptage standard telles que TLS (par exemple HTTPS). Un petit nombre de pairs à égal au lieu d'une commande et de contrôle centraux, les techniques utilisées pour communiquer entre les pairs sont essentiellement les mêmes que les autres pairs. aux protocoles de pair.
Les robots doivent faire face aux topologies du réseau qui limitent les connexions entrantes, ce n'est pas différent des applications légitimes. Les techniques utilisées sont les mêmes que dans les applications légitimes, le bot, comme des applications légitimes, devraient initier la connexion, ce qui ouvre une prise à deux sens. Une telle prise à deux voies permet à un système externe de pousser toutes les données nécessaires pour pousser.
Cela ne répond pas directement à votre question par exemple car ils diffèrent tous, et les liens suivants sont un moyen ancien ... mais voici quelques PDF expliquant comment cela fonctionne dans la portée distribuée (P2P avec C & C masqué/dynamique/à la demande couche). Un héritage cool se lit indépendamment:
Nugache:
Les logiciels malveillants reçoivent plusieurs connexions entrantes par jour et apportent (ou tentent de faire) plusieurs connexions sortantes par jour. Dans l'ensemble, il existe une douzaine de connexions actives à un moment donné et comprennent des échanges de liste de pairs réguliers, des comparaisons de logiciels et des mises à niveau, ainsi que des commandes simples via un ensemble de commandes numériques.
https://staff.washington.edu/dittrich/misc/malware08-dd-final.pdf
Torpig:
Comme nous l'avons mentionné précédemment, Torpig ouvre deux ports sur la machine locale, une à utiliser comme proxy de chaussettes, l'autre en tant que proxy HTTP. 20,2% des machines que nous avons observées étaient accessibles au public. Leurs mandataires peuvent donc être facilement exploités par des malcrets, par exemple, envoyer des spams ou naviguer anonymement.
Peacomm:
Les botnets pairs à pair ont plus de flexibilité. Le BOT TROJAN.PEACOMM fournit une méthode de ces méthodes pour l'attaquant de publier des commandes pour bottes dans une architecture par pair à égal. Essentiellement, le BOT télécharge une injection secondaire pouvant être arbitraire, ce qui permet une flexibilité dans la charge utile du bot.