Duy Linh
Writer
Kẻ tấn công đang ngày càng lạm dụng các mã định danh ứng dụng OAuth giả mạo để liệt kê tài khoản Microsoft Entra ID, kiểm tra thông tin đăng nhập và phân tán hoạt động xác thực trên hàng trăm nghìn đến hàng triệu ứng dụng giả. Theo Proofpoint, kỹ thuật này đang nổi lên như một xu hướng mới trong các chiến dịch tấn công nhằm vào môi trường điện toán đám mây.
Kỹ thuật trên khai thác cách Microsoft Entra ID xử lý tham số client_id trong các yêu cầu xác thực OAuth. Mỗi ứng dụng OAuth sau khi đăng ký đều được cấp một mã định danh ứng dụng duy nhất trên phạm vi toàn cầu và nhật ký đăng nhập Entra thường lưu cả mã định danh lẫn tên ứng dụng.
Tuy nhiên, nếu kẻ tấn công sử dụng một client_id có cú pháp hợp lệ nhưng chưa được đăng ký, nhật ký có thể chỉ ghi lại mã định danh ứng dụng trong khi trường tên ứng dụng bị để trống.
Điều này tạo cơ hội để tin tặc né tránh các cơ chế phát hiện vốn được xây dựng nhằm nhận diện các hoạt động dò mật khẩu hoặc liệt kê tài khoản nhắm vào những ứng dụng Microsoft thường bị lạm dụng như Azure AD PowerShell hay Exchange Online.
Thay vì tập trung toàn bộ hoạt động vào một ứng dụng dễ nhận diện, kẻ tấn công có thể phân tán các yêu cầu xác thực trên số lượng rất lớn các mã định danh ứng dụng được tạo ra, khiến việc phát hiện trở nên khó khăn hơn.
Các mã lỗi do Microsoft Entra trả về có thể tiết lộ trạng thái của tài khoản ngay cả với người gửi chưa được xác thực. Cụ thể:
Yêu cầu ROPC với tham số ID máy khách (Nguồn: Proofpoint).
Đáng chú ý hơn, nếu kẻ tấn công gửi đúng tên người dùng và mật khẩu nhưng sử dụng một client_id chưa được đăng ký, Entra có thể trả về mã lỗi AADSTS700016, cho biết mã định danh ứng dụng không tồn tại.
Phản hồi này đồng thời xác nhận cặp tên người dùng và mật khẩu là chính xác mà không cần hoàn tất quá trình đăng nhập.
Theo Proofpoint, đây là vấn đề đáng lo ngại vì Entra chỉ ghi nhận các lần thử liên quan đến những tên người dùng hợp lệ. Do đó, khi điều tra các sự kiện xác thực thất bại, tổ chức có thể chỉ nhìn thấy dấu hiệu dò quét thông tin đăng nhập mà không nhận ra kẻ tấn công đã xác định được các thông tin đăng nhập hợp lệ.
Dòng thời gian của UNK_pyreq2323 (Nguồn: Proofpoint).
Kẻ tấn công phân phối các yêu cầu xác thực trên hơn 700.000 mã client_id giả mạo bằng cách thay đổi các chữ số cuối của mã định danh liên quan đến Exchange Online có định dạng 00000002-0000-0ff1-ce00-000000XXXXXX.
Phần lớn các mã giả chỉ được sử dụng để tấn công từ một đến ba tài khoản và tối đa không vượt quá 121.212 tài khoản, làm giảm hiệu quả của các quy tắc phát hiện dựa trên việc lặp lại cùng một mã định danh ứng dụng.
Chiến dịch này khiến khoảng 28% người dùng bị khóa tài khoản, cho thấy ngay cả các hoạt động thu thập thông tin được thực hiện âm thầm cũng có thể gây gián đoạn đáng kể.
Một chiến dịch khác có tên UNK_OutFlareAZ bắt đầu từ tháng 12/2025 và có quy mô lớn hơn. Chiến dịch này nhắm vào hơn 2 triệu người dùng, đồng thời sử dụng khoảng 3,73 triệu mã định danh ứng dụng giả mạo.
Nguồn tấn công chủ yếu xuất phát từ hạ tầng Cloudflare và sử dụng tác nhân người dùng giả mạo Microsoft Outlook, vốn thường xuất hiện trong các công cụ liệt kê mật khẩu.
20 tên người dùng phổ biến nhất theo số lượng người thuê (Nguồn: Proofpoint).
Khác với UNK_pyreq2323, chiến dịch này tạo mới một UUIDv4 client_id ngẫu nhiên cho từng lần xác thực. Mỗi mã chỉ được sử dụng một lần, khiến các nhà phân tích gần như không thể liên kết các yêu cầu thông qua mã định danh ứng dụng.
Proofpoint cũng ghi nhận các tài khoản bị nhắm mục tiêu theo thứ tự bảng chữ cái và nhiều tên người dùng phổ biến như dsmith, msmith hay jbrown được tái sử dụng trên nhiều tổ chức, cho thấy kẻ tấn công sử dụng các danh sách tên người dùng được chuẩn bị sẵn.
Sự khác biệt về tác nhân người dùng, hạ tầng triển khai, cách tạo client_id và phương thức thực hiện cho thấy nhiều nhóm hoặc nhiều công cụ khác nhau đã độc lập áp dụng kỹ thuật giả mạo mã định danh ứng dụng OAuth.
Theo đánh giá của Proofpoint, kỹ thuật này đang ngày càng phổ biến trong các cuộc tấn công đánh cắp thông tin đăng nhập nhằm vào môi trường điện toán đám mây. Các chuyên gia bảo mật được khuyến nghị theo dõi các bản ghi đăng nhập Microsoft Entra có trường tên ứng dụng bị bỏ trống, đặc biệt khi đi kèm số lượng lớn lần xác thực thất bại, địa chỉ IP nguồn phân tán hoặc các client_id bất thường.
Kỹ thuật trên khai thác cách Microsoft Entra ID xử lý tham số client_id trong các yêu cầu xác thực OAuth. Mỗi ứng dụng OAuth sau khi đăng ký đều được cấp một mã định danh ứng dụng duy nhất trên phạm vi toàn cầu và nhật ký đăng nhập Entra thường lưu cả mã định danh lẫn tên ứng dụng.
Tuy nhiên, nếu kẻ tấn công sử dụng một client_id có cú pháp hợp lệ nhưng chưa được đăng ký, nhật ký có thể chỉ ghi lại mã định danh ứng dụng trong khi trường tên ứng dụng bị để trống.
Điều này tạo cơ hội để tin tặc né tránh các cơ chế phát hiện vốn được xây dựng nhằm nhận diện các hoạt động dò mật khẩu hoặc liệt kê tài khoản nhắm vào những ứng dụng Microsoft thường bị lạm dụng như Azure AD PowerShell hay Exchange Online.
Thay vì tập trung toàn bộ hoạt động vào một ứng dụng dễ nhận diện, kẻ tấn công có thể phân tán các yêu cầu xác thực trên số lượng rất lớn các mã định danh ứng dụng được tạo ra, khiến việc phát hiện trở nên khó khăn hơn.
Proofpoint phát hiện kỹ thuật xác minh tài khoản không cần đăng nhập thành công
Proofpoint đã mô phỏng kỹ thuật này bằng luồng Resource Owner Password Credentials (ROPC), trong đó tên người dùng và mật khẩu được gửi trực tiếp đến điểm cuối /common/oauth2/token của Microsoft.Các mã lỗi do Microsoft Entra trả về có thể tiết lộ trạng thái của tài khoản ngay cả với người gửi chưa được xác thực. Cụ thể:
- AADSTS50034 cho biết tên người dùng không tồn tại hoặc không hợp lệ.
- AADSTS50126 cho biết tài khoản hợp lệ nhưng mật khẩu không chính xác.
Yêu cầu ROPC với tham số ID máy khách (Nguồn: Proofpoint).
Đáng chú ý hơn, nếu kẻ tấn công gửi đúng tên người dùng và mật khẩu nhưng sử dụng một client_id chưa được đăng ký, Entra có thể trả về mã lỗi AADSTS700016, cho biết mã định danh ứng dụng không tồn tại.
Phản hồi này đồng thời xác nhận cặp tên người dùng và mật khẩu là chính xác mà không cần hoàn tất quá trình đăng nhập.
Theo Proofpoint, đây là vấn đề đáng lo ngại vì Entra chỉ ghi nhận các lần thử liên quan đến những tên người dùng hợp lệ. Do đó, khi điều tra các sự kiện xác thực thất bại, tổ chức có thể chỉ nhìn thấy dấu hiệu dò quét thông tin đăng nhập mà không nhận ra kẻ tấn công đã xác định được các thông tin đăng nhập hợp lệ.
Hai chiến dịch quy mô lớn nhắm vào Microsoft Entra ID
Proofpoint đã theo dõi chiến dịch UNK_pyreq2323 diễn ra từ tháng 1 đến tháng 3/2026. Chiến dịch này sử dụng tác nhân người dùng python-requests/2.32.3 cùng hạ tầng đặt trên AWS để nhắm mục tiêu hơn 1 triệu tài khoản thuộc gần 4.000 khách hàng Microsoft Entra.
Dòng thời gian của UNK_pyreq2323 (Nguồn: Proofpoint).
Kẻ tấn công phân phối các yêu cầu xác thực trên hơn 700.000 mã client_id giả mạo bằng cách thay đổi các chữ số cuối của mã định danh liên quan đến Exchange Online có định dạng 00000002-0000-0ff1-ce00-000000XXXXXX.
Phần lớn các mã giả chỉ được sử dụng để tấn công từ một đến ba tài khoản và tối đa không vượt quá 121.212 tài khoản, làm giảm hiệu quả của các quy tắc phát hiện dựa trên việc lặp lại cùng một mã định danh ứng dụng.
Chiến dịch này khiến khoảng 28% người dùng bị khóa tài khoản, cho thấy ngay cả các hoạt động thu thập thông tin được thực hiện âm thầm cũng có thể gây gián đoạn đáng kể.
Một chiến dịch khác có tên UNK_OutFlareAZ bắt đầu từ tháng 12/2025 và có quy mô lớn hơn. Chiến dịch này nhắm vào hơn 2 triệu người dùng, đồng thời sử dụng khoảng 3,73 triệu mã định danh ứng dụng giả mạo.
Nguồn tấn công chủ yếu xuất phát từ hạ tầng Cloudflare và sử dụng tác nhân người dùng giả mạo Microsoft Outlook, vốn thường xuất hiện trong các công cụ liệt kê mật khẩu.
20 tên người dùng phổ biến nhất theo số lượng người thuê (Nguồn: Proofpoint).
Khác với UNK_pyreq2323, chiến dịch này tạo mới một UUIDv4 client_id ngẫu nhiên cho từng lần xác thực. Mỗi mã chỉ được sử dụng một lần, khiến các nhà phân tích gần như không thể liên kết các yêu cầu thông qua mã định danh ứng dụng.
Proofpoint cũng ghi nhận các tài khoản bị nhắm mục tiêu theo thứ tự bảng chữ cái và nhiều tên người dùng phổ biến như dsmith, msmith hay jbrown được tái sử dụng trên nhiều tổ chức, cho thấy kẻ tấn công sử dụng các danh sách tên người dùng được chuẩn bị sẵn.
Sự khác biệt về tác nhân người dùng, hạ tầng triển khai, cách tạo client_id và phương thức thực hiện cho thấy nhiều nhóm hoặc nhiều công cụ khác nhau đã độc lập áp dụng kỹ thuật giả mạo mã định danh ứng dụng OAuth.
Theo đánh giá của Proofpoint, kỹ thuật này đang ngày càng phổ biến trong các cuộc tấn công đánh cắp thông tin đăng nhập nhằm vào môi trường điện toán đám mây. Các chuyên gia bảo mật được khuyến nghị theo dõi các bản ghi đăng nhập Microsoft Entra có trường tên ứng dụng bị bỏ trống, đặc biệt khi đi kèm số lượng lớn lần xác thực thất bại, địa chỉ IP nguồn phân tán hoặc các client_id bất thường.
Được phối hợp thực hiện bởi các chuyên gia của Bkav,
cộng đồng An ninh mạng Việt Nam WhiteHat
và cộng đồng Khoa học công nghệ VnReview