Khắc phục lỗ hổng IIS dấu ngã


9

Một trong những máy chủ IIS của chúng tôi (IIS 7.5, Server 2008 R2) rõ ràng là "dễ bị tổn thương" đối với vấn đề tiết lộ Tên tệp ngắn .

Tuy nhiên, tôi đang có một thời gian khó khăn thực sự khắc phục vấn đề. Cho đến nay, tôi

  • Đã tắt tên tệp 8.3, dừng máy chủ web, tạo lại thư mục trang web và khởi động lại dịch vụ

  • Đã thêm quy tắc lọc cho dấu ngã trong URL:

nhập mô tả hình ảnh ở đây

  • Đã thêm quy tắc lọc cho dấu ngã MỌI NƠI:

nhập mô tả hình ảnh ở đây

  • IISRESET một đôi lần

  • Đã kiểm tra web.configcó thêm quy tắc lọc có liên quan không

.. nhưng vẫn không thể để trang web của tôi vượt qua bài kiểm tra :

java -jar ~/temp/IIS-ShortName-Scanner-master/IIS_shortname_scanner.jar http://www.example.com

[...SNIP...]

Testing request method: "TRACE" with magic part: "/webresource.axd" ...
Testing request method: "DEBUG" with magic part: "" ...
Testing request method: "OPTIONS" with magic part: "" ...
Testing request method: "GET" with magic part: "" ...
Reliable request method was found = GET
Reliable magic part was found = 
144 requests have been sent to the server:

<<< The target website is vulnerable! >>>

Tôi cần làm gì khác để giải quyết vấn đề này?

EDIT: đây DIR /xdường như không hiển thị tên tập tin 8.3:

nhập mô tả hình ảnh ở đây

và đây là nhóm ứng dụng cho trang web (tất cả các trang web khác trên máy chủ đều giống nhau):

nhập mô tả hình ảnh ở đây

EDIT2 : Xác minh không còn tên tệp 8.3:

nhập mô tả hình ảnh ở đây


Một cách nhanh chóng để kiểm tra lại nếu có bất kỳ tên 8.3 trong một thư mục dir /x. Trang web của bạn có thể có các liên kết tượng trưng đến các thư mục vẫn chứa tên 8.3 được tạo tự động.
Brian

Tôi không sợ bất kỳ tên tập tin 8.3 nào tôi sợ :(
KenD

Cài đặt .NET 4.0 (không dễ bị khai thác này) là công việc phổ biến khác xung quanh vấn đề này. Các bạn đã thử điều đó chưa?
HoplessN00b

.Net 4 đã được cài đặt và tất cả các nhóm ứng dụng trên máy chủ được đặt để sử dụng .NET Framework v4.0.30319- xem ảnh chụp màn hình trong phần chỉnh sửa ở trên.
KenD

4
Ồ Có thể nắm bắt được ống hút ở đây, nhưng bạn có chắc máy quét lỗ hổng mà bạn đang sử dụng là đáng tin cậy? Hãy thử một công cụ khác hoặc thử thực hiện cuộc tấn công bằng tay và xem những gì bạn thấy.
HoplessN00b

Câu trả lời:


6

Cố gắng quét các tên tệp ngắn hiện có với fsutil:

  • fsutil 8dot3name scan /s /v E:\inetpub\wwwroot

Và lột chúng nếu chúng được tìm thấy:

  • fsutil 8dot3name strip /s /v E:\inetpub\wwwroot

Cũng nhìn vào nhật ký với phần ma thuật trống ( magic part: ""), tôi tự hỏi có thể đó là một lỗi trong POC. Dòng này trong config.xml có vẻ như có thêm dấu phẩy sau /webresource.axd:

<entry> key="magicFinalPartList">
 <![CDATA[\a.aspx,\a.asp,/a.aspx,/a.asp,/a.shtml,/a.asmx‌​,/a.ashx,/a.config,/a.php,/a.jpg,/webresource.axd,,/a.xxx]]>
</entry>

Tôi đã hỏi dev. thông qua Twitter về nó và anh ấy đã trả lời:

Đối với các trường hợp hiếm hoi trong đó không có phần mở rộng được yêu cầu. Nhưng, gần đây đã gây ra nhiều vấn đề hơn! Tôi sẽ xóa nó ngay bây giờ.

Tôi loại bỏ nó khỏi tập tin cấu hình. Đây là khiếu nại thứ 2 vì vậy đây là thời điểm thích hợp cho sự thay đổi này.

Vì vậy, có vẻ như bây giờ bạn đã an toàn :)


Sợ không có thay đổi - xem "EDIT2" trong bài viết gốc của tôi :(
KenD

1
Nhìn vào nhật ký với phần ma thuật trống ( magic part: ""), tôi tự hỏi, đó có thể là một lỗi trong POC không. Dòng này trong config.xml trông giống như có thêm dấu phẩy sau /webresource.axd:<entry key="magicFinalPartList"><![CDATA[\a.aspx,\a.asp,/a.aspx,/a.asp,/a.shtml,/a.asmx,/a.ashx,/a.config,/a.php,/a.jpg,/webresource.axd,,/a.xxx]]></entry>
beatcracker

Điều đó rất thú vị - mặc dù, nhìn lại các bản sửa đổi, "dấu phẩy kép" đã có trong mã trong một thời gian. Xóa nó có nghĩa là thử nghiệm hiện đang chạy mà không có bất kỳ lỗi rõ ràng nào ...
KenD

Ha, bạn an toàn, xem cập nhật!
beatcracker

Tất cả công việc đó và chúng tôi đã an toàn tất cả cùng :) Cảm ơn sự giúp đỡ của bạn và liên hệ với nhà phát triển!
KenD

1

cũng "LƯU Ý: Thay đổi đối với mục đăng ký NtfsDisable8dot3NameCreation chỉ ảnh hưởng đến các tệp, thư mục và cấu hình được tạo sau khi thay đổi. Các tệp đã tồn tại không bị ảnh hưởng."

Lưu ý: Mặc dù vô hiệu hóa việc tạo tên tệp 8.3 làm tăng hiệu suất tệp trong Windows, một số ứng dụng (16 bit, 32 bit hoặc 64 bit) có thể không thể tìm thấy các tệp và thư mục có tên tệp dài.


0

Thật không may, cách duy nhất để thực sự đối phó với điều này là một bộ điều hướng khó chịu, tùy thuộc vào phiên bản cửa sổ của bạn, vô hiệu hóa khả năng tạo tên 8.3.

Đối với phiên bản Windows của bạn:

Để tắt chức năng tạo tên 8.3 trên tất cả các phân vùng NTFS, hãy nhập hành vi fsutil.exe đặt vô hiệu hóa 8dot3 1 tại dấu nhắc lệnh nâng cao, rồi nhấn Enter.

Nguồn: http://support.microsoft.com/kb/121007


Bài viết bạn liên kết nói cách vô hiệu hóa việc tạo tên tệp 8.3, chứ không phải tại sao nó giải quyết được vấn đề.
Michael Hampton

Tôi đã vô hiệu hóa tên tệp 8.3 và dir /xkhông hiển thị tên tệp ngắn nào trong thư mục của trang web
KenD

Ken, đây có phải là phương pháp mà bạn đã từng làm như vậy không?
Dave Holland

Vâng; Tôi cũng đã thấy tham chiếu đến một cài đặt đăng ký, nhưng fsutillệnh dường như chỉ đặt khóa đó cho tôi.
KenD

0

Tôi không chính xác làm thế nào chắc chắn tập lệnh hoạt động và cách thiết lập mạng của bạn nhưng làm thế nào về việc lọc qua một cái gì đó trước máy chủ IIS (ngay cả khi nó chỉ là một thiết bị ảo trong một máy ảo)? Cụ thể, bạn thiết lập IPS với một quy tắc cụ thể giảm lưu lượng liên quan đến vấn đề cụ thể đó?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.