Crack-wifi.com FORUM

LE FORUM DU SITE

Wifi, Backtrack, crack WEP et WPA...

Vous n'êtes pas identifié(e).  

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#26 19-06-2010 17:00:18

antares145
Membre d'honneur
Inscription : 29-09-2009
Messages : 5 199
Site Web

Re : Comment créer mon propre Backdoor ?

Psicao a écrit :

J'ai envie d'utiliser le "chat" netcat via deux pc qui ne sont pas sous le meme reseau.
J'ai l'ip de l'autre pc distant je tape donc :

nc -l -p mon ipinternet port

et lui doit taper

nc monipinterner port

et noramelemnt sa devrais fonctionner exacte ?

Si tu n'as pas activé le transfert de port sur ta box, ca n'a aucune chance de fonctionner smile

Ta box sert de passerelle entre le réseau global (Internet) et ton sous-réseau domestique. Il peut donc y avoir plusieurs ordis/appareils/stations derrière ta box (disons 255), et ta box ne sait pas du tout sur quelle machine elle doit renvoyer ce qu'elle reçoit sur ses ports extérieurs.
Il faut donc que tu la configures pour lui dire "tout ce que tu reçois sur le port 1337, tu le renvoies vers le port 1337 de la machine 192.168.1.3" (adapte les ports, et mets l'adresse IP de ta machine évidemment)

Pour savoir comment faire, je te laisse chercher (ca dépend de ta box), mais il doit y avoir plein de sites qui l'expliquent sur le net smile Généralement, on appelle ca "ouvrir un port", et c'est plus souvent utilisé pour eMule (ou le P2P en général), qui a aussi besoin d'un accès direct vers une certaine machine du sous-réseau.
Autres mots-clés : NAT (Network Address Translation), Port forwarding/Transfert de port, Virtual server

Plus de détails techniques sur Wikipédia --> Network address translation [fr.wikipedia.org]

PS : au passage, il y a une faute dans ta commande, tu n'as pas besoin de mentionner ton IP internet pour la partie "serveur" (chez toi), juste [c]-l -p <port>[/c] wink

[EDIT] J'ai modifié le titre de ton sujet

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#27 19-06-2010 17:27:24

Psicao
Membre
Inscription : 11-06-2010
Messages : 14

Re : Comment créer mon propre Backdoor ?

merci antares smile

j'avais bien ouvert le port sur mon modem pour mon ip en udp/tcp donc sa devrait donc pas posser de probleme. ( j'ai utilisée le meme que j'utilise pour utorrent )

Mais impossible j'arrive pas a m'y connecter hmm

Edit : merci pour le titre et encore merci c'était bien les port il se diriger sur la mauvaise machine -.-

Je vais revoir le tuto pour crée mon propre backdoor ensuite je post ce que j'ai du mal a comprendre ici : )

Edit² : Je vien de tilter quelque chose je dois avoir un server si je veux utiliser une intrusion backdoor si le pc cible a une ip dynamic ?

Dernière modification par Psicao (19-06-2010 17:59:37)

Hors Ligne

#28 19-06-2010 21:28:21

antares145
Membre d'honneur
Inscription : 29-09-2009
Messages : 5 199
Site Web

Re : Comment créer mon propre Backdoor ?

J'me disais aussi que le problème devait être c... heu, simple à régler big_smile

Pour ta seconde question, revois le principe d'un reverse shell : ta machine attaquante est le serveur, et elle attend que la machine-cible vienne se connecter elle-même ! Le serveur n'a pas besoin de connaître l'IP du client, il ne fait que répondre aux connexion entrantes.
Par contre, il faut que la cible connaisse ton IP à toi, pour se reconnecter à ton "serveur" netcat. Et là, ca peut devenir un problème si toi tu as une IP dynamique wink C'est la partie intéressante de l'attaque, donc je te laisse un peu chercher comment contourner le problème, mais Veidam t'a déjà donné une piste de solution à ce sujet smile

Bonne recherche ! tongue

Hors Ligne

#29 19-06-2010 22:09:22

Dack
Membre Irremplaçable
Inscription : 07-04-2009
Messages : 1 257

Re : Comment créer mon propre Backdoor ?

Bon allez je donne ma p'tite aide sur ce topic.

Pour ta 2eme question, regarde noip, dyndns wink

Hors Ligne

#30 20-06-2010 04:59:39

Psicao
Membre
Inscription : 11-06-2010
Messages : 14

Re : Comment créer mon propre Backdoor ?

@antares haha tu peut le dire c'était con ^^'.

J'ai revu effectivement le principe du reverse-shell

@Dack

Voila c'est bon je pense avoir compris big_smile

Donc maintenant comme information j'ai donc dydns qui permet au pc dit " victime " qui se connecte donc sur mon serv ftp  " web.dydns.org " et qui crée le lien entre moi et lui smile

Maintenant il me reste a crée mon backdoor et a comprendre le tuto dispo sur le forum et vous montrer mon travaille et de me dire si jai avancer ou pas big_smile

En tout cas pour l'instant j'en est bien l'impression et c'est bien a vous que je le dois smile.

Hors Ligne

#31 02-08-2010 20:01:18

berret
Membre Hyperactif
Inscription : 20-06-2010
Messages : 61

Re : Comment créer mon propre Backdoor ?

Nah mais lâche le dos et apprend un langage informatique, oriente toi socket puis tu l'aura ton backdoor, c'est plus long mais tu sait exactement ce que tu fait et apprend pour vrai.

Hors Ligne

#32 02-08-2010 20:29:17

Re : Comment créer mon propre Backdoor ?

faut bien un début à qq chose le dos c'est pratique et facile (souvent quand on débute on a besoin de quelque chose de simple et effectif), donc une première expérience simple permet par la suite de s'intéresser à d'autre langage.


crsh.jpg

Hors Ligne

#33 03-08-2010 12:38:21

Veidam
Membre Indispensable
Lieu : us
Inscription : 11-02-2010
Messages : 530

Re : Comment créer mon propre Backdoor ?

oui ici on est des noobs dans l'âme

mais tu as raison les sockets sont la prochaine étape pour tous dev qui veut aller plus loin dans ce domaine !

illustrons d'une source d'un client et serveur de chat en dos je l'ai trouver sur le net

le fichier BubSock.h

////////////////////////////////////////////////////////////////////////
//
//	Nom:		BubSock.h
//	Auteur:		BUILS Marc (Bub325)
//	E_Mail:		[email protected]
//	Fonction:	Faciliter l'utilisation des sockets
//	Methode:	Creation de fonction simple
//
////////////////////////////////////////////////////////////////////////

#define SIZE_CHAINE 0xFFFF		// Taille des chaine de reception

// Utilise <winsock.h>
#ifndef _WINSOCKAPI_
	#include <winsock.h>
#endif
#pragma comment(lib, "wsock32.lib")


////////////////////////////////////////////////////////////////////////
//	SOCKOPEN: 
//		Fonction d'initialisation et d'ouverture du socket
////////////////////////////////////////////////////////////////////////

#define BUBSOCK_OK		0	// La connection est faite
#define FALSE_WINSOCK	1	// Winsock ne s'est pas chargé
#define FALSE_HOST		2	// L'host n'est pas valide
#define FALSE_SOCKET	3	// La création du socket a échoué
#define FALSE_CONNECT	4	// La connection a échouée
#define FALSE_THREAD	5	// Le thread de reception n'a pas été créé


// Déclaration de la fonction de reception
DWORD WINAPI ClientRecv(LPVOID arg);

int sockopen(SOCKET* Client, char* host, int port)
{
    WSADATA WSAData;
    if (WSAStartup(MAKEWORD(2, 2), &WSAData)) {
		return FALSE_WINSOCK;
    }
	SOCKADDR_IN ClientSock;
	*Client = INVALID_SOCKET;
    HOSTENT* ServerInfos = NULL;
    if (!(ServerInfos = gethostbyname(host))) {
		WSACleanup();
		return FALSE_HOST;
    }
    memset(&ClientSock, 0, sizeof(SOCKADDR_IN));
    memcpy(&ClientSock.sin_addr.s_addr, ServerInfos->h_addr, ServerInfos->h_length);
    ClientSock.sin_port = htons(port);
    ClientSock.sin_family = AF_INET;
    if (!(*Client = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP))) {
		WSACleanup();
		return FALSE_SOCKET;
    }
    if (connect(*Client, (SOCKADDR*) &ClientSock, sizeof(SOCKADDR_IN))) {
		WSACleanup();
		return FALSE_CONNECT;
    }

	// fonction de reception:
    DWORD RecvThreadID = 0;
	HANDLE RecvThread = NULL;

	if (!(RecvThread = CreateThread(NULL, 0, &ClientRecv, Client, 0, &RecvThreadID))) {
		WSACleanup();
		return FALSE_THREAD;
    }
    CloseHandle(RecvThread);

	return BUBSOCK_OK;
}



////////////////////////////////////////////////////////////////////////
//	SOCKREAD: 
//		Fonction de reception des données
////////////////////////////////////////////////////////////////////////

//declaration de la fonction Recv
void SOCKREAD(SOCKET,char*);
void SOCKCLOSE(SOCKET);

DWORD WINAPI ClientRecv(LPVOID arg)
{
	char chaine[SIZE_CHAINE];
	int size_chaine = 0;

    SOCKET Client = *(SOCKET*) arg;

    while (recv(Client, &chaine[size_chaine++], 1, 0) > 0) 
	{
#ifdef USE_SOCKREAD
		if (chaine[size_chaine-1] == '\n') 
		{
			chaine[size_chaine] = '\0';
			SOCKREAD(Client,chaine);
			size_chaine = 0;
		}
#endif
	}
	WSACleanup();

#ifdef USE_SOCKCLOSE
	SOCKCLOSE(Client);
#endif

    return 0;
}


////////////////////////////////////////////////////////////////////////
//	SOCKCLOSE: 
//		Fonction de fermeture de socket
////////////////////////////////////////////////////////////////////////

void sockclose(SOCKET Client)
{
	closesocket(Client);
}


////////////////////////////////////////////////////////////////////////
//	SOCKWRITE: 
//		Fonction d'envoie de donnée
////////////////////////////////////////////////////////////////////////

void sockwrite(SOCKET Client,char* chaine)
{
	send(Client,chaine,strlen(chaine),NULL);
}


////////////////////////////////////////////////////////////////////////
//	SOCKLISTEN: 
//		Fonction de mise en écoute d'un port
////////////////////////////////////////////////////////////////////////

#define FALSE_BIND		4	// Le bind du socket a échoué
#define FALSE_LISTEN	6	// La mise en écoute du port a échoué

// Déclaration de la fonction de reception
DWORD WINAPI ServListen(LPVOID arg);

int socklisten(SOCKET* Client, int port)
{
    WSADATA WSAData;
    if (WSAStartup(MAKEWORD(2, 2), &WSAData)) {
		return FALSE_WINSOCK;
    }
	SOCKADDR_IN ClientSock;
	*Client = INVALID_SOCKET;

	ClientSock.sin_addr.s_addr = INADDR_ANY;
    ClientSock.sin_port = htons(port);
    ClientSock.sin_family = AF_INET;
    if (!(*Client = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP))) {
		WSACleanup();
		return FALSE_SOCKET;
    }

	//bind the socket
	if((bind(*Client, (LPSOCKADDR)&ClientSock, sizeof(ClientSock))) == SOCKET_ERROR)
	{
		WSACleanup();
		return FALSE_BIND;
	}

	//get socket to listen 
	if((listen(*Client, 2)) == SOCKET_ERROR)
	{
		WSACleanup();
		return FALSE_LISTEN;
	}

	// fonction de reception:
    DWORD RecvThreadID = 0;
	HANDLE RecvThread = NULL;

	if (!(RecvThread = CreateThread(NULL, 0, &ServListen, Client, 0, &RecvThreadID))) {
		WSACleanup();
		return FALSE_THREAD;
    }
    CloseHandle(RecvThread);

	return BUBSOCK_OK;
}


////////////////////////////////////////////////////////////////////////
//	SOCKLISTEN: 
//		Fonction de lecture du port
////////////////////////////////////////////////////////////////////////

//declaration de la fonction SOCKLISTEN
void SOCKLISTEN(SOCKET);

DWORD WINAPI ServListen(LPVOID arg)
{
    SOCKET Serv = *(SOCKET*) arg;

#ifdef USE_SOCKLISTEN
	SOCKET Client;
	while ((Client = accept(Serv, NULL, NULL)) > 0)
	{
		// fonction de reception:
		DWORD RecvThreadID = 0;
		HANDLE RecvThread = NULL;

		if (!(RecvThread = CreateThread(NULL, 0, &ClientRecv, &Client, 0, &RecvThreadID))) {
			WSACleanup();
			return FALSE_THREAD;
		}
		CloseHandle(RecvThread);

		SOCKLISTEN(Client);
	}
#endif

    return 0;
}

le client :

#include <stdio.h>

#define USE_SOCKCLOSE
#define USE_SOCKREAD
#include "..\bubsock.h"

SOCKET Client;

void SOCKREAD(SOCKET _Client,char* chaine)
{
	printf("Serveur: %s",chaine);
}

void SOCKCLOSE(SOCKET _Client)
{
	printf("Le serveur a ete deconnecte\n");
	exit(0);
}

int main()
{
	if (sockopen(&Client,"127.0.0.1",23) != 0)
	{
		printf("Connexion impossible\n");
		exit(0);
	}
    printf("Vous etes connecte\n");
    while(1) 
	{
		char chaine[0xFF];
		int c = 0;
		do
		{

			chaine[c++] = getc(stdin);
			chaine[c] = '\0';
			if (!strcmp(chaine,"exit"))
			{
				sockclose(Client);
				exit(0);
			}

		} while (chaine[c-1] != '\n');
		sockwrite(Client,chaine);
    }
    return 0;
}

le serveur :

#include <stdio.h>

#define USE_SOCKLISTEN
#define USE_SOCKCLOSE
#define USE_SOCKREAD
#include "..\bubsock.h"

SOCKET Client = INVALID_SOCKET;
SOCKET Serv;

void SOCKLISTEN(SOCKET _Client)
{
	if (Client == INVALID_SOCKET)
	{
		printf("Un client est arrivé\n");
		Client = _Client;
	}
	else sockclose(_Client);
}

void SOCKREAD(SOCKET _Client,char* chaine)
{
	printf("Client: %s",chaine);
}

void SOCKCLOSE(SOCKET _Client)
{
	if (_Client == Client)
	{
		printf("Le client s'est deconnecte\n");
		exit(0);
	}
}

int main(int argc, char* argv[])
{
	if (socklisten(&Serv,23) != 0)
	{
		printf("Connexion impossible du serveur.\n");
		exit(0);
	}

    printf("Serveur pret\n");
    while(1) 
	{
		char chaine[0xFF];
		int c = 0;
		do
		{
			chaine[c++] = getc(stdin);
			chaine[c] = '\0';
			if (!strcmp(chaine,"exit"))
			{
				if (Client != INVALID_SOCKET) sockclose(Client);
				exit(0);
			}

		} while (chaine[c-1] != '\n');
		if (Client != INVALID_SOCKET) sockwrite(Client,chaine);
    }
    return 0;
}

c une source qui fonctionne bien elle est simple facilement compréhensible pour se lancer

je ne l'ai tester qu'en local

en prenant les sources de netcat on peut faire des comparatif de ligne et avoir un peu d'imagination pour créer son code

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

Pied de page des forums


Le coin des bonnes affaires, achats informatiques:


|   Alfa 1000 mW AWUS036H   |    Linksys WRT54GL   |    Misco, informatique   |   
 |    Ebay   |    PC portables   |    PC Gamers & Tuning   |    Cles USB   |   
|   Disques durs externes 2 To   |   
|   Wifi-highpower.com   |   


Server Stats - [ Generated in 0.026 seconds ]   Forum Stat - [ Most users ever online on the forum was : 150 on 20-09-2009 17:06:59 ]