En premier lieu, une attaque intelligente contre les VPN, utilisant des astuces DNS et de routage intelligentes. La technique est connue sous le nom de TunnelCrack (PDF), et chaque VPN testé était vulnérable à l’une des deux attaques, sur au moins une plate-forme prise en charge.
La première attaque suppose qu’un attaquant se trouve sur le même réseau que la victime et fonctionne en manipulant les tables de routage de la victime. Comment? DHCP. Nous sommes habitués à ce que DHCP donne des adresses de réseau local, mais rien n’empêche de donner à un client une adresse entièrement routable. Voici maintenant l’astuce : de nombreux clients VPN font une exception pour le trafic envoyé au réseau local. Un attaquant distribue simplement une adresse et un sous-réseau indiquant à la machine victime que tout Internet se trouve sur le réseau local. L’attaquant peut capturer tout ce trafic, l’acheminer correctement, et l’utilisateur VPN ne connaît pas la différence.
L’atténuation consiste à désactiver l’accès au réseau local pendant que le VPN est connecté. De nombreux clients le font, du moins sur certaines plateformes. Il était intéressant de voir que sur iOS, chaque application testée était vulnérable à cette attaque de fuite de données, et presque chacune d’entre elles sur macOS. Il semble que l’API iOS pour travailler avec les VPN n’ait introduit que récemment un contrôle sur la façon de gérer le trafic du réseau local, ce qui a conduit à des résultats abyssaux.
La deuxième attaque déplace cet attaquant hors du réseau local et quelque part sur le chemin du réseau, capable de capturer le trafic et de déranger le DNS. Gardez à l’esprit qu’une fois qu’un VPN est établi, le trafic DNS doit passer par le VPN, mais il y a une fenêtre étroite pour causer des problèmes – lorsque le client VPN effectue la résolution DNS pour trouver l’adresse IP du serveur VPN. Gardez à l’esprit qu’il s’agit d’un modèle d’attaque que les VPN sont conçus pour gérer. Tout client VPN digne de ce nom authentifie le serveur VPN auquel il se connecte. Le problème est que la plupart des clients VPN ont également une règle selon laquelle le trafic envoyé au serveur VPN connecté est exempté d’être chiffré par le VPN.
L’attaque consiste à usurper le VPN DNS pour pointer vers l’adresse Internet qui recevra le trafic que vous souhaitez capturer. Disons simplement que vous savez que mon serveur VPN est sur vpns.example.com et que vous souhaitez capturer ma connexion à Hackaday. Hackaday utilise l’IP 192.0.66.96
. Donc, vous usurpez la requête DNS vpns.example.com et dites à mon client VPN qu’il doit se connecter à 192.0.66.96
. Ensuite, comme vous êtes sur le chemin du réseau, vous pouvez rediriger ces paquets VPN vers le vrai serveur VPN. Mais lorsque je me connecte exprès à Hackaday, l’adresse IP de destination correspond à l’adresse IP VPN, et certains clients enverront simplement ce trafic en dehors du VPN.
La double solution consiste à utiliser l’une des différentes extensions DNS sécurisées, comme DNSSEC ou DoH, puis à écrire des clients VPN qui peuvent garder une trace des connexions qui sont du trafic VPN et de celles qui ne le sont pas. Pour ceux qui se demandent, notre technologie VPN préférée, Wireguard, a bien résisté au test. Sous Linux et Android, il a obtenu un score parfait, et seules les versions macOS et iOS ont vraiment eu un problème, permettant au trafic du réseau local d’échapper au VPN.
Déchiffrez le mutant, capturez le drapeau
[Vikrant] mettre en place une entrée Capture the Flag (CTF) pour AppSec Village à DEF CON cette année. Il était basé sur le langage Mutant, qui est une tentative de compilation du code dans un état crypté, pour le garder sécurisé et difficile à désosser. Le problème avec ces idées de code obscur est qu’il doit y avoir un moyen de démêler ce code afin de l’exécuter.
La façon de résoudre ce défi consistait à emprunter du code au compilateur officiel de Mutant et à créer un désobfuscateur à l’aide du code officiel. Cela ne veut pas dire que c’est un défi facile, mais il n’est pas clair que Mutant fera beaucoup pour réellement améliorer la sécurité. Mais en tant que projet, c’est très amusant et constitue un excellent défi pour le FCT.
L’autre discorde
760 000 enregistrements d’utilisateurs ont fui de Discord.io. Il s’agit d’un ensemble de noms d’utilisateur, d’adresses e-mail et de hachages de mots de passe du service Discord.io, qui est complètement séparé du site Web Discord. Discord.io est un service tiers qui fournit des invitations Discord personnalisées. Et bien que ce ne soit pas amusant que ces informations se soient échappées, au moins ce n’était pas la base de données des utilisateurs de Discord. Ce serait à peu près nous tous.
Bits et octets
Nmap est idéal pour rechercher des machines et des ports ouverts. Le seul inconvénient est… c’est un peu lent. Cela a irrité [Joshua] assez pour creuser pourquoi – et comment y remédier. Il s’avère que nmap est volontairement lent. Il y a quelque chose à dire pour ne pas DOS’ing la cible d’analyse après tout. Si c’est aussi trop lent à votre goût, il s’avère que la solution est une valeur modifiée dans service_scan.h
et une recompilation. Maintenant tu sais.
Apple a rejoint les rangs des fournisseurs de systèmes d’exploitation qui incluent désormais des scanners anti-malware dans leur système d’exploitation. Sur macOS, c’est XProtect Remediator (XPR). Et si vous avez déjà vérifié ce que fait XPR sur une machine Mac, vous trouverez peut-être cela un peu étrange. Apple a choisi des noms uniques pour le logiciel malveillant recherché par XPRD, vous verrez donc des messages de journal tels que FloppyFlipper NoThreatDetected status_code 20
. Nom stupide, mais tout va bien. L’autre message à connaître est BadPluginServiceSignature
ce qui semble terrible, mais signifie simplement que les définitions XPR ont été mises à jour et que les services d’analyse redémarrent pour récupérer les nouvelles définitions.
Et si vous n’avez pas fait Black Hat cette année, vous pouvez vous amuser un peu tard, car les diapositives de diverses présentations ont été publiées. Ceux-ci devront nous retenir pour le moment, mais gardez un œil sur la chaîne Youtube de Black Hat, pour éventuellement obtenir également les enregistrements de conversation. Et si vous y voyez quelque chose que nous avons manqué, faites-le nous savoir !