Copy Link
Add to Bookmark
Report

Malicia Production Zine 1

eZine's profile picture
Published in 
Malicia Production Zine
 · 4 years ago

  

*-----------------------*
**Malicia Production Zine**
*-----------------------*
NuMbEr 1


Introduction:
ÄÄÄÄÄÄÄÄÄÄÄÄÄ
Pour permettre une plus grande diffusion de mes cours&travaux j'ai d‚cid‚
de les sortir sous forme d'un zine. Pour tout dire j'ai essay‚ de cr‚er
un zine mais ne trouvant pas beaucoup d'‚crivains comp‚tants j'ai d‚cid‚
d'en ‚crire un tout seul mais qui sera sans doute plus interessant :).

<SaTaNiK>

Sommaire:
ÄÄÄÄÄÄÄÄÄ

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄ¿
³ Titre de l'article: ³ Sujet: ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´
³ Comment obtenir des infos sur un site ³ Linux ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´
³ Cours de Cracking 1 ³ Cracking ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´
³ Initiation … l'asm ³ Asm ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´
³ Programmation d'une taupe basique ³ Tauping ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´
³ Cgi-Bug ³ Security ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´
³ VMS/PBX ³ Phreaking ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´
³ Initiation au cryptage ³ Cryptage ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÙ




******************************************************************************
* MM MM AA L I CCCCCC I AA *
* M M M M A A L I C I A A *
* M M M M AAAAAA L I C I AAAAAA *
* M MM M A A LLLLL I CCCCCC I A A *
******************************************************************************

Comment obtenir des infos sur un site???
----------------------------------------

Obtenir des infos sur un site est quelquechose de primordial et en fait c'est
la base du Hacking!!! Je vais donc ici vous expliquer qques commandes de
base pour obtenir des informations sur le serveur cible...

**********
**Finger**
**********

#finger @www.cible.com
[www.cible.com]
Login Name Tty Idle Login Time Office Officephone
root root 2 3d Jun 26 03:20
SaTaNiK Billou p2 1 Jun 29 16:14

Vous l'avez sans doute compris, cette commande permet de savoir qui est
en ce moment en ligne sur le serveur cible. Ici on peut voir que le root
… oubli‚ de quitter car aucune touche n'as ‚t‚ appuy‚ depuis 3 jours.
Mais … quoi peut nous servir cette commande vous demandez vous? Et bien tout
simplement … savoir quel sont les accounts les plus utilis‚s...car si
vous hackez le site il vaut mieux utilis‚ un account utilis‚ assez souvent...

********
**Host**
********

#host -a www.cible.com
Trying domain "www.cible.com"
rcode = 0 (Success), ancount=1
cible.com 60480 IN CNAME www.cible.com
www.cible.com 60480 IN HINFO VAX-11/780 VMS
For authoritative answers, see:
cible.com 60480 IN A mail.cible.com

Cette commande utilis‚ avec l'option -a pour avoir le plus d'information
possible permet de r‚cup‚rer des informations sur la cible, ici nous avons
comme information que le serveur est de type VAX et qu'il tourne sous VMS...
Il ne vous reste plus qu'a chercher les bons vieux exploits pour ce type de
machine...on voit aussi que le serveur mail de la cible est mail.cible.com,
ce qui peut toujours ˆtre utile ;).

**********
**Httpds**
**********

#telnet www.cible.com 80
Trying 123.123.123.123...
Connected to www.cible.com.
Escape character is '^]'.
> GET / HTTP/1.0
HTTP/1.1 200 OK
Date: Tue, 03 Feb 1998 03:02:40 GMT
Server: Apache/1.2b4
Connection: close
Content-Type: text/html
Last-Modified: Wed, 02 Feb 1998 11:45:03 GMT
ETag: "13d04-b3-11226543"
Content-Lenght: 666
Accept-Ranges: bytes

Cette commande peut soit ˆtre appliqu‚ sur le port 80 ou parfois 8080 si il
y a un proxy. Elle nous permet de savoir que les serveur www.cible.com
utilise Apache/1.2b4 et encore une fois plus qu'a chercher des exploits pour
ce serveur :).

********
**Smtp**
********

#telnet www.cible.com 25
Trying 123.123.123.123...
Connected to www.cible.com.
Escape character is '^]'.
220-www.cible.com Sendmail 8.4.12/8.4.12 ready at Thu, 28 Jun 1998
03:57:20 +0100
220 ESMTP spoken here

Ici on obtient la version du Sendmail qui est de tout ‚vidence une version
avec de nombreux holes =).

Voila ce sera tout mais c'est deja pas mal non :)?

<SaTaNiK>


******************************************************************************
* MM MM AA L I CCCCCC I AA *
* M M M M A A L I C I A A *
* M M M M AAAAAA L I C I AAAAAA *
* M MM M A A LLLLL I CCCCCC I A A *
******************************************************************************


----------------
Cours de Cracking 1
----------------

Bonjour et bienvenue dans la premiŠre le‡on de cracking.
Comme vous vous en doutez surement cette le‡on est d‚di‚ au d‚butants qui ne
savent rien du cracking :). D'abord une petite explication sur ce qu'est
un crack, un crack est un petit programme qui modifie un fichier executable
dans le but de changer son fonctionnement, par exemple de changer la fa‡on
dont il reagit quand vous cliquer sur register en inversant la condition si
serial bon enregistre en si serial faux ou bon enregistre :). Bon maintenant
que vous savez ce qu'est un crack voyons les outils dont vous aurez besoin
pour cette le‡on.

-FxEdit
Ce logiciel est un ‚diteur hexad‚cimal qui permet de modifier les codes des
instructions sans avoir … tout recompiler. Ils en existe beaucoup d'autres
et j'utilise celui la car c'est le premier que j'ai eu :).

-W32Dasm V8.9
Ce logiciel permet de d‚sassembler les programmes que vous voulez crackez,
c'est … dire de transformer les chiffre illisibles du fichier executable en
instructions assembleurs beaucoups plus compr‚hensible par l'homme.

Bon pour apprendre y a pas trente-six solutions, il faut cracker ;).
Notre premiŠre cible sera Moray V3.0, c'est un modeleur pour le moteur 3D
P.O.V, qui est un freeware, et ce modeleur coute....ark 89$......c un malade
ce mec, on va lui mettre un bon fatal kick dans sa protection :).

D'abord on lance Moraywin et on observe...bon d'abord il nous fait
attendre 6 secondes l'encul‚ de programmeur :), une fois ces 6 secondes
‚coul‚s on va dans Help->Register et on entre un nom et un serial
bidon(123456 par exemple). Et la ce m‚chant programme nous dit "Registration
Failed"
et "Please make sure etc". Bon on retient puis on copie le fichier
Moraywin.exe dans un autre r‚pertoire et on le d‚sassemble. Une fois ce
d‚sassemblage finit vous allez dans search->Find Text et vous tapez
allez "Please Make" et vous atterrissez normalement la:
******************************************************************************
:0051D5C0 E83CA6FEFF call 00507C01 //Appele la procedure de
//Verification du Pass
:0051D5C5 83C404 add esp, 00000004
:0051D5C8 85C0 test eax, eax //teste eax
:0051D5CA 7544 jne 0051D610 //si pas … 1 jump

:0051D5CC 8B4508 mov eax, dword ptr [ebp+08]
:0051D5CF 50 push eax

//BAD GUY YOU GAVE ME A BAD PASS :))

* Reference To: KERNEL32.DeleteFileA, Ord:004Eh
|
:0051D5D0 FF15C4005C00 Call dword ptr [005C00C4]
:0051D5D6 6A00 push 00000000
:0051D5D8 6A00 push 00000000

* Possible Reference To String Resource ID=41201: "Please make etc..."

:0051D5E0 68F1A00000 push 0000A0F1
******************************************************************************

A la ligne 0051D5CA il y a un jump conditionnel, et on voit plus bas
que si celui ci n'a pas lieu est bien le message d'erreur s'affiche....donc
il FAUT que ce jump est lieu :). Donc un petite modification s'impose il faut
changer ce saut conditionnel en jump, pour cela il suffit de changer
le premier code du saut(75). Pour cela nous lan‡ons FXedit et nous recherchons
la chaine hexad‚cimale: "75448B450850FF15" et nous modifions le premier
code(75) en jump, c'est … dire EB.

Pour finir on lance ce cher Programme on va dans Help-Register
on tape un nom, puis un serial bidon et clique sur ok :) et la hoooooooo
miracle le logiciel se recharge et plus d'‚cran qui vous fait attendre 6
secondes, et si vous allez dans help->about il est ‚crit Registered To:votre
nom. Magique non?

J'ai mis 2 minute pour cracker ce logiciel qui vaut 89$ :)). Comme
quoi le prix ne fait pas le moine(mais quesque je raconte moi????). Bon
pour la prochaine fois vous aurez comment utiliser Softice V3.2, un d‚buggeur.

<SaTaNiK>
******************************************************************************
* MM MM AA L I CCCCCC I AA *
* M M M M A A L I C I A A *
* M M M M AAAAAA L I C I AAAAAA *
* M MM M A A LLLLL I CCCCCC I A A *
******************************************************************************


--------------------
Initiation … l'asm 1
--------------------

L'asm est le language au plus bas niveau qu'y existe (aprŠs ce sont des
chiffres...) et c'est celui qu'on utilise pour optimiser les programmes dans
les fonctions qui utilisent beaucoup de temps machine (3D, les effets dans les
d‚mos, etc) et pour les rendrent plus rapides. Evidemment le language asm
n'est pas des plus simples et si vous voulez commencez … programmer commencez
par le C mais surtout pas par l'asm!!! Dans cette premi‚re le‡on je vais
aborder la structure de base de l'asm que sont les registres, les
interruptions et la pile.

Bon pour faire de l'asm c'est pas compliqu‚ il faut 2 logiciels:

-Un ‚diteur de texte
-Un assembleur pour transformer les instructions en chiffre :)

Pour l'‚diteur de texte moi j'utilise AsmLab, un logiciel qui a une interface
un peu comme celle de turbo C/C++ mais pour l'asm. Mais sinon vous pouvez
utiliser edit du dos qui fait ‡a trŠs bien...
Pour l'assembleur j'utilise Turbo Assembleur V5.0 de Borland qui fait ‡a trŠs
bien(et donc tout les programmes qui seront dans ce tutorial seront compil‚s
avec Tasm), il en existe d'autres comme Masm et ils n‚c‚ssiteront un peu de
changement dans votre code...mais bon ‡a ira quand mˆmme :).

Pour apprendre la meilleure solution consiste … regarder le travail des autres
, et bien je vais commencer par vous mettre un petit exemples sous les yeux:

;*****************************************************************************
.MODEL SMALL ;Petit model m‚moire
.386 ;Utilise les fonctions jusqu'au 386
.STACK 100H ;La pile....explication plus loin

.DATA ;SEGMENT de donn‚e
MESSAGE DB "Coucou de l'asm$" ;Une variable qui contient une chaine
;de caract‚res

.CODE ;Le code du programme


debut: ;Reference du debut du programme

MOV AX,@DATA ;Initialise le segment de donn‚
MOV DS,AX

MOV AH,09 ;Met 9 dans le registre ah
MOV DX,OFFSET MESSAGE ;Met l'addresse de message dans dx
INT 21H ;Lance la fonction 9 de l'interruption 21H
;qui affiche un message

MOV AX,4C00H ;Met la valeur hexadecimale 4C00 dans ax
INT 21H ;Lance la fonctions 4C de l'interruption 21H
;qui arrete le programme...

END debut ;informe l'asm que le programme commence … debut...
;*****************************************************************************

Ca va vous avez reussi … lire tout ‡a?
Bon plus qu'a le compiler :).
Vous sauvez ce texte sous euh par exemple sous Test.asm et vous
lancez les commandes suivantes(si vous utilisez Tasm sinon je
sais pas):

Tasm Test.asm
Tlink Test.obj

Et vous voila avec un beau executable(Test.exe) qui affiche un joli message
tout plein :). Bon maintenant expliquons plus en d‚tail ce programme:

.MODEL SMALL
;D‚finit un petit segment m‚moire, ne vous cassez pas la tˆte avec ‡a :))

.386
;Le programme ne contient pas de fonctions qui font appele … plus puissant
;que 386

.STACK 100H
;D‚finit une pile qui n'est d'ailleur pas utilis‚ dans le programme :)

.DATA
;Definit un segment qui contiendra toute les donn‚es mais pas
;de code executable

MESSAGE DB "Coucou de l'asm$"
;Definit une chaine de caract‚re avec l'instruction DB qui en fait d‚finit
;soit un nombre d'1 byte(comme un char sous C) soit une chaine de nombre, une
;chaine de caract‚re quoi...
;Cette chaine finit par un $ car l'interruption qu'on va lancer plus loin
;arrˆte l'affichage au premier '$' trouv‚...

.CODE
;d‚finit un segment qui ne contient que du code

debut:
;Il faut bien que le programme commence quelque part non?

MOV AX,@DATA
MOV DS,AX
;Initialise le segment DS avec l'adresse du segment DATA pour que l'ordinateur
;sache ou sont les donn‚es, on passe par le registre AX car l'asm refuse
;que l'on mette directement une valeur mais il accepte que l'on mette
;la valeur d'un registre(c chiant mais c comme ‡a)

MOV AH,09H
;Met la valeur 09 dans le registre ah qui est en fait la partie haute de
;AX, l'on aurait put tout aussi bien ‚crire 'mov AX,0900H', cela aurait
;aussi mit AH … 09 mais cela aurait aussi mit AL(la partie basse de AX) … 0
;, ce qu'on ne desire pas...

MOV DX,OFFSET MESSAGE
;Met l'adresse de la donn‚ MESSAGE d‚clar‚ plus haut dans DX

INT 21H
;Lance l'interruption 21H qui est l'interrution du dos, cette interruption
;regarde le contenue de ah et lance la fonction correspondante, ici elle lance
;la fonction 09 qui affiche le message dont l'adresse est stock‚ dans DX

MOV AX,4C00H
INT 21H
;Memme chose que plus haut mais cette fois ci c'est la fonction 4C qui arrete
;le programme, l'on est oblig‚ de mettre ces 2 lignes sinon l'ordinateur
;plante ou windoz arrete le programme...

END debut
;Informe tasm que le programme commence … debut, un label qui est d‚finit plus
;haut dans le programme

Bon voila, apr‚s avoir d‚taill‚ soigneusement ce programme je vais parler
des registres.

Il existe 4 principaux registres: AX,BX,CX et DX. Chaqu'un de ces registres
est 16-bits(comparable a un int en C) mais les 8 bits sup‚rieurs et inf‚rieurs
peuvent ˆtre acc‚d‚s grace … AH(partie haute de ax) AL(parite basse de ax), de
mˆmme avec BX avec les registres BH(partie haute) et BL(partie basse), et
toujours la mˆmme chose avec CX et DX avec les registres CH, CL, DH et DL.
Ces registres sont comparables … des variables en C … l'exception prŠs
qu'ils sont plus rapide en temps-machine et qu'ils existent dŠs le lan‡ement
de la machine. Ces registres existent aussi en version 32-bits … partir
du 386, ils sont alors appel‚s EAX,EBX,ECX et EDX mais la partie haute des
32 bits ne peut ˆtre acc‚d‚e directement.

Il existe aussi les registres de segment, il en existe 3 importants: CS, DS
et ES. CS contient l'adresse du code executable et quand vous lancez le
programme CS pointe automatiquement sur le code executable, donc n'y
touchez pas... DS lui au demarrage pointe aussi sur le code executable alors
qu'il doit referencer les donnees, il est alors necessaire de faire pointer
ce segment sur le segment DATA par les 2 lignes suivantes au debut du code
executable:
;***********
MOV AX,@DATA
MOV DS,AX
;***********
ES est lui un registre supl‚mentaire qu'y peut servir … contenir un segment
suppl‚mentaire, un autre segment de DATA par exemple car un segment ne
peut d‚passer les 64000 octets d'ou son utilis‚.

Il faut que vous sachiez aussi qu'il existent aussi 2 autres registres
que sont SI et DI, il peuvent servir comme AX, BX, CX et DX … contenir
des nombres mais il servent surtout … copier des zone m‚moires et … faire
des comparaisons.

Les interruptions sont en fait des fonctions qui peuvent ˆtre lan‡‚es par
une simple commande qui est INT suivit du num‚ro de l'interruption.
Les interruptions sont ce qu'il existe de plus simple … utiliser en asm.
Il existe diff‚rentes interruptions:
-10H pour les graphismes
-14H pour le joystick
-17H pour l'imprimante
-21H pour les fonctions DOS
Il en existe ‚videmment plus que cela....
Chaqu'une des ces interruptions contient plusieures fonctions, le num‚ro de
la fonctions doit ˆtre mit dans AH avant le lancement de l'interruption.
Normalement avec ce texte doit ˆtre fournit un logiciel: HELP-PC qui contient
une liste d'interruption avec en plus une liste de toutes les fonctions
de l'asm :).

Maintenant une petite explication de ce qu'est la pile.

La pile, n'est pas comme vous pouvez vous l'imaginez une pile qui fournit
de l'‚n‚rgie mais bien une pile de chiffre, eh oui :). Si vous lisez ce
texte vous devez surement deja avoir fait du C, alors vous devez savoir
que le nombre de variable est souvent important et si vous avez bien lu
les lignes plus haut qui concernaient les registres vous devez vous ˆtre
rendu compte qu'il n'y en a pas beaucoup...Nous arrivons donc ici … l'utilit‚
de la pile qui permet de preserver le contenue d'un ou de plusieurs registres.
Mais comme avec une pile d'assiettes vous ne pourrez pas retirez une valeur
qui se trouve en bas de la pile s'en en avoir enlev‚ le dessus. Bon je ne suis
peut-ˆtre pas trŠs clair mais ce programme va peut-ˆtre eclaircir vos
id‚es:

;***********
MOV AX,34315
MOV DX,123 ;met dans les registres AX et DX des chiffres

PUSH AX
PUSH DX ;met ces 2 registres sur la pile

MOV AX,946
MOV DX,555 ;Change le contenue de ces 2 registres

POP DX
POP AX ;AX et DX contiennent de nouveau 34315 et 123
;***********

Si a la fin du programme nous avions mis POP AX puis POP DX alors AX
contiendrait 123 et DX, 34315.

<SaTaNiK>


******************************************************************************
* MM MM AA L I CCCCCC I AA *
* M M M M A A L I C I A A *
* M M M M AAAAAA L I C I AAAAAA *
* M MM M A A LLLLL I CCCCCC I A A *
******************************************************************************


-------------------
Creation d'un socket23
-------------------

Eh oui voila le premier guide sur la programmation des taupes :).
Ce document ne s'adresse qu'aux programmeurs :)...pas aux petits lamerz
car je ne distribuerai ni source ni executable :)). Je dis ‡a car on voit
une incroyable quantit‚ de sale petit lamerz qui r‚clame des taupes...ils ne
trouveront pas ici ce qu'ils cherchent :)). Bon sinon pour compiler une taupe
vous aurez besoin d'un compilateur pour windoz 95..Borland C++ par exemple...
moi j'utilise Watcom C++ 10.6. Ha autre chose vous devrez inclure <winsock.h>
et <windows.h> pour pouvoir utiliser les sockets :).

Pour faire une taupe, il suffit, en r‚sum‚ d'ouvrir un port pour que
vous puissiez entrez dans le syst‚me de l'imb‚cile qui l'a executer...Pour
faire cela il y a differentes ‚tapes … suivres:
1-Initialiser le systŠme des sockets
2-Initialiser un socket
3-Ouvrir un port sur le socket
4-Mettre ce port en lecture
5-Attendre une connection sur ce port...

Nous allons ‚tudier chaqu'une des ‚tapes pr‚c‚dente...

Windoz(et seulement lui) … besoin d'initialiser un syst‚me de
socket...cette commande ce fait via la fonction 'WSAStartup'. Cette
fonction prend plusieurs paramˆtres: le premier est la version du socket
d‚sir‚e et le second un bloc d'information g‚n‚ral des sockets.
Le premier paramˆtre est un mot dont le byte haut est le moins important et
le byte bas le plus important. Le deuxi‚me paramˆtre est une structure de
type WSADATA...
En cas d'erreur la fonction renvoie une valeur differente de zero.

ex:
int Version_requise;
WSADATA data_socket;
Version_requise=MAKEWORD(1,1);
WSAStartup(Version_requise,&data_socket);

Pour cr‚er un socket il existe une commande trŠs simple...socket :).
Elle prend 3 paramˆtre, le premier est relatif au type de r‚zo utilis‚, le
deuxiŠme d‚finit le type du socket et le dernier est relatif au type de
protocole voulu.
Le premier paramˆtre sera toujours AF_INET pour nous car c'est le seul
acc‚pt‚ par windoz. Le deuxiŠme sera SOCK_STREAM pour permettre l'‚change
dans les 2 sens fa‡ilement et le dernier sera toujours 0 car nous ne voulons
pas sp‚cifier de protocole pr‚cis...
La fonction renvoie un unsigned qui sera le num‚ro du socket ou alors
INVALID_SOCKET si l'initialisation rate.

ex:
unsigned the_socket;
the_socket=socket(AF_INET,SOCK_STREAM,0);

Ouvrir un port sur un socket ce fait via la fonction bind. Cette
fonction prend 3 paramˆtre, le premier est le num‚ro du socket, le
deuxiŠme est un structure de type SOCKADDR_IN et la 3‚me est la taille
de la structure pr‚c‚dente...
La structure SOCKADDR_IN contient plusieurs paramˆtre … initialiser
d'abord ->sin.family qui contient la famille du socket donc AF_INET, ensuite
->sin_addr.s_addr qui sera toujours … 0 et enfin ->sin_port qui contiendra
le num‚ro du port en network byte pour avoir cela il suffit de r‚cup‚rer la
valeur renvoy‚ par htons(num‚ro_du_port)...
Cette fonction renvoie une valeure differente de zero en cas d'erreur.

ex:
SOCKADDR_IN info_socket;
info_socket.sin_family=AF_INET;
info_socket.sin_addr.s_addr=0;
info_socket.sin_port=htons(1234);
bind(the_socket,(LPSOCKADDR)&info_socket,sizeof(info_socket));

Cette commande ce fait via la fonction listen. Cette fonction trŠs
simple ne prend que 2 paramˆtres...le premier est le num‚ro du socket et
le second le nombre de thread(connection maximum sur le socket?).
Si tout se passe bien la fonction revoie zero.

ex:
listen(the_socket,1);

En fait la intervient un truc qui nous fa‡ilite la vie :). C'est
la commande accept. Cette commande en fait accepte une connection si il
y en a une et si il n'y en a pas elle met le programme en pause en attendant
une...magnifique non?
Bon donc cette commande prend 3 paramˆtres, le premier est le num‚ro
du socket qu'on attend, le deuxi‚me un pointeur sur une strucutre SOCKADDR_IN
et le troisiŠme la taille du pr‚c‚dent...
Cette fonction renvoie un socket temporaire qui est en fait la
connection ‚tablit...c un unsigned comme un socket normal...

ex:
int taille;
unsigned socket_connection;
SOCKADDR_in info_socket_2;
taille=sizeof(SOCKADDR_IN);
socket_connection=accept(the_socket,(struct SOCKADDR *)&info_socket_2,&taille);


Bon comme je viens de le dire la command accept met le programme
en pause tant qu'il n'y a pas de connection...donc rien de plus simple que
de faire par exemple ceci:

infinit_loop:
socket_connection=accept(the_socket,(struct SOCKADDR *)&info_socket_2,&taille);
MessageBox(NULL,"Salut mec :)","Hello",MB_OK);
shutdown(the_socket,2);
shutdown(socket_connection,2);
goto infinit_loop;

Cette simple boucle fera que le programme attend votre connection, puis
quand vous vous connectez sur le port affiche une MessageBox, quand
l'utilisateur clique ok cela ferme la connection, et il attend de nouveau
pour la connection et ainsi de suite :).

Bon vous voyez c'est pas dur de faire une taupe(quand on sait
programmer bien sur :)). La fois prochaine je ferais un cours sur
comment faire un interface et d'autres trucs :). Finalement j'ai d‚cid‚
d'inclure la taupe dans ce zine car elle est innofensive :).

<SaTaNiK>


******************************************************************************
* MM MM AA L I CCCCCC I AA *
* M M M M A A L I C I A A *
* M M M M AAAAAA L I C I AAAAAA *
* M MM M A A LLLLL I CCCCCC I A A *
******************************************************************************


///////////\\\\\\\\\\\
--Cgi??? What's the deal???--
///////////\\\\\\\\\\\

Bon ce que je vais vous expliquer ici c les differents bugs qui se
trouve dans les r‚pertoire des cgi-bins...........

Cela peut sembler bˆte mais c pourtant parfois le plus difficile....
Il existe plusieurs r‚pertoire o— pouvent se trouver les scripts cgi/perl...

http://www.host.com/cgi-bin/
http://www.host.com/cgi-win/

Voila les 2 principaux endroits ou ils peuvents se trouver, mais
il se peut tout … fait que les scripts ne soit pas l…, dans ce cas l… il
faudra rechercher sur la page un compteur(il utilise assez souvents des
scripts cgi), un questionnaire, ou qqchose d'interactif....

Une fois le r‚pertoire trouv‚ il reste … trouver les scripts...

-phf bug-
Ce bug reprend un principe trŠs simple qui est en fait le bug qui est
d‚vellop‚ pour tout les autres scripts....Ce bug est tout simplement du
au fait que le scripts ne verifie pas les caractŠres que vous envoyez...
Il suffit donc d'utiliser le signe ? pour passer un paramˆtre
plus le signe % suivit du code hexad‚cimal de ENTER(0A)....Un exemple de
l'utilisation de ce bug:
http://www.host.com/cgi-bin/phf?%0a/bin/cat%20etc/passwd
Cette commande … tout simplement comme but de lister le fichier password de la
cible :).

-nph-test-cgi-
Ce script est encore assez pr‚sent et est sans doute le plus puissant de tous
car il permet de lister n'importe quel r‚pertoire sur le serveur....Il peut
servir par exemple … trouver des backdoors sur des serveurs XXX ou … lister
le r‚pertoire cgi-bin et ainsi trouver le scripts attaquable. Pour l'utiliser
il suffit de faire passer un paramˆtre avec ? et de faire suivre par *:
http://www.host.com/cgi-bin/nph-test-cgi?*
Liste le r‚pertoire cgi-bin :).

Pas de bol, le script nph-test-cgi n'est pas pr‚sent dans le
r‚pertoire, il y a encore une solution et cette solution c'est FTPSearch :).
On ne le dira jamais assez ce moteur de recherche est g‚nial(pas seulement
pour les hackeurs =). Vous n'avez qu'a chercher par exemple phf et il vous
donnera un liste de ftp avec phf, il suffira de changer le ftp en http avec
la bonne directory :).

J'avais envie d'‚crire ‡a pour donner des ptits infos sur le hacking,
mais ‡a ne fera pas de vous un hackeur, car un hackeur trouve par soi mˆmme...
Il existe ‚videmment beaucoup plus de bugs que ceux decrit plus haut...
Bon toute les informations ci-dessus on ‚t‚ principalement trouv‚
sur le site de fravia mais j'ai voulu le "traduire" en fran‡ais pour le
rendre plus accessible … tous :).

<SaTaNiK>


******************************************************************************
* MM MM AA L I CCCCCC I AA *
* M M M M A A L I C I A A *
* M M M M AAAAAA L I C I AAAAAA *
* M MM M A A LLLLL I CCCCCC I A A *
******************************************************************************


***VMB/PBX Story***

Il ‚tait une fois, dans une ville, dans un quartier, dans une maison
qqun qui s'ennuyait, il ne savait pas trop quoi faire. Alors lui vint une
id‚e, il prend le bottin des telecoms, regarde et cherche un entreprise
quelconque. Il commence par A et puis tombe sur une soci‚t‚ qui doit pas
avoir une bonne s‚curit‚ ;).

Il regarde d'abord sa montre, 2 heures du mat, c bon il dorment :)).
Il compose le num‚ro et ‚coute...'Bip, bip, bienvenue … XXX, nous ne sommes
malheuresement pas l…, etc'. Il tatonne un peu et puis appuye sur zero et l…
il entend le message divin: "Appuyer sur 1 pour acceder … une voite vocale,
2 pour envoyer un message et 3 pour personnaliser votre boite vocale."


Il appuie sur 1 et entend "Veuillez entrer votre code personnel".
Il tatonne essaye 111,222,333 ha et merde le truc racroche toutes les 3
erreurs. Tˆtu notre personnage continue et finit par trouver un code: 999.
Et la de nouveau, coup de bol, la messagerie ne demande pas de code!!!!

Il semblerait que cettes boites vocales soit celle de l'acceuil car
elle contient beaucoup de messages assez vagues sur la culture des ognions
en passant par le domptages des autruches :)).

Notre personnage va se coucher, il est fatigu‚...Le lendemain soir
il se relance sur la messagerie et il … un coup de g‚nie, si j'essayais les
3 derniers chiffres du num‚ro de telephone, et oui ‡a marche. A l'aide de
cette m‚thode notre curieux personnage r‚cup‚re tout les num‚ros de boites
vocales(et donc les codes) et marque ceux qui ne fonctionnent pas...

Puis il s'amuse, ‚coute les messages et ainsi de suite. Puis il
tr‚buche et appuie involontairement sur le 7..."Veuillez tappez cotre code
personnel"
...tiens bizarre...il tape un des nombreux codes qu'il … r‚cup‚r‚
et ‚coute, "Votre boite vocale n'as pas pour le moment de num‚ro de rappel,
si vous voullez en entrer un appuyez sur 1"
....Youhouuuuu c le gros l“t :).

Il tappe 1 et entre un num‚ro de telephone en 36 68 :)). Bon il
compose le num‚ro de la boite auquel il a assign‚ le rappel. Mais non rien
le rappel ne fonctionne pas, il a du ˆtre d‚sactiv‚ :(. Bon, le coeur un peu
d‚‡u, notre phreaker r‚fl‚chit un peu, et puis se met … un nouveau boul“t...

Il essaye toutes les boŒtes vocales qui ne marchait pas et donc les
num‚ros de t‚l‚phones sp‚ciaux....Il tombe sur plusieurs standards, des fax,
et tiens c bizzare, ‡a sonne pas tout … fait comme un fax...Notre phreaker,
bien ‚quip‚ comme toujours, branche son modem, lance HyperTerminal, et
lui ordonne d'appeler ce num‚ro, le logiciel appeur‚ obeit :).

Et ouiiiiiii, c'est un modem, j'vais pouvoir t‚l‚charger plein de
files et tout g‚nial!!!!!!! Connection 2400 bauds......haaaaaa ok c pas trop
le fun, tiens ya un chti curseur mais pas de pr‚sentation, il tappe des
commandes qui lui r‚pondent bizarement....c quoi le prob!!!!!

Et oui vous l'aurez deviner, ce personnage etrange et mysterieux,
c moi :). Bon effectivement j'ai pas trouv‚ quel type de reseaux c'‚tait...
Peut ˆtre qqchose de propri‚taire???? Bref si vous pouvez m'ˆtre d'une aide
quelconque n'h‚sitez pas:
**********************************************
>help;
HELP AUTO = 3F EXCL = 80
0 CDE 2 LABEL 1 2
0 TAB 2 LABEL 1
0 TAB 2 LABEL 1
>TEST;
*** REF : 31
*** SYN : 0F
>HELP TEST;
TEST AUTO = 03 EXCL = 80
0 FC 1 FC 0 1 2 6
0 NA 2 DECIMAL 0 1 2 6
1 ADG 2 CC/L/T 1 2 6
2 P1 1 HEXADECIMAL 1 2 6
3 P2 1 HEXADECIMAL 1 2 6
4 P3 1 HEXADECIMAL 1 2 6
>S;
*** REF : 31
*** SYN : 0F
*** SYN : 0F
**********************************************

Bon voila un log trŠs court mais si vous arrivez … l'identifier
n'h‚sitez pas.....freaking@caramail.com

<SaTaNiK>


******************************************************************************
* MM MM AA L I CCCCCC I AA *
* M M M M A A L I C I A A *
* M M M M AAAAAA L I C I AAAAAA *
* M MM M A A LLLLL I CCCCCC I A A *
******************************************************************************

Initiation au CræpÅage
!!!!!!!!!!!!!!!!!!!!!!

Je ne vais pas vous proposez de casser des chtis codes non, pas cette fois, je
vais commencer par vous apprendre quelques notions de cryptage plut“t simple,
nous apprendrons mˆmme … faire un crypteur de fichier :).

En fait il existe des milliers de m‚thode de cryptage possible mais nous
allons nous interesser … la plus simple, le XOR. en fait xor est une
instruction asm qui est trŠs amusante:

mov ax,239
;AX contient 239
xor ax,123
;AX contient 148
xor ax,123
;AX contient 239

Magique non? on dirait un cryptage et un decryptage tout en beaut‚ :).
Le tout est de savoir par quoi xorer le nombre....pour cela je vous propose
une exemple con‡u par mes soins...mais il n'est ‚videmment pas efficace
pour proteger un fichier car beaucoup trop simple...

*************************************************************************
//INCLUDES NECESSAIRES POUR TOUT LE BAZARD
#include <process.h>
#include <string.h>
#include <iostream.h>
#include <conio.h>
#include <ctype.h>
#include <stdio.h>
#include <malloc.h>

//PROGRAMME
void main(int argc, char *argv[])
{
unsigned long taille; //TAILLE DU FICHIER A CRYPTER
unsigned long index;
unsigned char *buffer; //BUFFER POUR LES DONNEES CRYPTES
unsigned char crypt=33; //INDEX DU CRYPTAGE
unsigned long crypting_index; //CE QUI FAIT QUE CA CHANGE A CHAQUE FOIS
FILE *to_crypt;
FILE *crypted;

printf("Spiritic Crypter By SaTaNiK V0.1\n\n");
//SI LES 2 ARGUMENT NE SONT PAS PASSES ALORS...
if(argc!=3)
{
printf("Usage:\n");
printf("Crypter <source_file> <crypted_file>\n");
exit(0);
}

//TENTE D'OUVRIR LE FICHIER A CRYPTER
to_crypt=fopen(argv[1],"r+b");
if(to_crypt==NULL)
{
printf("Can't open source file...\n");
exit(1);
}

//TENTE DE CREER LE FICHIER CRYPTE
crypted=fopen(argv[2],"wb");
if(crypted==NULL)
{
printf("Can't create crypted file...\n");
exit(1);
}

fseek(to_crypt,0,SEEK_END);
taille=ftell(to_crypt); //RECUPERE LA TAILLE DU FICHIER ET
//LA MET DANS LA VARIABLE TAILLE

fseek(to_crypt,0,SEEK_SET); //REMET LE POINTEUR AU DEBUT DU FICHIER

//VERIFIE SI LE FICHIER N'EST PAS TROP PETIT OU PAS TROP GRAND
if(taille==64000||taille<100)
{
printf("Can't crypt this file, it's too big or too small...\n");
exit(1);
}

//ALLOUE AUTANT DE MEMOIRE QUE D'OCTECTS DANS LE FICHIER
buffer=(unsigned char *)malloc(taille);
if(buffer==NULL)
{
printf("Can't allocate enought memory...\n");
exit(1);
}

printf("I'm crypting master...\n");

//NE GARDE QUE L'OCTECT LE PLUS BAS DE LA TAILLE(0-255)
crypting_index=taille&0xFF;

//ET L'AJOUTTE A CRYPT(33)
crypt+=(unsigned char)crypting_index;

//LE CRYPTAGE SE DEROULE ICI
for(index=0;index<taille;index++)
{
//RECUPERE UN CARACTERE ET LE MET DANS LE BUFFER
buffer[index]=(unsigned char)getc(to_crypt);
//PUIS LE XOR PAR CRYPT QUI EST INCREMENT‚
buffer[index]^=crypt++;
}

//ECRIT TOUT DANS LE FICHIER CRYPTE
fwrite(buffer,1,taille,crypted);

printf("File crypted successfully :)\n");

exit(0);
}
*************************************************************************

Bon voila, plut“t simple non? J'ai inclut avec ce mag un fichier(Hello.cry)
crypt‚ … l'aide de ce crypteur et le premier qui me revoit la version non
crypt‚ gagne une surprise =). Alors au boul“t surtout que c'est super
fa‡ile :).

<SaTaNiK>


******************************************************************************
* MM MM AA L I CCCCCC I AA *
* M M M M A A L I C I A A *
* M M M M AAAAAA L I C I AAAAAA *
* M MM M A A LLLLL I CCCCCC I A A *
******************************************************************************


********
"Epilogue"
********

Et oui c deja finit :). Mais rassurez vous je met le paquet et pis un nouveau
zine va sortir dans qques temps =). Et puis un truc, je voudrais passer un
message … Bond007 et Psykaos....ces 2 imb‚ciles on traiter le groupe PHC,
le groupe que j'avais cr‚er, de groupe de lamerz...il est vrais que nous
n'‚tions pas particulŠrement bons(mis … part moi :)) mais je trouve con
qu'ils nous aient jug‚s alors que nous n'avions pas sortis le zine...de plus
ce ptit imb‚cile de Bond007 m'a mail-bomb‚!!! Enfin pour enlever tout ces
mails ‡a m'a prit 2 clicks :)) mais l'important n'est pas l…! J'ai pu me
rendre compte que Bond007 ‚tait un ‚norme Lamerz car le premier mail qu'il
m'a envoy‚ contenait sa vrais adresse e-mail....j'aurais donc pu le bomber
mais je ne suis pas un d‚bile comme lui :). Enfin bon si vous voyez un de
ces 2 ptits cons vous l'insulterez de ma part ;).

Mis … part ‡a je pr‚pare qques articles interessants...comment faire un
brute force cracker, comment tracer qqun sur le web et trouver qu'y il est
reelement et pis la suite sur les cours asm et de tauping en autre.....
voil… ‡a vous met l'eau … la bouche non :)?

Billou Le SaTaNiK

http://members.xoom.org/SaTaNoS/

next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT