Bạn có biết rằng việc mời người dùng bên ngoài (guest users) vào hệ thống Microsoft Entra ID của bạn có thể tiềm ẩn những rủi ro không ngờ tới?
Một lỗ hổng trong cách quản lý quyền truy cập của Microsoft Entra đang cho phép những người dùng khách này tạo và chuyển quyền sử dụng (subscriptions) vào hệ thống của bạn, đồng thời vẫn giữ toàn quyền sở hữu chúng. Điều này có nghĩa là gì?
Người dùng khách chỉ cần có quyền tạo các gói dịch vụ (subscriptions) ở hệ thống gốc của họ và được mời vào một hệ thống bên ngoài. Sau khi vào được, họ có thể tạo các gói dịch vụ ở hệ thống gốc, chuyển chúng vào hệ thống bên ngoài và vẫn là chủ sở hữu duy nhất. Đây là một cách lén lút để leo thang quyền, cho phép người dùng khách có được chỗ đứng quan trọng trong một môi trường mà đáng lẽ họ chỉ có quyền truy cập hạn chế.
Nhiều tổ chức thường coi tài khoản khách là ít rủi ro vì chúng chỉ có quyền tạm thời và giới hạn. Tuy nhiên, cách thức hoạt động này (vốn dĩ được thiết kế như vậy) lại mở ra những con đường tấn công và di chuyển ngang đã biết trong hệ thống tài nguyên. Nó có thể cho phép kẻ tấn công thực hiện các hành vi trinh sát trái phép, duy trì sự hiện diện trong Entra ID của người phòng thủ và leo thang quyền trong một số trường hợp nhất định.
Các mô hình rủi ro và biện pháp bảo vệ thông thường thường không tính đến việc một người dùng khách không có đặc quyền tạo ra các gói dịch vụ của riêng họ trong hệ thống của bạn. Vì vậy, rủi ro này có thể không chỉ nằm ngoài tầm kiểm soát của tổ chức bạn mà còn nằm ngoài tầm ngắm của đội ngũ an ninh.
Vậy, làm thế nào để xâm nhập Entra ID bằng tài khoản khách?
Việc tạo chỗ đứng bằng các gói dịch vụ do khách tạo ra khai thác một thực tế là quyền thanh toán của Microsoft (Enterprise Agreement hoặc Microsoft Customer Agreement) được giới hạn ở cấp tài khoản thanh toán, chứ không phải thư mục Entra. Hầu hết các đội ngũ an ninh thường nghĩ về quyền Azure dưới dạng Vai trò thư mục Entra (chẳng hạn như Quản trị viên toàn cầu) hoặc Vai trò RBAC Azure (chẳng hạn như Chủ sở hữu). Nhưng có một nhóm quyền khác thường bị bỏ qua: Vai trò thanh toán.
Trong khi Vai trò thư mục Entra và RBAC Azure tập trung vào việc quản lý quyền xung quanh danh tính và truy cập vào tài nguyên, thì Vai trò thanh toán lại hoạt động ở cấp tài khoản thanh toán, nằm ngoài ranh giới xác thực và ủy quyền Azure thường thấy. Một người dùng có đúng vai trò thanh toán có thể tạo hoặc chuyển các gói dịch vụ từ hệ thống gốc của họ để giành quyền kiểm soát bên trong hệ thống mục tiêu. Và một đội ngũ an ninh chỉ kiểm tra nghiêm ngặt Vai trò thư mục Entra sẽ không thấy được các gói dịch vụ này trong một quy trình xem xét quyền Entra tiêu chuẩn.
Khi một người dùng khách B2B được mời vào một hệ thống tài nguyên, họ sẽ truy cập hệ thống thông qua liên kết từ hệ thống gốc của họ. Đây là một biện pháp tiết kiệm chi phí, nhưng đánh đổi lại là hệ thống của bạn không thể thực thi các biện pháp kiểm soát xác thực như MFA. Do đó, những người phòng thủ thường cố gắng hạn chế các đặc quyền và quyền truy cập của khách vì chúng vốn dĩ ít an toàn hơn. Tuy nhiên, nếu khách có vai trò thanh toán hợp lệ trong hệ thống gốc của họ, họ có thể sử dụng nó để trở thành chủ sở hữu gói dịch vụ bên trong Azure.
Điều này cũng đúng với những người dùng khách tồn tại trong các hệ thống Azure trả tiền theo mức sử dụng mà kẻ tấn công có thể tạo ra chỉ trong vài phút. Và theo mặc định, bất kỳ người dùng nào, kể cả khách, đều có thể mời người dùng bên ngoài vào thư mục. Điều này có nghĩa là kẻ tấn công có thể lợi dụng một tài khoản bị xâm nhập để mời một người dùng có đúng quyền thanh toán vào môi trường của bạn.
Làm thế nào kẻ tấn công có thể giành được quyền truy cập cao hơn bằng tài khoản khách Entra không có đặc quyền:
- Kẻ tấn công giành quyền kiểm soát một người dùng có vai trò thanh toán có thể tạo các gói dịch vụ / chủ sở hữu gói dịch vụ trong một hệ thống, bằng một trong hai cách:
- Tạo hệ thống Entra của riêng họ bằng cách sử dụng bản dùng thử miễn phí Azure (người dùng mà họ đã đăng ký sẽ là chủ sở hữu Tài khoản thanh toán)
- Hoặc, bằng cách xâm nhập một người dùng hiện có trong một hệ thống đã có vai trò thanh toán đặc quyền / quyền sở hữu gói dịch vụ
- Kẻ tấn công nhận được lời mời trở thành người dùng khách trong hệ thống Entra mục tiêu của họ. Theo mặc định, bất kỳ người dùng hoặc khách nào cũng có thể mời khách vào hệ thống.
- Kẻ tấn công đăng nhập vào Cổng thông tin Azure, đi vào thư mục gốc của họ – nơi họ hoàn toàn kiểm soát.
- Kẻ tấn công điều hướng đến Gói dịch vụ > Thêm +.
- Kẻ tấn công chuyển sang tab “Nâng cao” và đặt thư mục của người phòng thủ làm thư mục mục tiêu.
- Kẻ tấn công tạo gói dịch vụ. Không có gói dịch vụ nào sẽ xuất hiện trong hệ thống của kẻ tấn công. Thay vào đó, gói dịch vụ sẽ xuất hiện trong hệ thống của người phòng thủ, bên dưới nhóm quản lý gốc.
- Kẻ tấn công sẽ tự động được gán Vai trò RBAC là “Chủ sở hữu” cho gói dịch vụ này.
Rủi ro thực tế: Một vị khách không an phận có thể làm gì với một gói dịch vụ mới
Khi kẻ tấn công có một gói dịch vụ với quyền Chủ sở hữu trong hệ thống của một tổ chức khác, họ có thể sử dụng quyền truy cập đó để thực hiện các hành động mà thông thường sẽ bị chặn bởi vai trò hạn chế của họ. Chúng bao gồm:
- Liệt kê Quản trị viên Nhóm Quản lý Gốc – Trong nhiều cấu hình hệ thống, người dùng khách không có quyền liệt kê những người dùng khác trong hệ thống; tuy nhiên, sau một cuộc tấn công gói dịch vụ khách, khả năng hiển thị đó trở nên khả thi. Chủ sở hữu khách có thể xem các gán vai trò “Kiểm soát truy cập” trên gói dịch vụ mà họ đã tạo. Bất kỳ quản trị viên nào được gán ở cấp nhóm quản lý gốc của hệ thống sẽ được kế thừa và sẽ xuất hiện trong chế độ xem gán vai trò của gói dịch vụ, hiển thị danh sách các tài khoản đặc quyền có giá trị cao, là mục tiêu lý tưởng cho các cuộc tấn công tiếp theo và kỹ thuật xã hội.
- Làm suy yếu Chính sách Azure Mặc định Liên kết với Gói dịch vụ – Theo mặc định, tất cả các gói dịch vụ (và tài nguyên của chúng) đều chịu sự chi phối của các chính sách Azure được thiết kế để thực thi các tiêu chuẩn bảo mật và kích hoạt cảnh báo khi có vi phạm xảy ra. Tuy nhiên, khi một khách trở thành Chủ sở hữu gói dịch vụ, họ có toàn quyền ghi vào tất cả các chính sách áp dụng cho gói dịch vụ của họ và có thể sửa đổi hoặc tắt chúng, tắt tiếng hiệu quả các cảnh báo bảo mật mà nếu không sẽ thông báo cho người phòng thủ về hoạt động đáng ngờ hoặc không tuân thủ. Điều này làm giảm thêm khả năng hiển thị từ các công cụ giám sát bảo mật, cho phép kẻ tấn công thực hiện các hoạt động độc hại hoặc nhắm mục tiêu vào các hệ thống bên ngoài một cách bí mật.
- Tạo Danh tính do Người dùng Quản lý trong Thư mục Entra ID – Một người dùng khách có quyền Chủ sở hữu gói dịch vụ có thể tạo Danh tính do Người dùng Quản lý, một danh tính Azure đặc biệt nằm trong thư mục Entra, nhưng được liên kết với khối lượng công việc trên đám mây, trong gói dịch vụ của họ. Danh tính này có thể:
- Tồn tại độc lập với tài khoản khách ban đầu
- Được cấp vai trò hoặc quyền vượt ra ngoài gói dịch vụ
- Hòa trộn với các danh tính dịch vụ hợp pháp, gây khó khăn hơn cho việc phát hiện
- Khởi động một cuộc tấn công lừa đảo quyền API có mục tiêu để đánh lừa các quản trị viên hợp pháp cấp cho danh tính được quản lý này các đặc quyền cao hơn.
- Đăng ký Thiết bị Đã tham gia Microsoft Entra và lạm dụng Chính sách Truy cập Có điều kiện – Azure cho phép các thiết bị đáng tin cậy được đăng ký và tham gia Entra ID. Kẻ tấn công có thể đăng ký thiết bị dưới gói dịch vụ bị tấn công của họ và làm cho chúng xuất hiện dưới dạng thiết bị công ty tuân thủ. Nhiều tổ chức sử dụng các nhóm thiết bị động để tự động gán vai trò hoặc quyền truy cập dựa trên trạng thái thiết bị (ví dụ: “tất cả người dùng trên máy tính xách tay tuân thủ đều có quyền truy cập vào X”). Bằng cách giả mạo hoặc đăng ký một thiết bị, kẻ tấn công có thể lạm dụng Chính sách Truy cập Có điều kiện và giành quyền truy cập trái phép vào các tài sản đáng tin cậy. Điều này đại diện cho một biến thể dựa trên thiết bị của một khai thác nhóm động đã biết trước đây được thấy trong nhắm mục tiêu đối tượng người dùng. Sản phẩm Thông tin chi tiết về Bảo mật Danh tính của BeyondTrust đã giúp khách hàng khám phá ra nhiều nhóm động được định cấu hình sai tương tự, vô tình để lộ các Đường dẫn đến Đặc quyền™ ẩn.
Tại sao việc tạo gói dịch vụ khách là một mối quan tâm ngày càng tăng đối với Bảo mật Entra
Mặc dù cần nhiều công việc hơn để hiểu rõ những tác động thực sự của mô hình mối đe dọa được cập nhật này, nhưng những gì chúng ta đã biết là đáng lo ngại: bất kỳ tài khoản khách nào được liên kết vào hệ thống của bạn đều có thể đại diện cho một đường dẫn đến đặc quyền. Rủi ro không phải là giả thuyết. Các nhà nghiên cứu tại BeyondTrust đã quan sát thấy những kẻ tấn công đang tích cực lạm dụng việc tạo gói dịch vụ dựa trên khách trong thực tế. Mối đe dọa là hiện hữu, đang hoạt động và mối nguy hiểm thực sự ở đây nằm ở chỗ nó phần lớn nằm ngoài tầm kiểm soát.
Những hành động này nằm ngoài những gì hầu hết các quản trị viên Azure mong đợi một người dùng khách có thể làm được. Hầu hết các đội ngũ an ninh không tính đến việc người dùng khách có thể tạo và kiểm soát các gói dịch vụ. Do đó, vectơ tấn công này thường nằm ngoài các mô hình mối đe dọa Entra thông thường, khiến đường dẫn đến đặc quyền này không được công nhận, bất ngờ và có thể truy cập một cách nguy hiểm.
Vectơ tấn công này cực kỳ phổ biến trong các tình huống B2B, nơi các hệ thống gốc và tài nguyên thường được kiểm soát bởi các tổ chức khác nhau. Chúng tôi nghi ngờ rằng nhiều tổ chức tận dụng các tính năng Khách B2B Entra ID không biết về các đường dẫn có thể có đến đặc quyền mà tính năng này vô tình cho phép.
Các biện pháp giảm thiểu: Cách ngăn chặn tài khoản gói dịch vụ khách có được chỗ đứng
Để giảm thiểu hành vi này, Microsoft cho phép các tổ chức định cấu hình Chính sách gói dịch vụ để chặn khách chuyển các gói dịch vụ vào hệ thống của họ. Cài đặt này hạn chế việc tạo gói dịch vụ chỉ cho những người dùng được phép rõ ràng và Microsoft đã xuất bản tài liệu hỗ trợ cho biện pháp kiểm soát này.
Ngoài việc bật chính sách này, chúng tôi khuyên bạn nên thực hiện các hành động sau:
- Kiểm tra tất cả các tài khoản khách trong môi trường của bạn và xóa những tài khoản không còn cần thiết
- Tăng cường các biện pháp kiểm soát khách càng nhiều càng tốt: ví dụ: tắt lời mời khách-khách
- Giám sát thường xuyên tất cả các gói dịch vụ trong hệ thống của bạn để phát hiện các gói dịch vụ và tài nguyên do khách tạo ra một cách bất ngờ
- Giám sát tất cả các cảnh báo của Trung tâm Bảo mật trong Cổng thông tin Azure; một số có thể xuất hiện ngay cả khi khả năng hiển thị không nhất quán
- Kiểm tra quyền truy cập thiết bị, đặc biệt nếu chúng sử dụng các quy tắc nhóm động.
Để hỗ trợ những người phòng thủ, BeyondTrust Identity Security Insights cung cấp các phát hiện tích hợp để gắn cờ các gói dịch vụ được tạo bởi tài khoản khách, cung cấp khả năng hiển thị tự động đối với những hành vi bất thường này.
Khách hàng của BeyondTrust Identity Security Insights có thể có được cái nhìn toàn diện về tất cả Danh tính trên toàn bộ kết cấu danh tính của họ. Điều này bao gồm việc có được sự hiểu biết hợp nhất về tài khoản Khách Entra và Đặc quyền Thực sự™ của họ.
Bức tranh lớn hơn: Các cấu hình sai danh tính là những khai thác mới
Việc xâm nhập gói dịch vụ do khách tạo ra không phải là một sự bất thường; nó là một ví dụ rõ ràng về nhiều điểm yếu bảo mật danh tính bị bỏ qua có thể làm suy yếu môi trường doanh nghiệp hiện đại, nếu không được giải quyết đầy đủ. Các cấu hình sai và cài đặt mặc định yếu là những điểm truy cập chính cho những kẻ tấn công đang tìm kiếm các đường dẫn ẩn vào môi trường của bạn.
Không chỉ tài khoản quản trị viên của bạn cần được đưa vào các chính sách bảo mật của bạn nữa. Các mô hình tin cậy B2B, quyền thanh toán được kế thừa và các vai trò động có nghĩa là mọi tài khoản đều là một điểm khởi đầu tiềm năng cho việc leo thang đặc quyền. Hãy xem xét lại các chính sách truy cập khách, công cụ hiển thị và mô hình quản trị gói dịch vụ của bạn ngay bây giờ, trước khi những Vị khách không an phận này tận dụng.
Để có được ảnh chụp nhanh về các rủi ro tiềm ẩn dựa trên danh tính trong môi trường của bạn, bao gồm cả những rủi ro được giới thiệu thông qua quyền truy cập của khách, BeyondTrust cung cấp Đánh giá Rủi ro Bảo mật Danh tính miễn phí.
Chú thích:Bài viết này được viết một cách chuyên nghiệp và được đóng góp bởi Simon Maxwell-Stewart, Nhà nghiên cứu Bảo mật Cấp cao tại BeyondTrust. Simon Maxwell-Stewart là sinh viên tốt nghiệp vật lý của Đại học Oxford với hơn một thập kỷ kinh nghiệm trong môi trường dữ liệu lớn. Trước khi gia nhập BeyondTrust, ông làm việc với tư cách là Nhà khoa học Dữ liệu Hàng đầu trong lĩnh vực chăm sóc sức khỏe và đã đưa thành công nhiều dự án máy học vào sản xuất. Hiện đang làm việc với tư cách là “mọt đồ thị thường trú” trong nhóm nghiên cứu bảo mật của BeyondTrust, Simon áp dụng chuyên môn của mình về phân tích đồ thị để giúp thúc đẩy sự đổi mới bảo mật danh tính.
- Mnemonic. “Lạm dụng các nhóm động trong Azure AD để leo thang đặc quyền.” Có sẵn: https://www.mnemonic.io/resources/blog/abusing-dynamic-groups-in-azure-ad-for-privilege-escalation/
- Microsoft. “Quản lý chính sách gói dịch vụ Azure.” Có sẵn: https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/manage-azure-subscription-policy
Giải thích thuật ngữ
- Entra ID: Dịch vụ quản lý danh tính và truy cập dựa trên đám mây của Microsoft. Nó giúp các tổ chức quản lý người dùng và quyền truy cập của họ vào các ứng dụng và tài nguyên.
- Subscription (Gói dịch vụ): Một thỏa thuận với nhà cung cấp dịch vụ đám mây (như Microsoft Azure) để sử dụng các tài nguyên và dịch vụ của họ. Nó định nghĩa các điều khoản thanh toán và giới hạn sử dụng.
- RBAC (Role-Based Access Control): Một phương pháp kiểm soát truy cập dựa trên vai trò của người dùng trong tổ chức. Thay vì cấp quyền trực tiếp cho từng người dùng, RBAC gán quyền cho vai trò và sau đó gán vai trò cho người dùng.
- MFA (Multi-Factor Authentication): Một phương pháp xác thực yêu cầu người dùng cung cấp nhiều hơn một yếu tố xác minh để chứng minh danh tính của họ. Điều này có thể bao gồm mật khẩu, mã được gửi đến điện thoại hoặc quét sinh trắc học.
- B2B (Business-to-Business): Một mô hình kinh doanh trong đó các công ty giao dịch với nhau, thay vì với người tiêu dùng cá nhân. Trong bối cảnh này, nó đề cập đến việc cho phép người dùng từ các tổ chức khác truy cập vào tài nguyên của bạn.
- API (Application Programming Interface): Một tập hợp các quy tắc và thông số kỹ thuật cho phép các ứng dụng phần mềm giao tiếp và tương tác với nhau.
- Conditional Access Policies (Chính sách Truy cập Có điều kiện): Các chính sách mà tổ chức sử dụng để xác định và thực thi các yêu cầu truy cập dựa trên các yếu tố như vị trí, thiết bị và ứng dụng.