راهنمای جامع شناسایی در ویندوز: نقطه ضعف طلایی برای Escalation و Bypass، به همراه نکات دفاعی
در دنیای امنیت سایبری، یکی از راههای اصلی برای دستیابی به دسترسی بالا Privilege Escalation در سیستمهای ویندوزی، سوءاستفاده از برنامههایی است که به صورت خودکار با دسترسی Administrator یا SYSTEM اجرا میشوند حتی بدون تأیید کاربر در UAC. این برنامهها تحت عنوان Auto Elevated Binaries شناخته میشوند.
این قابلیت در ابتدا توسط مایکروسافت برای تسهیل کار کاربران عادی طراحی شده بود، اما به سرعت به یکی از محبوبترین راههای Bypass UAC و Escalation برای مهاجمان تبدیل شد.
در این مقاله، به طور کامل به بررسی این مفهوم، نحوه سوءاستفاده، شناسایی دقیق، مسیرهای رجیستری حیاتی و راهکارهای دفاعی میپردازیم.
Auto Elevated چیست؟
Auto Elevated به برنامههایی گفته میشود که در ویندوز، بدون نیاز به تأیید کاربر در پنجره UAC (User Account Control)، به صورت خودکار با سطح دسترسی بالا High Integrity / Admin اجرا میشوند. این ویژگی برای برنامههای سیستمی مثل Task Manager، Event Viewer و تنظیمات زبان طراحی شده است تا کاربران عادی بتوانند بدون اختلال، از آنها استفاده کنند.
اما این "راحتی" برای کاربر، یک "فرصت طلایی" برای مهاجمان است.
چگونه مهاجمان از Auto Elevated ها سوءاستفاده میکنند؟
مهاجمان از این برنامهها به عنوان Trusted Path استفاده میکنند. یعنی:
- برنامه امضا شده مایکروسافت است در نتیجه آنتیویروس/EDR آن را مسدود نمیکند.
- بدون نیاز به UAC اجرا میشود در نتیجه کاربر متوجه نمیشود.
- میتواند فایل، رجیستری یا پروسه را با دسترسی بالا تغییر دهد.
تکنیک معروف: UAC Bypass via Auto Elevated Binaries
مثال عملی:
وقتی eventvwr.exe اجرا میشود، به صورت خودکار Elevate میشود. اگر مهاجم قبل از اجرا، مسیر بارگذاری DLLهای آن مثلاً mmc.exe را با تکنیک Hijacking تغییر دهد، میتواند کد مخرب خود را با دسترسی بالا اجرا کند.
برنامههای معروف برای سوءاستفاده:
- eventvwr.exe
- fodhelper.exe
- computerdefaults.exe
- sdclt.exe
- slui.exe
- chkdsk.exe در برخی نسخهها
Auto Elevated Binaryها به دلیل اعتماد ذاتی سیستم به آنها، نقطه ورود ایدهآلی برای Privilege Escalation بدون تریگر کردن آلارمهای امنیتی هستند. شناسایی و مانیتورینگ آنها برای تیمهای دفاعی ضروری است.
شناسایی Auto Elevated Binaryها، روش عملیاتی و دقیق
روش پیشنهادی: استفاده از ابزار Sigcheck در ترکیب با PowerShell
دستور زیر تمام فایلهای .exe موجود در پوشه System32 را بررسی کرده و فقط آنهایی که واقعاً دارای auto Elevate=true هستند را با نام دقیق فایل نمایش میدهد:
|
powershell
Get-ChildItem "C:\Windows\System32\*.exe" | ForEach-Object {
$output = .\sigcheck.exe -nobanner -m $_.FullName 2>&1 | Out-String
if ($output -match '<autoElevate[^>]*>true</autoElevate>') {
Write-Host "Auto-Elevated: $($_.Name)" -ForegroundColor Green
{
}
|
خروجی نمونه:
Auto-Elevated: ComputerDefaults.exe
Auto-Elevated: fodhelper.exe
Auto-Elevated: eventvwr.exe
Auto-Elevated: sdclt.exe
Auto-Elevated: slui.exe
این دستور PowerShell، دقیقترین و کاربردیترین روش برای شناسایی Auto Elevated Binaryها در محیط عملیاتی است. توصیه میشود در اسکریپتهای دورهای امنیتی و اسکنهای Red Team گنجانده شود.
مسیرهای حیاتی رجیستری برای شناسایی حمله، محل تغییرات مهاجمان
مهاجمان برای سوءاستفاده از Auto Elevated Binaryها، معمولاً کلیدهای رجیستری زیر را تغییر میدهند. شناسایی تغییرات در این مسیرها، یکی از مؤثرترین روشهای تشخیص حمله است.
1. کلید ms-settingsمورد استفاده در حمله با fodhelper.exe و computerdefaults.exe
مسیر دقیق:
HKEY_CURRENT_USER\Software\Classes\ms-settings\shell\open\command
سوءاستفاده:
مهاجم مقدارDefault را به دستور مورد نظر خود تغییر میدهد. مثلاً:
cmd.exe /c whoami > C:\pwned.txt
سپس با اجرای fodhelper.exe، دستور بدون UAC و با دسترسی بالا اجرا میشود.
2. کلید CLSID مورد استفاده در حمله با eventvwr.exe و mmc.exe
مسیرهای حساس:
HKEY_CURRENT_USER\Software\Classes\CLSID\{GUID}\InprocServer32
CLSID معروف:
{752073A1-01F9-4E0B-8B20-76A3B5C5167E} → Event Viewer SnapIn
سوءاستفاده:
مهاجم یک CLSID جعلی یا واقعی را در HKCU تعریف کرده و مقدار InprocServer32 را به DLL مخرب خود اشاره میدهد. هنگام اجرای eventvwr.exe، DLL با دسترسی بالا بارگذاری میشود.
3. کلید: App Paths مورد استفاده در حمله با sdclt.exe و slui.exe
مسیر دقیق:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\*.exe
سوءاستفاده:
مهاجم مسیر اجرایی یک برنامه قابل اعتماد (مثل control.exe) را تغییر میدهد. مثلاً:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe]
@="C:\\Temp\\evil.exe"
هنگامی که sdclt.exe به control.exe ارجاع میدهد، evil.exe با دسترسی بالا اجرا میشود.
تغییرات در این سه کلید رجیستری — ms-settings، CLSID و App Paths — نشانههای قوی از تلاش برای UAC Bypass هستند. مانیتورینگ این مسیرها باید در سیاستهای امنیتی و SOC هر سازمان گنجانده شود.
نقشهای حمله و دفاع Red Team vs Blue Team
نقش مهاجم Red Team / Adversary
- شناسایی Auto-Elevated Binary هدف مثلاً fodhelper.exe یا sdclt.exe
- Hijack کردن مسیر اجرا از طریق تغییر رجیستری مثلاً در ms-settings یا App Paths
- اجرای payload بدون تریگر کردن UAC
- Escalate به SYSTEM یا ایجاد Persistent Access
نقش دفاع Blue Team / Defender
- مانیتورینگ اجراهای غیرعادی از System32 مثلاً eventvwr.exe که از طریق CMD اجرا شده
- بررسی تغییرات رجیستری در کلیدهای ms-settings، CLSID و App Paths
- لاگگیری از Process Creation با Event ID 4688 و فیلتر کردن Parent Processهای مشکوک
- بلاک کردن یا Restrict کردن Auto-Elevatedها با AppLocker یا WDAC
درک نقشهای حمله و دفاع به تیمهای امنیتی کمک میکند تا هم حملات را شبیهسازی کنند و هم دفاع خود را دقیقتر طراحی کنند. این دو دیدگاه مکمل یکدیگرند.
راهکارهای دفاعی عملیاتی
1. فعال کردن UAC در حالت Always Notify اگرچه برخی Auto Elevatedها هنوز Bypass میکنند.
2. استفاده از AppLocker یا Windows Defender Application Control (WDAC) برای محدود کردن اجرای برنامهها از مسیرهای مشکوک مثل Tempو AppData
3. مانیتورینگ رفتاری Behavioral Monitoringروی Binaryهای System32 مثلاً اجراهای غیرعادی eventvwr.exe
4. لاگگیری از تغییرات رجیستری در کلیدهای حساس با (Sysmon Event ID 12, 13, 14)
5. Patch کردن منظم مایکروسافت در هر نسخه، لیست Auto Elevatedها را تغییر میدهد و برخی را حذف میکند.
دفاع در برابر سوءاستفاده از Auto Elevatedها نیازمند رویکردی لایهای است: از Hardening سیستم تا مانیتورینگ رفتاری و لاگگیری هوشمند.
Auto Elevated تسهیلگر کاربر، نقطه ضعف سیستم
Auto Elevated Binaryها یکی از جذابترین و خطرناکترین مفاهیم در امنیت ویندوز هستند. از یک سو، به کاربران عادی کمک میکنند تا بدون مزاحمت UAC، از ابزارهای سیستمی استفاده کنند. از سوی دیگر، به مهاجمان اجازه میدهند بدون هیچ هشداری، دسترسی Admin یا SYSTEM کسب کنند.
برای Red Team اینها Gold Mine هستند، منابعی که با کمترین ریسک، بیشترین دسترسی را میدهند.
برای Blue Team اینها نقاط بازرسی اصلی هستند باید Inventory شوند، رفتارشان مانیتور شود و تغییرات در مسیرهای وابسته به آنها آلارم داده شود.
نوشته شده توسط: مهندس امیر علیبیگی / تیم امنیت دفاعی شرکت دوران