randriano
Messages postés54Date d'inscriptionvendredi 13 avril 2007StatutMembreDernière intervention26 juillet 2011 30 janv. 2009 à 11:57
=> Bonjour,
Je me demande si une telle injection peut se faire dans une session non Administrateur?
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 4 janv. 2009 à 12:36
Merci beaucoup Elguevel, je te citerai dans le code, devant ta fonction (je crois avoir pris également AdjustPrivileges pour pouvoir obtenir des droits suffisants).
Merci :)
Cordialement, Bacterius !
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 4 janv. 2009 à 09:00
Aucun problème, c'est là pour çà ...
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 4 janv. 2009 à 01:10
Très interessant code ... Puis-je m'en servir dans mon application à venir ? Je l'inclurai dans mon unité ProcessUtils, je la modifierai juste un peu pour la rendre compatible avec mon système de types et de classes (TProcess=class(TObject)) ?
Merci d'avance :)
Cordialement, Bacterius !
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 21 déc. 2006 à 09:04
Le Result ne signifie pas la fin de la fonction, je vais donc avoir un resultat avec mon
"Result := ( ThreadHandle <> 0 );" mais la fonction continue à être executé.
Et là problème si je continue on retrouve :
"VirtualFreeEx( hProcess, LibName, 0, MEM_RELEASE );"
"CloseHandle( hProcess );"
Et mon CreateRemoteThread se termine là.
C'est pour çà que j'ai ajouter : "WaitForSingleObject" qui permet au thread de durée pendant X temps ( X exprimé en milisecondes ), vu que je ne veux pas que celui-ci se termine j'utilise la constante INFINITE qui permet d'avoir une durée infinie.
Mais c'est vrai que dans ce cas les lignes :
"VirtualFreeEx( hProcess, LibName, 0, MEM_RELEASE );"
"CloseHandle( hProcess );"
... ne servent à rien puisque mon programme se stop au "WaitForSingleObject" !
A revoir ...
Sinon je n'avais pas vu le message de Thepuple, mais effectivement je n'ai pas essayé de passer la DLL directement, je ne sais pas si çà marche, mais il me semble plus naturelle d'alloué avant d'ecrire.
Merci, et bon code.
skyluke92
Messages postés1Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention20 décembre 2006 20 déc. 2006 à 17:06
Bjr à tous! c mon premier post sur le site, mais ça fait un bail que je fréquente CodeSource (8ans au -) LOL
Merci à Elguevel déjà pour son source.
Juste une question justement:
Je sais tout à fait à quoi sert la fonction "WaitForSingleObject" le problème c'est que je ne sais vraiment pas pourquoi tu l'as mise ici??????
Sutout après ton " result := " !
Merci pour l'info et bon coding ! ;)
Thepuple
Messages postés1Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention 5 novembre 2006 5 nov. 2006 à 19:47
salut à tous, bonne source mais à quoi bon utiliser les fonctions pour allouer de la mémoire et écrire le chemin de la dll, pourquoi ne pas directement donner DLLSource au lieu de LibName comme parametre a CreateRemoteThread ça marche aussi mais il y a peu être une différence, si quelqu'un peu m'éclairer la desssus.
Bonne continuation.
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 10 août 2006 à 12:07
Vous trouverez sur ce site tout un tas de programmes systèmes très utiles et particulièrement puissants comme le fameux "Process Explorer" ou les "PsTools" (qui permettent d'administrer des machines à distances) etc..
A+
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 8 août 2006 à 15:48
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 8 août 2006 à 14:37
C'est pas mal cette commande Rudy ! Merci :D
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 8 août 2006 à 13:02
Derien ^^
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 20101 8 août 2006 à 12:58
En fait il y a les sources avec le prog compilé, c'est juste qu'elles étaient en C++ et j'avais pas de compilateur C++ installé... C'est pour ça que j'ai lancé l'exe, en me disant naïvement qu'il correspondrait au source...
Je ne connaissais pas netstat, merci Rudy
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 8 août 2006 à 12:00
Lol, forman pour enuméré les ports ouverts il suffit de faire :
netstat -a
dans une invite de commande msdos.
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 8 août 2006 à 11:55
Quelle idée de télécharger tout ce qui passe aussi... lol
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 20101 8 août 2006 à 11:53
Je me suis encore choppé un virus...
Je suis allé voir l'adresse que tu donnes pour le exe-jacking Elguevel, à la fin de l'article ils parlent de Morphine (pour crypter le contenu d'un exécutable) et ils donnent l'adresse d'un site où tu peux télécharger les sources de morphine:
http://www.hxdef.org/download.php
J'ai bêtement voulu télécharger un soi-disant programme pour énumérer les ports ouverts d'une machine:
http://www.hxdef.org/download/OpPorts12.zip Et il s'avère qu'il contient 3 jolis virus, et pas des moindres.
Entre autres: "Trojan.Horse.BackDoor.Generic.3.BQX"
Il m'a fallu une demi-journée pour me débarasser de cette m****, je ne suis même pas sûr qu'il n'en reste rien...!
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 28 juil. 2006 à 08:10
HiJacjink ... qui s'y colle ?
Assembleur Inline, à part faire une addition j'y connait rien ... faudra que je m'y mette !
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 25 juil. 2006 à 22:55
Grrr ce que FORMAN veut dire je pense, c'est que c'est fonction ne peuvent pas être fait en delphi car trop complèxe, mais on peut quand même l'utiliser dans delphi mais en le gardant en assembleur (asm inline ^^).
Bientôt je crois que je vait faire mon traducteur en ligne a force que redevoir expliquer les messages lol
cs_kalif
Messages postés362Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention24 août 2012 25 juil. 2006 à 21:55
je sais très bien que c'est pas du delphi, je dis juste que ca serai bien si quelqu'un le refasse en delphi...
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 20101 25 juil. 2006 à 21:54
lol c'est pas du Delphi c'est de l'assembleur, tu peux tout reprendre (ou presque) avec l'assembleur intégré de Delphi!
cs_kalif
Messages postés362Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention24 août 2012 25 juil. 2006 à 16:50
c'est exactement ce que je disais mais ca serai bien de l'avoir en delphi
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 25 juil. 2006 à 13:12
Ok Ok, L'exe HiJacking :-) Jamais fait mais c'est bcp plus chaud.
cs_kalif
Messages postés362Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention24 août 2012 25 juil. 2006 à 12:04
oui lol excuser moi j'ai du mal a m'exprimer aujourd'hui :)
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 25 juil. 2006 à 12:00
Ce qu'il veut dire c'est que le code à injecter ne soit pas dans une dll mais dans l'exe lui même.
cs_kalif
Messages postés362Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention24 août 2012 25 juil. 2006 à 11:22
ben en fait je pensais où alors juste quelques ligne de code qui font partie de notre exe sans devoir prendre une dll déjà créé ... ou alors une dll déjà incrustée dans le code via bitarts fusion...
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 25 juil. 2006 à 11:08
Heuu explique nous çà :-)
cs_kalif
Messages postés362Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention24 août 2012 25 juil. 2006 à 11:02
salut
bravo pour ta source elle est interessante, j'avais déjà vu ca en c++ mais pas en delphi ... d'un autre coté ca aurai été mieux si on pouvais injecter une procedure ou dll déjà incluse dans notre exe ... jsais pas si j'ai été clair, @+
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 19 juil. 2006 à 07:57
L'administration.. c'est pour l'administration. Et je peux te dire qu'en entreprise çà sert. L'admin n'a plus à bouger son gros derrière et à devoir fermer son IExplorer connecté sur "GrosseCochone.com". L'utilisateur lui soumet le problème, et lui le dépanne à distance.. c'est çà le progrès :-D
Et puis tu sait toutes les API comme RegConnectRegistry necessite quand meme que tu es les droits d'administration donc bon l'implémenter comme çà ne te servira à rien de plus qu'utiliser les programmes déja fait par Microsoft.
En parlant de faille, s'en est pas vraiment une, mais une manip à l'epoque permettait sans les droits d'admin d'ouvrir le lecteur de CD d'une autre machine sur le reseau et je m'apperçoi qu'elle n'a jamais été corrigé. Bon c'est pas bien méchant mais quand meme, çà aurai pu être fait !
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 20101 18 juil. 2006 à 22:28
Argh...
Je ne connaissais pas la fonction RegConnectRegistry, je viens de lire la rubrique MSDN associée et je ne sais vraiment pas quoi dire, ça me laisse sans voix... Pourquoi s'embêter à programmer des virus et trojans super évolués et subtils alors que tout est déjà là en natif dans Windows?
Heureusemenr que j'utilise WinLSD, ce stupide service de "partage du registre à distance" (ou quelque chose comme ça) est désactivé par défaut, ouf!
J'ai une question bête à poser:
les 2 API dont on parle sur cette page (CreateRemoteThread et RegConnectRegistry), en toute honnêteté, qui pourrait me dire vraiment quelle utilité elles pourraient avoir dans le cadre d'une utilisation "normalle" de l'OS? Sincèrement, je n'en vois vraiment aucune, si ce n'est de les exploiter en tant que failles de sécurité...
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 18 juil. 2006 à 08:16
Sinon très bon ta technique de subtiliser les API windows. On peut aussi controler à un niveau plus bas en redirigant les API natives (mais là c'est clair, c'est pas documenté :-)
Mais je pense pas que tout le monde y arrive vu que tu as bridé ta source pour qu'on ne puisse pas injécté un autre process que le programme d'injection lui même.
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 18 juil. 2006 à 08:12
Ba désolé pour toi, mais moi aussi j'explique cette histoire d'injecté IExplorer (voir en haut) et personne n'a rien dit. Enfin si, au départ j'ai eut un message rouge, et après fOxy me l'a viré. En fait je crois que çà dépend de l'admin sur lequel tu tombe (ouverture d'esprit oblige).
Mais je te rassure, on m'a également supprimé des sources, notemment une qui été un floodeur de page web multi-thread. Cà permettai d'augmenter ses statistiques de visite sur les blogs et autres trombinoscope du web, celà afin d'etre premier dans le top 10 :-)(elle à pas tenu 2 minutes).
J'ai d'ailleur jamais osé poster certaines sources comme des Worms etc...
Un conseil, change le titre et la description .. c'est con mais pour deux sources identiques si l'une s'appel "Penetrer inconito la base de registre d'un tier" çà passera pas, alors que si tu met "Démonstration de l'API RegConnectRegistry" bizzarement c'est pas vu de la meme façon.
Aller perd pas courage, et code ;-)
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 17 juil. 2006 à 11:24
Merci bcp Rudy3212 pour ce 10 ;-)
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 16 juil. 2006 à 15:38
Superbe Programme Bravo, allez je Note :)
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 13 juil. 2006 à 09:48
ah oui ..Très heureux :-) MerKi !
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 13 juil. 2006 à 09:42
Voila aussi ma note !
cs_shining
Messages postés304Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention10 mars 2012 12 juil. 2006 à 19:34
C'est quand même mieux comme ça.
"hop retiré, il est vrai que ce message pus un peu du cul"
Mon chère F0xi, cette phrase pourrait servir de légende à ton avatar ... Mdr
En tous cas, merci (il n'était vraiment pas justifié ce message)
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 12 juil. 2006 à 09:43
Ah oui au faite, un grand merci fOxy pour cette fluidité :-)
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 12 juil. 2006 à 09:39
Et moi je dit en grand merci à f0xi ;) ! ! !
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 12 juil. 2006 à 07:55
Et ma note ? car çà me dit toujours pas si j'ai mon Bac ou pas !!!
Merci Shining pour le site, mais au niveau language c'est pas le C/C++ qui me rebute .. c'est l'anglais LoL
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 12 juil. 2006 à 05:37
hop retiré, il est vrai que ce message pus un peu du cul, il en faudrait des nouveaux ...
^^
bon code en tout cas.
cs_shining
Messages postés304Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention10 mars 2012 11 juil. 2006 à 19:27
Salut,
je viens de retrouver un lien intéressant et qui est en rapport avec ce post(à ne pas mettre entre toutes les mains), ceci-dit pas de soucis car il y'a la barrière du langage(C++) mais à voir quand même, vous trouverez le code source avec des fonctions pour l'injection d'une dll dans un processus, l'injection de code dans un processus(plsu dangereux), et pleins de fonctions intérréssantes !!!
Attention notion en "C" voir "C++" obligatoire mais si vous êtes curieux ;o)
Pas des Masses ... c'est pas le dieu de la pauvreté Grec ... non ? lol
Ben je constate que toutes les fonctions et procédures dans ElgInject.pas sont commentées en début d'implémentation et la fonction principale donc la plus intéressante à pratiquement un commentaire par ligne de code. Et toutes les unités suivent le même model.
Tu te trouves peut être assez fainéant mais ça reste quand même très claire.
Tu es trop modeste, une simple description suffit bien souvant, pas la peine de rédiger un roman. Trop de commentaire tue le commentaire :-)
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 11 juil. 2006 à 12:15
Arf j'ai pas commenté des masses .. de ce coté la je suis assez feignant, sinon c'est vrai que j'essai toujours de faire au plus simple, et faire des unités cohérentes et indépendante. En plus des unités bien construitent peuvent être réutilisées par simple importation sans avoir à modifier tout le code.
Sinon ya un petit bug, c'est quand on ferme le processus injécté.. des fois le PC Freeze pendant 30 secondes => à voir !
Mais je doit avoué que la où j'en est chié c'est pour la DLL : impossible de faire tourné une socket la dedans en receptionant les message clients ... J'ai fini par mettre un thread mais sinon le TServerSocket seul pas moyen ..
Oui je confirme c'est chiant ?
Mais bon comme le dit Matt il faudra bien faire avec
Et pour le code ... comme toujours c'est bien codé c'est propre et commenté. Sinon le code en soit me dépasse un peut par sa facilité de mise en oeuvre.
En ce qui concerne le fonctionnement je n'ai pas encore pris le temps de compiler et d'exécuter la source mais cela ne saurait tarder
Affaire à suivre :-)
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 11 juil. 2006 à 11:32
Moi j'ai déja trouvé des améliorations sur mon propre code, je reposterai quand çà sera nickel.. et vous ?
Y'en a qui en chie pour le faire fonctionner ?
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 11 juil. 2006 à 11:26
Oui c'est vrai Elguevel, jusque là, on a seulement parlé du message rouge et de créer des protections contre les virus...
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 11 juil. 2006 à 11:25
Oui, c'est super chiant de devoir cilquer à chaque F5 pour voir les commentaires... Mais il faudra faire avec :(
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 11 juil. 2006 à 11:25
Sinon pour ce programme ... des commentaires sur le code ? Une note ?
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 11 juil. 2006 à 11:24
oui c'est certain mais cette MessageBox c'est chiant non ?
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 11 juil. 2006 à 11:19
Pour ce qui est de dangereux, bein moi non plus je vois pas. Pour l'illégal, des sites proposent ce service de mails anonymes et ils sont encore en ligne. De toutes facons s'il mettent le petit mot charmant, c'est pour ne pas avoir d'ennuis par la suite...
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 11 juil. 2006 à 11:15
Ba ouai mais l'admin qui met le message à mon avis il se base surtout sur le descriptif (çà se trouve c'est un developpeur web), et moi j'ai parler de technique utilisé par les MalWare alors forcement ... Blame !
Par contre je comprend pas qu'on met mis ce message pour ma source d'Anonymaileur... je vois pas ce qui à de dangeureux (par contre illégal oui)
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 11 juil. 2006 à 11:10
Mais pour moi la source n'est ni louche ni dangereuse (en elle même) c'est l'utilisation qui pourrait en être fait qui peut être dangereuse.
Il faudrait peut être revoir le sens du message, d'ailleurs à ce propos je te conseil de mettre un avertissement dans tes sources au sujet de l'utilisation
Par contre ce que je ne comprend pas c'est pourquoi la source d'Elguevel et pas celle de Forman ?
Le danger est le même des deux côté non ?
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 11 juil. 2006 à 10:37
Ba c'est ma seconde source avec cette MessageBox :-D ... j'vais essayé de collectionner ;-)
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 20101 11 juil. 2006 à 10:35
Je crois qu'il existe des antivirus qui modifient l'API CreateRemoteThread (entre autres, et celles qui permettent de loader un module pour faire des hooks) pour demander confirmation à l'utilisateur qu'il autorise leur utilisation. Mais c'est sûr que ma grand-mère, elle risque de ne pas trop aimer si son antivirus lui demande:
"Le processus de PID 0x0F3A8532 chargé à l'adresse 0x85467D tente de lancer l'API CreateRemoteThread, l'autoriser? Yes, No, Cancel"
Bien joué pour l'avertissement rouge Elguevel ;-)
Il faudrait que le designer du site mette une balise <MARQUEE></MARQUEE> autour pour le faire clignoter :D
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 10 juil. 2006 à 14:51
Ah ba enfin ... j'lai eut mon petit avertissement rouge ... et de deux :-D
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 10 juil. 2006 à 14:50
Et voila le petit message rouge :( Et merci shinnig pour tout ces liens.
cs_shining
Messages postés304Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention10 mars 2012 10 juil. 2006 à 14:45
pour faire un anti-virus dans le genre Spybot Kill and Search il faut de la volonter mais aussi une équipe c'est sûr !!!, on dispose déja d'une base de données gigantesque grâce à internet :)
pour les BHO/ToolBar/CLSID c'est plus facile tu vas dans ce site
http://www.castlecops.com/CLSID.html ensuite il est possible de choisir la liste complète(près de 10Mo) là suffit de mettre au point un parser html et de transformer la liste en base de données
Alors qui c'est le plus courageux pour mettre au point un soft OpenSource avec le noyau en place ?
pour info cette technique d'injection sert aussi au laboratoire anti-virus pour justement faire le tracage d'un virus, c'est à dire ce que fait l'executable, quel api fait-il appel, qu'est-ce qu'il va modifié(Base de registre, fichier système ?) ect.., bref ça ne sert pas qu'à faire un virus ;)
N'empêche que le fossé est immense entre la facilité de mise en oeuvre et la difficulté de la parade.
Aïe Aïe Aïe ... on est pas sauvé :o)
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 10 juil. 2006 à 12:03
Oui, c'est sur que c'est un boulot énorme qui ne se fait pas seul .
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 10 juil. 2006 à 11:56
Ba j'aimerai bien vous montrer l'inverse mais c'est beaucoup plus dur à faire et c'est assez hazardeux ...
Imagine que tu fasse une protection contre cette attaque, il faudra que tu espionne tout ce qui est relatif aux API utilisées par cette methode (système comportemental). Le problème c'est que bcp de programme utilise les mêmes systèmes (LoadLibrary, socket, ecriture/lecture, Hook, etc..) pour faire des choses conformes et légals. Donc il faudrai à chaque tache suspecte afficher un message à l'utilisateur, et celui-ci en recevrait toute les 30 s (événements du à l'anti-virus, au système, etc..).
Après faudrai pousser le developpement plus loin et faire un système ou l'on detecte les malwares "type" (système par signature), mais là çà veut dire qu'il faut sans cesse en chercher de nouveaux et faire des mises à jour (grosse équipe de Dev oblige).
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 10 juil. 2006 à 11:54
Pour ceux qui ne sont pas déja en vacances Cirec :) Ce n'était pas particulièrement un défi Elguevel mais c'est vrai que ca m'interesserait un logiciel de sécurité puisque comme le dit Cirec, "on nous montre toujours comment on peut se faire "pirater" mais pas comment s'en proteger".
Un sacré boulot (mais tu as beaucoup de chance les vacances approche) lol
plus sérieusement dommage
on nous montre toujours comment on peut se faire "pirater"
mais pas comment s'en proteger :-(
@+
Cirec
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 10 juil. 2006 à 11:47
Lol, je travail déja sur un système d'anti-ARP Spoofing ... et j'en chie grave
!
Bon je prend çà comme un défi ... mais mes connaissances étant tout de même limités ... on verra :-)
Matt 261
Messages postés1173Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention10 septembre 20113 10 juil. 2006 à 11:44
Hello,
"il faudrai un système de sécurité par type d'appli" Tu veux pas nous en faire un? Ca pourrait être très utile ;-)
@+
Matt
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 10 juil. 2006 à 11:31
Il parait que certains logiciels et certains anti-virus sont déja équipés de systèmes de surveillances contre le HiJacking (en general).
A mon avis il faudrai surveiller l'utilisation de certaines API fréquemment utilisé par les malwares (surveillance des api native également).
Mais bon certains malware utilise les hooks, ou sont lancés sous forme d'application standard (kelogger, etc...), enfin il en existe tellement de variantes, qu'il faudrai un système de sécurité par type d'appli :-)
Salut,
c'est très intéressant tout ça mais ça me semble également dangereux cette facilité d'injection.
D'ou ma question n'y a t'il pas moyen de contrôler, détecter, empêcher, l'injection "sauvage" ?
Surtout dans la méthode que tu expliques plus haut ... ça fait froid dans le dos ! brrr
30 janv. 2009 à 11:57
Je me demande si une telle injection peut se faire dans une session non Administrateur?
4 janv. 2009 à 12:36
Merci :)
Cordialement, Bacterius !
4 janv. 2009 à 09:00
4 janv. 2009 à 01:10
Merci d'avance :)
Cordialement, Bacterius !
21 déc. 2006 à 09:04
"Result := ( ThreadHandle <> 0 );" mais la fonction continue à être executé.
Et là problème si je continue on retrouve :
"VirtualFreeEx( hProcess, LibName, 0, MEM_RELEASE );"
"CloseHandle( hProcess );"
Et mon CreateRemoteThread se termine là.
C'est pour çà que j'ai ajouter : "WaitForSingleObject" qui permet au thread de durée pendant X temps ( X exprimé en milisecondes ), vu que je ne veux pas que celui-ci se termine j'utilise la constante INFINITE qui permet d'avoir une durée infinie.
Mais c'est vrai que dans ce cas les lignes :
"VirtualFreeEx( hProcess, LibName, 0, MEM_RELEASE );"
"CloseHandle( hProcess );"
... ne servent à rien puisque mon programme se stop au "WaitForSingleObject" !
A revoir ...
Sinon je n'avais pas vu le message de Thepuple, mais effectivement je n'ai pas essayé de passer la DLL directement, je ne sais pas si çà marche, mais il me semble plus naturelle d'alloué avant d'ecrire.
Merci, et bon code.
20 déc. 2006 à 17:06
Merci à Elguevel déjà pour son source.
Juste une question justement:
Je sais tout à fait à quoi sert la fonction "WaitForSingleObject" le problème c'est que je ne sais vraiment pas pourquoi tu l'as mise ici??????
Sutout après ton " result := " !
Merci pour l'info et bon coding ! ;)
5 nov. 2006 à 19:47
Bonne continuation.
10 août 2006 à 12:07
Et pour ce qui veule ya même les sources :)
http://download.sysinternals.com/Files/NetstatpSource.zip
10 août 2006 à 11:03
on y trouve également une démo pour accéder aux valeurs cachés de la BDR
et plus encore (si affinités) :-)
@+
Cirec
10 août 2006 à 10:28
Sinon TcpView est un programme de Mark Russinovich (un gourou), il à un site : http://www.sysinternals.com/
Vous trouverez sur ce site tout un tas de programmes systèmes très utiles et particulièrement puissants comme le fameux "Process Explorer" ou les "PsTools" (qui permettent d'administrer des machines à distances) etc..
A+
8 août 2006 à 15:48
http://www.zdnet.fr/telecharger/windows/fiche/0,39021313,11011228s,00.htm
Pareil mais graphique avec quelque option en plus
8 août 2006 à 14:37
8 août 2006 à 13:02
8 août 2006 à 12:58
Je ne connaissais pas netstat, merci Rudy
8 août 2006 à 12:00
netstat -a
dans une invite de commande msdos.
Sinon tu peut télécharger le logiciel Tcview :
http://www.zdnet.fr/telecharger/windows/fiche/0,39021313,11011228s,00.htm
8 août 2006 à 11:55
8 août 2006 à 11:53
Je suis allé voir l'adresse que tu donnes pour le exe-jacking Elguevel, à la fin de l'article ils parlent de Morphine (pour crypter le contenu d'un exécutable) et ils donnent l'adresse d'un site où tu peux télécharger les sources de morphine:
http://www.hxdef.org/download.php
J'ai bêtement voulu télécharger un soi-disant programme pour énumérer les ports ouverts d'une machine:
http://www.hxdef.org/download/OpPorts12.zip
Et il s'avère qu'il contient 3 jolis virus, et pas des moindres.
Entre autres: "Trojan.Horse.BackDoor.Generic.3.BQX"
Il m'a fallu une demi-journée pour me débarasser de cette m****, je ne suis même pas sûr qu'il n'en reste rien...!
28 juil. 2006 à 08:10
Assembleur Inline, à part faire une addition j'y connait rien ... faudra que je m'y mette !
25 juil. 2006 à 22:55
Bientôt je crois que je vait faire mon traducteur en ligne a force que redevoir expliquer les messages lol
25 juil. 2006 à 21:55
25 juil. 2006 à 21:54
25 juil. 2006 à 16:50
25 juil. 2006 à 13:12
Voila un exemple en C++ : http://www.codeguru.com/cpp/w-p/win32/security/article.php/c11393/
En tout cas c'est redoutable !!!
25 juil. 2006 à 12:04
25 juil. 2006 à 12:00
25 juil. 2006 à 11:22
25 juil. 2006 à 11:08
25 juil. 2006 à 11:02
bravo pour ta source elle est interessante, j'avais déjà vu ca en c++ mais pas en delphi ... d'un autre coté ca aurai été mieux si on pouvais injecter une procedure ou dll déjà incluse dans notre exe ... jsais pas si j'ai été clair, @+
19 juil. 2006 à 07:57
Et puis tu sait toutes les API comme RegConnectRegistry necessite quand meme que tu es les droits d'administration donc bon l'implémenter comme çà ne te servira à rien de plus qu'utiliser les programmes déja fait par Microsoft.
En parlant de faille, s'en est pas vraiment une, mais une manip à l'epoque permettait sans les droits d'admin d'ouvrir le lecteur de CD d'une autre machine sur le reseau et je m'apperçoi qu'elle n'a jamais été corrigé. Bon c'est pas bien méchant mais quand meme, çà aurai pu être fait !
18 juil. 2006 à 22:28
Je ne connaissais pas la fonction RegConnectRegistry, je viens de lire la rubrique MSDN associée et je ne sais vraiment pas quoi dire, ça me laisse sans voix... Pourquoi s'embêter à programmer des virus et trojans super évolués et subtils alors que tout est déjà là en natif dans Windows?
Heureusemenr que j'utilise WinLSD, ce stupide service de "partage du registre à distance" (ou quelque chose comme ça) est désactivé par défaut, ouf!
J'ai une question bête à poser:
les 2 API dont on parle sur cette page (CreateRemoteThread et RegConnectRegistry), en toute honnêteté, qui pourrait me dire vraiment quelle utilité elles pourraient avoir dans le cadre d'une utilisation "normalle" de l'OS? Sincèrement, je n'en vois vraiment aucune, si ce n'est de les exploiter en tant que failles de sécurité...
18 juil. 2006 à 08:16
Mais je pense pas que tout le monde y arrive vu que tu as bridé ta source pour qu'on ne puisse pas injécté un autre process que le programme d'injection lui même.
18 juil. 2006 à 08:12
Mais je te rassure, on m'a également supprimé des sources, notemment une qui été un floodeur de page web multi-thread. Cà permettai d'augmenter ses statistiques de visite sur les blogs et autres trombinoscope du web, celà afin d'etre premier dans le top 10 :-)(elle à pas tenu 2 minutes).
J'ai d'ailleur jamais osé poster certaines sources comme des Worms etc...
Un conseil, change le titre et la description .. c'est con mais pour deux sources identiques si l'une s'appel "Penetrer inconito la base de registre d'un tier" çà passera pas, alors que si tu met "Démonstration de l'API RegConnectRegistry" bizzarement c'est pas vu de la meme façon.
Aller perd pas courage, et code ;-)
17 juil. 2006 à 11:24
16 juil. 2006 à 15:38
13 juil. 2006 à 09:48
13 juil. 2006 à 09:42
12 juil. 2006 à 19:34
12 juil. 2006 à 09:57
"hop retiré, il est vrai que ce message pus un peu du cul"
Mon chère F0xi, cette phrase pourrait servir de légende à ton avatar ... Mdr
En tous cas, merci (il n'était vraiment pas justifié ce message)
12 juil. 2006 à 09:43
12 juil. 2006 à 09:39
12 juil. 2006 à 07:55
Merci Shining pour le site, mais au niveau language c'est pas le C/C++ qui me rebute .. c'est l'anglais LoL
12 juil. 2006 à 05:37
^^
bon code en tout cas.
11 juil. 2006 à 19:27
je viens de retrouver un lien intéressant et qui est en rapport avec ce post(à ne pas mettre entre toutes les mains), ceci-dit pas de soucis car il y'a la barrière du langage(C++) mais à voir quand même, vous trouverez le code source avec des fonctions pour l'injection d'une dll dans un processus, l'injection de code dans un processus(plsu dangereux), et pleins de fonctions intérréssantes !!!
Attention notion en "C" voir "C++" obligatoire mais si vous êtes curieux ;o)
WinAPIOverride32
http://jacquelin.potier.free.fr/
@+
11 juil. 2006 à 19:01
C'est simple : le message d'avertissement est mis quand l'auteur du post est recherché par Interpole.
Ben il est passé ou Elguevel ?? Il s'est fait streamer via un protocole TCP/IP en Antartique ??
Cette source n'est pas dangereuse. Quand à son détournement qui pourrait lui etre dangereux, ce n'est pas à la portée de tous.
Bon travail Elguevel.
@+
11 juil. 2006 à 12:42
Ben je constate que toutes les fonctions et procédures dans ElgInject.pas sont commentées en début d'implémentation et la fonction principale donc la plus intéressante à pratiquement un commentaire par ligne de code. Et toutes les unités suivent le même model.
Tu te trouves peut être assez fainéant mais ça reste quand même très claire.
Tu es trop modeste, une simple description suffit bien souvant, pas la peine de rédiger un roman. Trop de commentaire tue le commentaire :-)
11 juil. 2006 à 12:15
Sinon ya un petit bug, c'est quand on ferme le processus injécté.. des fois le PC Freeze pendant 30 secondes => à voir !
Mais je doit avoué que la où j'en est chié c'est pour la DLL : impossible de faire tourné une socket la dedans en receptionant les message clients ... J'ai fini par mettre un thread mais sinon le TServerSocket seul pas moyen ..
11 juil. 2006 à 11:44
Mais bon comme le dit Matt il faudra bien faire avec
Et pour le code ... comme toujours c'est bien codé c'est propre et commenté. Sinon le code en soit me dépasse un peut par sa facilité de mise en oeuvre.
En ce qui concerne le fonctionnement je n'ai pas encore pris le temps de compiler et d'exécuter la source mais cela ne saurait tarder
Affaire à suivre :-)
11 juil. 2006 à 11:32
Y'en a qui en chie pour le faire fonctionner ?
11 juil. 2006 à 11:26
11 juil. 2006 à 11:25
11 juil. 2006 à 11:25
11 juil. 2006 à 11:24
11 juil. 2006 à 11:19
11 juil. 2006 à 11:15
Par contre je comprend pas qu'on met mis ce message pour ma source d'Anonymaileur... je vois pas ce qui à de dangeureux (par contre illégal oui)
11 juil. 2006 à 11:10
11 juil. 2006 à 10:55
Mais pour moi la source n'est ni louche ni dangereuse (en elle même) c'est l'utilisation qui pourrait en être fait qui peut être dangereuse.
Il faudrait peut être revoir le sens du message, d'ailleurs à ce propos je te conseil de mettre un avertissement dans tes sources au sujet de l'utilisation
Par contre ce que je ne comprend pas c'est pourquoi la source d'Elguevel et pas celle de Forman ?
Le danger est le même des deux côté non ?
11 juil. 2006 à 10:37
11 juil. 2006 à 10:35
"Le processus de PID 0x0F3A8532 chargé à l'adresse 0x85467D tente de lancer l'API CreateRemoteThread, l'autoriser? Yes, No, Cancel"
Bien joué pour l'avertissement rouge Elguevel ;-)
Il faudrait que le designer du site mette une balise <MARQUEE></MARQUEE> autour pour le faire clignoter :D
10 juil. 2006 à 14:51
10 juil. 2006 à 14:50
10 juil. 2006 à 14:45
http://www3.ca.com/securityadvisor/pest/browse.aspx?cat=Dialer
http://www3.ca.com/securityadvisor/pest/browse.aspx?cat=Hijacker
http://www.simovits.com/trojans/trojans.html
http://www.f-secure.com/sw-desc/b.shtml
pour les BHO/ToolBar/CLSID c'est plus facile tu vas dans ce site
http://www.castlecops.com/CLSID.html ensuite il est possible de choisir la liste complète(près de 10Mo) là suffit de mettre au point un parser html et de transformer la liste en base de données
Alors qui c'est le plus courageux pour mettre au point un soft OpenSource avec le noyau en place ?
pour info cette technique d'injection sert aussi au laboratoire anti-virus pour justement faire le tracage d'un virus, c'est à dire ce que fait l'executable, quel api fait-il appel, qu'est-ce qu'il va modifié(Base de registre, fichier système ?) ect.., bref ça ne sert pas qu'à faire un virus ;)
10 juil. 2006 à 12:13
N'empêche que le fossé est immense entre la facilité de mise en oeuvre et la difficulté de la parade.
Aïe Aïe Aïe ... on est pas sauvé :o)
10 juil. 2006 à 12:03
10 juil. 2006 à 11:56
Imagine que tu fasse une protection contre cette attaque, il faudra que tu espionne tout ce qui est relatif aux API utilisées par cette methode (système comportemental). Le problème c'est que bcp de programme utilise les mêmes systèmes (LoadLibrary, socket, ecriture/lecture, Hook, etc..) pour faire des choses conformes et légals. Donc il faudrai à chaque tache suspecte afficher un message à l'utilisateur, et celui-ci en recevrait toute les 30 s (événements du à l'anti-virus, au système, etc..).
Après faudrai pousser le developpement plus loin et faire un système ou l'on detecte les malwares "type" (système par signature), mais là çà veut dire qu'il faut sans cesse en chercher de nouveaux et faire des mises à jour (grosse équipe de Dev oblige).
10 juil. 2006 à 11:54
10 juil. 2006 à 11:49
plus sérieusement dommage
on nous montre toujours comment on peut se faire "pirater"
mais pas comment s'en proteger :-(
@+
Cirec
10 juil. 2006 à 11:47
!
Bon je prend çà comme un défi ... mais mes connaissances étant tout de même limités ... on verra :-)
10 juil. 2006 à 11:44
"il faudrai un système de sécurité par type d'appli" Tu veux pas nous en faire un? Ca pourrait être très utile ;-)
@+
Matt
10 juil. 2006 à 11:31
A mon avis il faudrai surveiller l'utilisation de certaines API fréquemment utilisé par les malwares (surveillance des api native également).
Mais bon certains malware utilise les hooks, ou sont lancés sous forme d'application standard (kelogger, etc...), enfin il en existe tellement de variantes, qu'il faudrai un système de sécurité par type d'appli :-)
10 juil. 2006 à 11:22
c'est très intéressant tout ça mais ça me semble également dangereux cette facilité d'injection.
D'ou ma question n'y a t'il pas moyen de contrôler, détecter, empêcher, l'injection "sauvage" ?
Surtout dans la méthode que tu expliques plus haut ... ça fait froid dans le dos ! brrr
Très instructif.
@+
Cirec