Chaque nom de domaine est lié a deux deux DNS (Domain Name Server ) (primaire et secondaire) minimum.
Sur ces DNS on va trouver ce que l'on appelle les zones de transfert.
Une zone de transfert est un fichier texte qui indique sur quelle Ip le domaine example.com pointera
Ceci étant établit, passons a l’attaque en elle meme :
On prendra ici un domaine au hasard (enfin… pas tellement puisque je répond en meme temps a une question d’un membre sur ce sujet ) :
"caramail.com".
Donc… Dans un premier temps, cherchons les deux dns secondaires pour ce domaine.
Dans ce cas, on cherchera les infos de ce nom de domaine grace au Whois ou encore pour vous francais (je suis quand meme sympa de faire des recherches sur votre réseau, n’est ce pas ? si,si…) au site : www.andco.fr
Sur ce site, lancez une recherche sur le nom de domaine de notre cible (caramail.com dans cet exemple).
Bien sur vous serez signalé que ce domaine est deja reserve. Demandez par qui par l’option Whois (on en revient toujours a cela. Ceci devrait commencer a faire partie des reflexes )
Voici le résultat :
Domain Name: CARAMAIL.COM
Registrar: NETWORK SOLUTIONS, INC.
Whois Server: whois.networksolutions.com
Referral URL: http://www.networksolutions.com
Name Server: NS.CARAMAIL.COM
Name Server: DNS.SPRAY.SE
Name Server: DNS1-1.LYCOS.DE
Status: ACTIVE
Updated Date: 03-sep-2002
Creation Date: 25-aug-1997
Expiration Date: 24-aug-2006
Ou alors, selon le moteur Whois que vous utilisez :
Registrant:
Schaming, Christophe (CARAMAIL-DOM)
Lycos France
79, rue de Monceau
Paris, IDF 75008
FR
On remarque tout de suite un NS, un NS2, un NS3… avec des Ip de la forme : 213.193.13.(NSx +1)
Well, il y a fort a parier que Caramail étant un gros poisson, il ait plus de 3 servers DNS dans la zone de transfert. Et ceux-ci seraient ils dans la plage indiquée ?...
Afin de collecter un max d’informations, scannons cette plage. Surprise, pas mal de résultats et la confirmation que celle-ci est attribuée a Caramail… Mon ???? a couper que la zone de transfert se trouve la dedans !
Consultons alors le base de données des allocations Ip du RIPE NCC sur cette plage de domaine 213.193, voici ce que nous apprenons :
Easynet Belgium:
20030218 81.188/16 ALLOCATED PA
19990712 212.100.160/19 ALLOCATED PA
20000523 213.193.128/18 ALLOCATED PA
Elle appartient donc a EasyNet Belgique.
Continuons. Lancons donc la premiere étape du transfert, la demande de la zone de transfert complete (FULL QUERY).
Pour cela, une fenetre DOS et la commande "nslookup"
Vous devez vous retrouver face a un prompte ">"
taper :
">server 213.193.13.2"
(ip du 1er dns de caramail.com) ceci va associer à cette ip toutes les commandes qui suivront dans le nslookup.
Ensuite nous allons rentrer la commande du transfert de zone :
">ls -d caramail.com"
Comme il fallait s’y attendre, ce ne sont quand meme pas des charlots chez caramail, et nous obtenons un refus :
*** Impossible de fournir la liste du domaine caramail.com : Query refused
Pas de panique. Ce dns est juste ( !) patché contre le transfert. Mais comme nous sommes TRES motivé, alors testons l’autre :
">server 213.193.13.4"
">ls -d caramail.com"
Encore un patch… Ce n’est pas grave. Courage ! encore un (NEWWWW.CARAMAIL.COM 213.193.12.10)
">server 213.193.12.10"
">ls -d caramail.com"
*** Impossible de fournir la liste du domaine caramail.com : Unspecified error
Alors le dernier : NS2.CARAMAIL.COM 213.193.13.3
">server 213.193.13.3"
">ls -d caramail.com"
Et voila ! Ca marche ! La zone de transfert apparait devant nous... et elle est enorme ! Comme on le voit, le dernier server n’était pas patché. Encore un exemple de la motivation du hacker, il faut sans cesse essayer, jusqu'à trouver la faille, il y en a toujours une...
Cette liste devrait ressembler a ceci :
www A 213.193.13.10
www9 A 213.193.13.19
carajeux A 195.68.62.165
Ceci veut dire que l'adresse www.caramail.com pointera vers 213.193.13.10
Que l'adresse www9.caramail.com pointera sur 213.193.13.19
que l'adresse carajeux.caramail.com pointera sur 195.68.62.165
Et ainsi de suite... il y en a environs 400, alors faites couler un café, ca risque d’eztre long ! (dans ce cas, pour ceux qui suivent mes tutos, je déconseille la Wodka, vous mourrez d’une cirrose avant la fin !)
Grace a la liste, on peut rechercher la machine la plus faible pour ainsi rentrer sur le réseau. La manœuvre sera d’exploiter une faille bien precise que je detaillerai dans le prochain tuto qui comme ca sera une suite logique.
On utilisera Boundll.exe afin de se créer les privilèges d’administration afin d’acceder a toute machine plus sécurisées.
Par exemple, imaginons que
est protégé et impossible d’acces (a votre avis ? ), vous pourrez trouver avec cette méthode un pc sur le réseau qui serait beaucoup moins sécurisé, par exemple un pc servant a la compatibilité avec les autres (c’est souvent le cas)et avec lequel on pourrait "rebondir" sur les pc mieux sécurisés par l’interieur du réseau
Nous allons aborder dans une deuxieme partie l’analyse plus particulère de la cible, a commencer par la presence quasi-systematique ou du moins a prevoir de machines proxies ou firewall entre le systeme cible et le reseau.
Nous utiliserons comme principe pour les transpercer d’autre méthodes beaucoup plus nobles, efficaces, mais aussi plus complexes que les troyens.
Leur avantage ? Indetection par les antivirus et les firewalls (sinon je ne me fatiguerait pas a ecrire tout ca !)
1) Notions fondamentales et rappels
2) Vulnerabilités des Firewalls : tunneling et modification des paquets
3) Conclusion
Notions fondamentales et rappels
Avant d’aller plus loin il est necessaire d’apporter quelques precisioons quant a la notion de Firewall.
Typiquement, il s’agit d’un systeme, machine ou logiciel placé entre entre la machine principale ou le reseau local et l Internet.
Ses regles de fonctionnement, sens de filtrage du traffic et type de connections autorises sont fixées par l’administrateur securite du systeme a proteger.
Il peut s’agir d’un programme software , c’est le cas le plus connu chez les particuliers, par exemple ZoneAlarm. Cependant dans le genre de cible que nous etudions dans cette suite de tutos il s’agira plus vraissemblablement de machines dédiées surveillant le traffic par filtrage des paquets, ou de routeurs configurés afin de ne pas laisser passer certains paquets.
On connaît par exemple une de leurs fonctions qui consite a verrifier la validité du format des paquets afin de prévfenir les attaques par flood ou nuke.
Les données transportées sont au format Ip, Internet Protocole, et sont découpés en paquets plus petits afin d’etre acheminés vers la machine de destination identifiés par leur adresse ip d’origine, puis reconstitués. On distingue alors plusieurs sortes de paquets : les paquets ICMP envoyés par les commandes Ping, Tracert/ Traceroute, IPX dans le cas des jeux en réseau, et surtout UDP et TCP pour les communications évoluées.
Chaque port est ainsi fait pour utiliser un certain type bien precis de paquet.
Les paquets UDP contiennet l’adresse Ip de l’emetteur, celle du destinataire, le port de depart et celui d’arrivée, puis les données.
Les paquet TCP ont eux les memes infos, mais en plus un identifiant de séquence et un numero de flag.
C’est ce numero de sequence qui rend ces TCP si stables et fiables, et qui fait qu’il s’agit des paqets les plus utilisés sur le Net par rapport à UDP.
Le travail du Firewall consiste donc a verrifier pour tout traffic, la permission en fonction des ports, des adresses Ip, de leur type et de leur taille.
Vulnerabilités des Firewalls : tunneling et modification des paquets
Cependant, les machines proxies et Firewall attendent deux choses pour laisser passer le traffic : soit qu’il vienne du Web (port 80 protocole http) et/ ou que les paquets soient attendus par une machine se trouvant DERRIERE eux, ce qui revient a dire que ces paquets ont l’air d’etre attendus, initiés par une communication précedente.
Voyons ce dernier cas : Vous voulez entrez dans une boite de nuit, mais le videur refuse. Présentez vous en ayant l’air de discuter avec quelqu’un d’important a l’interrieur en vous excusant de votre retard, comme si vous etiez attendus. Dans l’idée, c’est ca.
Dans la pratique, on utilisera un programme qui vous permet de formater ses propres paquets avec un flag ACK systematiquement, ce qui fera croire que ces paquets viennent d’une communication precedemment initiée donc autorisée. Pour cela on changera le port source des paquets pour le port 80, ce qui simulera une communication depuis le web.
Je mettrait le programme en question en ligne bientôt sous certaines conditions, avec d’autres assez particuliers et qui devraient sortir de ce que on croise habituellement sur les forums de hacking. D’ici la, soyez bien attentifs aux explications de ces tutos afin de bien comprendre avant d’appliquer.
Il y aurait beaucoup a dire sur les failles de Firewall, mais on s’enfoncerait dans le sujet, deja vaste !
La deuxieme voie pour transpercer le Firewall que nous allons voir ici est celle du Tunneling.
Le principe du tunneling est de faire transiter des paquets d’un protocole bien precis par un port qui normalement utilise un autre protocole. C’est le principe de l’attaquant caché dans une brouette de foin qui rentre dans le château.
Il existe donc plusieurs sortes de tunnels, par exemple ICMP qui acheminera des paquets dans le protocole ICMP normalement reserve au Ping donc bien moins filtres et loggés que les paquets TCP¨. On a aussi du tunneling Ftp, et meme par mail !
Ce que nous allons viser ici est le tunneling http etant donné que quasiment tout reseau accepte les connections en http vers les serveurs Web. Dans ce cas ce sont des paquets TCP que nous feront transiter. Et avec cette technique, c’est imparable !
Le principe reste comme pour les troyens d’injecter un server sur la cible, et de devenir Remote avec le client. Mais a la difference du troyen, on utilise une technique INDETECTABLE car on ne fera que detourner des services de leur usage normal !
Pour vous convaincre de la puissance de ce principe , allez sur
et suivez les quatres étapes apres avoir telecharge la version 1.20 du soft. Mettez vos protections au maximum, vous verrez… (ce soft n’est pas la version « hacker » mais une version commerciale, c’est juste pour vous montrez le principe. Le vrai sera en Dl bientôt… si vous etes sages !)
Enfin, petit bonus : sachez qu’il est possible de scanner une machine a travers un proxy en faisant logger l’Ip du proxy, donc anonymement pour nous !
La commande Unix est GET http://Cible:port HTTP/1.0 +2 entrées.
On peut ainsi découvrir si la machine possède un / des services ouverts écoutant sur le port demandé, et quel est ce service.
Pour les utilisateur de Windows, il faudra utiliser Sam Spade qui implemente ces commandes, que nous utiliseront dans d’autres tutos.
Conclusion
Dans cette phase, nous avons vu les differentes facons de s’affranchir du probleme des firewalls afin de créer une connexion avec la cible dans le but de lancer l’attaque proprement dite…
La suite viendra plus tard, en souhaitant que vous sachiez vous impregner de ces phases preparatoires avant de passer a la pratique.
Hack à moyenne et grande echelle
Informations sur la cible
Ce dont je vais parler aujourdhui s.inscrit dans la pratique du hacking a une echelle qui depasse le cadre du simple hack ponctuel de forum ou autre defacage de site.
Non pas que ce hack de « basse intensite » soit a denigrer, au contraire, mais celui-ci est largement develloppe dans les forums de hacking. Il se pratique en solo et souvent n’implique qu’une technique seule (exploit de faille).
Ici il s.agit de moyenne et grande echelle, ce dont il est beaucoup plus rare d.entendre parler sur les forums. En effet, ces attaques ont des conséquences plus graves en general et il est rare que leurs auteurs publient des tutos dessus.
Enfin celles-ci seront perpetrées systematiquement par des teams ou meme des groupes de teams associees pour l.occasion du fait des enormes moyens que necessitent de telles attaques. Etant donne la creation d.un team ici, le moment est ideal pour aborder ce genre de sujet !
Ici, nous resteront dans un cadre theorique, pas de ligne de code, d.exploit ou autre, mais la theorie pure. C.est moins seduisant, c.est vrai, mais le beau Hack est la…
Alors allons y :
La recherche d.information et leur collecte sur la cible est la premiere etape de la structure d.une attaque. Nous verrons dans ce cadre :
L.identification de la cible
Les DNS, Domain Name System, et les Bases Ip
Moteurs de recherche
Les pieges des Outils réseaux de diagnostic
Identification de la cible
Dans une première phase, il faudra identifier la cible dans son environnement (Internet dans notre cas). En utilisant des informations publiques pour la plupart, il découvre les localisations et interactions de l.organisation avec le reste d.Internet, afin d.arriver à une liste complete des accès extérieurs et donc des portes d.entrées potentielles à forcer. Il dispose à la suite de cette
phase d.un début de cartographie des environs de la cible sur le réseau Internet, des partenaires et prestataires ayant peut etre des liens physiques et logiques avec elle, de données brutes telles que des noms d.employés ou numéros de téléphones, qui seront potentiellement utiles pour des tentatives de social engineering ou de wardialing.
En fonction des motivations et des résultats attendus, cette phase peut être d.extrêmement rapide à assez longue, étant donné que le fait que elle soit complete déterminera en grande partie le succès de l.intrusion, en permettant de centrer directement l.attaque sur une porte dérobée
Dans certains cas, cette phase n.est même pas présente : il est fréquent que l.organisation agressée ne soit pas la motivation d.une attaque. De nombreux pirates balaient des plages d.adresses ou des pays entiers pour trouver des machines vulnérables qu.ils pourront compromettre, le plus souvent pour servir comme point de départ pour d.autres attaques. La cible elle-même est ainsi toute machine située dans le bloc balayé, quel que soit son propriétaire. Ce qui importera ici sera plus ses caractéristiques techniques comme sa disponibilité, surveillance d.administateurs sécurité, et tout ce qu’elle pourrait offrir en terme de performances reseau comme machine-passerelle vers la veritable attaque. La phase de recherche et d.identification de la cible est donc ici quasiment
inexistante, elle se résume au balayage d.adresses IP ou d.entrées DNS.
Etant donné que la majorité des informations recueillies lors de cette phase d.identification sont publiques (on essaie d.éviter de « toucher » directement la cible), elle est assez difficile, voire impossible à détecter. Seules certaines techniques, en particulier les balayages DNS peuvent être visibles par les administrateurs sécurité ou les mécanismes de détection d.intrusion.
DNS, Domain Name System, et les Bases Ip
Le DNS est la base d.informations la plus évidente pour la localisation d.une cible. Afin de connaître les noms de domaines possédés par la victime, il est possible de procéder par essais ou aller consulter les registres publiques des noms de domaines (whois).
L.interrogation des registres whois se fait directement par nom de domaine ou par mots clef. Le résultat obtenu est la liste des domaines correspondants aux mots clefs entrés, ainsi que toutes les informations associées : entre autres, noms des contacts techniques, administratifs, adresses postales, téléphones, et adresses IP des serveurs DNS.
Une piste pourrait etre ensuite d.utiliser ces renseignements pour étendre sa recherche en interrogeant par exemple le registre avec comme mot clef le nom du contact technique. on obtient ainsi une liste déjà importante de cibles potentiellement utiles pour notre intrusion.
Fort de ces informations, il est ensuite utile d.évaluer l.étendue des domaines, en utilisant une fois de plus les services du DNS. Nous pouvons ainsi déterminer si les serveurs DNS sont hébergés chez des prestataires ou directement chez la victime. Si tel est le cas, ce prestataire peut lui aussi devenir une cible, en cas d.attaque directe infructueuse. Mais ce cas de figure est tres rare, étant donne qu.on supposera facilement que les ISP sont mieux proteges que les particuliers !
Nous pouvons aussi demander une liste de tous les couples nom/adresse IP enregistrés dans le DNS pour un domaine donné. Cette fonctionnalité, dite AXFR, est nécessaire pour le transfert de zones entre serveurs de noms. Elle est très intéressante pour un agresseur et est donc communément restreinte aux seuls serveurs autorisés.
Le DNS nous permet finalement d.obtenir les adresses des machines courantes, telles que www.x.com, ftp.x.com, mail.x.com ainsi que les adresses des serveurs de messagerie externes (entrées MX, mail-exchanger, des DNS). Un dernier type de requête, dite HINFO (host info), donne des renseignements sur la machine cible, tels que : modèle, système d.exploitation. Les entrées HINFO des tables DNS, pour des raisons évidentes de confidentialité et de sécurité ne sont maintenant quasiment jamais renseignées.
Le DNS n.est cependant pas complet ; étant donné que chaque
machine, donc chaque adresse IP, est potentiellement une cible, il serait interressant d.etendre sa connaissance de quelques adresses IP à des blocs entiers d.adresses au moyen des bases d.adresses que sont le RIPE, l.ARIN et l.APNIC (VOIR TUTO SUR LES HEADER MAIL)
Ces bases sont nécessaires au bon fonctionnement d.Internet car elles détaillent aussi bien les organismes propriétaires, personnels à contacter que les étendues et les routages associés aux netblocks, ces fameux pans d.adresses IP réservées sur Internet.
On pourra donc identifier les différentes adresses recueillies avec DNS grâce aux moteurs d.interrogation des bases d.IP. Cette identification permet de savoir à quel netblock appartient une adresse IP donnée, et donc l.organisation propriétaire de l.adresse. On élargit donc son champ d.attaque aux adresses non inscrites dans le DNS. Ou alors, confirmer le résultat de ses recherches en interrogeant les bases d.adresses avec comme critère de recherche le nom de la cible, des contacts techniques, .
Moteurs de recherche
L.interrogation des moteurs de recherche Web classiques, tels qu.Altavista, Google, Yahoo, peut révéler de nombreuses informations :
- noms d.employés, ayant par exemple postés dans des mailing-lists ou adresses IP d.employés accédant à distance au réseau interne (VPN)
- liens hypertextes à partir d.autres sites vers le site cible
- communiqués de presse, détaillant des partenariats, rapprochements, .
D.autre part, des moteurs plus spécifiques révèlent en plus potentiellement des éléments techniques intéressants : l.analyse des en-têtes de messages envoyés sur Usenet permet de déterminer le serveur de News utilisé par l.organisation cible, les versions des logiciels clients utilisés. Ceci se complete de diverses tentatives de Bounce, le fait de générer volontairement des messages d’erreur en retour contenant eux aussi des informations techniques sur la cible.
Outils réseaux de diagnostic
De nombreux outils de diagnostic réseaux permettent de recueillir des informations utiles pour la phase d.identification de la cible. Ainsi, le programme traceroute fournit-il la liste de tous les systèmes (routeurs) entre la source du traceroute et la machine destination. Ces données, à
recouper avec celles issues des registres, permettent de recadrer l.attaque vers un prestataire vulnérable, afin par exemple de prendre le contrôle du tuyau utilisé par la cible. Traceroute et ses dérivés laissent cependant des traces dans les systèmes de détection d.intrusion (ils utilisent couramment des paquets UDP en incrémentant le numéro de port à chaque saut, la réponse est un paquet ICMP) -VOIR TUTO SUR LES PROTOCOLES IP UDP TCP-, et les informations peuvent être obtenues par d.autres moyens publics. Leur utilisation dans cette phase est donc inutile et risque d.alerter prématurément les administrateurs de la victime.
Conclusion
On l’a vu ici, dans sa forme la plus interressante, l’attaque a moyenne et grande échelle, le hacking n’est plus le fait d.individus isoles appliquant
en direct quelques techniques elles aussi isolées glannées au fil d.une experience aussi complete soit elle. De nombreuses techniques devront etre mises en euvre dans un plan d’action bien défini, apres une phase de recherche et de reflexion tres poussee.
La somme de travail que ceci implique suppose la mise en jeu de teams, voire dans certains cas de groupes de teams qui seules pourront appliquer les moyens necessaires en materiels et hommes. Dans cette premiere phase de collecte d.informations, le mot clef est la discretion, aucune methode active ne devra etre mise en euvre afin de ne pas eveiller les soupcons de la cible avant la deuxieme partie.
Ce sera les phase d.exploitation, que je vous proposerait de voir dans un prochain sujet.
Complément :
voici pour completer un exemple concret : la structure Whois pour http://check.sdv.fr, qui est le site qui vous est donné dans le topic sur la sécurité de votre Pc.
en premier lieu nous obtenons l'adresse du siege social de l'entreprise, ainsi que son nom.
Les lignes suivantes, admin-c et tech-c nous informe que les techniciens, administarteur reseau sont aussi inscrits a l'AFNIC ( le centre d'information et de gestion
des noms de domaine internet .fr (France) et .re (Île de la Réunion).).
voyons donc, toujours en Whois, qui est cet admin-c :
BRUTUS
il y a souvent des questions sur Brutus et surtout les raisons qui font que pour certains ca marche et d'autres, c'est terrible comme ca ne marche pas. La plupart du temps cela vient de la configuration assez pointue de Brutus.
On aurait tord en effet de prendre ce programme comme le premier cracker de pass venu, ses fonctionnalités sont plus riches que le simple fait d'envoyer des tonnes de couple user:pass a un server.
Dans un premier temps, je vous propose donc de voir dans les grandes lignes la presentation de ce logiciel. Comme vous allez comprendre, il est difficile de faire le tour de la question car les configurations sont multiples alors il sera possible de les voir au cas par cas selon vos attentes.
Image, cliquez ici
dans les Autentication options, options d'autentification, la premier case, Use Username, signifie que la méthode employée proposera au server un login et un mot de pass.
C'est le cas si vous avez choisit un Type tel que HTTP, POP3, NetBios, Telnet, FTP ou Custom.
Dans le cas de la fonction Type Netbus, en fait il ne s'agit la que de travailler sur une cible protégée par un seul mot de pass, cette fois donc pas de couple login:MdPass.
Si vous laissez cocher Use USername, et Simgle User, entrez alors un nom d'utilisateur (c'est le cas si vous connaissez déja un login particulier sur la cible)
Si Single User est décocher, alors entrez dans User File le chemin de votre dictionnaire des noms.
Pass Mode :
Word List, alors vous entrez le chemin de votre dictionnaire de pass
Combo, entrez celui d'un dictionnaire qui contient a la fois des users et des pass. Exemple : Admin:pass (le séparateur est choisi : ":", [Tab], ou [|])
Brute Force, une fenetre s'ouvre et vous permet de dire a Brutus de générer et essayer TOUS les mots de x characteres (min length et max length) possibles.
Menu File :
import des fichiers BAD, les Brutus Application Definition, des fichiers téléchargeables déja configurés pour attaquer des cibles bien particulieres.
On trouve de tout, allez sur http://www.hoobie.net/brutus/brutus-application-definition-files.html
Chaque fois que vous importez un nouveau BAD ("Import Service"), il apparait dans la liste des Type.
Certains de ces fichiers permettent a Brutus d' envoyer des scripts pendant la séquence d'authentification afin de leurer certains servers. Ce n'est pas un simple cracker de pass, ce programme, il est tres aboutit.
Menu Tools :
Ne contient qu'une option, celle de gestion des dictionnaires. Par cette nouvelle fenetre, vous pourez creez un liste, mais aussi géréer vos dictionnaires, c'est a dire par exemple filtrer les mots d'une longueur x dans un dictionnaire existant, effacer les doublons qui se trouvent, transformer les mots (permutations) et enfin générer un nouveau dictionnaire avec ces résultats.
Ceci signifie que, comme je suppose que vous n'utilisez pas Brutus tous les jours, vous pouvez avoir un dictionnaire énorme, que vous pourez filtrer afin d'en créer un plus petit et bien adapté a votre cible le jour ou vous aurez besoin.
Pour finir, je revient sur les Type. Choisissez bien le type qui correspond a votre URL ou Ip de cible, sinon les protocoles d'identification que Brutus appliquera ne seront pas reconnus par le server, et c'est l'échec.
Ceci peut paraitre évident, mais voici un exemple, sur deux servers d' email:
mail.netia.pl (c'est comme votre Wanadoo), type : POP3
mais :
mail.hotmail.com, ne mettez pas POP3, ca ne marcherait pas. C'est un server HTTP. Pas convaincu ? alors créez sous Outlook un compte mail. Vous verrez cette proposition :
"connexion a un server HTTP tel que Hotmail pour...etc..."
Bref, comme dans toute attaque, avant de vous lancer dans l'aventure étudiez bien votre cible.
Dernier chose : comme les configurations sont presques propres a chaque cible, au fil du temps créez vous meme vos propres fichiers BAD, exportez les et... mettez les a disposition !
Souvent on peut entendre que Brutus est un prog de lamer. En fait les crackers génériques qui se bornent a envoyer des couples user:pass en boucle le sont. Mais avec la complexité de Brutus, sans dire que c'est l'outil parfait, je pense qu il est a considérer comme un outil interressant dans plus d'un cas. Qu'on me montre alors aussi le lamer qui sait le configurer dans tous les cas de servers disponibles !
Certains se demandent peut etre comment est fait un mail, dans sa contexture.
D’autres cherchent des méthodes pour envoyer des mails annonyme, ou pensent en avoir une infaillible…
D’autres encore se demandent qui peut bien se cacher derriere les fake mails qu’ils recoivent…
Je vais essayer d apporter quelques eclaircissements…
Tout d’abord, sachez qu’on va travailler sur les header de mail, les entetes de messages. Alors pour les plus doués d’entre nous, on trouve ce header sous Outlook par un clik droit, puis options sur le message en question. Tout simplement.
Pour commencer, voyons un header tout ce qu’il y a de plus normal, rien a cacher, votre
Maman qui est chez Wanadoo vous écrit par exemple vous etes hackerdemaman et vous avez un compte mail chez free ( je vais essayer de mettre ceci avec des infos de fournisseurs francais, cela vous parlera mieux. ) :
Return-Path: <maman@wanadoo.fr>
Delivered-To: online.fr-hackerdemaman@free.fr
Received: (qmail 7254 invoked from network); 15 Dec 2003 11:47:03 -0000
Received: from smtp6.wanadoo.fr (HELO mwinf0605.wanadoo.fr) (193.252.22.25)
by mrelay4-1.free.fr with SMTP; 15 Dec 2003 11:47:03 -0000
Received: from mwinf0601.wanadoo.fr (mwinf0601 [172.22.137.23])
by mwinf0605.wanadoo.fr (SMTP Server) with ESMTP id A8471C001C33
for <hackerdemaman@free.fr>; Mon, 15 Dec 2003 12:47:03 +0100 (CET)
Received: from mamancomputer (AStrasbourg-106-1-1-158.w81-250.abo.wanadoo.fr [81.250.134.158])
by mwinf0601.wanadoo.fr (SMTP Server) with ESMTP id BC63B3400093
for <hackerdemaman@free.fr>; Mon, 15 Dec 2003 12:46:59 +0100 (CET)
From: "maman" <maman@wanadoo.fr>
To: <hackerdemaman@free.fr>
Subject: Czesc !
Date: Mon, 15 Dec 2003 12:47:25 +0100
Message-ID: <000001c3c301$358fdc70$9e790b50@mamancomputer>
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_NextPart_000_0001_01C3C309.97544470"
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.2627
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
A present détaillons :
Return-Path: c’est le chemin de retour, c’est a dire l’adresse ou doit etre renvoyé toute réponse, émanant du systeme (cas de l’accusé de reception) ou volontaire (cas du Re:soit sage !)
Received: (qmail 7254 invoked from network); 15 Dec 2003 11:47:03 -0000
Comme le message a du transiter par differents ISP, voici la ligne qui le signale.
Received: from smtp6.wanadoo.fr (HELO mwinf0605.wanadoo.fr) (193.252.22.25)
by mrelay4-1.free.fr with SMTP; 15 Dec 2003 11:47:03 -0000
Le server par lequel a transité ce message (le from), avant d’arriver sur votre machine. C’est un dns de server secondaire SMTP de Wanadoo, qui est en fait le veritable fournisseur d’acces de hackerdemaman (le petit malin a donc une boite chez Free, mais en réalité se connecte avec Wanadoo, comme Maman !), et dont la fonction est de récuperer le message d’un autre ISP
C’est le server SMTP de Free qui lui a remis (le By)
Received: from mwinf0601.wanadoo.fr (mwinf0601 [172.22.137.23])
by mwinf0605.wanadoo.fr (SMTP Server) with ESMTP id A8471C001C33
for <hackerdemaman@free.fr>; Mon, 15 Dec 2003 12:47:03 +0100 (CET)
… ce message devra donc etre remis a l’ordinateur de hackerdemaman, en transitant en dernier par le server Wanadoo mwinf0605.wanadoo.fr (le By). Ca colle, c’est l’info qui est donnée dans le premier « Received ». Le from (mwinf0601.wanadoo.fr) vous indique a quel server celui qui a ecrit le message l’a remit pour son transit sur le reseau.
Received: from mamancomputer (AStrasbourg-106-1-1-158.w81-250.abo.wanadoo.fr [81.250.134.158])
by mwinf0601.wanadoo.fr (SMTP Server) with ESMTP id BC63B3400093
for <hackerdemaman@free.fr>; Mon, 15 Dec 2003 12:46:59 +0100 (CET)
… et voila le plus important : ce message est parti d’ un ordinateur identifie sur le reseau comme « mamancomputer », et votre maman est une abonnée Wanadoo habitant a strasbourg. En plus, on apprend ici aussi son Ip 81.250.134.158. C’est le From.
Ce message est pris en charge par le server mwinf0601.wanadoo.fr de Wanadoo. C’est le By.
Il doit etre remis à hackerdemaman@free.fr. C’est le For.
Ici j’insiste, apprenez a reperer cette ligne de received parmis tourtes celles que peut contenir un message, car parfois les transits sont tellement long que vous pouvez facilement vous y perdre lorsque vous remontez le trajet du message.
En general, c’est le dernier Received (avant dernier dans le cas d’un message a travers Proxy)
Vous verrez plus loin dans le cas des programmes soit disant anonymizers que cette ligne existe quand meme, elle est obligatoire dans le fonctionnement du mailling. Si vous formatez vous-même un Header, vous pouvez d’ailleur mettre a peu pres n’importe quoi dans les differentes entrées, SAUF dans celles-ci, qui sont vitales au message sous peine de se le voir retourné dans la figure…
From: "maman" <maman@wanadoo.fr>
To: <hackerdemaman@free.fr>
Subject: Czesc !
Ca, c’est les infos que les anonymizers vont modifier. C’est celles-ci qui apparaissent dans votre lecteur de mail (Outlook par exemple). En fait elle n’ont strictement aucune incidence sur le message ou son voyage dans le Net, elles servent juste a l’affichage. Vous pouvez les formater comme ceci :
From : <agedechèvre>
To :<mate>
Votre message partira sans aucun probleme.
De meme, les infos suivantes sont les versions utilisées dans le formatage du message, et sont aussi purement indicatives. Les anonymizers les changent aussi si vous voulez, mais c’est aussi de la poudre aux yeux, sauf si vous souhaitez cacher que vous utilisez Outlook pour ecrire vos mails !
Voila donc comment Maman a écrit a son fils Hackerdemaman.
Voyons a present ce qui se passe lorsqu’on utilise des maillers anonymes :
avec anonimail :
Return-Path: <cenestpasmaman@moncul.org>
Received: from mwinf0504.wanadoo.fr (mwinf0504.wanadoo.fr)
by mwinb0302 (SMTP Server) with LMTP; Wed, 10 Dec 2003 17:54:00 +0100
X-Sieve: Server Sieve 2.2
Received: from mamancomputer (AStrasbourg-106-1-18-163.w81-250.abo.wanadoo.fr [81.250.134.163])
by mwinf0504.wanadoo.fr (SMTP Server) with SMTP id 32644100050A
for <hackerdemaman@wanadoo.fr>; Wed, 10 Dec 2003 17:54:00 +0100 (CET)
From: anonimail <cenestpasmaman@moncul.org>
To: hackerdemaman@wanadoo.fr
Subject: test avec anonimail
X-Mailer: ???????
Reply-To: cenestpasmaman@moncul.org
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Message-Id: <20031210165400.32644100050A@mwinf0504.wanadoo.fr>
Date: Wed, 10 Dec 2003 17:54:00 +0100 (CET)
Je vous ai mis en evidence le Received interressant. Vous voyez ? Ici on change seulement les infos qui apparaissent a l’écran, et on cache le prog qui a servi a formater le message (X-Mailer: ???????)
Maman n’est pas anonyme pour autant…
avec euthanasia
Return-Path: <cenestpasmaman@moncul.org>
Received: from mwinf0502.wanadoo.fr (mwinf0502.wanadoo.fr)
by mwinb0302 (SMTP Server) with LMTP; Wed, 10 Dec 2003 18:05:38 +0100
X-Sieve: Server Sieve 2.2
Received: from NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ NJORD____NJORD____NJORD__ (AStrasbourg-106-1-18-163.w81-250.abo.wanadoo.fr [81.250.134.163])
by mwinf0502.wanadoo.fr (SMTP Server) with SMTP id C170EE8002F1
for <hackerdemaman@wanadoo.fr>; Wed, 10 Dec 2003 18:05:37 +0100 (CET)
Celui-ci, Euthanasia, sort du lot. Vous voyez qu’il tente de flooder le From du Received interressant.
Cependant, les infos primordiales sont là ! et oui, maman ne peut pas ne pas dire qu’elle a ecrit ceci sur son ordinateur, du moment que ce messa&ge part de chez elle ! (nous y reviendront, vous commencez a comprendre l’astuce je pense…)
D’autre part, on remarque un flag « Reply To ».
Euthanasia vous propose de cacher votre Ip ( !) et de vous faire suivre la réponse a votre vraie adresse, tout en affichant une fausse adresse de réponse (Return-Path: cenestpasmaman@moncul.org dans notre exemple )
Ca n’empèche pas que si vous faites cela, bien joué, vous etes bien bien bien grillé !!!
Un bon point quand meme, ce prog vous permet de choisir quel mailer apparaitra ( X-Mailer: Microsoft Outlook Express 4.71.0544.0) et cette fonction est efficace.
Voici enfin pour les programmes Atomic Mail
Return-Path: <cenestpasmaman@doe.com>
Received: from mwinf0103.wanadoo.fr (mwinf0103.wanadoo.fr)
by mwinb0302 (SMTP Server) with LMTP; Mon, 15 Dec 2003 09:39:38 +0100
X-Sieve: Server Sieve 2.2
Received: from AStrasbourg-106-1-14-209.w81-248.abo.wanadoo.fr (AStrasbourg-106-1-14-209.w81-248.abo.wanadoo.fr [81.250.134.209])
by mwinf0103.wanadoo.fr (SMTP Server) with SMTP id 843271BFFF63
for <hackerdemaman@wanadoo.fr>; Mon, 15 Dec 2003 09:39:37 +0100 (CET)
Reply-To: "cenestpasmaman" <cenestpasmaman@doe.com>
From: "cenestpasmaman" <cenestpasmaman@doe.com>
To: hackerdemaman@wanadoo.fr
Subject: jestem bardzo zadowolony, ze pani widze
Date: Mon, 15 Dec 2003 09:40:02 +0100
Organization:
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0034_01C221EC.6C64F7B0"
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: MIME-tools 4.104 (Entity 4.116)
X-MimeOLE: Produced by Microsoft MimeOLE V6.00.2800.1165
Message-Id: <20031215083937.843271BFFF63@mwinf0103.wanadoo.fr>
Dans ce cas, non seulement maman n’évite toujours pas de voir son identité et son ip dévoilés, mais en plus dans l’adressage en retour, ce mailer utilise la fausse adresse email ! (Reply-To: "cenestpasmaman" cenestpasmaman@doe.com )
Maman n’aura meme pas la satisfaction d’avoir la réponse de son fils...
En revanche, bon point aussi, il permet l’inscription d’un fake mailer réaliste : X-Mailer: MIME-tools 4.104 (Entity 4.116
Je résume… Jettez a la poubelle ces mailers soit disant anonymes !
Quelles solutions reste il alors ?...
Passer par un Proxy rend il les mails anonymes ? Voyons un exemple, alors :
Received: from mwinf0104.wanadoo.fr (mwinf0104.wanadoo.fr)
by mwinb0302 (SMTP Server) with LMTP; Wed, 10 Dec 2003 14:34:04 +0100
X-Sieve: Server Sieve 2.2
Received: from mamancomputer (pcp01873025pcs.hatisb01.ms.comcast.net [68.63.210.193])
by mwinf0104.wanadoo.fr (SMTP Server) with ESMTP id 8E0941800290
for <hackerdemaman@wanadoo.fr>; Wed, 10 Dec 2003 14:34:03 +0100 (CET)
Received: from girls [192.168.0.153] by wanadoo.fr with eSMTP;
Wed, 10 Dec 2003 07:33:59 -0600
Je vous met juste les Received, c’est ce qui compte. Que voit on ?
Dans ce cas, le received From-By-For est toujours present, mais il n’est pas en derniere position. Le dernier Received introduit le routage via proxy, mais ne change rien au probleme…
Mais quel est ce probleme, en fait ?
Il vient du fait que lors de la rédaction du message, quel que soit le logiciel que vous utilisez, celui-ci prendra votre texte, y rajoutera un Header, et l’enverra sur le net. Depuis VOTRE ordinateur, et cela vous ne pourrez rien y changer.
Alors la solution unique consiste en envoyer votre mail DEPUIS un AUTRE ordinateur, qui formatera un Header correspondant a cette machine. Pour ceci deux solutions :
1- soit vous utilisez une machine hackée que vous avez en remote (genre DameWare), mais cela suppose que vous fassiez ceci pour des raisons serieuses. On est loin de la blague a son copain ! ceux qui voient de quoi je parle comprendront, ce n’est pas le sujet ici.
2- Soit vous pouvez utiliser certains services du net. Pourquoi eux ils marchent ? Tout simplement parceque vous ne tapez pas un mail en réalité, vous tapez un texte exactement comme lorsque vous postez sur ce forum, ce texte est uploadé sur le site, avec les chois que vous avez fait en destinataire, en fausses infos etc et seulement là, un vrai mail est formaté depuis le server de ce site et envoyé.
Je vous traduit cela autrement : Maman me donne a moi le texte du message qu’elle envoie a son fils et MOI je l’envoie (dans cet exemple, c’est moi le site). Ainsi personne ne sait que ce message, c’est Maman qui m’a dit de l’envoyer. Personne… Sauf moi ! rien ne m’empeche de vendre la mèche, comme rien n’empeche ces sites de divulguer votre identité. Eux savent tres bien qui leur a remis ce message !
Voici un Header recu via un site anonymiser :
Return-Path: <anonymous@m1.netfirms.com>
Received: from mwinf0601.wanadoo.fr (mwinf0601.wanadoo.fr)
by mwinb0302 (SMTP Server) with LMTP; Mon, 15 Dec 2003 10:31:14 +0100
X-Sieve: Server Sieve 2.2
Received: from m1.netfirms.com (m1.netfirms.com [66.48.76.114])
by mwinf0601.wanadoo.fr (SMTP Server) with SMTP id 9C1C4180005C
for <hackerdemaman@wanadoo.fr>; Mon, 15 Dec 2003 10:31:13 +0100 (CET)
Received: (qmail 83439 invoked from network); 15 Dec 2003 09:31:13 -0000
Received: from unknown (@192.168.60.3)
by m1.netfirms.com with QMQP; 15 Dec 2003 09:31:13 -0000
Date: 15 Dec 2003 09:31:13 -0000
Message-ID: <20031215093113.54612.qmail@cgi2>
To: hackerdemaman@wanadoo.fr
From: gutek@hacking.pl
Subject: test
LA, vous pouvez y aller, c’est imparable ! sauf que le site que j’ai utilisé sait que c’est moi qui lui ait donné ceci. Il faut donc rester Safe et etre anonyme au possible lors de la connection au site en question.
Pour finir avec ce tuto, je vous parle du Bounce de découverte.
La plupart des serveurs de messagerie (SMTP et News) rajoutent aux messages qu.ils véhiculent des informations de diagnostic, masquées ensuite par le logiciel client de l.utilisateur.
Ainsi, les en-têtes des e-mails comportent non seulement expéditeur, destinataire, mais aussi tout le cheminement du message au travers des serveurs de messagerie. Typiquement, chaque serveur rajoute au message une en-tête From : décrivant le serveur (adresse IP locale, identification du logiciel et numéro de version) et l.heure de passage. Il en est de même pour les messages NNTP tels que ceux postés sur Usenet.
Une technique classique de découverte consiste à envoyer un e-mail de reconnaissance à une adresse invalide du domaine cible. L.e-mail est très souvent retourné à son expéditeur avec un message d.erreur, d.où le nom de bounce. L.examen des en-têtes présents dans le mail retourné va donc donner au pirate des informations importantes comme les versions des serveurs de messagerie externes, les adresses, noms et versions des serveurs de messagerie
internes. Ces renseignements seront utiles par la suite lors des attaques et de la progression dans le système d.information compromis.
Received: from relais.x.com ([1.2.3.4]) by smtp.Secway.com (smap) with SMTP id QAA21414 for
; Fri, 11 Aug 2000 16:20:06 0400
Received: from 192.1.1.20 by relais.x.com (InterScan E-Mail VirusWall NT); Fri, 18 Aug 2000
18:11:44 0200 (Paris, Madrid (heure d'été))
Received: by mail.x.com(Lotus SMTP MTA SMTP v4.6 (462.2 9-3-1997)) id C1256938.0043AF89 ; Fri, 11
Aug 2000 14:19:18 0200
voici un Header provenant d'un message formaté depuis un compte Hotmail (type de server HTTP)
Return-Path: <maman@hotmail.com>
Received: from mwinf0603.wanadoo.fr (mwinf0603.wanadoo.fr)
by mwinb0302 (SMTP Server) with LMTP; Mon, 15 Dec 2003 17:03:08 +0100
X-Sieve: Server Sieve 2.2
Received: from hotmail.com (bay8-dav42.bay8.hotmail.com [64.4.26.100])
by mwinf0603.wanadoo.fr (SMTP Server) with ESMTP id D15CB18000B6
for <hackerdemaman@wanadoo.fr>; Mon, 15 Dec 2003 17:03:06 +0100 (CET)
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
Mon, 15 Dec 2003 08:03:06 -0800
Received: from 80.11.121.158 by bay8-dav42.bay8.hotmail.com with DAV;
Mon, 15 Dec 2003 16:03:05 +0000
X-Originating-IP: [81.11.221.158]
X-Originating-Email: [maman@hotmail.com]
X-Sender: maman@hotmail.com
From: "maman" <maman@hotmail.com>
To: <hackerdemaman@wanadoo.fr>
Subject: Czesc A.K. !
Date: Mon, 15 Dec 2003 17:03:28 +0100
Organization: Hacking.pl
Message-ID: <000001c3c324$faad82a0$9e790b50@sentry>
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_NextPart_000_0001_01C3C32D.5C737140"
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.2627
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
X-OriginalArrivalTime: 15 Dec 2003 16:03:06.0002 (UTC) FILETIME=[ED106720:01C3C324]
impossible de tricher, c'est propre a hotmail.
En plus, avec un peu de chance et si maman a bien configuré son compte sur le server HTTP, on a en plus ce flag :