这是一个针对 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 等列表。