ROADtools؛ ابزاری که دولتها برای نفوذ به Azure استفاده میکنن
خلاصهٔ کاملتر
ROADtools یه فریمورک متنباز پایتونیه که در اصل برای تیمهای قرمز (red-team) و تحقیقات امنیتی ساخته شده. هدفش تعامل با لایه هویت و احراز هویت Azure، یعنی همون سرویس Entra ID (قبلاً Azure Active Directory)، هست. مشکل اینجاست که این ابزار از APIهای رسمی مایکروسافت استفاده میکنه و میتونه رفتار ترافیک عادی رو تقلید کنه، همین باعث شده گروههای هکری دولتی ازش بهعنوان سلاح استفاده کنن.
ROADtools از دو ماژول اصلی تشکیل شده. اولی roadrecon هست که برای شناسایی داخلی طراحی شده؛ اطلاعات کاربران، گروهها، دستگاهها، نقشها، service principalها و تنظیمات دایرکتوری رو جمعآوری میکنه و توی یه پایگاه داده SQLite ذخیره میکنه. دومی roadtx (Token eXchange) هست که مدیریت توکنهای OAuth 2.0 رو برعهده داره؛ از جمله دریافت، تبادل و سوءاستفاده از توکنهایی مثل Primary Refresh Token یا PRT. با داشتن یه PRT دزدیدهشده، مهاجم میتونه بدون نیاز به ورود مجدد، بهصورت خودکار توکنهای جدید بگیره و MFA رو دور بزنه.
گروههای هکری دولتی چندین بار از ROADtools در عملیات واقعی استفاده کردن. Midnight Blizzard (APT29، روسیه) از سال ۲۰۲۱ از roadrecon برای شناسایی محیطهای Azure AD قربانیان استفاده میکرد. گروه ایرانی Peach Sandstorm (APT33) در سال ۲۰۲۳ بعد از حملات password spray، از ROADtools برای کشف منابع داخلی استفاده کرد. در اوایل ۲۰۲۵ هم گروهی موسوم به UTA0355 با ابزاری که دقیقاً با قابلیتهای roadtx مطابقت داشت، یه دستگاه جعلی رو در Entra ID ثبت کرد.
از منظر چارچوب MITRE ATT&CK، ROADtools سه تاکتیک کلیدی رو پوشش میده:
- Persistence (T1098.005): ثبت دستگاه جعلی در Entra ID که میتونه مثل یه دستگاه قانونی رفتار کنه و حتی Conditional Access Policies رو دور بزنه.
- Defense Evasion (T1550): سوءاستفاده از توکنهای دزدیدهشده برای دسترسی بدون ورود تعاملی.
- Discovery (T1087): شمارش کاربران، گروهها و منابع از طریق Microsoft Graph API.
یه نکته جالب برای شناسایی اینه که roadtx وقتی دستگاه ثبت میکنه، بهصورت پیشفرض نسخه سیستمعامل رو 10.0.19041.928 ثبت میکنه که با بقیه دستگاههای محیط متفاوته. البته این مقادیر قابل تغییرن.
برای دفاع در برابر ROADtools، پیشنهادهای کلیدی اینان:
- Token Protection رو در Entra ID فعال کنین تا refresh tokenها به دستگاه خاصی متصل بشن و قابل سرقت و استفاده مجدد نباشن.
- Device Code Flow رو از طریق Conditional Access Policy محدود کنین.
- اپلیکیشنهای OAuth رو مرتب ممیزی کنین و دسترسیهای اضافی رو حذف کنین.
- لاگهای Microsoft Graph API رو با لاگهای sign-in و Azure Audit در یه پلتفرم SIEM ادغام کنین تا الگوهای غیرعادی مثل queryهای انبوه روی endpointهای /users، /groups و /devices قابل شناسایی باشن.
نکات کلیدی:
- ROADtools از APIهای رسمی مایکروسافت استفاده میکنه و شناساییاش سخته
- ماژول roadtx میتونه MFA رو با سوءاستفاده از PRT دور بزنه
- گروههای APT29 (روسیه) و APT33 (ایران) از این ابزار در عملیات واقعی استفاده کردن
- نسخه پیشفرض سیستمعامل 10.0.19041.928 در ثبت دستگاه، یه IOC قابل استفادهست
- فعالسازی Token Protection موثرترین راه جلوگیری از سوءاستفاده از توکنهای دزدیدهشدهست
- مهاجران باید لاگهای Azure AD Graph رو با Microsoft Graph API جایگزین کنن چون API قدیمی منسوخ شده




