Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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
Outils/GitHubGitHub/olizimmermann/phishcollector
OSINT (Renseignement de Sources Ouvertes)Outils de PhishingReconnaissanceFlux et Agrégateurs de MenacesCollecte d'InformationsHameçonnageSécurité WebRenseignement sur les MenacesArticles et RechercheApprentissage et ÉducationCrawler
23323il y a 7 moisVérifié par Kitploit

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 →
Partager
GitHub
olizimmermann/phishcollector

phishcollector

PhishCollector est un framework de recherche pour collecter, analyser et suivre les sites de phishing.

Voir le dépôt

PhishCollector

PhishCollector est un cadre de recherche pour collecter, analyser et suivre les sites de phishing. Il est intentionnellement conçu comme un point de départ — les règles de détection, les signatures technologiques, les listes de mots et les plugins sont tous des structures de données en clair que les chercheurs sont censés lire, étendre et adapter à leur propre paysage de menaces.

Soumettez une URL suspecte et PhishCollector va :

  • Charger la page dans un navigateur Chromium sans tête (JavaScript activé, User-Agent aléatoire, mesures anti-bot furtives)
  • Capturer le HTML entièrement rendu, une capture d'écran pleine page et chaque requête réseau
  • Télécharger toutes les ressources JavaScript et CSS liées
  • Empreinte numérique du site : IP/ASN/géo, certificat TLS, WHOIS, pile technologique, hash du favicon (mmh3 compatible Shodan), analyse des formulaires, détection d'indicateurs de phishing
  • Explorer les liens découverts, les chemins de robots.txt et les URLs de sitemap (fuzzing optionnel avec liste de mots)
  • Interroger URLhaus et/ou VirusTotal pour la réputation des menaces
  • Stocker le tout dans PostgreSQL pour des recherches cross-collections et une analyse des tendances

Tous les résultats sont accessibles via une API REST, un tableau de bord web et une CLI.


Captures d'écran

Dashboard

Détail de collecte


Démarrage rapide

cp .env.example .env          # configurer (voir ci-dessous)
docker compose up --build     # démarre db + app + frontend
ServiceURL
GUIhttp://localhost:3000
API docshttp://localhost:8000/docs
DBlocalhost:5432

Configuration

Tous les paramètres sont des variables d'environnement avec le préfixe PHISH_. Copiez .env.example vers .env et ajustez.

VariableDéfautDescription
PHISH_DATABASE_URLpostgres://…DSN PostgreSQL
PHISH_API_KEY(vide)Si défini, toutes les requêtes nécessitent X-API-Key: <valeur>
PHISH_DATA_DIR/dataRacine de stockage pour les captures d'écran, HTML, ressources
PHISH_BROWSER_TIMEOUT30000Délai d'attente de chargement de page en ms
PHISH_REQUEST_TIMEOUT15Délai d'attente des sous-requêtes HTTP en secondes
PHISH_MAX_SPIDER_PAGES50Nombre max d'URLs visitées par l'explorateur par tâche
PHISH_MAX_ASSET_SIZE10485760Taille max de fichier JS/CSS à stocker (octets)
PHISH_PROXY_URL(vide)Proxy sortant — voir ci-dessous
PHISH_PROXY_SSL_VERIFYtrueMettre à false pour les proxys d'interception — voir ci-dessous
PHISH_URLHAUS_ENABLEDfalseActiver la vérification de réputation URLhaus
PHISH_VIRUSTOTAL_API_KEY(vide)Clé API VirusTotal v3 (laisser vide pour désactiver)

Configuration du proxy

Router tout le trafic sortant via un proxy permet de cacher l'IP de l'analyste au serveur de phishing.

Tor (anonymisation)

PHISH_PROXY_URL=socks5://127.0.0.1:9050
PHISH_PROXY_SSL_VERIFY=true   # Tor n'intercepte pas TLS

Burp Suite (inspection du trafic)

Burp agit comme un intermédiaire TLS et présente son propre certificat CA pour chaque connexion HTTPS. Sans désactiver la vérification SSL, chaque requête HTTPS via le proxy échouera.

PHISH_PROXY_URL=http://127.0.0.1:8080
PHISH_PROXY_SSL_VERIFY=false  # requis pour Burp / proxys d'interception

Remarque : PHISH_PROXY_SSL_VERIFY=false n'affecte que les connexions HTTPS sortantes effectuées par le backend Python (plugins, empreinte numérique, explorateur). Le navigateur Playwright fonctionne déjà avec ignore_https_errors=true indépendamment de ce paramètre.

Avertissement : Ne définissez jamais PHISH_PROXY_SSL_VERIFY=false sans proxy configuré — cela désactiverait la validation des certificats pour tous les appels API externes (URLhaus, VirusTotal).


API REST

Chemin de base : /api/v1

MéthodeCheminDescription
POST/collectionsSoumettre une URL pour collecte
GET/collectionsLister toutes les collectes
GET/collections/{id}Détail complet + empreinte numérique
GET/collections/{id}/screenshotPNG pleine page
GET/collections/{id}/htmlHTML capturé (téléchargé en texte brut)
GET/collections/{id}/requestsJournal des requêtes réseau
GET/collections/{id}/spiderRésultats de l'explorateur
GET/collections/{id}/pluginsRésultats des plugins de renseignement sur les menaces
POST/collections/{id}/plugins/refreshRelancer les plugins (ex. récupérer un résultat VT en attente)
POST/collections/{id}/rescanRe-collecter la même URL (l'original est conservé)
PATCH/collections/{id}Mettre à jour les tags et notes
GET/collections/{id}/export?format=json|csvExporter les données de la collecte
DELETE/collections/{id}Supprimer une collecte et tous ses artefacts
GET/searchRechercher des empreintes numériques par IP, hash de favicon, technologie, pays, titre

Documentation interactive complète à /docs (Swagger UI).

Soumettre un scan

curl -X POST http://localhost:8000/api/v1/collections \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://suspicious-site.example.com", "use_wordlist": true}'

CLI

# Installer (dans le conteneur ou venv local avec requirements.txt)
pip install -e .

# Soumettre une URL et attendre la fin
phishcollector collect https://target.example.com --wait

# Avec fuzzing de liste de mots
phishcollector collect https://target.example.com --wordlist --wait

# Lister les tâches récentes
phishcollector list

# Voir les détails complets
phishcollector detail <job-id>

# Télécharger la capture d'écran
phishcollector screenshot <job-id> -o capture.png

# Rechercher par pile technologique / hash de favicon / pays
phishcollector search --tech WordPress --country RU
phishcollector search --favicon-hash -1234567890

Plugins de renseignement sur les menaces

URLhaus (abuse.ch)

Nécessite une Auth-Key gratuite depuis auth.abuse.ch.

PHISH_URLHAUS_ENABLED=true
PHISH_URLHAUS_API_KEY=<votre-cle-auth>

VirusTotal

Nécessite une clé API gratuite ou payante depuis virustotal.com.

PHISH_VIRUSTOTAL_API_KEY=<votre-cle>

Lorsqu'une URL n'a pas encore été analysée par VT, PhishCollector la soumet pour analyse et récupère automatiquement le résultat toutes les 30 secondes jusqu'à résolution.

Ajouter vos propres plugins

Chaque plugin est un fichier unique dans phishcollector/plugins/ qui expose une fonction asynchrone :

# phishcollector/plugins/myplugin.py
from . import CheckResult

async def check(url: str, proxy_url=None, ssl_verify=True) -> CheckResult:
    # interroger votre flux / API ici
    return CheckResult(
        plugin_name="myplugin",
        status="malicious",   # malicious | suspicious | clean | unknown | error
        score=0.95,           # 0.0–1.0, ou None
        result={"raw": ...},  # stocké en JSONB, affiché dans le GUI
    )

Ensuite, enregistrez-le dans phishcollector/plugins/runner.py :

from .myplugin import check as myplugin_check
tasks.append(myplugin_check(url, proxy_url=settings.proxy_url, ssl_verify=settings.proxy_ssl_verify))
Télécharger l’outil