Comment fonctionne le DLL HIJACKING ?

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ต.ค. 2024

ความคิดเห็น • 81

  • @PingouinTheDev
    @PingouinTheDev ปีที่แล้ว +15

    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 !

  • @christomcat1227
    @christomcat1227 ปีที่แล้ว +5

    Super intéressant et surtout clairement expliqué, merci !

  • @powderblue4531
    @powderblue4531 ปีที่แล้ว +2

    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 🤗

  • @blackwasp9285
    @blackwasp9285 ปีที่แล้ว +2

    Super démo, merci LTP

  • @st.0779
    @st.0779 ปีที่แล้ว

    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

  • @tghri
    @tghri ปีที่แล้ว +1

    super format , merci

  • @chtimanuxx
    @chtimanuxx ปีที่แล้ว +2

    Excellent !! Merci pour la démo 😉

  • @Rickynoxe
    @Rickynoxe ปีที่แล้ว +4

    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. 😉

  • @SofianMW
    @SofianMW ปีที่แล้ว +1

    merci, super interessant!

  • @NoobosaurusR3x
    @NoobosaurusR3x ปีที่แล้ว +1

    bonne explication, merci m'sieur Proc' !

  • @BreizhWolf
    @BreizhWolf ปีที่แล้ว +1

    Très intéressant !

  • @mcbabs7495
    @mcbabs7495 ปีที่แล้ว +1

    Très intéressant, merci !

  • @L9MB3RT
    @L9MB3RT ปีที่แล้ว +1

    Je m'abonne direct ! Sympa ce genre de contenu en Français. C'est aussi très concret par rapport a Micode !

    • @processusthief
      @processusthief  ปีที่แล้ว +1

      J’essaye de faire aussi bien, en forçant sur le côté technique 😉

  • @AssociationBackupdesLacsMerset
    @AssociationBackupdesLacsMerset ปีที่แล้ว +1

    Trop puissant le mec! Merki👍🌌☮️

  • @wargone540
    @wargone540 ปีที่แล้ว +1

    Très intéressant

  • @hadibq
    @hadibq ปีที่แล้ว +1

    jusqu'à 1min 48 c'était sympa! 😂 jrigole, très bonne découverte cette chaîne. nb_abonnes++

  • @DreNess
    @DreNess ปีที่แล้ว +1

    iincroyable chaine

  • @MrMarkham89
    @MrMarkham89 ปีที่แล้ว +1

    Très intéressant.

  • @nothing2believe
    @nothing2believe ปีที่แล้ว +2

    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

  • @SibeR__
    @SibeR__ ปีที่แล้ว +1

    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.

    • @processusthief
      @processusthief  ปีที่แล้ว +2

      Yes, je parle de ce sujet dans mes dernières vidéos 😉

    • @SibeR__
      @SibeR__ ปีที่แล้ว +1

      @@processusthief J'ai du passé à côté alors, il me faut une séance de rattrapage 😊

  • @arturbouvier1056
    @arturbouvier1056 ปีที่แล้ว +21

    apres pour pouvoir ecrire dans le repertoir system32 on doit avoir des droits administrateurs donc c'est pas vraiment une tres grosse vulnerabilité

    • @processusthief
      @processusthief  ปีที่แล้ว +12

      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é

    • @Alkatsu
      @Alkatsu ปีที่แล้ว

      Ça peut toujours être utilisé pour maintenir un accès sur la machine 😉

    • @voltoz9414
      @voltoz9414 ปีที่แล้ว

      Ça existe le système où on n'a pas les droits administrateur? 🤔 Même sur Android ça se démocratise alors Windows 😅

    • @nothing2believe
      @nothing2believe ปีที่แล้ว +1

      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

    • @arturbouvier1056
      @arturbouvier1056 ปีที่แล้ว

      @@nothing2believe apres les softwares sont dans le repertoire program file qui est seulement acces lecture pour les comptes non admin

  • @berthold9582
    @berthold9582 ปีที่แล้ว +1

    Trop bien expliquer

  • @quetzalcoatl_
    @quetzalcoatl_ ปีที่แล้ว +5

    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 ?

    • @processusthief
      @processusthief  ปีที่แล้ว +3

      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)

    • @mrfloww2321
      @mrfloww2321 ปีที่แล้ว

      @@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 ?

    • @louping5570
      @louping5570 ปีที่แล้ว

      ​@@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.

  • @saintthomastaquin1460
    @saintthomastaquin1460 ปีที่แล้ว +5

    Merci. Encore faut-il avoir les acces admin de la machine cible pour modifier ou charger une dll dans le system32...

    • @processusthief
      @processusthief  ปีที่แล้ว +5

      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é

    • @saintthomastaquin1460
      @saintthomastaquin1460 ปีที่แล้ว

      @@processusthief yes c'est ce que je pensais aussi :p Merci pour ton taf ! Super interessant !

  • @laujah4021
    @laujah4021 ปีที่แล้ว +1

    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 ?

    • @processusthief
      @processusthief  ปีที่แล้ว

      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

  • @adamou02
    @adamou02 ปีที่แล้ว +1

    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).

    • @adamou02
      @adamou02 ปีที่แล้ว

      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".

    • @processusthief
      @processusthief  ปีที่แล้ว

      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

  • @IknowUlOveMe13
    @IknowUlOveMe13 ปีที่แล้ว +1

    Vraiment la classe ton contenu ! Tu as un endroit ou tu liste les différents events IRL sur le hacking ? Ou un site à conseiller ?

    • @processusthief
      @processusthief  ปีที่แล้ว

      Malheureusement non, j’essaye de participer à quelques réunions mais je n’ai pas un calendrier précis

  • @AlaaeddineHoumaiza
    @AlaaeddineHoumaiza ปีที่แล้ว +1

    Good work, i like it

  • @mat2178
    @mat2178 ปีที่แล้ว +1

    Great job

  • @elronn58
    @elronn58 ปีที่แล้ว +1

    Excellent ! Ce genre de manip fait elle sonner un EDR ?

    • @processusthief
      @processusthief  ปีที่แล้ว +2

      Ç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…)

  • @ahmedensteph1392
    @ahmedensteph1392 ปีที่แล้ว

    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

  • @katxu
    @katxu ปีที่แล้ว

    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 ?

    • @processusthief
      @processusthief  ปีที่แล้ว +1

      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é 😉

    • @katxu
      @katxu ปีที่แล้ว

      @@processusthief merci pour cette réponse claire 😁

  • @hussonjean-michel3413
    @hussonjean-michel3413 ปีที่แล้ว +1

    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 .

    • @processusthief
      @processusthief  ปีที่แล้ว

      Yes tout a fait d’accord, c’est un défaut d’administration, comme un import de librairie python mal paramétré 😉

  • @leetcsl
    @leetcsl ปีที่แล้ว +1

    Pourquoi l'AV Windows ne fait pas de temps à autre des hashs des DLL pour voir si elles ont pas été hijacked ?

    • @processusthief
      @processusthief  ปีที่แล้ว

      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 !

    • @leetcsl
      @leetcsl ปีที่แล้ว

      @@processusthief je faisais référence à celles de Windows oui. Comme ce que tu as utilisé dans la vidéo

    • @grimpowsify
      @grimpowsify ปีที่แล้ว

      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').

  • @ShadowTest43
    @ShadowTest43 ปีที่แล้ว

    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 👍

  • @gegene25lefrancomtois65
    @gegene25lefrancomtois65 ปีที่แล้ว +1

    cool

  • @aucunrespect9598
    @aucunrespect9598 ปีที่แล้ว +2

    j'adore t'es vidéos, mais par contre tu devrais penser à te reposer un peu plus 🙂

  • @-mh13_
    @-mh13_ ปีที่แล้ว +1

    Est ce que on peut remplacer une DLL active ou non

    • @processusthief
      @processusthief  ปีที่แล้ว

      Oui, tu peux mettre ta propre DLL dans un dossier chargé en priorité par l'application ;)

    • @-mh13_
      @-mh13_ ปีที่แล้ว

      @@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)

  • @ofkone
    @ofkone 2 หลายเดือนก่อน

    Succinct au top , comment nettoyer toutes ces intrusions apres s'etre fait introduit ??? (evidement sans reinstallation systeme :) ) merci beaucoup

  • @krog6473
    @krog6473 ปีที่แล้ว +1

    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

    • @processusthief
      @processusthief  ปีที่แล้ว

      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 😉

    • @krog6473
      @krog6473 ปีที่แล้ว

      @@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

  • @toncouz5579
    @toncouz5579 ปีที่แล้ว +1

    J’ai pas compris le lien avec l’imprimante. Sinon très bonne vidéo!

    • @processusthief
      @processusthief  ปีที่แล้ว

      Parce qu’ici j’utilise le service spooler d’impression 😉

  • @user-ns1vf1bf3b
    @user-ns1vf1bf3b ปีที่แล้ว +1

    et comment on ce protège de ce genre d'attaque ? .-.

    • @processusthief
      @processusthief  ปีที่แล้ว

      Avec des solutions plus approfondies type EDR sur des gros parc, sinon de la prudence et une bonne protection antivirale

  • @khoubizaharriga1032
    @khoubizaharriga1032 ปีที่แล้ว

    et alors comment nettoyer son pc de ces parasites et des virus ????? merci

  • @paultruffault7278
    @paultruffault7278 ปีที่แล้ว +1

    Ça pu la douille !! Jamais j'exécute ton bordel en tand qu'administrateur !

    • @processusthief
      @processusthief  ปีที่แล้ว

      Bah le code source est dispo, tu peux le compiler toi-même si tu as des doutes 🤷‍♂️

    • @sebastienl2140
      @sebastienl2140 ปีที่แล้ว

      le mec execute windows tout les jours et refuse d'executer un tutoriel bienveilant mdr