Utiliser un tunnel DNS pour bypass les portails captifs
Test d’une technique pour bypass les portails captifs des hôtels, résidences étudiantes (WiF***k), tel que :
Mais également un très bon moyen d’avoir un Command & Control super discret et possiblement capable de bypass un firewall !
Prérequis
- un nom de domaine (à partir de 0.99$ chez quelques registrar)
- un serveur avec une IP publique (Azure c’est bien quand on est étudiant = > 90$ de crédit gratuit)
- L’outil : iodine
C’est parti
Domaine conolo.buzz acheté chez porkbun.com.
Une VM Azure à 0.01$ de l’heure, qu’on accède par SSH :
PS C:\Users\Fabien\Documents\Cours\Projets\Azure> ssh -i .\name-srv_key.pem fabien@51.120.122.44
Zone DNS dans porkbun.com
On suit le tuto (spoiler : ça marche MAIS gros soucis quand même)
Connexion au serveur iodine : OK/KO on sait pas trop
Création d’un tunnel SSH sur le port 5000 :
Récupération de données sur internet :
Mais un débit merdique !
Par la suite j’ai testé avec ma connexion 4G, les débits étaient équivalents donc ce n’est probablement pas un bridage du point d’accès mais un problème de performance structurel, c’est expliqué dans la doc de Iodine. On peut pas s’attendre dans cette configuration à plus de 600 kbit/s.
Conclusion
Pas terrible comme méthode, vaut mieux tenter un brute force sur les comptes identifiés comme valides.
Références
https://calebmadrigal.com/dns-tunneling-with-iodine/ (le bon tuto)
https://github.com/yarrick/iodine
https://github.com/iagox86/dnscat2/blob/master/doc/authoritative_dns_setup.md
https://www.varonis.com/fr/blog/quest-ce-que-le-dns-tunneling-guide-de-detection
https://github.com/iagox86/dnscat2 (C2 nous voilà)