Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Venom — Venom is a library that meant to perform evasive communication using stolen browser socket | Kitploit
Outils/GitHubGitHub/idov31/venom
IDS/IPS EvasionCommand and ControlRed TeamingRemote Access Trojan
GitHubidov31/venom

Venom

Venom is a library that meant to perform evasive communication using stolen browser socket

Voir le dépôt
39557il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Venom

image image

Venom est une bibliothèque C++ qui vise à offrir un moyen alternatif de communiquer : au lieu de créer une socket qui pourrait être retracée jusqu'au processus, elle crée un nouveau processus Edge détaché et « caché » (aucune fenêtre n'est affichée) (Edge a été choisi car c'est un navigateur installé sur chaque Windows 10+ et qui ne suscitera pas de suspicion) et vole l'une de ses sockets pour effectuer les opérations réseau.

L'avantage de créer un processus navigateur détaché est qu'il n'y a aucun risque qu'il soit fermé accidentellement par l'utilisateur et que les sockets existent sans communiquer avec un site quelconque, évitant ainsi d'éventuelles collisions.

Utilisation

banner

Venom est un fichier d'en-tête C++ unique, vous pouvez donc simplement l'inclure dans votre projet et l'utiliser comme suit :

root@kitploit:~
Venom venom = Venom(L"127.0.0.1", 3110);

if (!venom.VenomObtainSocket()) {
    std::cerr << "[ - ] Failed to get socket." << std::endl;
    venom.~Venom();
    return -1;
}

// Do your stuff here.
...

venom.~Venom();

Vous pouvez voir l'exemple qui montre comment utiliser la socket pour envoyer ou recevoir des données.

Explication technique

La raison fondamentale pour laquelle cela fonctionne, ou pour être exact, pourquoi l'envoi et la réception avec une socket (éventuellement connectée) se font sans aucun problème, se trouve dans la documentation des fonctions.

Avant d'expliquer cela plus en détail, j'ai choisi de créer un nouveau processus Edge plutôt que d'en utiliser un déjà ouvert, pour 2 raisons principales :

  • Vous ne pouvez pas savoir si la socket du navigateur est déjà utilisée et cela pourrait provoquer une collision si vous essayez de recevoir des données.

  • Un processus que vous avez créé peut être fermé par erreur à tout moment par l'utilisateur, ce qui couperait votre communication.

Maintenant que vous avez compris les raisons de la création d'un nouveau processus, je peux expliquer pourquoi je peux utiliser une socket existante (qui pourrait être connectée) pour communiquer avec une cible (sans l'y connecter).

  • Envoi : Pour envoyer, vous pouvez utiliser la fonction sendto et dans la documentation, vous pouvez lire que Microsoft a écrit : « Un descripteur identifiant une socket (éventuellement connectée). »

De plus, vous pouvez lire qu'ils ont également écrit « ... Même si la socket sans connexion a été précédemment connectée à une adresse spécifique, le paramètre to remplace l'adresse de destination ... », ce qui signifie que nous pouvons remplacer la cible avec sendto.

  • Réception : Pour recevoir des données, vous pouvez utiliser la fonction recv et comme aucun utilisateur n'utilise ce processus navigateur, cela réduit considérablement les risques de collision.

Contributeurs

  • Florian Roth

Ressources

  • ShadowMove
Télécharger l’outil