
CVE-2023-29930に関する情報とエクスプロイト: Genesys TFTPプロビジョニングサーバ構成におけるブラインドファイル読み書き
これはGenesys(旧InIn)TFTPプロビジョニングサーバーにおけるブラインドファイル読み取り/書き込みの脆弱性のためのエクスプロイトスクリプトです。
この脆弱性は、TFTPのルートパスとファイル拡張子に対する構成オプションの制限がないために発生します。言い換えれば、管理インターフェースからTFTPを任意のディレクトリに変更し、好きなファイルをアップロードまたはダウンロードできます。
(ただし、TFTPプロトコルはファイル一覧を許可しないため、これがブラインドファイル読み取りの脆弱性となっています。)
さらに問題を悪化させているのは、サーバーがデフォルトで既知のハードコードされた認証情報を使用し、ユーザーに変更を強制しないことです。
分類としては、以下のCWEの側面があります:
既知の全バージョンが影響を受けます。
現時点での最善の緩和策は、TFTP構成サーバーの管理認証情報を更新することです。
このエクスプロイトは、JupyterノートブックまたはPython REPLループで使用することをお勧めします。より高度なユースケースの場合は、独自のスクリプトを作成してこのファイルをインポートしてください。
メインのPythonファイルをインポートし、クラスをインスタンス化して、好きなようにget_fileとput_fileを呼び出してください。
$ python3
>>> from tftplunder import TFTPlunder
>>> tp=TFTPlunder("example.com")
>>> tp.get_file("C:/Windows/Panther/Unattended.xml")
>>> tp.get_file("C:/ProgramData/ntuser.pol")
など
ヒント: ntuser.polのデコードについては https://github.com/jtpereyda/regpol を参照してください
また、他の試すファイルの例として https://github.com/soffensive/windowsblindread/blob/master/windows-files.txt のようなリストを参照してください。