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

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

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

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

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

Категории

Все категории
Loading categories
API-SPY-API-PROBE — Мощный инструмент брутфорса директорий, оптимизированный для рекурсивных/мультиплексных операций, обнаружения и перечисления API, скрапинга JS-файлов и вывода HTTP-методов API одной командой. Это НЕ ТОЛЬКО для API, мой инструмент просто отлично справляется с ними. | Kitploit
Инструменты/GitHubGitHub/austinjump-sec/api-spy-api-probe
РазведкаСкриптинг и автоматизацияЭксплуатация веб-приложенийТестирование безопасности APIСбор информацииТестирование на ПроникновениеКраулер
GitHubaustinjump-sec/api-spy-api-probe

Популярное

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

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

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

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

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

API-SPY-API-PROBE

Мощный инструмент брутфорса директорий, оптимизированный для рекурсивных/мультиплексных операций, обнаружения и перечисления API, скрапинга JS-файлов и вывода HTTP-методов API одной командой. Это НЕ ТОЛЬКО для API, мой инструмент просто отлично справляется с ними.

Репозиторий
512 месяцев назадЕщё не проверено

API-SPY 🕵️👻

Мощный инструмент для брутфорса каталогов, предназначенный для разведки API и тестирования на проникновение. Автоматически обнаруживает скрытые конечные точки API, выполняет рекурсивное субсканирование и проверяет HTTP-методы для более глубокого перечисления API.

скриншот работа

Возможности

✨ Основные возможности:

  • 🎯 Быстрое обнаружение конечных точек с помощью брутфорса на основе словаря
  • 🔄 Автоматическое рекурсивное сканирование обнаруженных конечных точек
  • 🔍 Проверка HTTP-методов (GET, POST, PUT, DELETE, PATCH, OPTIONS)
  • ⚡ Многопоточное сканирование для повышения производительности
  • 📊 Умная обработка кодов состояния (200, 401, 403)
  • 🔗 Интерактивные подсказки для выборочного субсканирования и проверки
  • 🕷️ Сбор JavaScript для общих конечных точек /api/
  • 🪟 Поддержка мультиплексирования терминала (tmux) для параллельных операций
  • ⏱️ Автопропуск подсказок с настраиваемым таймаутом

Установка

Предварительные требования

  • Python 3.6+
  • библиотека requests
  • tmux (опционально, для флага --split)
  • xfce-terminal (для сред рабочего стола Linux)

Настройка

root@kitploit:~
# Clone the repository
git clone https://github.com/austinjump-sec/API-SPY.git
cd API-SPY

# Install dependencies
pip install requests

# Make scripts executable (optional)
chmod +x apispy.py apiprobe.py

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

Базовый синтаксис

root@kitploit:~
python3 apispy.py <baseUrl> <wordlist> [OPTIONS]

Обязательные аргументы

АргументОписание
<baseUrl>Целевой URL (например, http://example.com или http://api.example.com)
<wordlist>Путь к файлу словаря, содержащему конечные точки (по одной на строку)

Необязательные аргументы

Примеры

Базовое сканирование с настройками по умолчанию (однопоточное)

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt

Многопоточное сканирование с 10 потоками

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt -t10

Использование tmux для параллельных операций

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt -t5 --split

Субсканирование конкретного URL с большим количеством потоков

root@kitploit:~
python3 apispy.py http://api.example.com/v1 wordlist.txt -t20

Как это работает

Этап 1: Тестирование общих конечных точек API

Инструмент начинает с тестирования предопределённого набора общих путей API:

  • api, v1, v2, api/v1, api/v2, graphql, rest

Этап 2: Брутфорс по словарю

  • Загружает конечные точки из вашего словаря (игнорирует комментарии, начинающиеся с #)
  • Тестирует каждую конечную точку с помощью HTTP-запросов GET
  • Многопоточное выполнение для ускорения сканирования
  • Определяет отвечающие конечные точки с кодами состояния: 200, 401, 403

Этап 3: Интерактивное субсканирование (опционально)

Когда конечная точка найдена, появляется запрос:

root@kitploit:~
'-> Subscan <url>? (y/n) [Auto-skip in 5s]:
  • Выберите y/yes, чтобы рекурсивно просканировать эту конечную точку с тем же словарём
  • Автоматически запускается в новом терминале или окне tmux split-window
  • Автопропуск через 5 секунд, если ввод не предоставлен

Этап 4: Проверка HTTP-методов (опционально)

После субсканирования появляется запрос:

root@kitploit:~
'-> Probe methods on <url>? (y/n) [Auto-skip in 5s]:
  • Запускает apiprobe.py, который проверяет HTTP-методы на обнаруженной конечной точке
  • Тестируемые методы: GET, POST, PUT, DELETE, PATCH, OPTIONS
  • Цветной вывод (зелёный для 200, жёлтый для ошибок аутентификации)
  • Показывает размеры ответов и подсказки из заголовка Allow

Интерпретация вывода

Основной скрипт API-SPY

root@kitploit:~
[+] Url found: http://api.example.com/v1            ← 200 OK (accessible)
    '-> Subscan http://api.example.com/v1? (y/n) [Auto-skip in 0s]: 
[-] Timeout: Skipped prompt for http://api.example.com/v1?
    '-> Probe methods on http://api.example.com/v1? (y/n) [Auto-skip in 4s]: 
[-] Url found but not permitted (403 ERR): ...      ← Forbidden but exists
[-] Url found but not permitted (401 ERR): ...      ← Requires authentication

Скрипт API-Probe

root@kitploit:~
[+] GET     -> STATUS: 200 OK (Size: 1024)
[-] POST    -> STATUS: 405 (Size: 0)
[Header Hint] Allow: GET, HEAD, OPTIONS

Формат словаря

Создайте простой текстовый файл с конечными точками (по одной на строку):

root@kitploit:~
admin
users
api/users
v1/products
v2/customers
/api/v1/auth
/graphql
search
data
config

Примечание: Строки, начинающиеся с #, считаются комментариями и игнорируются.

Рекомендуемые словари

Популярные словари API для использования с API-SPY:

  • SecLists — конечные точки API
  • Список слов API Assetnote
  • Маршруты API FuzzDB

Советы по производительности

Рекомендации по количеству потоков

  • 1–5 потоков: Консервативно, меньший риск обнаружения, медленнее
  • 5–20 потоков: Сбалансированная производительность и скрытность
  • 20–50 потоков: Агрессивное сканирование, более быстрые результаты
  • 50–150 потоков: Максимальная скорость (может вызвать срабатывание WAF/IDS)
root@kitploit:~
# Stealth mode (low threads)
python3 apispy.py http://target.com wordlist.txt -t3

# Balanced mode
python3 apispy.py http://target.com wordlist.txt -t15

# Aggressive mode
python3 apispy.py http://target.com wordlist.txt -t50

Поведение таймаута

  • Интерактивные подсказки автоматически пропускаются через 5 секунд
  • Полезно для автоматического сканирования больших списков целей
  • Измените timeout=5 в исходном коде для настройки

Устранение неполадок

«Словарь не найден»

Убедитесь, что путь к словарю указан правильно и файл существует:

root@kitploit:~
ls -la /path/to/wordlist.txt

Ошибка неправильного имени скрипта

При субсканировании убедитесь, что:

  • Основной скрипт называется: apispy.py
  • Скрипт проверки называется: apiprobe.py
  • Оба находятся в одной директории

tmux split-window не работает

Если --split не срабатывает:

  • Установите tmux: sudo apt install tmux
  • Убедитесь, что вы запущены в сессии tmux: tmux new-session -s scan
  • Автоматически переключается на xfce-terminal

«Сбой подключения» для всех конечных точек

  • Проверьте, что базовый URL корректен и доступен
  • Проверьте настройки брандмауэра/прокси
  • Убедитесь, что целевой сервис запущен
  • Проверьте вручную: curl http://your-url/

Результаты не найдены

  • Проверьте, что словарь содержит релевантные конечные точки
  • Проверьте, не возвращает ли цель коды состояния, отличные от 200/401/403
  • Попробуйте с меньшим количеством потоков, чтобы избежать таймаутов
  • Увеличьте таймаут запроса в функции check_status()

Соображения безопасности

⚠️ Юридические и этические аспекты:

  • Тестируйте только те системы, которые вам принадлежат или на которые у вас есть явное письменное разрешение
  • Несанкционированный доступ к компьютерным системам является незаконным в большинстве юрисдикций
  • Используйте API-SPY ответственно для авторизованного тестирования на проникновение и исследований в области безопасности
  • Соблюдайте ограничения скорости и не выполняйте DoS-атаки

Лучшие практики

  1. Получите авторизацию: Получите письменное разрешение перед тестированием
  2. Используйте подходящие словари: Выбирайте релевантные конечные точки для вашей цели
  3. Отслеживайте обнаружение: Следите за блокировками WAF/IDS или блокировками учётных записей
  4. Соблюдайте ограничения скорости: Используйте меньшее количество потоков для производственных систем
  5. Документируйте находки: Записывайте все обнаруженные конечные точки для отчёта

Расширенное использование

Пользовательские значения таймаута

Отредактируйте исходный код, чтобы настроить значения таймаута:

root@kitploit:~
def ask_subscan(url, wordlist, timeout=10):  # Change from 5 to 10 seconds

Фильтрация результатов

Создайте словари, нацеленные на определённые пути API:

root@kitploit:~
# Admin endpoints only
grep -i "admin" full-wordlist.txt > admin-wordlist.txt

# v1 API only
grep "v1" full-wordlist.txt > v1-wordlist.txt

Пакетное сканирование

Сканируйте несколько целей в цикле:

root@kitploit:~
for target in http://target1.com http://target2.com http://target3.com; do
    python3 apispy.py "$target" wordlist.txt -t10
done

Архитектура

apispy.py (Основной сканер)

  • Оркестрирует рабочий процесс сканирования
  • Управляет многопоточностью и конкурентными запросами
  • Обрабатывает интерактивные подсказки и запуск терминалов
  • Координирует операции субсканирования и проверки

apiprobe.py (Проверщик методов)

  • Тестирует HTTP-методы на обнаруженных конечных точках
  • Сообщает о доступности методов и кодах состояния
  • Извлекает подсказки из HTTP-заголовков
  • Предоставляет оценку возможностей конечной точки

Вклад

Вклад приветствуется! Вы можете:

  • Сообщать об ошибках и проблемах
  • Предлагать новые функции
  • Улучшать документацию
  • Оптимизировать производительность

Отказ от ответственности

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

Лицензия

Этот проект предоставляется как есть для исследований в области безопасности и авторизованного тестирования.


Создано: austinjump-sec
Репозиторий: austinjump-sec/API-SPY

Скачать инструмент
АргументОписание
--t<number>Количество потоков (макс. 150, по умолчанию: 1)
--splitИспользовать tmux split-window вместо новых окон терминала
--debugПоказывает скрытые сообщения об ошибках
--loudПоказывает все сообщения, положительные и ошибки, выделяя те, что не возвращают 404
--jsСканирует JavaScript-файлы и извлекает из найденных общие жестко закодированные конечные точки API