Sự cố nhắm tới RCE với 20 USD nhưng vô tình trở thành quản trị viên .mobi
(labs.watchtowr.com)- watchTowr Labs đã đăng ký tên miền dotmobiregistry.net đã hết hạn với giá khoảng 20 USD, qua đó kiểm soát hostname máy chủ WHOIS cũ của
.mobi, và xác nhận rằng các WHOIS client cũ cùng luồng xác minh chứng chỉ TLS/SSL vẫn tin cậy địa chỉ này - Máy chủ WHOIS chính thức của
.mobiđã chuyển sangwhois.nic.mobi, nhưng nhiều công cụ vẫn tiếp tục truy vấn địa chỉ cũwhois.dotmobiregistry.netdo đã hardcode địa chỉ này - Sau khi triển khai máy chủ WHOIS tạm thời vào ngày 30/8/2024, đến ngày 4/9 đã có hơn 135.000 hệ thống duy nhất và 2,5 triệu truy vấn gửi tới, cho thấy một tên miền legacy bị bỏ mặc vẫn liên kết rộng rãi với hạ tầng Internet thực tế
- Một số tổ chức cấp chứng chỉ TLS/SSL dùng xác minh qua email dựa trên WHOIS để kiểm tra quyền sở hữu tên miền
.mobi; trong thử nghiệm với GlobalSign,whois@watchtowr.comđược hiển thị là một ứng viên email xác minh chomicrosoft.mobi - Nhóm nghiên cứu không thực sự phát hành chứng chỉ độc hại; sau đó NCSC của Anh và ShadowServer đã đưa tên miền này vào sinkhole để proxy các phản hồi WHOIS hợp pháp cho
.mobi
Tên miền hết hạn giá 20 USD sống lại thành hạ tầng WHOIS
- Mục tiêu ban đầu của watchTowr Labs là tìm một lỗi RCE có thể khai thác thực tế trong quá trình WHOIS client phân tích phản hồi từ máy chủ
- Trong các thử nghiệm ban đầu, họ giả lập máy chủ WHOIS trả về chuỗi rất dài và xác nhận một số client dễ dàng bị crash
- Tuy nhiên, để kẻ tấn công kiểm soát được phản hồi WHOIS, thông thường cần một trong các điều kiện sau
- MITM để chặn lưu lượng WHOIS ở tầng mạng
- Quyền truy cập vào máy chủ WHOIS thật
- WHOIS referral trỏ tới máy chủ do kẻ tấn công kiểm soát
- Những điều kiện tiên quyết này là rào cản lớn trong tấn công thực tế, nhưng tình hình đã thay đổi khi tên miền máy chủ WHOIS cũ của
.mobihết hạn - Máy chủ WHOIS của
.mobitrước đây đã chuyển từwhois.dotmobiregistry.netsangwhois.nic.mobi, và tên miền cũdotmobiregistry.netđã ở trạng thái hết hạn vào khoảng tháng 12/2023 - Sau khi đăng ký tên miền này, watchTowr đặt một máy chủ WHOIS phía sau
whois.dotmobiregistry.netđể kiểm tra liệu các WHOIS client hardcode địa chỉ cũ có vẫn truy vấn hay không
Bề mặt tấn công do hardcode địa chỉ máy chủ WHOIS
- WHOIS dùng máy chủ riêng cho từng TLD, nhưng thiếu một cơ chế chuẩn hóa mạnh để client tìm máy chủ đó theo thời gian thực
- Trên thực tế, cách phổ biến là các công cụ WHOIS tham khảo danh sách văn bản do IANA công bố rồi hardcode địa chỉ máy chủ tại thời điểm phát triển
- Khi địa chỉ máy chủ không thay đổi thường xuyên, vấn đề ít lộ rõ; nhưng khi địa chỉ thay đổi và tên miền cũ hết hạn, các client cũ có thể tiếp tục truy vấn tới địa chỉ đã bị loại bỏ
- watchTowr phản hồi các yêu cầu WHOIS gửi tới máy chủ
lglassvà trả về thông tin WHOIS giả khiến mọi đối tượng được truy vấn trông như thuộc sở hữu của watchTowr - Phản hồi cũng bao gồm ASCII art và yêu cầu dừng truy vấn
Quy mô và nguồn gốc truy vấn quan sát được
- Sau khi triển khai máy chủ WHOIS vào ngày 30/8/2024, chỉ trong vài giờ đã có hơn 76.000 IP nguồn duy nhất truy vấn
- Trong khoảng hai ngày, SQLite DB đã tích lũy 1,3 triệu truy vấn; tính đến ngày 4/9/2024, ghi nhận 2,5 triệu truy vấn và hơn 135.000 hệ thống duy nhất
- Nguồn truy vấn bao gồm các nhà đăng ký tên miền lớn và các website cung cấp chức năng WHOIS
domain.comgodaddy.comwho.iswhois.rusmallseo.toolsseocheki.netcentralops.netname.comwebchart.org
- Các dịch vụ phân tích bảo mật cũng dùng máy chủ WHOIS
.mobicũ- urlscan.io dùng kết quả WHOIS đó trên trang tên miền
.mobi - VirusTotal truy vấn máy chủ WHOIS tạm thời của watchTowr và hiển thị kết quả
- urlscan.io dùng kết quả WHOIS đó trên trang tên miền
- Nhiều máy chủ mail và bộ lọc spam cũng được ghi nhận
- Bộ lọc spam có thể thực hiện tra cứu WHOIS đối với tên miền người gửi
- Bao gồm từ
cheapsender.emailcho tới các host có vẻ thuộc hạ tầng chính phủ Bangladesh nhưmail.bdcustoms.gov.bd
- Các địa chỉ liên quan tới
.govđược ghi nhận ở nhiều quốc gia- Argentina, Pakistan, India, Bangladesh, Indonesia, Bhutan, Philippines, Israel, Ethiopia, Ukraine, USA
- Ví dụ liên quan tới Brazil gồm
antispam.ap.gov.br,master.aneel.gov.br
- Trong nguồn
.mil, Swedish Armed Forces được nêu làm ví dụ - Cũng ghi nhận các nguồn từ
.eduvà các công ty bảo mật; Group-IB, Detectify, Censys được nhắc tới - Nếu các máy chủ
.govvà máy chủ mail truy vấn máy chủ WHOIS mỗi khi nhận email từ tên miền.mobi, sẽ có khả năng quan sát thụ động ai đang liên lạc với ai
Lỗ hổng WHOIS client cũ và khả năng RCE
- watchTowr tìm các tiền lệ về lỗ hổng phân tích phản hồi WHOIS và tổng kết rằng trong 26 kết quả tìm kiếm CVE liên quan, chỉ còn 3 lỗi được kích hoạt bởi phản hồi WHOIS sai định dạng
- Việc có ít trường hợp như vậy có thể liên quan đến nhận thức rằng khai thác thực tế cần những điều kiện khó, chẳng hạn kiểm soát máy chủ WHOIS của TLD
- phpWHOIS CVE-2015-5243 là lỗ hổng cho phép RCE do dữ liệu nhận từ máy chủ WHOIS được thực thi bằng PHP
eval- Mã dễ tổn thương chỉ escape không đầy đủ
"trong chuỗi phản hồi WHOIS rồi chuyển choeval - Phân tích của Netitude đưa ra payload ví dụ như
”;phpinfo();// - Phiên bản phpWHOIS dễ tổn thương đã hardcode
whois.dotmobiregistry.net
- Mã dễ tổn thương chỉ escape không đầy đủ
- Fail2Ban CVE-2021-32749 là lỗ hổng cho phép chèn lệnh vì đầu ra WHOIS được chuyển tới công cụ
mailmà không được làm sạch đúng cách- Fail2Ban có thể tra cứu thông tin chủ sở hữu của IP bị chặn qua WHOIS và đưa vào email gửi quản trị viên
- Tuy nhiên, lỗ hổng này xảy ra khi tra cứu WHOIS cho địa chỉ IP, nên chỉ riêng việc watchTowr kiểm soát máy chủ WHOIS tên miền
.mobilà chưa thể trực tiếp chạm tới nó
- Để thực thi mã trên thực tế, vẫn cần đồng thời có client tiếp tục truy vấn máy chủ WHOIS
.mobicũ và một triển khai client dễ tổn thương
Ảnh hưởng tới cả luồng xác minh chứng chỉ TLS/SSL
- Một số tổ chức cấp chứng chỉ TLS/SSL hỗ trợ cách phân tích email liên hệ quản trị từ dữ liệu WHOIS rồi gửi liên kết xác minh tới email đó để kiểm tra quyền sở hữu tên miền
- Các ví dụ về tổ chức cấp chứng chỉ hoặc reseller hỗ trợ xác minh quyền sở hữu dựa trên WHOIS mà watchTowr liệt kê gồm
- Trustico
- Comodo
- SSLS
- GoGetSSL
- GlobalSign
- DigiSign
- Sectigo
- Trong thử nghiệm với GoGetSSL, khi tải lên CSR giả cho
watchTowr.mobi,whois@watchtowr.comdo watchTowr thiết lập không được hiển thị; chỉ có một email placeholder xuất hiện, có vẻ WHOIS chưa thành công - Trong thử nghiệm với Entrust, bản ghi WHOIS hợp pháp của
microsoft.mobiđược phân tích và chỉ các email thuộc tên miềnmicrosoft.comđược hiển thị làm ứng viên xác minh; cònwatchTowr.mobikhông được phân tích - Trong thử nghiệm với GlobalSign, ban đầu có vẻ họ không phân tích được bản ghi WHOIS của
microsoft.mobi, nhưng kết quả thay đổi khi watchTowr sao chép định dạng đầu ramicrosoft.mobitừ máy chủ WHOIS hợp pháp và cung cấp qua máy chủ WHOIS của mình - GlobalSign đã truy vấn máy chủ WHOIS của watchTowr, phân tích
whois@watchtowr.comtrong phản hồi và đề xuất nó làm email xác minh chomicrosoft.mobi - watchTowr dừng lại ở điểm này và không thực sự phát hành chứng chỉ TLS/SSL độc hại
- Luồng tấn công về mặt lý thuyết như sau
- Đặt máy chủ WHOIS độc hại tại hostname từng có thẩm quyền trước đây
- Cố gắng mua chứng chỉ TLS/SSL cho tên miền
.mobimục tiêu - Tổ chức cấp chứng chỉ tra cứu WHOIS và gửi email xác minh tới email của kẻ tấn công thay vì chủ sở hữu thật
- Khi kẻ tấn công nhấp vào liên kết, họ có thể nhận chứng chỉ TLS/SSL cho tên miền mục tiêu
- Với năng lực này, về lý thuyết có thể thực hiện các cuộc tấn công như chặn lưu lượng hoặc giả mạo máy chủ mục tiêu
Biện pháp sau sự cố và vấn đề còn lại
- Trước khi công bố, NCSC của Anh và ShadowServer Foundation đã cùng phối hợp ứng phó
- Tên miền
dotmobiregistry.netvà hostnamewhois.dotmobiregistry.netđược trỏ tới hệ thống sinkhole do ShadowServer cung cấp - Sinkhole này proxy các phản hồi WHOIS hợp pháp cho tên miền
.mobi - Quy trình thông báo cho các bên bị ảnh hưởng cũng được thiết lập
- Trường hợp này cho thấy khiếm khuyết mang tính cấu trúc phát sinh khi hạ tầng legacy, tên miền bị bỏ mặc, xử lý dựa trên WHOIS và quy trình xác minh của tổ chức cấp chứng chỉ TLS/SSL cùng vận hành
- Chủ thể có khả năng MITM cũng có thể giả mạo dữ liệu WHOIS để thử cùng kiểu tấn công; dù có các cơ chế như Certificate Transparency, các rào cản vận hành vẫn tồn tại đối với tấn công quy mô lớn
1 bình luận
Ý kiến trên Hacker News
Hẳn là đã có sai sót của nhiều người chồng chất mới dẫn đến tình huống này, nhưng có một điều rõ ràng lẽ ra có thể ngăn cuộc tấn công cụ thể này: tuyệt đối đừng để tên miền hết hạn
Máy chủ WHOIS của tên miền cấp cao nhất .MOBI đã được chuyển từ
whois.dotmobiregistry.netsangwhois.nic.mobivài năm trước, và có vẻ tên miềndotmobiregistry.netđã bị bỏ mặc cho hết hạn vào khoảng tháng 12/2023Khi một công ty bắt đầu dùng một tên miền mới với giá 10 USD/năm, tên miền đó trên thực tế trở thành một tài sản phải trả 10 USD/năm mãi mãi. Một khi tên miền đã gắn với hoạt động kinh doanh, không thể cắt đứt hoàn toàn mối liên hệ đó
https://money.cnn.com/2016/01/29/technology/google-domain-pu...
Cuối cùng tôi cho rằng bản thân con số tính toán không quá quan trọng, vì khả năng quên thanh toán do thẻ tín dụng hết hạn hoặc bỏ lỡ thông báo gia hạn vì lọc spam còn lớn hơn
Các tập đoàn khổng lồ làm thế nào để không quên trả phí tên miền? Họ giao việc gia hạn trong khoảng thời gian gần như “vô hạn” cho các nhà đăng ký đắt tiền chăng? Có vẻ là một bài toán vận hành kinh doanh khá khó
Tôi có cảm giác một sáng nào đó thức dậy, mình sẽ thấy tin rằng toàn bộ Internet đã biến mất vì ai đó trong một phòng khách sạn hẻo lánh làm gì đó bằng một chiếc Raspberry Pi kết nối vào điểm phát Wi-Fi của quán cà phê gần đó
.mobi[0] https://xkcd.com/2347/
[1] https://en.wikipedia.org/wiki/ARPANET#Debate_about_design_go...
[1] https://news.ycombinator.com/item?id=41482087
Vì sao các công cụ lại hardcode danh sách máy chủ WHOIS để dùng?
Có vẻ có một cách chuẩn để đăng ký việc này trong DNS, nhưng thử nhanh thì thấy nhiều tên miền cấp cao nhất thiếu bản ghi. Ví dụ hoạt động là
dig _nicname._tcp.fr SRV +noall +answer, và trả về_nicname._tcp.fr. 3588 IN SRV 0 0 43 whois.nic.fr.Ngoài ra còn có một bản nháp Internet đã hết hạn về việc này: https://datatracker.ietf.org/doc/html/draft-sanz-whois-srv-0...
mobi.whois.arpa. CNAME whois.nic.mobilà đã có thể giải quyết vấn đề. Tuy nhiên, việc khiến mọi người đồng thuận và áp dụng cách này rất khóNhư fanf2 nói bên dưới, có lẽ cũng có thể truy vấn máy chủ WHOIS của IANA trước. Nếu truy vấn
mobitại https://www.iana.org/whois, một phần phản hồi trả về làwhois: whois.nic.mobiNăng lực nhà phát triển yếu cũng là vấn đề, nhưng ảo giác AI sẽ còn làm tình hình tệ hơn
Tôi đã thấy quá nhiều đội không nhận ra rằng một khi bắt đầu dùng một tên miền theo cách có ý nghĩa, thì trên thực tế phải gia hạn nó cho đến khi vũ trụ chết nhiệt, hoặc ít nhất là đến khi đội đó chết nhiệt
Dù là trường hợp như thế này, hay một URL cũ nhưng quan trọng còn sót đâu đó, hay một thành viên trong đội đã đăng ký dịch vụ bằng email ở tên miền cũ, thật quá khó để biết lúc nào có thể thực sự buông một tên miền cũ
Bề mặt tấn công phát sinh chỉ từ việc mua một tên miền đã hết hạn của máy chủ WHOIS cũ thật sự khổng lồ
Giải pháp thực sự cho WHOIS là RDAP
Đáng tiếc là nó không bắt buộc với các tên miền cấp cao nhất mã quốc gia, và ngay cả trong số các tên miền cấp cao nhất không phải mã quốc gia cũng có nhiều nơi không hoạt động đúng
https://en.wikipedia.org/wiki/Registration_Data_Access_Proto...
https://resolve.rs/domains/rdap-missing.html
Một việc làm rất tuyệt
Tên miền
dotmobiregistry.netvà hostnamewhois.dotmobiregisry.nethiện được cho là trỏ tới hệ thống sinkhole do ShadowServer cung cấp, và hệ thống này proxy các phản hồi WHOIS hợp lệ của tên miền.mobiNếu các tên miền này đã được lên kế hoạch loại bỏ, có lẽ trả về phản hồi kiểu 404 sẽ tốt hơn. Nếu cứ để chúng tiếp tục hoạt động như bình thường thì động lực chuyển sang tên miền chính thức sẽ giảm đi
Domain not found.>>> Please update your code or tell your system administrator to use whois.nic.mobi, the authoritative WHOIS server for this domain. <<<Tôi cho rằng cách tiếp cận với máy tính nói chung tự thân nó đã được định sẵn là sẽ thất bại. Nó dựa vào bảo mật hoàn hảo, và giả định rằng mức bảo mật đó đạt được nhờ kiểm tra SBOM cùng các bản cập nhật thường xuyên
Nhưng chuyện đó tuyệt đối sẽ không xảy ra. Chỉ riêng log4j thôi, 40% tổng lượt tải xuống vẫn là các phiên bản có lỗ hổng. Chưa kể khi một nhà cung cấp trong chuỗi cung ứng phá sản hoặc ngừng bảo trì một thành phần nào đó
Giống như cơ thể chúng ta luôn là chiến trường với vi sinh vật, mọi thứ lúc nào cũng buộc phải đầy lỗi và đầy lỗ hổng
Có lẽ sẽ mất vài chục năm, nhưng con đường trông khá rõ ràng. Chỉ cần bỏ công sức, áp dụng kiến thức rút ra từ mọi “bài học”, và không dừng lại
Nhìn chung tôi thích bầu không khí kiểu “chúng tôi vốn không muốn làm chuyện này, nhưng tình hình cứ phình to ra, và ở mỗi bước chúng tôi lại nhận được thứ lớn hơn dự kiến”
Nếu những người phản đối chịu lắng nghe và sửa phần parsing, có lẽ các tác giả đã đỡ phải vất vả như vậy
Nhìn ngược lại, có phải chúng ta nên tin rằng mọi máy chủ WHOIS trên toàn thế giới luôn là thật và an toàn không?
Đặc biệt, từ góc nhìn của các cơ quan chứng thực thực hiện xác minh TLS, họ hẳn sẽ không muốn biết rằng chỉ cần chạy
whois somethingarbitrary.rulà có thể bị phơi nhiễm trước thực thi mã từ xa do máy chủ Nga