Codeby
36.3K subscribers
2.05K photos
98 videos
12 files
7.83K links
Блог сообщества Кодебай

Чат: @codeby_one
Форум: codeby.net
Обучение: codeby.academy

CTF: hackerlab.pro

VK: vk.com/codeby
YT: clck.ru/XG99c

Сотрудничество: @KinWiz

Реклама: @Savchenkova_Valentina
Download Telegram
Dorkbot: Автоматизированный инструмент для поиска уязвимостей через поисковые системы

Dorkbot — модульный инструмент командной строки с открытым исходным кодом, предназначенный для автоматизации поиска уязвимостей на веб-ресурсах, обнаруженных через публичные поисковые системы или архивы интернета (Common Crawl и Wayback Machine). Его архитектура разделяет процессы сбора целей (индексирования) и их проверки (сканирования), что обеспечивает гибкость и контроль на каждом этапе безопасности.


👉Dorkbot функционирует на основе модульной системы, состоящей из двух ключевых компонентов:
▶️Индексаторы (Indexers) - модули, отвечающие за сбор списка целей (URL-адресов). Они выполняют поисковые запросы через различные источники
▶️Сканеры (Scanners) - модули, которые выполняют непосредственно проверку безопасности каждой собранной цели на наличие уязвимостей
Все обнаруженные цели сохраняются в базе данных, что позволяет управлять ими, отслеживать статус проверки и избегать дублирования. После сканирования формируется детальный отчет в формате
JSON
, содержащий информацию о найденных уязвимостях.


⬇️Установка
pipх install dorkbot 

Проверка
dorkbot -h


⏺️Выполним поиск целей через Google Custom Search API (индексатор google_api) и сразу сканируем 10 случайных целей из найденных с помощью сканера Wapiti
dorkbot -i google_api -o key=YOUR_API_KEY -o engine=YOUR_CSE_ID -o query="inurl:view.php?id=" -s wapiti --count 10 --random --log scan_session.log

▶️-i google_api и -o - активируют индексатор Google API и передают ему необходимые аргументы (ключ, ID поисковой системы и поисковый запрос)
▶️-s wapiti - указывает сканер для проверки уязвимостей
▶️--count 10 - ограничивает обработку (индексацию и/или сканирование) 10 целями
▶️--random - обеспечивает случайный порядок выбора целей для обработки, что полезно для выборки
▶️--log scan_session.log - перенаправляет вывод логов в указанный файл для последующего анализа

⏺️Эта команда демонстрирует работу с базой данных целей и блоклистом без запуска сканирования
dorkbot -d /opt/security/dorkbot.db --list-targets --unscanned-only --add-blocklist-item "regex:.*logout.*" --add-blocklist-item "host:admin.example.com" --prune

▶️-d /opt/security/dorkbot.db - указывает путь к файлу базы данных SQLite
▶️--list-targets --unscanned-only - выводит список всех целей, которые еще не были отсканированы
▶️--add-blocklist-item - добавляет правила в блоклист. В данном случае блокируются все URL, содержащие подстроку logout (регулярное выражение), и все цели с хостом admin.example.com
▶️--prune - критически важная операция, которая применяет правила блоклиста и систему отпечатков (fingerprinting) к существующей базе данных.
Цели, соответствующие новым правилам блоклиста, будут помечены как отсканированные (или удалены, если добавить флаг -m), а дубликаты на основе отпечатков будут исключены из очереди на сканирование


#dorkbot #tool #pentest #URL

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍7🔥5
☁️ Covenant — .NET C2‑фреймворк для пост-эксплуатаци

Covenant — кросс-платформенный C2 на ASP.NET Core с веб‑панелью, много‑пользовательским режимом и поддержкой «Grunt»‑имплантов для управления скомпрометированными хостами в корпоративных сетях.


⛓️‍💥 Основные возможности Covenant
📉 Интуитивный web‑интерфейс: управление слушателями, имплантами (Grunts), задачами, файлами и отчётами прямо из браузера, с поддержкой нескольких операторов одновременно.
📉 Мульти-платформенность и Docker: сервер на .NET Core можно запускать на Linux, Windows и macOS, а также в Docker‑контейнере, что удобно для lab‑окружений и изолированных C2‑хостов.
🖱 Listener Profiles: профили слушателей позволяют кастомизировать HTTP(S)/Network‑трафик, маскируя его под легитимные запросы и упрощая обход детекта.

🧠 Импланты Grunt и криптография
⏺️ Grunt — это .NET‑имплант, который периодически коннектится к слушателю, получает команды, исполняет их и отправляет результаты, поддерживая типичные C2‑операции (команды, файлы, модульные задачи).
⏺️ Реализован защищённый обмен ключами + опциональный SSL, что обеспечивает forward secrecy и защищает трафик от пассивного прослушивания.
⏺️ Dynamic Compilation: каждое новое задание или Grunt компилируются «на лету» через Roslyn и обфусцируются ConfuserEx, что снижает количество полностью статичных сигнатурных пейлоадов.

⬇️ Установка и запуск
1️⃣ Быстрый старт через .NET / git
▶️ Клонировать репозиторий и собрать приложение:
git clone --recurse-submodules https://github.com/cobbr/Covenant.git
cd Covenant/Covenant
dotnet build
dotnet run


▶️ Затем открыть панель по адресу вида https://127.0.0.1:7443/, создать учётку оператора и перейти к настройке Listener/Launcher/Grunt.

2️⃣ Запуск через Docker
▶️ Использовать готовый Docker‑образ и пробросить порты + volume для хранения данных:
docker run -it -p 7443:7443 -p 80:80 -p 443:443 --name covenant -v </absolute/path/to/Covenant/Covenant/Data>:/app/Data covenant


▶️ После старта сервер работает как обычный C2‑бэкенд, доступный по HTTPS для всей команды.

#c2 #dotnet #redteam #tool

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥8👍7
🧠 Prompt Fuzzer — интерактивный fuzzer для защиты системного промпта GenAI‑приложений

Prompt Fuzzer — это open source‑утилита для динамического тестирования системного промпта на устойчивость к jailbreak‑атакам, prompt‑инъекциям и попыткам вытянуть системные данные


💻 Что умеет Prompt Fuzzer
🔔 Моделирует реальные атаки на промпт: jailbreak (DAN, AIM, harmful behavior, amnesia, linguistic evasion и др.), prompt injection (authoritative role, typoglycemia и др.) и системный prompt extraction
🔔 Динамически адаптирует тесты под домен и конфигурацию конкретного приложения, чтобы проверки были ближе к боевым сценариям использования.
🔔 Выдаёт оценку безопасности промпта по каждой атаке: broken (сломали защиту), resilient (выдержал), errors (неоднозначный результат), помогая понять, где именно промпт уязвим.

⬇️ Установка и запуск
👉 Установка через pip:
pip install prompt-security-fuzzer


👉 Затем задать ключ LLM‑провайдера (по умолчанию OPENAI_API_KEY):
export OPENAI_API_KEY=sk-123XXXXXXXXXXXX
prompt-security-fuzzer



👉 Переменные окружения
- Можно использовать .env рядом с утилитой, либо экспортировать ключи напрямую.
- Поддерживаются 16+ провайдеров: OpenAI, Anthropic, Azure OpenAI, Cohere, Google PaLM, YandexGPT, Baichuan, Jina, PromptLayer и др. через свои ENV‑ключи (ANTHROPIC_API_KEY, GOOGLE_API_KEY, YC_API_KEY и т.п.).

🧾 Режимы работы и CLI
⏺️ Интерктивный режим (по умолчанию):
1) Запускаете prompt-security-fuzzer,
2) Вставляете системный промпт,
3) Запускаете серию атак и потом дорабатываете промпт в встроенном Playground‑чате.

⏺️ Batch‑режим для CI/CD и автопроверок:
➡️ Прогнать тесты по готовому файлу с системным промптом:
prompt-security-fuzzer -b ./system_prompt.examples/medium_system_prompt.txt


➡️ Подключить кастомный бенчмарк атак:
prompt-security-fuzzer -b ./system_prompt.examples/medium_system_prompt.txt \
--custom-benchmark=ps_fuzz/attack_data/custom_benchmark1.csv


➡️ Запустить только подмножество тестов:
prompt-security-fuzzer -b ./system_prompt.examples/medium_system_prompt.txt \
--custom-benchmark=ps_fuzz/attack_data/custom_benchmark1.csv \
--tests='["ucar","amnesia"]'


#security #ai #llm #tool

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍6🔥4
🗺 Social Mapper

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


Поддерживает поиск в следующих социальных сетях:
⏺️LinkedIn;
⏺️Facebook;
⏺️Pinterest;
⏺️Twitter;
⏺️Google Plus;
⏺️Instagram;
⏺️ВКонтакте;
⏺️Weibo;
⏺️Douban.

Установка
1️⃣Для работы требуется предварительная установка Firefox.
sudo add-apt-repository ppa:mozillateam/firefox-next && sudo apt update && sudo apt upgrade


2️⃣Установить Geckodriver для и убедиться, что он находится в переменной PATH.

3️⃣Далее необходимы следующие компоненты:
sudo apt-get install build-essential cmake
sudo apt-get install libgtk-3-dev
sudo apt-get install libboost-all-dev


4️⃣Клонирование репозитория и установка зависимостей:
git clone https://github.com/Greenwolf/social_mapper
cd social_mapper/setup
python3 -m pip install --no-cache-dir -r requirements.txt


5️⃣Завершающим шагом необходимо в браузере для каждой социальной сети войти в профиль и сохранить страницы со статусом "trust this browser" или "unknown browser".

➡️Использование
Для запуска инструмента необходимо указать 4 параметра: формат ввода, входной файл или папку и основной режим работы:
-f, --format - форматы вида name, csv, imagefolder, socialmapper;
-i, --input - название компании, файл CSV, папка с изображениями или HTML-файл;
-m, --mode - fast или accurate позволяет выбрать пропуск потенциальных целей после нахождения первого вероятного совпадения, что в некоторых случаях может многократно ускорить работу программы

💻Примеры
Быстрая проверка в Facebook и Twitter некоторых целей, которые хранятся в папке с изображениями:
python3 social_mapper.py -f imagefolder -i ./Input-Examples/imagefolder/ -m fast -fb -tw


Проверка компании Evil Corp LLC, где количество ложных срабатываний должно быть сведено к минимуму:
python3 social_mapper.py -f company -i "Evil Corp LLC" -m accurate -a -t strict


#osint #tool #search

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍6🔥5😭1
BPF Linker: Инструмент статической линковки для современных BPF-программ
BPF Linker (bpf-linker) — специализированное решение для статической линковки объектных файлов BPF-программ, разработанное в рамках экосистемы Aya. Инструмент ориентирован на упрощение сборки современных BPF-приложений при сохранении совместимости с устаревшими, более ограничивающими версиями ядра.


В отличие от традиционных линкеров, bpf-linker оперирует не машинным кодом, а LLVM-биткодом. Это позволяет выполнять оптимизацию на уровне промежуточного представления и генерировать эффективный байт-код для виртуальной машины BPF.
Инструмент принимает на вход:
▶️Файлы биткода (.bc)
LLVM IR (.ll)
▶️Объектные файлы со встроенным биткодом (.o)
▶️Статические библиотеки (.a)
▶️На выходе формируется готовый объектный файл BPF, который может быть загружен в ядро

⬇️Установка
sudo apt install bpf-linker

Проверка
bpf-linker -h


⏺️Оптимизация для устаревших ядер (v1/v2)
bpf-linker --cpu v2 --unroll-loops --ignore-inline-never -o legacy.o *.o

Объектный файл legacy.o, совместимый с ядрами 4.x–5.x. Принудительное встраивание функций и развертка циклов позволяют выполнять сложную логику там, где отсутствует поддержка вызовов функций и циклов.

⏺️Отладка и анализ
bpf-linker --dump-module ./final.ll --log-level debug --log-file ./link.log -o output.o input.o

Команда выполняет линковку входного файла input.o в output.o, сохраняя детальный лог в link.log и финальное LLVM-представление в final.ll. Флаг --log-level debug обеспечивает максимальную детализацию, --dump-module — анализ промежуточного кода. Позволяет диагностировать ошибки линковки, проверять корректность оптимизаций и исследовать генерируемый BPF-код.

⏺️Минимизация размера
bpf-linker -O z --disable-memory-builtins -o minimal.o *.o

Данная команда выполняет линковку всех объектных файлов с агрессивной оптимизацией по размеру (-O z) и отключением экспорта встроенных функций работы с памятью (--disable-memory-builtins). Результирующий файл minimal.o имеет минимально возможный размер. Критически важно для систем с жесткими лимитами на размер загружаемых BPF-программ.

👉Преимущества инструмента
- Полноценная статическая линковка для BPF-модулей
- Поддержка CO-RE через BTF-генерацию
- Обратная совместимость с ограничениями старых ядер

#bpflinker #tool #pentest #LLVM

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍6🔥5
Evil-WinRM-PY: Инструмент для удаленного администрирования Windows через WinRM
Evil-WinRM-PY — кроссплатформенная Python-реализация Evil-WinRM для удаленного выполнения команд на узлах Windows через WinRM. Предоставляет интерактивную оболочку с функциями передачи файлов, загрузки скриптов/DLL и выполнения EXE в памяти. Поддерживает NTLM, Pass-the-Hash, сертификаты и Kerberos. Инструмент разработан преимущественно для Linux, является стандартным решением в Kali Linux, устанавливается через pip и включает штатную поддержку Kerberos через пакеты libkrb5-dev.


👉Базовые операции
- Интерактивная командная оболочка с поддержкой истории команд
- Загрузка и выгрузка файлов с индикацией прогресса и проверкой MD5
- Автодополнение локальных и удаленных путей (включая пути с пробелами)

👉Расширенное взаимодействие с PowerShell
- Загрузка функций из локальных PS1-скриптов в сессию
- Выполнение локальных PowerShell-сценариев на удаленном узле
- Загрузка DLL-библиотек в память удаленного процесса PowerShell
- Выполнение EXE-файлов, загружаемых непосредственно в память

⬇️Установка
sudo apt install evil-winrm-py
Проверка

evil-winrm-py -h


Базовое подключение с аутентификацией по паролю
evil-winrm-py -i 192.168.1.100 -u Administrator -p P@ssw0rd


Подключение через SSL с использованием Pass-the-Hash

evil-winrm-py -i dc01.domain.local -u Administrator -H 8843f4f67bcc0c6e6b5c6d7e8f9a0b1c --ssl


Аутентификация с применением сертификатов
evil-winrm-py -i 10.10.10.50 -u user@domain.local --priv-key-pem ./key.pem --cert-pem ./cert.pem

Kerberos-аутентификация с кастомным SPN

evil-winrm-py -i srv02.domain.local -u user@DOMAIN.LOCAL -k --spn-prefix WSMAN --spn-hostname srv02.domain.local

Администрирование серверной инфраструктуры
evil-winrm-py -i srv01.corp.local -u CORP\admin -p P@ssw0rd --ssl
Обеспечивает безопасное удаленное управление серверами Windows с шифрованием трафика. Используется для выполнения регламентных задач, диагностики и мониторинга состояния систем.

Тестирование на проникновение (авторизованное)

evil-winrm-py -i 10.0.0.25 -u Administrator -H 8843f4f67bcc0c6e6b5c6d7e8f9a0b1c

Позволяет проверить устойчивость инфраструктуры к атакам Pass-the-Hash, оценить эффективность политик паролей и корректность конфигурации WinRM

🎇Ограничения и требования
- Необходимость явного разрешения на использование
- Требуется активированный WinRM на целевой системе
- Kerberos-аутентификация требует дополнительной настройки на стороне клиента
- SSL-сертификаты должны быть доверенными или принятыми вручную

#evilwinrmpy #tool #pentest #NTLM #PowerShell #Kerberous

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍8🔥7
Cloudlist: Инструмент для сбора активов из облачных провайдеров

Cloudlist — утилита с открытым исходным кодом от projectdiscovery, предназначенная для получения перечня активов (Assets) из множества облачных провайдеров. Инструмент ориентирован на использование командами защиты (blue team) для улучшения управления поверхностью атаки (Attack Surface Management) путем поддержания централизованного списка активов в различных облачных средах с минимальными усилиями по настройке.


👉Возможности
- Поддержка множества провайдеров (AWS, GCP, Azure, DigitalOcean, Linode, Alibaba, Cloudflare, Fastly, Heroku, Kubernetes и другие)
- Гибкая фильтрация по провайдерам, сервисам, идентификаторам
- Несколько форматов вывода (JSON, plain text, stdout для интеграции с другими инструментами)
- Исключение приватных IP-адресов при необходимости
- Простое добавление новых провайдеров
- Два подхода к GCP (организация через Asset API или проекты через сервисные API)

⬇️Установка
git clone https://github.com/projectdiscovery/cloudlist.git
cd cloudlist/cmd/cloudlist
go build .
sudo mv cloudlist /usr/local/bin/

Проверка
cloudlist -h


Конфигурация Cloudlist использует YAML-файл конфигурации для хранения учетных данных провайдеров. По умолчанию: ~/.config/cloudlist/provider-config.yaml

⏺️Пример базовой конфигурации
#AWS
- id: aws-prod
aws:
access-key: AKIA...
secret-key: ...
region: us-east-1

#GCP
- id: gcp-prod
gcp:
service-account-json: /path/to/sa-key.json
project: my-project-id

#Azure
- id: azure-dev
azure:
subscription-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
client-secret: ...
tenant-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx


⏺️Расширенная конфигурация для GCP (организация через Asset API)
- id: gcp-org
gcp:
service-account-json: /path/to/org-sa.json
asset-discovery: true #использование Asset API
organization-id: "1234567890" #ID организации
projects: #ограничение проектами (опционально)
- project-1
- project-2


⏺️Получение всех активов из всех настроенных провайдеров
cloudlist


⏺️Получение активов только от конкретных провайдеров
cloudlist -p aws,gcp,azure


⏺️Тихий режим (только результаты, без лишнего вывода)
cloudlist -silent


⏺️Подробный вывод с расширенными метаданными
cloudlist -p aws -extended-metadata -v


⏺️Инвентаризация всех EC2-инстансов в AWS
cloudlist -p aws -s ec2 -json | jq '.'


⏺️Получение всех доменных имен из Cloudflare
cloudlist -p cloudflare -s domain -host


⏺️Поиск публичных IP-адресов во всех облаках
cloudlist -s publicip -ep -silent > public_ips.txt


⏺️Интеграция с httpx для проверки HTTP-сервисов
cloudlist -p aws,gcp -s ec2,compute -host | httpx -title -status-code


🔎Ограничения и требования
- Требуются корректно настроенные ключи доступа для каждого провайдера
- Требует включения Cloud Asset Inventory и соответствующих разрешений на уровне организации
- Необходимы права на чтение ресурсов (рекомендуется использовать read-only ключи)
- Массовые запросы могут учитываться в квотах провайдеров

#Cloudlist #tool #pentest #Asset

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥4
HexStrike AI: Платформа для автоматизации кибератак с использованием искусственного интеллекта

HexStrike AI представляет собой специализированную платформу для автоматизации задач кибербезопасности, построенную на архитектуре мультиагентного искусственного интеллекта. Инструмент предназначен для автоматизации разведки, анализа уязвимостей и проведения тестов на проникновение, ориентирован на специалистов по безопасности, исследователей уязвимостей и участников программ bug bounty.


HexStrike AI реализует многоагентную архитектуру, включающую компоненты:
▶️Автономные AI-агенты, выполняющие специализированные задачи безопасности
▶️Механизм интеллектуального принятия решений на основе анализа контекста
▶️Система управления уязвимостями с приоритизацией угроз
▶️Интеграция с внешними инструментами через MCP (Modular Connector Protocol)
Платформа включает более
150
интегрированных модулей, охватывающих все этапы тестирования на проникновение: от разведки до эксплуатации уязвимостей.


⬇️Установка
sudo apt update
sudo apt install hexstrike-ai

Установка зависимостей вручную
pip install mitmproxy aiohttp beautifulsoup4 flask mcp psutil pwntools requests selenium

Проверка
hexstrike_server -h
hexstrike_mcp -h


HexStrike AI состоит из двух основных компонентов:
▶️hexstrike_server — центральный API-сервер, реализующий основную логику и взаимодействие с AI-агентами
▶️hexstrike_mcp — клиент для подключения к серверу через MCP-протокол

⏺️Запуск сервера
hexstrike_server

По умолчанию сервер запускается на 127.0.0.1:8888 с выводом информационного баннера и статуса работы

⏺️Параметры сервера
hexstrike_server --help

Опции:
- --debug — включение отладочного режима
- --port PORT — указание порта для API-сервера (по умолчанию 8888)

⏺️Запуск MCP-клиента
hexstrike_mcp --server http://127.0.0.1:8888


⏺️Параметры клиента
hexstrike_mcp -h

Опции:
- --server SERVER — URL API-сервера HexStrike AI (по умолчанию http://127.0.0.1:8888)
- --timeout TIMEOUT — таймаут запроса в секундах (по умолчанию 300)
- --debug — включение отладочного логирования

⏺️Базовый запуск для анализа целевой системы
#терминал 1: запуск сервера
hexstrike_server --debug
#терминал 2: подключение клиента
hexstrike_mcp --server http://127.0.0.1:8888 --timeout 600


🔎HexStrike AI построен на клиент-серверной архитектуре
▶️Серверный компонент:
- Управляет пулом процессов (по умолчанию 4 воркера)
- Реализует адаптивный AI-движок принятия решений
- Обеспечивает интеграцию с более чем 150 модулями
- Поддерживает унифицированный интерфейс операций
▶️Клиентский компонент:
- Взаимодействует с сервером через HTTP API
- Поддерживает настраиваемые таймауты для длительных операций
- Обеспечивает отладочный режим для диагностики

#HexStrike-AI #tool #pentest #MCP

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Please open Telegram to view this post
VIEW IN TELEGRAM
👍126🔥4😁1🐳1
PyInstaller: Упаковка Python-приложений в исполняемые файлы

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


👉Преимущества
- Работает с Python версий 3.8–3.14
- Поддерживает Windows (32/64-bit, ARM64), Linux (glibc/musl), macOS (x86_64/arm64)
- Корректно упаковывает популярные пакеты: numpy, PyQt5/PyQt6, PySide2/PySide6, wxPython, matplotlib и другие
- Поддерживает код-сайн на macOS
- Включает MS Visual C++ DLL на Windows
- Не требует кросс-компиляции (сборка выполняется на целевой платформе)

⬇️Установка
sudo apt install pyInstaller

Проверка
pyInstaller -h


⏺️Создание одно папочного пакета (режим по умолчанию)
pyinstaller script.py

Создает папку dist/script/ с исполняемым файлом и всеми зависимостями

⏺️Создание однофайлового исполняемого пакета
pyinstaller --onefile script.py

Создает один исполняемый файл dist/script.exe (или script на Linux/macOS), который распаковывается во временную папку при запуске

⏺️Добавление дополнительных файлов данных
pyinstaller --add-data "config.ini:." --add-data "images:images" script.py

Формат: "source:dest_dir". Для Windows разделитель — ;, для Linux/macOS — :.

⏺️Указание путей поиска импортов
pyinstaller --paths ./external_libs --paths ./helpers script.py


⏺️Исключение модулей
pyinstaller --exclude-module tkinter --exclude-module test script.py


⏺️Упаковка веб-приложения (Flask/Django)
pyinstaller --onefile --add-data "templates:templates" --add-data "static:static" --hidden-import jinja2 run.py


⏺️Создание пакета для многократного использования с очисткой кэша
pyinstaller --clean --distpath ./release --workpath ./build_tmp --onefile script.py


🔎Ограничения и требования
- Cборка выполняется на той же ОС, для которой создается пакет (не кросс-компиляция)
- Поддерживаются указанные версии (Python 3.10.0 содержит баг, несовместимый с PyInstaller)
- Требуются ldd, objdump, objcopy (пакет binutils)
- Однофайловые пакеты включают интерпретатор и библиотеки, что увеличивает размер (обычно 5–50 МБ)
- Некоторые антивирусные программы могут ложно срабатывать на упакованные приложения

#PyInstaller #tool #pentest #Python

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5🔥4
Boofuzz: Инструмент фаззинга сетевых протоколов

Boofuzz — фреймворк для фаззинга (fuzzing) сетевых протоколов, являющийся форком и преемником известного инструмента Sulley. Разработан для генерации и передачи некорректных или неожиданных данных целевым приложениям с целью выявления уязвимостей, ошибок обработки ввода и отказов в обслуживании. Boofuzz сочетает простоту использования с расширяемостью, что позволяет применять его для тестирования самых разных протоколов и интерфейсов.


Boofuzz наследует основные концепции Sulley, добавляя исправление ошибок, актуальную документацию и поддержку современных сред. Как и предшественник, инструмент охватывает все критические элементы процесса фаззинга:
▶️Быстрое создание тестовых наборов на основе шаблонов
▶️Обнаружение отказов и аномалий в целевой системе
▶️Автоматический перезапуск цели после сбоя
▶️Запись всех тестовых данных и результатов

👉Отличия от Sulley
- Актуальная онлайн-документация и поддержка
- Поддержка произвольных каналов связи (последовательный порт, Ethernet, UDP-широковещание)
- Улучшенная регистрация данных с экспортом в CSV
- Расширяемая система инструментирования
- Упрощенная установка через pip
- Исправление многочисленных ошибок оригинального фреймворка

⬇️Установка
pip install boofuzz

Проверка
python -c "import boofuzz; print(boofuzz.__version__)"


⏺️Boofuzz используется как Python-библиотека для создания скриптов фаззинга. Простейший пример для тестирования TCP-сервера:
from boofuzz import *

def main():
session = Session(
target=Target(connection=TCPSocketConnection("127.0.0.1", 9999))
)

s_initialize("Request")
s_string("FUZZ", name="fuzzable_field")

session.connect(s_get("Request"))
session.fuzz()

if __name__ == "__main__":
main()

Запуск скрипта:
python fuzzer_script.py


⏺️Фаззинг HTTP-сервера
from boofuzz import *

def main():
session = Session(
target=Target(connection=TCPSocketConnection("127.0.0.1", 80)),
sleep_time=0.1,
)

s_initialize("HTTP GET")
s_static("GET ")
s_string("/", name="URI")
s_static(" HTTP/1.1\r\n")
s_static("Host: ")
s_string("localhost", name="Host")
s_static("\r\n")
s_static("User-Agent: Mozilla/5.0\r\n")
s_static("Accept: */*\r\n")
s_static("\r\n")

session.connect(s_get("HTTP GET"))
session.fuzz()

if name == "__main__":
main()


⏺️Фаззинг с мониторингом отказов
from boofuzz import *
import subprocess

def restart_target():
"""Функция перезапуска цели"""
subprocess.run(["systemctl", "restart", "target-service"])

def main():
#настройка мониторинга процесса
monitor = ProcessMonitor("192.168.1.100", 26002)

session = Session(
target=Target(
connection=TCPSocketConnection("192.168.1.100", 9999),
monitors=[monitor]
),
restart_callbacks=[restart_target],
crash_threshold=3,
)

#описание протокола...
session.fuzz()

if name == "__main__":
main()


⏺️Экспорт результатов
session = Session(
target=Target(connection=connection),
output_path="fuzz_results", # директория для результатов
csv_logger=True, # включение CSV-логирования
log_level=logging.DEBUG, # уровень детализации лога
)


После завершения фаззинга boofuzz создает директорию с результатами, содержащую:
▶️Тестовые кейсы (все отправленные запросы с метками)
▶️Лог сбоев (информация о крашах и аномалиях)
▶️CSV-файл (сводная таблица результатов)
Пример структуры результатов:
├── crashes.log
├── fuzz.db
├── fuzz_results.csv
└── test-cases/
├── test-case-000001
├── test-case-000002
└── ...


#Boofuzz #tool #pentest #Sulley

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍6🔥5