Sniffer msn messenger grace au hook des fonctions winsock

Soyez le premier à donner votre avis sur cette source.

Vue 84 314 fois - Téléchargée 12 614 fois

Description

ce code effectue un hook des fonctions de la DLL winsock, et permet ainsi de sniffer la connexion internet de MSN 7.
En fait, il permet de sniffer n'importe quel programme qui utilise ws2_32.dll ou wsock32.dll, et j'ai par exemple réussi à sniffer aussi la connexion d'un programme comme mIRC.

Amusez vous bien ;)

Conclusion :


testé sous vc6, vs7 et dev-cpp

la très legère IHM a été reprise d'une source de ce site, je remercie l'auteur qui se reconnaitra (je me rappelle plus de qui il s'agit :)
L'injection de la DLL dans le processus cible (msnmsgr.exe par exemple) se fait un réalisant un hook système WH_CBT, méthode reprise de Arnotic.
Enfin, le hook des apis winsock se fait en suivant ce que raconte Richter.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
devpoint
Messages postés
1
Date d'inscription
samedi 27 novembre 2010
Statut
Membre
Dernière intervention
27 novembre 2010

27 nov. 2010 à 17:48
Tres bonne source malheureusement, chez moi, rien ne marche : pas moyen de rien compiler avec devcpp, ni codeblocks, et renommer le .ex\ en .exe me donne une erreur :
Le point d'entree de procedure _DLLInjecteddd@0 est introuvable dans la DLL wsock32_hook.dll
cs_dark_cloud
Messages postés
4
Date d'inscription
lundi 11 juillet 2005
Statut
Membre
Dernière intervention
16 mai 2010

16 mai 2010 à 17:02
@KoRsh: testé ta méthode aussi, ne marche pas, y'a un stack overflow quand le processus démarre... Le fait que je sois sous XP sp3 peut peut-être changer quelque chose, mais toujours est-il que ça fonctionne pas :p.

je précise aussi que j'ai testé avec les versions d'origine de vos codes, seul l'injecteur diffère (mais bon, il est correct).

Vouala!
cs_dark_cloud
Messages postés
4
Date d'inscription
lundi 11 juillet 2005
Statut
Membre
Dernière intervention
16 mai 2010

16 mai 2010 à 16:09
Je suis retombé sur cette source, et en essayant de l'adapter, je me heurte à un problème:

En essayant sur firefox, je me rend compte, avec un outputdebugstring, que tous les import descriptors ne sont pas trouvés, je ne vois que:
xul.dll
xpcom.dll
nspr4.dll
plc4.dll
USER32.dll
MOZCRT19.dll
KERNEL32.dll

et pas la pléthore d'autres dll, dont WS2_32.dll :/

Le code du début de la fonction:

for (; pImportDesc->Name; pImportDesc++)
{

PSTR pszModName = (PSTR)
((PBYTE) hmodCaller + pImportDesc->Name);

OutputDebugString((char*)pszModName);

if (lstrcmpiA(pszModName, DLLName) == 0)
break;
}

Merci d'avance ;)
KoRsh
Messages postés
2
Date d'inscription
dimanche 31 décembre 2000
Statut
Membre
Dernière intervention
17 mars 2010

17 mars 2010 à 12:34
C'est assez génial comme technique !

Ca se passe en 2 étapes :

- Injection de wsock32.dll dans le processus cible grace au hook global de WH_CBT, méthode reprise de Arnotic. -> dllmain.cpp

- Puis une fois la dll chargee par le processus cible, recherche de l'adresse de la fonction cible dans l'Import Address Table (cf Richter), puis remplacement cette adresse par celle de la nouvelle fonction. -> CApiHook.cpp

Pour plus d'informations : http://msdn.microsoft.com/en-us/magazine/cc301805.aspx
bogs01
Messages postés
3
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
21 juin 2009

21 juin 2009 à 17:59
@Dark_cloud, ça fonctionne toujours très bien, même avec la dernière version de wlm.

Et effectivement à part 4 fonctions de wsock32(recv,recvfrom,...), toutes les autres ne sont que des passerelles et donc ne font que transiter par WSOCK32.dll pour aboutir soit dans WS2_32.dll soit dans MSWSOCK.dll. (donc à part ces 4 là, les autres pourraient très bien être hookées plus loin^^)

Et encore une fois féliciation à l'auteur de la source !
Sinon je me permets de proposer une autre alternative au hook de cette library simplement en recréant un fichier nommé wsock32.dll à joindre dans le dossier du programme cible. (ici WLM par exemple).

wsock32.cpp : http://pastebin.com/f7996c24d
wsock32.def : http://pastebin.com/f62f554a5
wsock32.rc : http://pastebin.com/f71ccd7c0

le tout est à compiler avec microsoft visual studio.

Et voici le fichier compilé : http://www.xoboot.com/others/src/wsock32.dll
(à placer dans le dossier WLM, une fois l'application lancé, ça crée un fichier LogFileSniff.log dans le repertoire courant... pour l'instant ça ne log que la fonction revc -> voir la source pour adapter aux fonctions de votre choix.)
Afficher les 101 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.