Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
odat — Outil de test d'intrusion pour bases de données Oracle qui découvre des SID valides, force les identifiants par brute force, élève les privilèges au niveau DBA, exécute des commandes système et exploite des CVE connues. | Kitploit
Outils/GitHubGitHub/quentinhardy/odat
Escalade de PrivilègesScanners de VulnérabilitésAttaques de Mots de PasseExploitationTests d'IntrusionCommandement et ContrôleSécurité des Bases de Données
GitHubquentinhardy/odat

odat

Outil de test d'intrusion pour bases de données Oracle qui découvre des SID valides, force les identifiants par brute force, élève les privilèges au niveau DBA, exécute des commandes système et exploite des CVE connues.

Voir le dépôt
1.8k34938il y a 6 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
Quentin HARDY
[email protected]
[email protected]

ODAT

ODAT (Oracle Database Attacking Tool) est un outil de test d'intrusion open source qui teste la sécurité des bases de données Oracle à distance.

Exemples d'utilisation d'ODAT :

  • Vous avez une base de données Oracle qui écoute à distance et souhaitez trouver des SID et identifiants valides pour vous connecter à la base de données.
  • Vous disposez d'un compte Oracle valide sur une base de données et souhaitez augmenter vos privilèges pour devenir DBA ou SYSDBA.
  • Vous avez un compte Oracle et souhaitez exécuter des commandes système (par exemple, reverse shell) afin de progresser sur le système d'exploitation hébergeant la base de données.

Testé sur Oracle Database 10g, 11g, 12c, 18c et 19c.

Version ODAT linux standalone disponible à https://github.com/quentinhardy/odat/releases/. Il est recommandé d'utiliser la version de développement (git clone), branche master-python3 (version python 3).

Journal des modifications

  • Version 5.1.1 (27/04/2022) :
    • affiche un message d'avertissement lorsqu'une erreur "ORA-12519 - TNS:no appropriate service handler found" se produit. Cette erreur peut être déclenchée par le serveur de base de données (listener) lorsque trop de connexions ont été établies (lors du bruteforce d'identifiants par exemple). Dans ce cas, l'option --sleep doit être utilisée (par exemple --sleep 0.2).
  • Version 5.1 (12/03/2021) :
    • nouvelle option dans le module all : --nmap-file pour charger toutes les bases de données Oracle depuis un fichier de sortie XML de nmap.
    • nouvelle option dans le module all : -l pour charger toutes les cibles depuis un fichier texte (ip:port ou ip sur chaque ligne).
    • Dans le module all, une connexion TCP est testée sur chaque cible avant de lancer les tests ODAT maintenant. --timeout-tcp-check permet de gérer la valeur du délai d'attente.
    • Dans le module all, un test est maintenant effectué sur chaque cible pour vérifier si le listener TNS est bien configuré. Ce test est effectué après le test de connexion TCP.
    • nouvelle option globale : --client-driver. Permet de définir le nom du client pour la connexion à la base de données (client_driver de V$SESSION_CONNECT_INFO). Utile pour les applications dont les utilisateurs finaux ne savent pas que cx_Oracle est utilisé. Par défaut, 'sql*plus' maintenant.
    • ODAT accepte désormais un fichier sqlnet.ora. Un fichier par défaut se trouve dans conf/. Le délai d'attente TCP et OUTBOUND (connexion TNS) est maintenant fixé à 60 secondes par défaut.
  • Version 5.0 (08/02/2021) :
    • Nouveau module important : Service Name Guesser, pour rechercher des noms de service valides. Module spécifique nommé snguesser et intégré également dans le module all. Par défaut, le module all recherche désormais tous les noms de service valides après avoir recherché les SID. Les SID peuvent être identiques au nom de service. Lorsqu'un nom de service est trouvé mais pas de SID, le nom de service peut être utilisé comme SID pour la connexion.
    • Option --basic-info dans le module search pour obtenir des informations techniques de base sur la base de données/instance. Elle récupère le nom de service, le SID, les bases de données, le statut d'Oracle Database Vault, le statut Java, le nom d'hôte, l'adresse IP du serveur, la politique de mot de passe, les privilèges système actuels, les rôles actuels, les correctifs (quand >= 12c et que l'utilisateur est privilégié), etc. Nécessite des privilèges élevés pour des informations très intéressantes (par exemple, politique de mot de passe et statut de verrouillage).
    • Reverse shell implémenté dans le module DbmsScheduler lorsque la cible est Windows. Démarre un serveur http minimal, fait télécharger le code powershell par la base de données Oracle et l'exécute à distance. L'utilisateur dispose d'un shell PS interactif. Le fichier téléchargé est automatiquement supprimé.
    • Option --make-download implémentée dans DbmsScheduler pour faire télécharger un fichier script/binaire à une cible Windows.
    • Correction de bug dans la sortie du module DbmsScheduler (printOSCmdOutput()).
    • Meilleures explications dans le module DbmsScheduler (options).
  • Version 4.3 (28/06/2020) :
    • nouvelle option : --both-ul. Essaie chaque mot de passe en minuscules et en majuscules si ce n'est pas fait dans le(s) fichier(s) d'identifiants.
    • nouvelle option : --random-order. Teste les comptes dans un ordre aléatoire. Par défaut, utilise l'ordre du fichier texte.
    • tous les mots de passe sont maintenant testés en minuscules par défaut (fichiers de comptes modifiés de majuscules en minuscules).
    • quelques nouveaux comptes.
  • Version 4.2 (04/02/2020) :
    • shell SQL interactif minimal dans le module search.
    • nouvelle fonctionnalité pour télécharger des fichiers avec DBMS_XSLPROCESSOR.read2clob dans le module DbmsXslprocessor.
    • amélioration pour obtenir le système d'exploitation distant après l'authentification.
    • correction de bugs (par exemple, taille du terminal).
  • Version 4.1 (15/01/2020) :
    • Option pour la connexion avec SERVICE NAME au lieu de SID.
    • Encodage UTF-8 par défaut pour certaines opérations (par exemple, NVARCHAR2 et NCLOB, VARCHAR2 et CLOB).
    • Plusieurs corrections de bugs (problèmes d'encodage).
  • Version 4.0 (10/08/2019) :
    • Odat avec python 3, version stable.
  • Version 3.0 (01/09/2019) :
    • Compatible avec Oracle Database 18c.
    • Nouvelle option dans le module Java pour définir le chemin vers le shell (par exemple /usr/bin/sh sur CentOS).
  • Version 2.3.2 (16/07/2019) :
    • Corrections de bugs :
      • table externe et faux négatif.
  • Version 2.3.1 (10/08/2018) :
    • Nouvelle option dans le module Java pour exploiter CVE-2018-3004 : permet à un utilisateur authentifié d'écrire arbitrairement dans des fichiers sur le système d'exploitation (escalade de privilèges en contournant la sécurité Java JVM intégrée d'Oracle). Plus de détails http://obtruse.syfrtext.com/2018/07/oracle-privilege-escalation-via.html.
  • Version 2.3 (03/06/2018) :
    • Corrections de bugs :
      • Certains identifiants de base de données pouvaient ne pas être détectés dans le module passwordguesser (lorsqu'il tente de se connecter en SYSDBA/SYSOPER avant). Correction de bug importante !
      • PPoutput manquant dans le module smb (merci à dirkjanm)
      • Faux positif dans le module tnspoison
      • Parfois, impossible d'obtenir la version à partir de VSNNUM.
    • Améliorations :
      • Améliorations des performances lors du bruteforce de comptes.
      • Option pour la connexion avec une chaîne de connexion TNS.
      • Nouvelles identifiants triviaux dans le fichier de comptes.
      • Meilleure méthode de lecture de fichier dans le module dbmsLob (merci à omair2084).
  • Version 2.2.1 (12/04/2017) :
    • Corrections de bugs :
      • Version dans tnscmd (info).
      • Module externe (Intercepter une erreur Oracle).
      • Intercepter l'erreur lorsque "connection to server failed".
      • Tnscmd : "The server SID must be given with the '-d SID' option".
      • Correction de bug TypeError dans le module tnspoison.
      • Module d'empoisonnement TNS lorsque le port != 1521 (bug d'entier).
    • Améliorations :
      • Nouveaux SID.
  • Version 2.2 (25/03/2016) :
    • Un nouveau module (tnspoison) pour exploiter l'attaque d'empoisonnement du listener TNS (CVE-2012-1675). Un grand merci à Joxean Koret et donctl.
Télécharger l’outil