Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Venom — Venom is a library that meant to perform evasive communication using stolen browser socket | Kitploit
Инструменты/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

Репозиторий
395572 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Venom

image image

Venom — это библиотека на C++, которая предлагает альтернативный способ связи: вместо создания сокета, который можно отследить до процесса, она создает новый «скрытый» (без отображаемого окна) отсоединенный процесс Edge (Edge был выбран, потому что это браузер, установленный на каждой Windows 10+ и не вызывающий подозрений) и крадет один из его сокетов для выполнения сетевых операций.

Преимущество создания отсоединенного процесса браузера в том, что нет опасности его случайного закрытия пользователем, а сокеты существуют, но не связываются ни с одним сайтом, что позволяет избежать возможных коллизий.

Использование

banner

Venom — это один заголовочный файл C++, поэтому вы можете просто включить его в свой проект и использовать следующим образом:

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

Вы можете посмотреть пример, показывающий, как использовать сокет для отправки или получения данных.

Техническое объяснение

Основная причина, почему это работает, или, точнее, почему отправка и получение через сокет (возможно, подключенный) происходят без проблем, указана в документации функций.

Прежде чем я расскажу об этом подробнее, я выбрал создание нового процесса Edge вместо использования уже открытого по двум основным причинам:

  • Вы не можете знать, используется ли уже сокет браузера, и это может вызвать коллизию, если вы пытаетесь получить данные.

  • Процесс, который вы создали, может быть случайно закрыт пользователем в любой момент, что прервет вашу связь.

Теперь, когда вы поняли причины создания нового процесса, я могу объяснить, почему я могу использовать уже существующий сокет (который может быть подключен) для связи с целью (не подключая его к ней).

  • Отправка: для отправки вы можете использовать функцию sendto, и в документации можно прочитать, что Microsoft написала: «Дескриптор, идентифицирующий (возможно, подключенный) сокет».

Кроме того, можно прочитать, что они также написали «... Даже если сокет без установления соединения был ранее подключен к конкретному адресу, параметр to переопределяет адрес назначения ...», то есть мы можем переопределить цель с помощью sendto.

  • Получение: для получения данных вы можете использовать функцию recv, и поскольку ни один пользователь не использует этот процесс браузера, вероятность коллизий значительно снижается.

Авторы

  • Florian Roth

Ресурсы

  • ShadowMove
Скачать инструмент