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
API-SPY-API-PROBE — Un puissant outil de brute-force de répertoires conçu pour les opérations récursives/multiplexées, la découverte et l'énumération d'API, le scraping de fichiers JS, et l'énumération des méthodes HTTP API, en une seule commande. Il n'est pas limité aux API, mon outil excelle simplement dans ce domaine. | Kitploit
Outils/GitHubGitHub/austinjump-sec/api-spy-api-probe
ReconnaissanceScripting et AutomatisationExploitation d'Applications WebTests de Sécurité des APICollecte d'InformationsTests d'IntrusionCrawler
GitHubaustinjump-sec/api-spy-api-probe

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 →

À propos

Un puissant outil de brute-force de répertoires conçu pour les opérations récursives/multiplexées, la découverte et l'énumération d'API, le scraping de fichiers JS, et l'énumération des méthodes HTTP API, en une seule commande. Il n'est pas limité aux API, mon outil excelle simplement dans ce domaine.

API-SPY-API-PROBE

Voir le dépôt
51il y a 2 moisPas encore vérifié
Partager

API-SPY 🕵️👻

Un outil puissant de brute-force de répertoires conçu pour la reconnaissance d'API et les tests d'intrusion. Découvre automatiquement les points d'extrémité d'API cachés, effectue un sous-scan récursif et sonde les méthodes HTTP pour une énumération plus approfondie des API.

capture d'écran travail

Fonctionnalités

✨ Fonctionnalités principales :

  • 🎯 Découverte rapide de points d'extrémité via brute-force sur wordlist
  • 🔄 Sous-scan récursif automatique des points d'extrémité découverts
  • 🔍 Sondage des méthodes HTTP (GET, POST, PUT, DELETE, PATCH, OPTIONS)
  • ⚡ Scan multi-threadé pour des performances améliorées
  • 📊 Gestion intelligente des codes d'état (200, 401, 403)
  • 🔗 Invites interactives pour sous-scan et sondage sélectifs
  • 🕷️ Récupération JavaScript pour les points d'extrémité /api/ courants
  • 🪟 Prise en charge du multiplexage de terminal (tmux) pour les opérations parallèles
  • ⏱️ Invites à saut automatique avec délai configurable

Installation

Prérequis

  • Python 3.6+
  • Bibliothèque requests
  • tmux (optionnel, pour le drapeau --split)
  • xfce-terminal (pour les environnements de bureau Linux)

Configuration

root@kitploit:~
# Clonez le dépôt
git clone https://github.com/austinjump-sec/API-SPY.git
cd API-SPY

# Installez les dépendances
pip install requests

# Rendez les scripts exécutables (optionnel)
chmod +x apispy.py apiprobe.py

Utilisation

Syntaxe de base

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

Arguments obligatoires

ArgumentDescription
<baseUrl>URL cible (ex : http://example.com ou http://api.example.com)
<wordlist>Chemin vers le fichier wordlist contenant les points d'extrémité (un par ligne)

Arguments optionnels

Exemples

Scan de base avec paramètres par défaut (mono-thread)

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

Scan multi-thread avec 10 threads

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

Utiliser tmux pour les opérations parallèles

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

Sous-scan d'une URL spécifique avec un nombre de threads plus élevé

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

Fonctionnement

Phase 1 : Test des points d'extrémité d'API courants

L'outil commence par tester un ensemble prédéfini de chemins d'API courants :

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

Phase 2 : Brute-force sur wordlist

  • Charge les points d'extrémité de votre wordlist (ignore les commentaires commençant par #)
  • Teste chaque point d'extrémité avec des requêtes HTTP GET
  • Exécution multi-thread pour un scan plus rapide
  • Identifie les points d'extrémité répondant avec les codes d'état : 200, 401, 403

Phase 3 : Sous-scan interactif (optionnel)

Lorsqu'un point d'extrémité est trouvé, vous êtes invité :

root@kitploit:~
'-> Subscan <url>? (y/n) [Auto-skip in 5s]:
  • Choisissez y/yes pour scanner récursivement ce point d'extrémité avec la même wordlist
  • Lance automatiquement dans un nouveau terminal ou tmux split-window
  • Saut automatique après 5 secondes si aucune entrée n'est fournie

Phase 4 : Sondage des méthodes HTTP (optionnel)

Après le sous-scan, vous êtes invité :

root@kitploit:~
'-> Probe methods on <url>? (y/n) [Auto-skip in 5s]:
  • Lance apiprobe.py qui teste les méthodes HTTP sur le point d'extrémité découvert
  • Tests : GET, POST, PUT, DELETE, PATCH, OPTIONS
  • Sortie codée par couleur (vert pour 200, jaune pour les erreurs liées à l'authentification)
  • Affiche les tailles de réponse et les indices de l'en-tête Allow

Interprétation des résultats

Script principal 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

Script API-Probe

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

Format du wordlist

Créez un fichier texte simple avec les points d'extrémité (un par ligne) :

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

Remarque : Les lignes commençant par # sont considérées comme des commentaires et ignorées.

Wordlists recommandées

Wordlists d'API populaires à utiliser avec API-SPY :

  • SecLists - API endpoints
  • Assetnote API wordlist
  • FuzzDB API routes

Conseils de performances

Directives pour le nombre de threads

  • 1-5 threads : Conservateur, moins de risque de détection, plus lent
  • 5-20 threads : Performance et discrétion équilibrées
  • 20-50 threads : Scan agressif, résultats plus rapides
  • 50-150 threads : Vitesse maximale (peut déclencher WAF/IDS)
root@kitploit:~
# Mode furtif (peu de threads)
python3 apispy.py http://target.com wordlist.txt -t3

# Mode équilibré
python3 apispy.py http://target.com wordlist.txt -t15

# Mode agressif
python3 apispy.py http://target.com wordlist.txt -t50

Comportement du délai d'attente

  • Les invites interactives se sautent automatiquement après 5 secondes
  • Utile pour le scan non supervisé de grandes listes de cibles
  • Modifiez timeout=5 dans le code source pour personnaliser

Dépannage

"Wordlist introuvable"

Assurez-vous que le chemin du wordlist est correct et que le fichier existe :

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

Erreur de nom de script incorrect

Lors du sous-scan, assurez-vous :

  • Le script principal s'appelle : apispy.py
  • Le script de sondage s'appelle : apiprobe.py
  • Les deux sont dans le même répertoire

tmux split-window ne fonctionne pas

Si --split échoue :

  • Installez tmux : sudo apt install tmux
  • Assurez-vous d'être dans une session tmux : tmux new-session -s scan
  • Replie automatiquement sur xfce-terminal

"Échec de la connexion" pour tous les points d'extrémité

  • Vérifiez que l'URL de base est correcte et accessible
  • Vérifiez les paramètres du pare-feu/proxy
  • Assurez-vous que le service cible est en cours d'exécution
  • Testez manuellement : curl http://your-url/

Aucun résultat trouvé

  • Vérifiez que le wordlist contient des points d'extrémité pertinents
  • Vérifiez si la cible renvoie des codes d'état autres que 200/401/403
  • Essayez avec moins de threads pour éviter les délais d'attente
  • Augmentez le délai d'attente des requêtes dans la fonction check_status()

Considérations de sécurité

⚠️ Légal et éthique :

  • Testez uniquement les systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite
  • L'accès non autorisé aux systèmes informatiques est illégal dans la plupart des juridictions
  • Utilisez API-SPY de manière responsable pour les tests d'intrusion autorisés et la recherche en sécurité
  • Respectez les limites de débit et n'effectuez pas d'attaques DoS

Bonnes pratiques

  1. Obtenez une autorisation : Obtenez une autorisation écrite avant de tester
  2. Utilisez des wordlists appropriées : Choisissez des points d'extrémité pertinents pour votre cible
  3. Surveillez la détection : Surveillez les blocages WAF/IDS ou les verrouillages de compte
  4. Respectez les limites de débit : Utilisez un nombre de threads inférieur pour les systèmes de production
  5. Documentez les découvertes : Enregistrez tous les points d'extrémité découverts pour le rapport

Utilisation avancée

Valeurs de délai d'attente personnalisées

Modifiez le code source pour ajuster les valeurs de délai d'attente :

root@kitploit:~
def ask_subscan(url, wordlist, timeout=10):  # Passer de 5 à 10 secondes

Filtrage des résultats

Créez des wordlists ciblant des chemins d'API spécifiques :

root@kitploit:~
# Points d'extrémité admin uniquement
grep -i "admin" full-wordlist.txt > admin-wordlist.txt

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

Scan par lots

Scannez plusieurs cibles avec une boucle :

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

Architecture

apispy.py (Scanner principal)

  • Orchestre le flux de travail du scan
  • Gère le multithreading et les requêtes simultanées
  • Gère les invites interactives et le lancement de terminaux
  • Coordonne les opérations de sous-scan et de sondage

apiprobe.py (Sondeur de méthodes)

  • Teste les méthodes HTTP sur les points d'extrémité découverts
  • Rapporte la disponibilité des méthodes et les codes d'état
  • Extrait les indices des en-têtes HTTP
  • Fournit une évaluation des capacités des points d'extrémité

Contribuer

Les contributions sont les bienvenues ! N'hésitez pas à :

  • Signaler des bogues et des problèmes
  • Suggérer de nouvelles fonctionnalités
  • Améliorer la documentation
  • Optimiser les performances

Avertissement

Cet outil est fourni uniquement à des fins éducatives et de tests de sécurité autorisés. Les utilisateurs sont responsables de s'assurer qu'ils disposent des autorisations appropriées avant de scanner un système. L'accès non autorisé aux systèmes informatiques est illégal.

Licence

Ce projet est fourni en l'état pour la recherche en sécurité et les tests autorisés.


Créé par : austinjump-sec
Dépôt : austinjump-sec/API-SPY

Télécharger l’outil
ArgumentDescription
--t<number>Nombre de threads (max 150, défaut : 1)
--splitUtiliser tmux split-window au lieu de nouvelles fenêtres de terminal
--debugAffiche les messages d'erreur autrement cachés
--loudAffiche tous les messages, positifs et erreurs, en mettant en évidence ceux qui ne renvoient pas 404
--jsRecherche les fichiers JavaScript et récupère les points d'extrémité d'API codés en dur courants