Articles Taggés ‘dns’

Iodine et DNS Tunneling

17 juin 2010

Plop à tous …

Aujourd’hui, encore du DNS Tunneling … et cette fois avec iodine, un soft écrit en C, beaucoup plus puissant que les autres scripts en perl comme dnstunnel et ozymandns que j’ai présenté sur mon blog, qui permet des connexions en parallèles, ce qui permet un chargement plus rapide des pages web, par contre, comme ça utilise le protocole DNS, le débit peut seulement aller jusqu’à 20-30 ko/s donc c’est assez limité.
Mais ça permet d’utiliser la plupart des bornes d’accès ouvert de type Neuf Wifi/FreeWifi qui force l’utilisation de leurs services pour utiliser la borne wifi sans avoir à fournir de couple login/pass valide ^^.
» En lire plus:Iodine et DNS Tunneling

Syn Flooding, optimisation PHP, …

13 mai 2009

Bonsoir …

Comme j’ai pas grand chose à écrire (et que ça ne sert à rien de réinventer la roue ^^), quelques liens sympa pour ce soir :

Un très bon article sur une façon de contrer les synflooding (dont korben a fait les frais aujourdhui ^^)

Un bon moyen d’améliorer les performances de son serveur apache (utilisant PHP bien sûr) :

  • Le premier lien avec quelques tests sympa
  • Le second lien avec une astuce pour installer le panel d’admin (qui n’est pas forcément dans les paquets comme le suggère le 1er)

J’ai testé le truc, mais je suis pas sûr que ça mettent en cache quelque chose … le chargement de la page principal du blog dure encore 10 secs (faut aussi avouer que le premier accès disque d’un RPS est lent, est que la base de données prend aussi une claque avec le nombre de données affiché, mais bon), j’en ai profité pour améliorer les performances de mon serveur DNS et « sécuriser » la bête au passage.

Sinon, je twitte (faites pas gaffe au nom … c’est mon côté féminin ;) ) quelque liens, et commandes sympa, enfin côté contenu, je compte écrire un ou plusieurs articles sur l’IPSec (que je vais devoir déployer sur un réseaux), ainsi que deux trois autres astuces genre comment planter un serveur Web en 2 2 (… ça plaira à korben après le DoS ;p ).

Voilà … bonne soirée.

Tunnel SSH via le protocole DNS

5 avril 2009

Plop …

Je suis en forme ce week-end :p (mon 4ème post … un record, quoique pour un simple lien et un petit spitch …).

Donc voilà … tous le monde connait les hotspots wifi … souvent, il faut s’inscrire voir payer les accès, mais souvent aussi, on a accès à certain services sans restriction, genre … taadaaa : le service DNS (c’était téléphoné vu le titre ^^), et la plupart du temps, la restriction des accès est faites après la résolution DNS dans ce cas c’est gagné vous pourrez joyeusement contourner la sécurité et accéder à un serveur SSH (et donc un accès illimité au net) via ce superbe tuto … en anglais.

Pour ceux qui n’ont pas envie de lire de l’anglais (ou qui préfère rester sur mon blog ;) ) :

Tout d’abord … il vous faut :

  • Un nom de domaine
  • Un serveur DNS
  • Un serveur SSH
  • (D’une autre machine si vous n’utilisez pas le proxy D’Ozyman sur la machine qui héberge le SSH, … ça en fait des choses à utiliser ^^)

Sur le serveur DNS :

Il faut installer les paquets perl suivant :

  1. apt-get install liblwp-protocol-socks-perl libnet-dns-perl libmime-base32-perl

Il faut une config du genre (comme je repique le lien, autant repiquer l’exemple ^^) :

ihaztunnel.room362.com IN NS mubixpwnsyour.homedns.org

ihaztunnel.room362.com est l’hôte sur lequel on ce connecte

mubixpwnsyour.homedns.org est le serveur OzymanDNS sur lequel on lance la commande :

./nomed.pl -i 0.0.0.0 ihaztunnel.room362.com

Qui aura pour effet d’écouter sur le port 53 (donc faut pas héberger le serveur DNS sur la même machine … on peut passer par Xname.org qui s’occupe très bien de cette tâche).

Sur le client :

ssh -D 8080 -C -o ProxyCommand=”/dossier/vers/ozymandns/droute.pl whatever.ihaztunnel.room362.com” room362.com

Petite explication sur la sympathique commande :

  • -D 8080 aura pour effet d’écouter sur le port 8080 du client
  • -c pour la compression, histoire d’aller plus vites ;)
  • “-o ProxyCommand=…” execute le sympatique script qui permet le tunneling
  • whatever.ihaztunnel.room362.com … le whatever est à remplacer par ce que vous voulez …
  • room362.com est le nom (ça peut-être une IP) qui va « tunneler » le traffic

Ensuite, il suffit de configurer vos logiciels pour utiliser le proxy ;) Si vous préférez les vidéos

C’était Albanel qui disait : « C’est très difficile de pirater avec des bornes de wifi collectives. » Des commentaires ?? :p

Se monter un environnement de developpement LAMP rapidement

25 décembre 2008

Bonjour à tous et bonne fêtes de fin d’années …

Rapidement, le thème du jour : se monter un environnement de développement LAMP (pour dev en PHP ou …) proprement, avec une config DNS qui claque sa race ^^, juste histoire de revoir les « basiques » des serveurs DNS et d’un serveur apache.

L’idée étant que l’on ai des sous-domaines par projet du genre :

http://projet1.monpc.lan ou http://projet2.monpc.lan

Généré de façon dynamique, sans avoir à toucher à la config de son serveur à chaque nouveau projet, histoire de développer de façon rapide et propre, au lieu de tous stocker à la barbare pour accéder à ses sites en développement via http://localhost/projet1/module2/fichier3.php ou des urls à rallonge … Quoique l’on déporte le contenu du premier / au sous-domaine, mais bon, faut avouer qu’accéder à son site via http://localhost/projet au lieu de http://projet.monsite.org c’est moins sexy!!

(L’idée étant repiqué de mon environnement de travail chez advisa, que j’ai adopté pour développer mes projets perso,et aussi histoire de faire croire que j’ai le net dans le train).

Donc voilà … sous un système debian, on installe apache2, le module PHP, une base de données mysql, le serveur de NDD Bind9, ce qui donne la commande :

apt-get install phpmyadmin mysql-server bind9

Les dépendances de phpmyadmin étant le serveur apache et … ça raccourci pas mal la commande ;) .

Pour ma part, je veux accéder à mon environnement de dev sur le nom de domaine : portable.lan, je modifie donc le fichier /etc/bind/named.conf pour rajouter :

zone « portable.lan » {
type master;
file « /etc/bind/db.portable.lan »;
};

avant la ligne contenant : include « /etc/bind/named.conf.local »;

et je créer le fichier /etc/bind/db.portable.lan contenant ce qui suit :

$TTL 3h
@       IN      SOA     ns.portable.lan. hostmaster.portable.lan. (
2005090201
8H
2H
1W
1D )

@       IN      NS      ns.portable.lan.

A       127.0.0.1
ns              A       127.0.0.1
*.portable.lan. IN      A       127.0.0.1

Qui aura pour effet de rediriger toutes les requêtes DNS à destination de portable.lan (www.portable.lan, …) à l’adresse IP 127.0.0.1, mais pour utiliser ce serveur de nom, il faut tout d’abort recharger la zone DNS :

/etc/init.d/bind9 reload

et modifier le fichier /etc/resolv.conf et rajouter ce qui suit :

nameserver 127.0.0.1

et malheureusement là … ce fichier est réécrit à chaque redémarrage, il faut donc modifier le fichier /etc/dhcp3/dhclient.conf et dé-commenter la ligne (en enlevant le # devant) :

prepend domain-name-servers 127.0.0.1;

qui aura pour effet de rajouter le serveur DNS 127.0.0.1 à chaque démarrage de la machine.

Maintenant, il faut configurer le serveur apache, très rapidement, on fait un :

a2enmod vhost_alias

pour rajouter le mod vhost_alias. Puis on modifie le fichier /etc/apache2/sites-enabled/000-default en changeant la ligne :

DocumentRoot /var/www

par :

VirtualDocumentRoot /var/www/%1

qui permettra, lorsque l’on se connecte à http://projet1.portable.lan d’utiliser le répertoire /var/www/projet1comme répertoire par défaut, par contre, il ne faut pas oublier de créer le répertoire www et portable, car si l’on tente de se connecter à http://www.portable.lan, le serveur apache cherchera le dossier /var/www/www ou pour http://portable.lan de chercher le dossier /var/www/portable … logique ^^.

et enfin, on redémarre le serveur apache :

/etc/init.d/apache2 restart

Voilà … c’est terminé ;) , par contre, vous remarquerez que pour se connecter à phpmyadmin, on ne doit pas faire http://phpmyadmin.portable.lan, mais bien http://portable.lan/phpmyadmin, pourquoi??

Dans la config d’apache, il on généré un <Location> lors de l’installation, à la place d’un simple dossier dans le dossier /var/www, ce qui a pour effet d’ignorer notre superbe configuration, si ça vous dérange, vous pouvez créer un lien symbolique vers le dossier de phpmyadmin (/usr/share si mes souvenirs sont bon) depuis /var/www.

Voilà … c’était votre cadeaux de noël ;)

Détournement de DNS en local ou comment faire un audit de ses DNS.

1 novembre 2008

Allez hop …

On parle hacking maintenant :p (j’adore le titre … ça fait pas trop long ^^).

En vrai, je vais rapidement présenter un tools qui existe depuis bientôt 3 ans … (ça date :p … mais c’est sympa à utiliser ;) ). Cette outil permet de « détourner » des domaines (en local seulement …), pour soit : tester la sécurité de son réseaux, soit pour emmerder les collègues de bureau qui squattent facebook toutes la journées en redirigeant facebook sur l’intranet de la boite ^^.

Le tools se nomme DNSA, il est possible de le trouver en deux versions (la normal et la new generation).

Présentation (rapide … très très rapide) du problème :

  • Le protocole utilisé tourne sur de l’UDP … (besoin d’un dessin ?).
  • Le protocole se base sur un ID codé sur 16bit (65535) … rapide à brute forcer.
  • Lorsque le serveur DNS n’a pas l’info demandé il se comporte en client … il demande à son tour l’information à un niveau plus haut.
  • Mise en cache des informations pendant un certain temps … possibilité de cache poisoning.
  • Et plein d’autre chose ^^.

L’outil : (ne fonctionne qu’en local bien entendu :p n’imaginer pas pouvoir faire du phishing avec :p)

DNSA dans sa version normal a 3 modes :

  • DNS ID SPOOFING : permet de rediriger les requêtes d’un domaine sur une ip en particulier.
    • ./dnsa -1 -D microsoft.com -S IP_DU_SERVEUR -s IP_VICTIME -i INTERFACE_RESEAUX
    • Ici redirection du domaine de microsoft.com sur l’ip_du_serveur pour l’ip_victime.
  • DNS ID SNIFFING : permet de capturer les requêtes DNS.
    • ./dnsa -2 -s IP_VICTIME -w DNS_IP_VICTIME.txt
    • Ici on stocke les informations récupérer de la victime.
  • DNS CACHE POISONNING : permet de pourrir le cache ^^
    • ./dnsa -3 -D mon-domaine.org -S VERITABLE_IP_DU_SERVEUR -s IP_A_POURRIR -a www.microsoft.com -b IP_SECONDAIRE -i INTERFACE
    • Permet de détourner microsoft.com sur mon-domaine.org.

A mon humble avis … seul le premier est utile … pour les deux autres, un bon vieux ARP Poisoning fournit plus d’info croustillante. C’est surement pour cette raison que la version ng (new generation) ne fournit que du DNS ID Poisonning …

Ben voila … si lundi, vous voyez vos collègues squatter des domaines peu fréquentable vous penserez à moi ;) et vous saurez quoi faire ^^.