Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Venom — Venom es una biblioteca que pretende realizar comunicación evasiva utilizando un socket de navegador robado | Kitploit
Herramientas/GitHubGitHub/idov31/venom
Evasión de IDS/IPSComando y ControlRed TeamingTroyano de Acceso Remoto
GitHubidov31/venom

Venom

Venom es una biblioteca que pretende realizar comunicación evasiva utilizando un socket de navegador robado

Ver Repositorio
395573hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Venom

image image

Venom es una biblioteca de C++ diseñada para ofrecer una forma alternativa de comunicarse. En lugar de crear un socket que pueda rastrearse hasta el proceso, crea un nuevo proceso de Edge separado y "oculto" (no se muestra ninguna ventana) (Edge fue elegido porque es un navegador que está instalado en todos los Windows 10+ y no generará sospechas) y roba uno de sus sockets para realizar las operaciones de red.

El beneficio de crear un proceso de navegador separado es que no hay peligro de que el usuario lo cierre accidentalmente, y los sockets existen pero no se comunican con ningún sitio, evitando así posibles colisiones.

Uso

banner

Venom es un único archivo de cabecera de C++, por lo que puedes simplemente incluirlo en tu proyecto y usarlo de la siguiente manera:

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();

Puedes ver el ejemplo que muestra cómo usar el socket para enviar o recibir datos.

Explicación Técnica

La razón principal de por qué funciona, o para ser exactos, por qué el envío y la recepción con un socket (posiblemente conectado) funcionan sin ningún problema, está en la documentación de las funciones.

Antes de explicar más sobre eso, elegí crear un nuevo proceso de Edge en lugar de usar uno ya abierto por dos razones principales:

  • No puedes saber si el socket del navegador ya está en uso y podría causar una colisión si intentas recibir datos.

  • Un proceso que hayas creado puede ser cerrado por error en cualquier momento por el usuario, lo que significa cortar tu comunicación.

Ahora que entiendes las razones para crear un nuevo proceso, puedo explicar por qué puedo usar un socket ya existente (que podría estar conectado) para comunicarme con un objetivo (sin conectarlo a él).

  • Envío: Para enviar, puedes usar la función sendto y en la documentación puedes leer que Microsoft escribió: "Un descriptor que identifica un socket (posiblemente conectado).".

Además, puedes leer que también escribieron: "... Incluso si el socket sin conexión se ha conectado previamente a una dirección específica, el parámetro to anula la dirección de destino ..." lo que significa que podemos anular el destino con sendto.

  • Recepción: Para recibir datos, puedes usar la función recv y, como ningún usuario está usando este proceso de navegador, se reducen enormemente las posibilidades de colisión.

Contribuidores

  • Florian Roth

Recursos

  • ShadowMove
Descargar herramienta