
Informations et exploit pour CVE-2023-29930 : lecture/écriture aveugle de fichiers dans la configuration du serveur de provisionnement TFTP Genesys
Ceci est un script d'exploitation pour une vulnérabilité de lecture/écriture aveugle de fichiers dans le serveur de provisioning TFTP de Genesys (anciennement InIn).
Cette vulnérabilité est due à des options de configuration non restreintes pour le chemin racine TFTP et les extensions de fichiers. En d'autres termes, à partir de l'interface d'administration, vous pouvez changer le TFTP vers n'importe quel répertoire et téléverser ou télécharger les fichiers de votre choix.
(Notez cependant que le protocole TFTP ne permet pas de lister les fichiers, ce qui fait de cette vulnérabilité une lecture de fichiers aveugle.)
Le problème est particulièrement aggravé par le fait que le serveur utilise par défaut des identifiants connus codés en dur et ne force pas l'utilisateur à les modifier.
En termes de classification, elle présente des aspects des CWE suivantes :
Toutes les versions connues à ce jour sont vulnérables.
La meilleure atténuation pour l'instant consiste simplement à mettre à jour les identifiants administrateur du serveur de configuration TFTP.
Je recommande de l'utiliser avec un notebook Jupyter ou la boucle REPL Python, ou, pour des cas d'utilisation plus avancés, d'écrire votre propre script et d'importer ce fichier. Il suffit d'importer le fichier Python principal, d'instancier la classe, puis d'appeler get_file et put_file comme vous le souhaitez.
$ python3
>>> from tftplunder import TFTPlunder
>>> tp=TFTPlunder("example.com")
>>> tp.get_file("C:/Windows/Panther/Unattended.xml")
>>> tp.get_file("C:/ProgramData/ntuser.pol")
etc.
astuce : voir https://github.com/jtpereyda/regpol pour vous aider à décoder ntuser.pol
et consultez des listes telles que https://github.com/soffensive/windowsblindread/blob/master/windows-files.txt pour des exemples d'autres fichiers à essayer.