Découverte de la chaine avec cette vidéo, surpris par la précision et la simplicité avec laquelle tout est traité. C'est super pro et ça mérite beaucoup plus que ça !
Je découvre votre chaîne à travers cette vidéo très intéressante 🙂 et un abonné de plus 😎 je suis dans l’informatique depuis un peu plus de 40 ans et toujours aussi passionné qu’à mes débuts 🤗
ouahhhh alors étant débutant et désireux d'apprendre si je suis ta vidéo je suis a la rue complet!!!! En tout cas bravo Je vais suivre mon parcourt et je garde ta chaine pour plus tard quand je serait meilleur MERCI
Super vidéo très didactique. Juste une remarque, la musique de fond pendant la démo n’est pas nécessaire. Mieux vaut ne pas en mettre et on se concentre mieux sur ce que tu dis. 😉
En fait pas besoin d'avoir une dll manquante. On peut remplacer une existante. Et même sans être vu des anti virus. Je l'ai fais il y a 15 ans: Pour pirater un jeu qui avait un bon security guard intégré. Qui vérifiait que la mémoire allouée au jeu n'était pas modifiée par un programme tier. Qui vérifiait l'intégrité du fichier du jeu. Et qui vérifiait l'intégrité des dll Windows. J'avais créé un fichier winsock32.dll qui était appelé par le jeu. Sauf que l'ordre de chargement prioritaire des dll était de chercher dans le dossier local du programme, puis seulement s'il ne s'y trouvait pas d'aller chercher dans %system32%. De ce fait, je plaçais ma nouvelle dll dans le dossier du jeu et l'anti cheat n'allait jamais vérifier l'intégrité d'un fichier qui n'était pas censé exister là. Le fichier original, je l'appelais depuis ma dll pour surcharger les fonctions que je désirais et permettre au programme de fonctionner 100% normalement. Mes fonctions surchargées pouvait exécuter tout ce qu'elles voulaient et quand elles modifiaient la zone mémoire allouée au jeu, c'était en réalité le jeu lui-même qui modifiait sa propre zone mémoire, donc l'anti cheat n'y voyait que du feu Tout ça pour expliquer 2 choses : 1) Pas besoin d'avoir accès au dossier system32 (sauf si les règles de priorité Windows ont changé depuis mon époque ?) 2) Pas besoin de trouver une dll manquante non essentielle. On peut remplacer n'importe quelle dll essentiel sans casser la bonne exécution du programme et sans non plus devoir la réécrire
Très bonne démo :) Le process hooking est pas mal aussi dans le genre, le but et de réécrire un zone dans l'exécutable qui ne sera pas détecté par les AV.
Pour cet exemple oui, mais c’est le principe dont je parle dans ce cas précis, un admin pourrait très bien avoir installé un logiciel dans un répertoire modifiable par un utilisateur standard, et donc il serait possible d’élever ses privilèges de cette manière 😉 ne pas confondre démo et réalité
En fait la réalité est bien pire. La majorité des softwares (je n'ai pas vérifié si c'était le cas du spooler d'impression) charge les .dll avec les priorités par défaut. C'est à dire que le software va d'abord regarder dans son répertoire courant s'il trouve la dll et sinon seulement il ira la chercher dans le %system32%. Ce qui dans la plupart des cas t'évite même de devoir toucher au répertoire système
Hello, super video, hyper claire comme d'habitute ! :) Petite question tout de même : en suivant le raisonnement de ce type d'injection, qu'est-ce qui t"empêcherai de modifier/remplacer une dll existante par ta propre dll ? Est-ce que le fait de chercher une dll qui n'est pas présente sur le système est vraiment indispensable pour réaliser l'attaque ,ou c'est réalisable autrement ?
Ouaip c’est tout à fait possible de surcharger une DLL existante, par exemple en mettant une DLL malveillante dans un répertoire chargé en priorité par l’application (suivant le PATH du système)
@@processusthief hello ! je me pose la même question, si il est possible de juste remplacer un DLL existante, pourquoi s'embêter à rechercher une DLL manquante ?
@@mrfloww2321 Le but est aussi de trouver une dll qui ne soit pas indispensable pour éviter un crash ou un msg d'erreur. Remplacer une dll existante ne garantie pas le succès de l'attaque alors que la technique décrite dans la vidéo est plus sur.
Même réponse que pour un autre commentaire : Pour cet exemple oui, mais c’est le principe dont je parle dans ce cas précis, un admin pourrait très bien avoir installé un logiciel dans un répertoire modifiable par un utilisateur standard, et donc il serait possible d’élever ses privilèges de cette manière 😉 ne pas confondre démo et réalité
Hello, Je vois que tu déplace le fichier DLL dans le system32. Mais si le fichier DLL se trouve à la racine du programme qui l'utilise ( comme ça arrive souvent ) qu'est-ce qui change ? Les droits ?
Suivant un paramètre de recherche dans ta base de registre, par défaut une DLL dans le répertoire de l’application sera chargée de manière prioritaire 😉 ensuite ça fonctionne exactement pareil
Je n'ai pas compris, comment tu fais pour déplacer la dll dans le dossier System32 si celui-ci est protégé par des droits administrateurs ? J'imagine que c'est facilement possible si tu fais download t'as dll par l'utilisateur en faisant passer cette dernière pour une fonctionnalité de l'imprimante par exemple (je ne suis pas sur de ce que je dis).
Car si tu fais un script qui "mv" ton fichier dll vers le System32, je ne vois pas comment ce dernier peut avoir les droits d'écritures sans pop-up "droit administrateur".
Pour cet exemple les droits admin sont nécessaires mais si le répertoire de l’application est accessible en écriture par un utilisateur standard (défaut de configuration) alors c’est faisable sans 😉 au-delà de la privesc c’est surtout un moyen de persistance assez peu détectable
Ça dépend de l’EDR 😅 je ne suis pas sûr que le chargement de la DLL soit directement détecté par l’EDR mais son comportement par la suite le sera sûrement (injection dans un process existant, déclenchement d’un thread malveillant…)
Super vidéo Le principe est le même lorsque l’on veut cracker une DLL ? Par exemple quand on souhaite accéder à un server qui requiert une DLL en particulier
Super vidéo ! Très bien expliqué. J'ai une question concernant cet exemple. Imaginons qu'un attaquant souhaite changer cette fameuse DLL, comment s'y prend-t-il pour ajouter le fichier dans System32 alors qu'il n'a pas les droits Administrateur ? Supposons la faille soit humaine (phishing,...), quels sont les avantages à une injection DLL par rapport à un simple exécutable à partir du moment où on a eu la "permission" de l'utilisateur ?
Le fait d’utiliser une DLL permet d’obtenir une persistance très complexe à détecter 😉 et si un utilisateur standard peut écrire dans le répertoire d’une application, il peut y déposer sa DLL malveillante et elle sera chargée en priorité 😉
Néanmoins, il faut avoir les privilèges suffisants pour la mise en place. J'ai bien lu les réponses précédentes à cette remarque mais si une dll est dans une zone non protégée, on peut considérer que l'administrateur n'a pas bien fait son boulot .
Il faudrait pour ça connaître le hash de toutes les DLL, ça serait possible avec celles de Microsoft mais pas avec celles fournies par des éditeurs tierces, sinon il faudrait un portail universel pour toutes les référencer !
pire encore si on prend en compte le fait qu'une DLL peut etre mise à jour, donc plusieurs hash/dll, donc pour chaque DLL sur le system faire un hash et regarder si il est dans la whitelist des hashs dispo pour cette DLL... et donc ajouter toutes les version differentes de toutes les DLL utilisé par les systemes windows, autant dire que ça risque, je pense, de faire une sacré liste de courses x').
@@processusthief si une dll peut etre decompilé / patché pour y injecter une porte dérobée j'imagine meme pas si la dll visé par l'injection est une librarie de l'explorateur de fichiers windows (qui est chargé en permanance), l'horreur (avec un bash bunny par exemple)
Est-ce que tu aborderas dans des vidéos futures des sujets un peu plus techniquement poussés tels que les DKOM ou tout ce qui touche aux Kernel Drivers
J’ai commencé à y regarder mais le problème c’est que pour injecter et activer son propre driver il faut qu’il soit signé numériquement maintenant donc c’est pas forcément évident… après peut-être une vidéo sur l’exploitation d’un driver existant vulnérable 😉
@@processusthief Bah j'ai déjà les connaissances dans ce milieu mais la documentation à ce niveau là il faut aller la chercher donc je trouvais ça intéressant d'en parler, après certes ça touchera peut être un moins grand public étant donné la complexité de la chose si on veut rentrer dans les détails
Découverte de la chaine avec cette vidéo, surpris par la précision et la simplicité avec laquelle tout est traité. C'est super pro et ça mérite beaucoup plus que ça !
Super intéressant et surtout clairement expliqué, merci !
Je découvre votre chaîne à travers cette vidéo très intéressante 🙂 et un abonné de plus 😎 je suis dans l’informatique depuis un peu plus de 40 ans et toujours aussi passionné qu’à mes débuts 🤗
Super démo, merci LTP
ouahhhh alors étant débutant et désireux d'apprendre si je suis ta vidéo je suis a la rue complet!!!! En tout cas bravo Je vais suivre mon parcourt et je garde ta chaine pour plus tard quand je serait meilleur MERCI
super format , merci
Excellent !! Merci pour la démo 😉
Super vidéo très didactique.
Juste une remarque, la musique de fond pendant la démo n’est pas nécessaire. Mieux vaut ne pas en mettre et on se concentre mieux sur ce que tu dis. 😉
merci, super interessant!
bonne explication, merci m'sieur Proc' !
Très intéressant !
Très intéressant, merci !
Je m'abonne direct ! Sympa ce genre de contenu en Français. C'est aussi très concret par rapport a Micode !
J’essaye de faire aussi bien, en forçant sur le côté technique 😉
Trop puissant le mec! Merki👍🌌☮️
Très intéressant
jusqu'à 1min 48 c'était sympa! 😂 jrigole, très bonne découverte cette chaîne. nb_abonnes++
iincroyable chaine
Très intéressant.
En fait pas besoin d'avoir une dll manquante. On peut remplacer une existante. Et même sans être vu des anti virus.
Je l'ai fais il y a 15 ans:
Pour pirater un jeu qui avait un bon security guard intégré. Qui vérifiait que la mémoire allouée au jeu n'était pas modifiée par un programme tier. Qui vérifiait l'intégrité du fichier du jeu. Et qui vérifiait l'intégrité des dll Windows.
J'avais créé un fichier winsock32.dll qui était appelé par le jeu. Sauf que l'ordre de chargement prioritaire des dll était de chercher dans le dossier local du programme, puis seulement s'il ne s'y trouvait pas d'aller chercher dans %system32%.
De ce fait, je plaçais ma nouvelle dll dans le dossier du jeu et l'anti cheat n'allait jamais vérifier l'intégrité d'un fichier qui n'était pas censé exister là. Le fichier original, je l'appelais depuis ma dll pour surcharger les fonctions que je désirais et permettre au programme de fonctionner 100% normalement. Mes fonctions surchargées pouvait exécuter tout ce qu'elles voulaient et quand elles modifiaient la zone mémoire allouée au jeu, c'était en réalité le jeu lui-même qui modifiait sa propre zone mémoire, donc l'anti cheat n'y voyait que du feu
Tout ça pour expliquer 2 choses :
1) Pas besoin d'avoir accès au dossier system32 (sauf si les règles de priorité Windows ont changé depuis mon époque ?)
2) Pas besoin de trouver une dll manquante non essentielle. On peut remplacer n'importe quelle dll essentiel sans casser la bonne exécution du programme et sans non plus devoir la réécrire
Très bonne démo :) Le process hooking est pas mal aussi dans le genre, le but et de réécrire un zone dans l'exécutable qui ne sera pas détecté par les AV.
Yes, je parle de ce sujet dans mes dernières vidéos 😉
@@processusthief J'ai du passé à côté alors, il me faut une séance de rattrapage 😊
apres pour pouvoir ecrire dans le repertoir system32 on doit avoir des droits administrateurs donc c'est pas vraiment une tres grosse vulnerabilité
Pour cet exemple oui, mais c’est le principe dont je parle dans ce cas précis, un admin pourrait très bien avoir installé un logiciel dans un répertoire modifiable par un utilisateur standard, et donc il serait possible d’élever ses privilèges de cette manière 😉 ne pas confondre démo et réalité
Ça peut toujours être utilisé pour maintenir un accès sur la machine 😉
Ça existe le système où on n'a pas les droits administrateur? 🤔 Même sur Android ça se démocratise alors Windows 😅
En fait la réalité est bien pire. La majorité des softwares (je n'ai pas vérifié si c'était le cas du spooler d'impression) charge les .dll avec les priorités par défaut.
C'est à dire que le software va d'abord regarder dans son répertoire courant s'il trouve la dll et sinon seulement il ira la chercher dans le %system32%. Ce qui dans la plupart des cas t'évite même de devoir toucher au répertoire système
@@nothing2believe apres les softwares sont dans le repertoire program file qui est seulement acces lecture pour les comptes non admin
Trop bien expliquer
Hello, super video, hyper claire comme d'habitute ! :) Petite question tout de même : en suivant le raisonnement de ce type d'injection, qu'est-ce qui t"empêcherai de modifier/remplacer une dll existante par ta propre dll ? Est-ce que le fait de chercher une dll qui n'est pas présente sur le système est vraiment indispensable pour réaliser l'attaque ,ou c'est réalisable autrement ?
Ouaip c’est tout à fait possible de surcharger une DLL existante, par exemple en mettant une DLL malveillante dans un répertoire chargé en priorité par l’application (suivant le PATH du système)
@@processusthief hello ! je me pose la même question, si il est possible de juste remplacer un DLL existante, pourquoi s'embêter à rechercher une DLL manquante ?
@@mrfloww2321 Le but est aussi de trouver une dll qui ne soit pas indispensable pour éviter un crash ou un msg d'erreur. Remplacer une dll existante ne garantie pas le succès de l'attaque alors que la technique décrite dans la vidéo est plus sur.
Merci. Encore faut-il avoir les acces admin de la machine cible pour modifier ou charger une dll dans le system32...
Même réponse que pour un autre commentaire : Pour cet exemple oui, mais c’est le principe dont je parle dans ce cas précis, un admin pourrait très bien avoir installé un logiciel dans un répertoire modifiable par un utilisateur standard, et donc il serait possible d’élever ses privilèges de cette manière 😉 ne pas confondre démo et réalité
@@processusthief yes c'est ce que je pensais aussi :p Merci pour ton taf ! Super interessant !
Hello,
Je vois que tu déplace le fichier DLL dans le system32.
Mais si le fichier DLL se trouve à la racine du programme qui l'utilise ( comme ça arrive souvent ) qu'est-ce qui change ? Les droits ?
Suivant un paramètre de recherche dans ta base de registre, par défaut une DLL dans le répertoire de l’application sera chargée de manière prioritaire 😉 ensuite ça fonctionne exactement pareil
Je n'ai pas compris, comment tu fais pour déplacer la dll dans le dossier System32 si celui-ci est protégé par des droits administrateurs ?
J'imagine que c'est facilement possible si tu fais download t'as dll par l'utilisateur en faisant passer cette dernière pour une fonctionnalité de l'imprimante par exemple (je ne suis pas sur de ce que je dis).
Car si tu fais un script qui "mv" ton fichier dll vers le System32, je ne vois pas comment ce dernier peut avoir les droits d'écritures sans pop-up "droit administrateur".
Pour cet exemple les droits admin sont nécessaires mais si le répertoire de l’application est accessible en écriture par un utilisateur standard (défaut de configuration) alors c’est faisable sans 😉 au-delà de la privesc c’est surtout un moyen de persistance assez peu détectable
Vraiment la classe ton contenu ! Tu as un endroit ou tu liste les différents events IRL sur le hacking ? Ou un site à conseiller ?
Malheureusement non, j’essaye de participer à quelques réunions mais je n’ai pas un calendrier précis
Good work, i like it
Great job
Excellent ! Ce genre de manip fait elle sonner un EDR ?
Ça dépend de l’EDR 😅 je ne suis pas sûr que le chargement de la DLL soit directement détecté par l’EDR mais son comportement par la suite le sera sûrement (injection dans un process existant, déclenchement d’un thread malveillant…)
Super vidéo
Le principe est le même lorsque l’on veut cracker une DLL ?
Par exemple quand on souhaite accéder à un server qui requiert une DLL en particulier
Super vidéo ! Très bien expliqué. J'ai une question concernant cet exemple. Imaginons qu'un attaquant souhaite changer cette fameuse DLL, comment s'y prend-t-il pour ajouter le fichier dans System32 alors qu'il n'a pas les droits Administrateur ?
Supposons la faille soit humaine (phishing,...), quels sont les avantages à une injection DLL par rapport à un simple exécutable à partir du moment où on a eu la "permission" de l'utilisateur ?
Le fait d’utiliser une DLL permet d’obtenir une persistance très complexe à détecter 😉 et si un utilisateur standard peut écrire dans le répertoire d’une application, il peut y déposer sa DLL malveillante et elle sera chargée en priorité 😉
@@processusthief merci pour cette réponse claire 😁
Néanmoins, il faut avoir les privilèges suffisants pour la mise en place. J'ai bien lu les réponses précédentes à cette remarque mais si une dll est dans une zone non protégée, on peut considérer que l'administrateur n'a pas bien fait son boulot .
Yes tout a fait d’accord, c’est un défaut d’administration, comme un import de librairie python mal paramétré 😉
Pourquoi l'AV Windows ne fait pas de temps à autre des hashs des DLL pour voir si elles ont pas été hijacked ?
Il faudrait pour ça connaître le hash de toutes les DLL, ça serait possible avec celles de Microsoft mais pas avec celles fournies par des éditeurs tierces, sinon il faudrait un portail universel pour toutes les référencer !
@@processusthief je faisais référence à celles de Windows oui. Comme ce que tu as utilisé dans la vidéo
pire encore si on prend en compte le fait qu'une DLL peut etre mise à jour, donc plusieurs hash/dll, donc pour chaque DLL sur le system faire un hash et regarder si il est dans la whitelist des hashs dispo pour cette DLL... et donc ajouter toutes les version differentes de toutes les DLL utilisé par les systemes windows, autant dire que ça risque, je pense, de faire une sacré liste de courses x').
Est-ce que c’est sur que ce DLL sera manquant dans toutes les machines Windows ? Et si oui, comment cela se fait-il ? Merci d’avance 👍
cool
j'adore t'es vidéos, mais par contre tu devrais penser à te reposer un peu plus 🙂
My bad 😅
Est ce que on peut remplacer une DLL active ou non
Oui, tu peux mettre ta propre DLL dans un dossier chargé en priorité par l'application ;)
@@processusthief si une dll peut etre decompilé / patché pour y injecter une porte dérobée j'imagine meme pas si la dll visé par l'injection est une librarie de l'explorateur de fichiers windows (qui est chargé en permanance), l'horreur (avec un bash bunny par exemple)
Succinct au top , comment nettoyer toutes ces intrusions apres s'etre fait introduit ??? (evidement sans reinstallation systeme :) ) merci beaucoup
Est-ce que tu aborderas dans des vidéos futures des sujets un peu plus techniquement poussés tels que les DKOM ou tout ce qui touche aux Kernel Drivers
J’ai commencé à y regarder mais le problème c’est que pour injecter et activer son propre driver il faut qu’il soit signé numériquement maintenant donc c’est pas forcément évident… après peut-être une vidéo sur l’exploitation d’un driver existant vulnérable 😉
@@processusthief Bah j'ai déjà les connaissances dans ce milieu mais la documentation à ce niveau là il faut aller la chercher donc je trouvais ça intéressant d'en parler, après certes ça touchera peut être un moins grand public étant donné la complexité de la chose si on veut rentrer dans les détails
J’ai pas compris le lien avec l’imprimante. Sinon très bonne vidéo!
Parce qu’ici j’utilise le service spooler d’impression 😉
et comment on ce protège de ce genre d'attaque ? .-.
Avec des solutions plus approfondies type EDR sur des gros parc, sinon de la prudence et une bonne protection antivirale
et alors comment nettoyer son pc de ces parasites et des virus ????? merci
Ça pu la douille !! Jamais j'exécute ton bordel en tand qu'administrateur !
Bah le code source est dispo, tu peux le compiler toi-même si tu as des doutes 🤷♂️
le mec execute windows tout les jours et refuse d'executer un tutoriel bienveilant mdr