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
Outils/GitHubGitHub/yakushstanislav/ultraviolet
ReconnaissanceScanners de VulnérabilitésSécurité IoTCartographie RéseauScan de PortsSécurité SCADA/ICSRenseignement sur les MenacesRéponse aux IncidentsAnalyse DNS

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 →
UltraViolet — Moteur de découverte réseau et de recherche auto-hébergé avec scan de ports continu, sondage approfondi de protocoles sur ~100 services, mise en correspondance locale de CVE, et recherche en texte intégral pour l'inventaire d'infrastructure et la surveillance des risques. | Kitploit
GitHubyakushstanislav/ultraviolet

UltraViolet

Moteur de découverte réseau et de recherche auto-hébergé avec scan de ports continu, sondage approfondi de protocoles sur ~100 services, mise en correspondance locale de CVE, et recherche en texte intégral pour l'inventaire d'infrastructure et la surveillance des risques.

Voir le dépôt
43il y a 2 moisVérifié par Kitploit
Partager

UltraViolet

Découverte réseau et recherche auto-hébergée — votre propre Shodan, sur votre matériel.

Scan TCP/UDP · ~100 sondes de protocole · Empreintes TLS/JARM · Correspondance CVE · Recherche en texte intégral · Suivi des différences · Alertes


Go React PostgreSQL Docker CI License: MIT

Démarrage rapide · Fonctionnalités · Architecture · Documentation · Production


Important. Scannez uniquement les réseaux que vous possédez ou pour lesquels vous avez une autorisation écrite. UltraViolet effectue une reconnaissance passive des services — il n'exploite pas de vulnérabilités.

Pourquoi UltraViolet

Monolocataire, une seule pile Docker Compose, contrôle total de vos données.

✨ Fonctionnalités

Découverte

  • Scanneur TCP connect avec masscan ou zmap comme moteur de découverte
  • Sondes UDP sur ports configurables
  • Limité par SCAN_ALLOWED_CIDRS avec limites d'hôtes et de ports

Sondes approfondies (~100 protocoles)

  • Web : HTTP/HTTPS, HTTP/3, GraphQL, hash favicon, robots.txt, security.txt, pile technologique
  • TLS : chaînes de certificats, JARM, JA3S/JA4S, notation de configuration
  • Messagerie et annuaires : SMTP, POP3/IMAP, LDAP, IPMI
  • Bases de données et files d'attente : MySQL, PostgreSQL, MongoDB, Redis, Kafka, MQTT, NATS, AMQP…
  • ICS/SCADA : Modbus, BACnet, DNP3, IEC 104, S7Comm, ENIP, OPC UA…
  • IoT et média : ONVIF, RTSP, Chromecast, AirPlay, UPnP…
  • Liste complète dans la documentation des protocoles

Enrichissement

  • DNS inversé, GeoIP (MMDB), ASN
  • DNS direct optionnel et découverte par logs CT

CVE et risque

  • Miroir NVD local avec synchronisation en arrière-plan et correspondance par empreinte
  • CISA KEV et FIRST EPSS

Opérations

  • RBAC (viewer / operator / admin), JWT + jetons de rafraîchissement
  • Planifications de scan, pause/reprise, récupération des orphelins après redémarrage du worker
  • Prometheus /metrics, profil Grafana optionnel
  • Journal d'audit, limitation de débit, politiques de rétention

🏗 Architecture

root@kitploit:~
flowchart TB
  Browser["Browser"]
  FE["service-frontend<br/>React + nginx"]
  API["uv-api<br/>REST · WS · metrics"]
  PG[("PostgreSQL 16")]
  SCAN["uv-scanner<br/>probe pipeline"]

  Browser --> FE
  FE -->|"/api"| API
  FE -->|"/realtime"| API
  API <--> PG
  SCAN <--> PG
  API -.->|LISTEN/NOTIFY| API

L'image de l'interface de publication fait proxy vers /api/ et /realtime vers uv-api — origine unique, pas de reconstruction du frontend par URL d'API.

Règles de développement backend : CLAUDE.md.

🚀 Démarrage rapide

Prérequis : Docker Engine ≥ 24, ~4 Go de RAM, Linux amd64 pour les images de production.

root@kitploit:~
git clone https://github.com/yakushstanislav/UltraViolet.git
cd UltraViolet/service-env

cp .env.example .env
mkdir -p secrets
openssl rand -hex 32 > secrets/postgres_password
openssl rand -hex 32 > secrets/auth_jwt_secret

cd ..
make dev
URLObjectif
http://localhost:3000Interface utilisateur (API via nginx /api/)
http://localhost:8080API directement

Amorçage développement : admin / admin (uniquement quand APP_ENV≠production).

📖 Documentation

Guide complet — VitePress dans service-documentation-frontend/docs/ :

root@kitploit:~
make docs-dev    # → http://localhost:5173

En production, activez le profil docs :

root@kitploit:~
cd service-env && docker compose --profile docs up -d
# → http://localhost:${UV_DOCUMENTATION_PORT:-3002}

Sections clés : installation · scan · API · déploiement · installation hors ligne.

🛠 Développement

Docker complet

root@kitploit:~
make dev    # compose production + override développement, recompilation à chaud

Mode hybride (itération back-end plus rapide)

root@kitploit:~
make dev-db   # PostgreSQL uniquement sur :5432

cd service-api && make build
export LOGGER_NAME=uv-api LOGGER_DEBUG=true
export SERVER_ADDR=0.0.0.0 SERVER_PORT=8080
export METRICS_ADDR=0.0.0.0 METRICS_PORT=9090
export REALTIME_ADDR=0.0.0.0 REALTIME_PORT=8081
export POSTGRES_ADDR=localhost POSTGRES_PORT=5432
export POSTGRES_USERNAME=ultraviolet
export POSTGRES_PASSWORD="$(cat ../service-env/secrets/postgres_password)"
export POSTGRES_DATABASE=ultraviolet
export POSTGRES_SCHEMA_PATH="$(pwd)/deploy/migrations"
export AUTH_JWT_SECRET="$(cat ../service-env/secrets/auth_jwt_secret)"
./bin/uv-api

Frontend : cd service-frontend && npm run dev (Vite proxy /api → :8080, /realtime → :8081).

GeoIP et CVE

root@kitploit:~
cd service-env && make geoip-download      # IPLocate MMDB → geoip/
make -C service-env cve-catalog-dump       # Vidage CVE (nécessite postgres en cours)

Construire sans Docker

root@kitploit:~
make build && make lint && make frontend-build && make docs-build

📦 Version et installation

Plateforme cible : linux/amd64. Sur Apple Silicon, définissez DOCKER_PLATFORM=linux/amd64 pour les archives hors ligne.

root@kitploit:~
git tag v0.1.0
make release VERSION=v0.1.0
make release-promote VERSION=v0.1.0   # :latest — étape séparée
ArchiveContenu
ultraviolet-vX.Y.Z.tar.gzcompose, scripts, .env.example (~50 Ko, en ligne)
ultraviolet-vX.Y.Z-offline.tar.gz+ images Docker amd64
ultraviolet-vX.Y.Z-offline-full.tar.gz+ seed CVE + GeoIP MMDB

En ligne : extraire → cp .env.example .env → ./install.sh (tirer du registre).

Hors ligne : ./install.sh (docker load, pas de pull). Mise à niveau : conservez .env, secrets/ et le volume Postgres → ./upgrade.sh.

Variables : UV_REGISTRY (par défaut docker.io/ultraviolet), DRY_RUN=1 — construction locale sans pousser.

Installation hors ligne — étape par étape
root@kitploit:~
# depuis la machine de construction
scp dist/ultraviolet-v0.1.0-offline.tar.gz user@host:~/

# sur le serveur (Docker ≥ 24, amd64)
tar xzf ultraviolet-v0.1.0-offline.tar.gz && cd ultraviolet-v0.1.0
cp .env.example .env
./install.sh

Mise à niveau (préserver les données) :

root@kitploit:~
docker compose -f docker-compose.yml down
# sauvegarder .env + secrets/, extraire la nouvelle archive, lancer ./upgrade.sh

Gardez le nom du répertoire (ultraviolet-v0.1.0) stable — le volume Docker postgres-data y est lié.

✅ Liste de vérification production

  1. Stockez les secrets dans secrets/, jamais dans git.
  2. Définissez CORS_ALLOWED_ORIGINS aux seules origines réelles de l'UI.
  3. Configurez SCAN_ALLOWED_CIDRS et les limites d'hôtes/ports.
  4. Modifiez le mot de passe d'amorçage et AUTH_JWT_SECRET (install.sh rejette les placeholders).
  5. Définissez APP_ENV=production — uv-api refuse admin/admin et les mots de passe de moins de 8 caractères.
  6. Terminez TLS au niveau du proxy inverse — exemple : service-env/examples/nginx-tls.conf.
  7. Derrière un proxy : définissez AUDIT_TRUST_PROXY_HEADERS=true.
  8. Sauvegardez PostgreSQL : service-env/scripts/backup.sh + cron ; upgrade.sh crée aussi un dump.
HTTPS, déploiement sous-chemin, cron de sauvegarde

Terminaison TLS sur nginx externe — liez l'UI uniquement sur loopback :

root@kitploit:~
# docker-compose.override.yml
services:
  service-frontend:
    ports:
      - "127.0.0.1:3000:8080"
root@kitploit:~
CORS_ALLOWED_ORIGINS=https://ultraviolet.example.com
AUDIT_TRUST_PROXY_HEADERS=true

Sous-chemin (/ultraviolet/) :

root@kitploit:~
VITE_BASE_PATH=/ultraviolet/ make frontend-build
# UV_BASE_PATH=/ultraviolet/ dans compose — doit correspondre à VITE_BASE_PATH

Cron de sauvegarde (quotidien, rétention 14 jours) :

root@kitploit:~
0 3 * * * cd /opt/ultraviolet/service-env && ./scripts/backup.sh && find backups -name 'uv-*.dump' -mtime +14 -delete

Rafraîchissement GeoIP (1er de chaque mois) :

root@kitploit:~
0 4 1 * * cd /opt/ultraviolet/service-env && ./scripts/geoip-refresh.sh >> /var/log/uv-geoip.log 2>&1

🔐 API et RBAC

Après POST /v1/auth/login, vous recevez un access_token (Bearer) et un refresh_token (/v1/auth/refresh).

RôleCapacités
viewerLecture des hôtes, recherche, CVE, tableau de bord
operator+ lancer et gérer les scans
admin+ utilisateurs, audit, paramètres

GET /v1/me · GET /v1/version · GET /readyz (santé + version + commit).

🤝 Contribution

Voir CONTRIBUTING.md. Rapports de sécurité : SECURITY.md. Normes communautaires : CODE_OF_CONDUCT.md.

📄 Licence

UltraViolet est publié sous la Licence MIT.


UltraViolet — découvrez ce que vous possédez, comprenez ce qui a changé, gardez-le sur votre réseau.

Télécharger l’outil
Cas d'usageCe que vous obtenez
Inventaire et périmètreDécouverte continue des ports ouverts et des services sur des plages CIDR
Recherche infrastructureRecherche en texte intégral sur les corps HTTP, bannières, TLS, DNS et CVE
Risque et conformitéCorrespondance NVD locale + CISA KEV et EPSS — aucune dépendance cloud
Déploiements isolésArchive hors ligne avec images Docker, seed CVE et GeoIP MMDB sur disque
Suivi des changementsDifférences entre scans, événements WebSocket, alertes sur recherches sauvegardées
RépertoireObjectif
service-api/Go : uv-api (API HTTP, WebSocket, workers) + uv-scanner (pipeline)
service-frontend/React 19 + Vite + RTK — scans, hôtes, recherche, tableau de bord
service-documentation-frontend/VitePress — documentation utilisateur et opérateur
service-env/docker-compose, secrets, install.sh / upgrade.sh / sauvegarde
http://localhost:9090/metricsPrometheus
  • Métriques sur :9090/metrics ; Grafana via le profil observability.
  • Rafraîchissez GeoIP : service-env/scripts/geoip-refresh.sh selon un cron mensuel.