________________________________________________________________ ____ __ __ / ___________________________________________________________ ____ __ _ / ` \ / \[16]/ + ,\_____ ___/ . ` |\/ , \__/ . \____ /:/=[ les bases d'un cheval de troie] =\:\ _____/ ` x || , . " :X \_______________________________ ____ ____ / , ` ` || + , () . x , . ` ' ` \_ \ ,\\_ +\_ \ 'M ` | . || ` | ` , ` , + , ` ,--, + . \\_ \_ \ , \\_ K -+- / |+ -+- . , ` , ,',/ ,'. \_ \ . \\_ \_ \ - | ` / . | ; + + . ` | : . :`` ,_): ' ` \\_ \_ \ \\_` 1 , / ` . . x , .-=+=- `. ,. ,' ` , \_ \ + \\_` \_ \ 1 /\_____ x ' , . . X | ` `--' ` ` \\_ \_ \ , \\_ 1 + \\_ \___________________ , . . ` , + ' , , ; x ._\ \___\\___\ \ . \_ \ \__________________________________/ \ ` , \\_ /:/=[ Aka: ]=\:\ \ \__\__________________________________________ ______________________________ \` \__\ /__/ \\_ /:/=[ fluxius ]=\:\ _// \__\________________________/__/ 0001001000000100000001001000001000000100010000000000010 010 __ __ __ _____ 000 000 / / / /___ ______/ /_|__ / _____ ____ 001 001 / /_/ / __ `/ ___/ //_//_ < | / / _ \/ ___/ 010 000 / __ / /_/ / /__/ ,< ___/ / |/ / __/ / 000 000 /_/ /_/\__,_/\___/_/|_/____/|___/\___/_/ 001 010 http://hackever.n0ne.org 000 0100010001000000100001001000001001000000010000010000100 Introduction : Un cheval de troie dit Troyen en d'autre thermes est un programme qui ouvre grand les portes de votre systême. Histoire : Le nom "Cheval de Troie" provient d'une légende narrée dans l'Iliade (de l'écrivain Homère) à propos du siêge de la ville de Troie par les Grecs. La légende veut que les Grecs, n'arrivant pas à pénétrer dans les fortifications de la ville, eurent l'idée de construire un énorme cheval de bois pour s'y cacher en faisant croire qu'ils avaient abandonné le siêge. Les troyens (peuple de la ville de Troie), heureux de voir le siêge vide ramenère le cheval de bois comme prix de leur victoire dans les murs de la ville. Cependant le cheval était rempli de soldats cachés qui s'empressèrent d'en sortir à la tombée de la nuit, alors que la ville entière était endormie, pour ouvrir les portes de la cité et en donner l'accès au reste de l'armée ... Si vous êtes interessez par le "film"... Le cheval de troie peut causer pas mal de soucis : vol de mots de pass, destruction du systême... Nous allons vous expliquer par étape ce qu'est un troyen et vous donner quelques bases pour en programmer un. C'est pas génial ! :-P. Ce tuto traitera le cas d'une programmation sur Windows. Les bases Le cheval de troie est ensemble de deux programme : Un Server et Un Client Le serveur est justement le cheval qui va nous permettre d'entrer dans le système de la victime pour le sacager. Le client lui communiquera avec le serveur pour libérer les soldats du Cheval (Faut bien leur faire prendre l'air). Attention ! : Avant de réaliser quoi que ce soit, je vous préviens simplement que des bases en C++ vous seront nécessaire. Les explications qui suivent vous permettrons juste de savoir comment communique un serveur et un client pour attribuer par la suite des fonctions relative au hack. Pour commencer, nous alons réaliser un serveur qui permettra de faire notre client. Voici un exemple : __________________________________________________________________________________ | | | server.cpp | |_________________________________________________________________________________| ________________________________________________________________________________________________ #include #include void main() { WSADATA WSAData; WSAStartup(MAKEWORD(2,0),&WSAData); SOCKET sock; SOCKET csock; SOCKADDR_IN sin; SOCKADDR_IN csin; sock = socket(AF_INET, SOCK_STREAM, 0); sin.sin_addr.s_addr = INADDR_ANY; sin.sin_family = AF_INET; sin.sin_port = htons(6667); // Le server ouvre le port 6667 bind(sock, (SOCKADDR *)&sin, sizeof(sin)); listen(sock, 0); while(true) { int sinsize = sizeof(csin); if((csock = accept(sock,(SOCKADDR *)&csin,&sinsize)) != INVALID_SOCKET) { // si tout c'est bien passé send(csock,"Welcome on\n82.422.322.1 in port 6667\r\n\r\n",50,0); } } closesocket(sock); WSACleanup(); } ____________________________________________________________________________________________________ Une Socket est une interface de programmation utilisé chez UNIX. Microsoft lui utilise winsock voilàd'où vient #include si vous ne le saviez pas encore. Maintenant nous avant notre serveur, il ne reste plus qu'à coder notre client. Et voilà un exemple : _____________________________________________________________________________ | | | client.cpp | |_____________________________________________________________________________| _________________________________________________________________________________________________ #include #include #include #include void main() { WSADATA WSAData; WSAStartup(MAKEWORD(2,0),&WSAData); SOCKADDR_IN sin; SOCKET sock; char buffer[665]; sock = socket(AF_INET,SOCK_STREAM,0); sin.sin_addr.s_addr = inet_addr("82.422.322.1"); // ip de la victime sin.sin_family = AF_INET; sin.sin_port = htons(6667); // Port de communication connect(sock, (SOCKADDR *)&sin, sizeof(sin)); // Connection au serveur memset(buffer,0,665); int i = recv(sock, buffer, sizeof(buffer),0); if (i != false) { printf("%s",buffer); } getch(); closesocket(sock); WSACleanup(); getchar(); } _____________________________________________________________________________________________________ Celà à l'air dêtre un tutorial sur les sockets me direz vous, mais non pas seulement, c'est justement la base d'un troyen. Les deux codes ci-dessus montre la façon de faire un serveur et un client et à partir de celà vous pourrez ajouter vos fonction selon votre utilisation comment par exemple "fopen" qui permet de lire et ecrire dans un fichier, en fin tout plein de choses. Voilà maintenant il n'y a pas de secrets sur les troyens en C. Il suffit d'en coder :-P Pour les débutants Je vous conseil soit de vous mettre au C ou sinon : Rendre votre troyen précoder, indetectable. Good Luck ! e-zine by ----x[FlUxIuS]x-----> <<<[(-_-)]>>> (c) Hack3ver - All rights reversed.