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/nict-csl/exist
Indicator of Compromise (IOC) ManagementOSINT (Open Source Intelligence)Threat Feeds & AggregatorsVulnerability AnalysisInformation GatheringThreat IntelligenceLearning & EducationIncident ResponseLog AnalysisArchived
GitHubnict-csl/exist

exist

15229il y a 5 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

EXIST is a web application for aggregating and analyzing cyber threat intelligence.

Voir le dépôt

EXIST (Système d'agrégation d'informations externes contre les cybermenaces)

⚠️ Ce dépôt n'est plus maintenu / archivé. Les problèmes de sécurité ne seront pas corrigés.

EXIST est une application web pour l'agrégation et l'analyse de CTI (renseignement sur les cybermenaces).

EXIST est développé avec les logiciels suivants.

  • Python 3
  • Django 1.11

Concept

EXIST est une application web pour l'agrégation de CTI afin d'aider les opérateurs de sécurité à enquêter sur les incidents en se basant sur des indicateurs connexes.

EXIST récupère automatiquement des données de plusieurs services CTI et de Twitter via leurs API et flux. Vous pouvez effectuer des recherches croisées d'indicateurs via l'interface web et l'API.

Si vous avez des serveurs qui enregistrent les comportements réseau des clients (par exemple, les journaux des serveurs DNS et proxy HTTP, etc.), vous pourrez analyser les journaux en les corrélant avec les données d'EXIST. Si vous implémentez des programmes en utilisant l'API, vous réaliserez un centre d'opérations de sécurité automatisé piloté par CTI.

overview

Cas d'utilisation

Cas 1 : Enquêter sur un domaine détecté par IDS

Il suffit de saisir le domaine dans le formulaire de recherche.

lookup_domain

Cas 2 : Accéder à l'URL malveillante au nom de l'utilisateur et acquérir l'image d'affichage du navigateur et les contenus à télécharger

Il suffit de saisir l'URL dans le formulaire de recherche.

lookup_url

Cas 3 : Surveiller les cybermenaces

Il suffit d'ajouter des mots-clés dans Threat Hunter ou Twitter Hunter.

twitter_hunter

Fonctionnalités

Tracker

Tracker collecte automatiquement des flux de données à partir de plusieurs services CTI.

  • Threat Tracker
  • Reputation Tracker
  • Twitter Tracker
  • Exploit Tracker
  • News Tracker
  • Vuln Tracker

Hunter

Hunter nous permet de définir des requêtes pour collecter des données à partir de plusieurs services CTI et Twitter.

  • Twitter Hunter
  • Threat Hunter
  • News Hunter

Lookup

Lookup récupère des informations relatives à des informations spécifiques (par exemple, adresse IP, domaine) à partir de plusieurs services Internet (par exemple, whois).

  • IP Address
  • Domain
  • URL
  • File Hash

Outils

Un outil pour annoter les tweets du tracker Twitter.

  • Annotation Tool

Web API

Fournir les données stockées dans la base de données EXIST via l'API Web.

  • reputation
  • twitter
  • exploit
  • threatEvent
  • threatAttribute
  • news
  • vuln

Pour commencer

Par la suite, je suppose un environnement CentOS 7 ou Ubuntu 18.04 LTS. Veuillez le faire à vos risques et périls lors d'un déploiement dans un autre environnement.

Install python modules

root@kitploit:~
$ sudo pip install -r requirements.txt

Install MariaDB

  • CentOS 7
root@kitploit:~
$ curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
$ sudo yum install MariaDB-server MariaDB-client
  • Ubuntu 18.04 LTS
root@kitploit:~
$ sudo apt install mariadb-server mariadb-client

Run database

root@kitploit:~
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Configuration de la base de données

  • Créer une base de données et un utilisateur.
  • Créer un fichier .env en référence à .env.example. Et modifiez-le selon les paramètres de votre base de données.

Générer une clé secrète pour Django

La clé secrète pour Django doit être écrite dans le fichier .env.

D'abord, exécutez le générateur de clé :

root@kitploit:~
$ python keygen.py
(example)> 70mm6h)()h3r&*b9xq$e52=-7($p=5983gfoyz%$d-j-gd7u5@

et écrivez la clé secrète dans le fichier .env :

root@kitploit:~
...
# EXIST Application Settings
EXIST_SECRET_KEY="70mm6h)()h3r&*b9xq$e52=-7($p=5983gfoyz%$d-j-gd7u5@"
...

Migrer la base de données

root@kitploit:~
$ python manage.py makemigrations exploit reputation threat threat_hunter twitter twitter_hunter news news_hunter vuln
$ python manage.py migrate

Install Redis server

Le tracker de réputation utilise Redis comme backend du serveur de cache Celery.

  • CentOS 7
root@kitploit:~
$ sudo yum install redis
$ sudo systemctl start redis
$ sudo systemctl enable redis
  • Ubuntu 18.04 LTS
root@kitploit:~
$ sudo apt install redis-server
$ sudo systemctl start redis-server
$ sudo systemctl enable redis-server

Configurer Celery

Le tracker de réputation utilise Celery comme file d'attente de tâches asynchrones.

  • Créez une configuration celery. Je recommande que la configuration soit définie sur les chemins suivants :
    • CentOS 7: /etc/sysconfig/celery
    • Ubuntu 18.04 LTS: /etc/celery.conf
root@kitploit:~
# Name of nodes to start
# here we have a single node
CELERYD_NODES="w1"
# or we could have three nodes:
#CELERYD_NODES="w1 w2 w3"

# Absolute or relative path to the 'celery' command:
CELERY_BIN="/path/to/your/celery"

# App instance to use
# comment out this line if you don't use an app
CELERY_APP="intelligence"
# or fully qualified:
#CELERY_APP="proj.tasks:app"

# How to call manage.py
CELERYD_MULTI="multi"

# Extra command-line arguments to the worker
CELERYD_OPTS="--time-limit=300 --concurrency=8"

# - %n will be replaced with the first part of the nodename.
# - %I will be replaced with the current child process index
# and is important when using the prefork pool to avoid race conditions.
CELERYD_PID_FILE="/var/run/celery/%n.pid"
CELERYD_LOG_FILE="/var/log/celery/%n%I.log"
CELERYD_LOG_LEVEL="INFO"
  • Créez un script de gestion de service celery sur /etc/systemd/system/celery.service. De plus, vous devez définir le chemin de votre configuration celery dans EnvironmentFile.
root@kitploit:~
[Unit]
Description=Celery Service
After=network.target

[Service]
Type=forking
User=YOUR_USER
Group=YOUR_GROUP
EnvironmentFile=/etc/sysconfig/celery
WorkingDirectory=/path/to/your/exist
ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} \
--pidfile=${CELERYD_PID_FILE}'
ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'

[Install]
WantedBy=multi-user.target
  • Créez les répertoires de log et d'exécution Celery.
root@kitploit:~
$ sudo mkdir /var/log/celery; sudo chown YOUR_USER:YOUR_GROUP /var/log/celery
$ sudo mkdir /var/run/celery; sudo chown YOUR_USER:YOUR_GROUP /var/run/celery
  • Créez un fichier de configuration dans /etc/tmpfiles.d/exist.conf
root@kitploit:~
#Type  Path               Mode  UID        GID         Age  Argument
d      /var/run/celery    0755  YOUR_USER  YOUR_GROUP  -
  • Exécuter Celery
root@kitploit:~
$ sudo systemctl start celery.service
$ sudo systemctl enable celery.service

Exécuter le serveur web

root@kitploit:~
$ python manage.py runserver 0.0.0.0:8000
  • Accédez à http://[YourWebServer]:8000 avec votre navigateur.
  • WebAPI: http://[YourWebServer]:8000/api/

Note : Je recommande d'utiliser Nginx et uWSGI pour un environnement de production.

Collecter les flux

Les scripts pour insérer les flux dans la base de données sont scripts/insert2db/*/insert2db.py.

Configurer insert2db

  • Les fichiers de configuration sont scripts/insert2db/conf/insert2db.conf. Créez-le en référence à insert2db.conf.template.
  • Si vous utilisez MISP, écrivez l'URL MISP et la clé API dans insert2db.conf.
  • Si vous utilisez Malshare, écrivez votre clé API dans insert2db.conf.
  • Créez votre compte API Twitter sur https://developer.twitter.com/ pour le suivi avec EXIST.
  • Créez une application pour EXIST.
  • Obtenez la clé API Consumer (CA), la clé secrète API Consumer (CS), le jeton d'accès (AT) et le secret du jeton d'accès (AS).
  • Écrivez CA, CS, AT, AS dans insert2db.conf.

Exécuter les scripts

root@kitploit:~
$ python scripts/insert2db/reputation/insert2db.py
$ python scripts/insert2db/twitter/insert2db.py
$ python scripts/insert2db/exploit/insert2db.py
$ python scripts/insert2db/threat/insert2db.py
$ python scripts/insert2db/news/insert2db.py
$ python scripts/insert2db/vuln/insert2db.py

Note : Pour automatiser la collecte d'informations, écrivez-les dans votre crontab.

Paramétrage du hunter

Twitter Hunter

Twitter Hunter peut détecter les tweets contenant des mots-clés spécifiques et un ID utilisateur. Vous pouvez également notifier Slack si nécessaire.

  • Les fichiers de configuration sont scripts/hunter/conf/hunter.conf. Créez-le en référence à hunter.conf.template.
  • Si vous utilisez Slack, écrivez votre jeton Slack dans hunter.conf.
  • Créez votre compte API Twitter sur https://developer.twitter.com/.
  • Créez 18 applications pour EXIST.
  • Obtenez 18 clés API Consumer (CA), clés secrètes API Consumer (CS), jetons d'accès (AT), secrets de jetons d'accès (AS).
  • Écrivez CA, CS, AT, AS dans auth-hunter[00-18] dans hunter.conf.
  • Faites exécuter scripts/hunter/twitter/tw_watchhunter.py chaque minute via cron pour rendre Twitter Hunter persistant.

Threat Hunter

Threat Hunter peut détecter les événements de menace contenant des mots-clés spécifiques. Vous pouvez également notifier Slack si nécessaire.

  • Les fichiers de configuration sont scripts/hunter/conf/hunter.conf. Créez-le en référence à hunter.conf.template.
  • Si vous utilisez Slack, écrivez votre jeton Slack dans hunter.conf.
  • Faites exécuter scripts/hunter/threat/th_watchhunter.py chaque minute via cron pour rendre Threat Hunter persistant.

Autres outils et paramètres requis

VirusTotal API

EXIST utilise l'API VirusTotal.

  • Créez votre compte VirusTotal.
  • Écrivez votre clé API dans conf/vt.conf.

Note : Vous obtenez plus d'informations si vous possédez une clé API privée.

GeoIP DB

Lookup IP / Domain utilise la base de données GeoLite2.

  • Téléchargez la base GeoIP DB depuis http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
  • Écrivez le chemin vers GeoLite2-City.mmdb dans votre conf/geoip.conf.

wkhtmltopdf et Xvfb

Lookup URL utilise wkhtmltopdf et Xvfb.

  • Téléchargez et installez wkhtmltopdf depuis https://wkhtmltopdf.org/downloads.html
  • Installez Xvfb.
root@kitploit:~
$ sudo yum install xorg-x11-server-Xvfb

Si vous déployez EXIST sur Ubuntu 18.04 LTS, vous pouvez installer ces paquets avec apt.

root@kitploit:~
$ sudo apt install wkhtmltopdf xvfb

Purger les anciennes données

  • Les fichiers de configuration sont scripts/url/url.conf. Créez-le en référence à url.conf.template.
  • Faites exécuter scripts/url/delete_webdata.sh chaque jour via cron pour purger les anciennes données de Lookup URL.
  • Faites exécuter scripts/url/delete_oldtaskresult.sh chaque jour via cron pour purger les anciennes données Celery.

AnnotationTool

Un outil d'annotation pour créer des données d'entraînement pour les tweets. Cet outil est destiné aux chercheurs en apprentissage automatique.

Comment l'utiliser

  1. Vérifiez la cible d'annotation. annotation_target
  2. Cliquez sur le bouton Annotation. annotation_button
  3. Sélectionnez le mot à étiqueter annotation_labeled
  4. Cliquez sur le bouton d'étiquette.
  5. Enregistrer

Signaler une vulnérabilité

Veuillez nous envoyer un e-mail si vous trouvez des vulnérabilités.

Vulnerability Report Template

Crédits

Ce produit inclut des données GeoLite2 créées par MaxMind, disponibles sur https://www.maxmind.com.

Licence

Licence MIT © Cybersecurity Laboratory, NICT

Télécharger l’outil