استخراج رمز عبور بهصورت متنی با Mimikatz: نحوه عملکرد، تهدیدات و روشهای مقابله
Mimikatz یک ابزار قدرتمند و محبوب است که توسط بنجامین دلمپی در سال ۲۰۰۷ توسعه یافته و به منظور تحلیل و استخراج اطلاعات امنیتی و دسترسی از سیستمهای ویندوزی طراحی شده است. این ابزار بهویژه برای حملات پس از بهرهبرداری و آزمایشهای امنیتی در شبکهها بسیار کاربرد دارد و به تسترهای نفوذ و هکرها اجازه میدهد تا اطلاعات حساس مانند رمزهای عبور و توکنهای امنیتی را از سیستم استخراج کنند.
تاریخچه Mimikatz
ابزار Mimikatz ابتدا بهعنوان یک پروژه تحقیقاتی توسط دلمپی ایجاد شد تا ضعفهای امنیتی ویندوز را آشکار سازد. هدف اصلی از ساخت این ابزار، نمایش مشکلات امنیتی مربوط به مدیریت رمز عبور و احراز هویت در سیستمهای ویندوزی بود. با گذشت زمان و انتشار بهروزرسانیهای مداوم، این ابزار به یکی از پرکاربردترین ابزارها در دنیای تست نفوذ تبدیل شد و شهرت زیادی در جامعه امنیت سایبری به دست آورد.
نحوه عملکرد Mimikatz
Mimikatz قابلیتهای متعددی را برای استخراج اطلاعات امنیتی و رمز عبور از حافظه سیستم ویندوز فراهم میکند. برخی از اصلیترین قابلیتهای آن به شرح زیر است:
- استخراج رمز عبور از حافظه (Clear Text Passwords): Mimikatz میتواند رمزهای عبور ذخیرهشده در حافظه سیستم ویندوز را بهصورت متنی واضح استخراج کند. این فرآیند از طریق دسترسی به حافظه سیستم و خواندن اطلاعات امنیتی انجام میشود.
- گرفتن هشهای رمز عبور (Hash Dumping): این ابزار میتواند هشهای رمز عبور ذخیرهشده را استخراج کند، که سپس میتوانند برای حملات مبتنی بر هش مانند Pass-the-Hash استفاده شوند.
- دریافت توکنهای احراز هویت (Token Impersonation): Mimikatz این امکان را فراهم میکند تا توکنهای احراز هویت کاربران مختلف در سیستم را بهدست آورد و از آنها برای دسترسی به سیستمها و منابع دیگر در شبکه استفاده کند.
- استفاده از حملات Pass-the-Ticket و Pass-the-Hash: با بهرهگیری از هشها و بلیطهای Kerberos، Mimikatz میتواند به کاربر اجازه دهد به سیستمهای شبکه دسترسی پیدا کند بدون اینکه نیازی به رمز عبور داشته باشد.
- دریافت بلیطهای Kerberos: بلیطهای احراز هویت Kerberos میتوانند توسط Mimikatz استخراج و برای دسترسیهای غیرمجاز در شبکه استفاده شوند.
کاربردهای Mimikatz
ابزار Mimikatz عمدتاً در سناریوهای تست نفوذ و تحلیل امنیتی کاربرد دارد. برخی از کاربردهای اصلی این ابزار عبارتاند از:
- آزمایش و شبیهسازی حملات امنیتی: Mimikatz به متخصصان امنیتی اجازه میدهد تا سناریوهای واقعی حملات را شبیهسازی کنند و بررسی کنند که آیا سیستمها در برابر این حملات مقاوم هستند یا خیر.
- بازیابی رمز عبور کاربران: در مواردی که مدیران شبکه نیاز به بازیابی رمز عبور کاربران داشته باشند، Mimikatz میتواند کمککننده باشد.
- تحلیل و عیبیابی امنیتی: با استفاده از این ابزار، تحلیلگران امنیتی میتوانند ضعفها و مشکلات امنیتی موجود در تنظیمات و سیاستهای احراز هویت سیستمهای ویندوزی را شناسایی و برطرف کنند.
نحوه استفاده از Mimikatz
استخراج رمز عبور بهصورت متنی واضح (Clear Text Passwords) یکی از قابلیتهای اصلی و پرکاربرد ابزار Mimikatz است که به مهاجمان یا تسترهای نفوذ اجازه میدهد تا رمزهای عبور ذخیرهشده در حافظه سیستم ویندوز را بهدست آورند. این روش به این دلیل مؤثر است که ویندوز در برخی موارد، رمزهای عبور کاربران را بهصورت متنی در حافظه ذخیره میکند تا فرآیند احراز هویت بهصورت سریعتری انجام شود. این ذخیرهسازی ممکن است به دلایل زیر رخ دهد:
- سرویسهای Single Sign-On (SSO): برای تسهیل دسترسی کاربران به منابع مختلف بدون نیاز به وارد کردن مکرر رمز عبور، سیستم ویندوز ممکن است اطلاعات احراز هویت را بهصورت موقت در حافظه ذخیره کند.
- پروتکل احراز هویت NTLM: این پروتکل که در بسیاری از سیستمهای ویندوزی استفاده میشود، میتواند بهصورت موقتی رمز عبور یا هشهای آن را در حافظه نگه دارد.
- لاگینهای محلی و از راه دور: سیستم ممکن است اطلاعات مربوط به جلسات فعال کاربر را در حافظه ذخیره کند تا دسترسی و مدیریت نشستها آسانتر شود.
نحوه استفاده از Mimikatz برای استخراج رمز عبور از حافظه
ابزار Mimikatz از چندین دستور برای دسترسی به حافظه و استخراج اطلاعات حساس از جمله رمزهای عبور استفاده میکند. برای اینکه این فرآیند بهدرستی انجام شود، کاربر باید با دسترسی سطح بالا (مانند ادمین) به سیستم دسترسی داشته باشد. این ابزار با استفاده از دستورات و توابع خاص، حافظه فرآیندهای امنیتی را بررسی و اطلاعات مربوط به احراز هویت را از آنها استخراج میکند.
فرآیند استخراج Clear Text Passwords
مراحل اصلی استخراج رمز عبور متنی با Mimikatz به شرح زیر است:
- اجرای ابزار Mimikatz: ابتدا باید ابزار را اجرا کنید و به حالت دسترسی «Debug Privilege» سوئیچ کنید. این مرحله به Mimikatz اجازه میدهد تا به فرآیندهای سیستمی با سطح دسترسی بالا دسترسی داشته باشد.
mimikatz.exe
privilege::debug
- استخراج اطلاعات احراز هویت با دستور sekurlsa::logonpasswords: این دستور به ابزار Mimikatz اجازه میدهد تا اطلاعات مرتبط با جلسات کاربری فعال را از حافظه استخراج کند. با استفاده از این دستور، Mimikatz میتواند رمز عبورهای ذخیرهشده بهصورت متنی واضح را بازیابی کند.
sekurlsa::logonpasswords
- دسترسی به فرآیند LSASS: سرویس LSASS (Local Security Authority Subsystem Service) در ویندوز، مسئول مدیریت و نگهداری اطلاعات احراز هویت است. Mimikatz از طریق دسترسی به این فرآیند، اطلاعات مرتبط با رمز عبور را بازیابی میکند. این سرویس گاهی اوقات رمزهای عبور کاربران را بهصورت متنی نگه میدارد که توسط Mimikatz قابل دسترسی است.
- نمایش رمزهای عبور: پس از اجرای دستور، Mimikatz رمزهای عبور را در قالب متنی نمایش میدهد. این اطلاعات میتواند شامل نام کاربری، دامنه و رمز عبور مربوط به هر جلسه باشد.
شرایط و محدودیتهای استخراج رمز عبور بهصورت متنی
- سطح دسترسی بالا: برای اینکه Mimikatz بتواند رمزهای عبور را از حافظه استخراج کند، باید با دسترسی ادمین اجرا شود.
- فعال بودن فرآیند LSASS: این فرآیند باید در حال اجرا باشد، زیرا Mimikatz به این سرویس برای دسترسی به اطلاعات احراز هویت نیاز دارد.
- غیرفعال بودن ابزارهای امنیتی: بسیاری از نرمافزارهای امنیتی و ضدویروسها تلاش میکنند تا دسترسی Mimikatz به LSASS را مسدود کنند. بنابراین ممکن است ابزارهای امنیتی باید غیرفعال یا دور زده شوند.
اقدامات امنیتی برای مقابله با استخراج Clear Text Passwords
از آنجایی که استخراج رمز عبور بهصورت متنی میتواند خطرات زیادی را برای سازمانها به همراه داشته باشد، اتخاذ تدابیر امنیتی زیر میتواند مفید باشد:
- فعالسازی Credential Guard و LSA Protection: این ویژگیها در ویندوز ۱۰ و نسخههای سرور میتوانند رمزهای عبور را از دسترسی غیرمجاز محافظت کرده و جلوی دسترسی به LSASS را بگیرند.
- استفاده از احراز هویت چندعاملی (MFA): حتی اگر رمز عبور کاربر استخراج شود، استفاده از روشهای اضافی احراز هویت میتواند خطر سوءاستفاده را کاهش دهد.
- حذف سیاستهای ذخیرهسازی رمز عبور بهصورت متنی: میتوان تنظیمات ویندوز را طوری پیکربندی کرد که رمزهای عبور بهصورت هش یا بهطور امنتری ذخیره شوند.
- نظارت بر دسترسی به فرآیند LSASS: نظارت بر فرآیندهایی که به LSASS دسترسی پیدا میکنند و شناسایی رفتارهای مشکوک میتواند به شناسایی فعالیتهای غیرمجاز کمک کند.
استخراج رمز عبور بهصورت متنی از حافظه با استفاده از Mimikatz نشاندهنده ضعفهای مهم امنیتی در سیستمهای ویندوزی است. با درک عملکرد Mimikatz و پیادهسازی اقدامات امنیتی مناسب، سازمانها میتوانند از این نوع تهدیدات جلوگیری کرده و امنیت اطلاعات خود را افزایش دهند.
نحوه عملکرد استخراج هشها با Mimikatz
استخراج هشهای رمز عبور یکی از قابلیتهای مهم ابزار Mimikatz است که به کاربران اجازه میدهد تا هشهای رمز عبور ذخیرهشده در سیستم را استخراج کنند. این هشها بهصورت رمزنگاریشده از رمزهای عبور کاربران ایجاد میشوند و به سیستمهای احراز هویت کمک میکنند تا بدون نیاز به رمز عبور اصلی، هویت کاربران را تأیید کنند.
در ابزار Mimikatz، دستوری به نام sekurlsa::logonpasswords
برای استخراج هشهای رمز عبور بهکار میرود. این دستور اطلاعات مربوط به نشستهای کاربری فعال را استخراج و هشهای رمز عبور کاربران را نمایش میدهد. مراحل استخراج هشها به شرح زیر است:
- اجرای ابزار Mimikatz: ابتدا باید ابزار را اجرا کنید و به حالت دسترسی «Debug Privilege» تغییر دهید تا بتوانید به اطلاعات حساس دسترسی داشته باشید.
mimikatz.exe
privilege::debug
- استفاده از دستور sekurlsa::logonpasswords: این دستور اطلاعات مربوط به احراز هویت را از حافظه استخراج میکند و هشهای رمز عبور کاربران فعال را نمایش میدهد.
sekurlsa::logonpasswords
- بررسی و استفاده از هشها: پس از استخراج، این هشها را میتوان برای حملاتی مانند Pass-the-Hash به کار برد. در حمله Pass-the-Hash، مهاجم میتواند با استفاده از این هشها بدون نیاز به رمز عبور اصلی، به سیستمها و منابع شبکه دسترسی پیدا کند.
مقابله با تهدیدات استخراج هشهای رمز عبور
برای مقابله با این تهدید، سازمانها میتوانند تدابیری مانند بهروزرسانی سیستمها، فعالسازی ابزارهای امنیتی، استفاده از احراز هویت چندعاملی و اجرای سیاستهای مدیریت رمز عبور قوی را اتخاذ کنند.
نحوه عملکرد استخراج بلیطهای Kerberos با Mimikatz
استخراج بلیطهای Kerberos یکی دیگر از قابلیتهای مهم ابزار Mimikatz است که به مهاجمان یا تسترهای نفوذ اجازه میدهد بلیطهای احراز هویت Kerberos را از سیستم استخراج کرده و برای دسترسی غیرمجاز به منابع شبکه استفاده کنند. بلیطهای Kerberos در سیستمهای ویندوزی بهعنوان بخشی از پروتکل احراز هویت Kerberos عمل میکنند و به کاربران اجازه میدهند بدون نیاز به وارد کردن مجدد رمز عبور به منابع شبکه دسترسی پیدا کنند.
ابزار Mimikatz با دسترسی به حافظه سیستم و فرآیند LSASS (Local Security Authority Subsystem Service)، قادر به استخراج بلیطهای Kerberos کاربران است. این بلیطها شامل اطلاعاتی هستند که برای احراز هویت در شبکه مورد استفاده قرار میگیرند. مراحل استخراج بلیطها به شرح زیر است:
- اجرای ابزار Mimikatz: ابتدا ابزار Mimikatz را اجرا کرده و دسترسی «Debug Privilege» را فعال کنید.
mimikatz.exe
privilege::debug
- استفاده از دستور استخراج بلیطهای Kerberos: با وارد کردن دستور
sekurlsa::tickets /export
، Mimikatz تمامی بلیطهای Kerberos ذخیرهشده در حافظه سیستم را استخراج کرده و بهصورت فایلهایی در محل اجرای ابزار ذخیره میکند.sekurlsa::tickets /export
- بررسی و استفاده از بلیطها: بلیطهای Kerberos استخراجشده میتوانند برای حملاتی مانند Pass-the-Ticket استفاده شوند. در این حمله، مهاجم بلیط استخراجشده را در یک سیستم دیگر به کار میبرد تا بدون نیاز به رمز عبور به منابع شبکه دسترسی پیدا کند.
شرایط و محدودیتهای استخراج بلیطهای Kerberos
برای اینکه Mimikatz بتواند بلیطهای Kerberos را استخراج کند، نیاز به دسترسی سطح بالا (ادمین) در سیستم وجود دارد. علاوه بر این، برخی نرمافزارهای امنیتی میتوانند دسترسی Mimikatz به LSASS و استخراج بلیطهای Kerberos را محدود کنند.
اقدامات امنیتی برای مقابله با تهدیدات Kerberos
برای جلوگیری از سوءاستفاده از بلیطهای Kerberos، سازمانها میتوانند از اقدامات زیر استفاده کنند:
- کاهش عمر بلیطها: کاهش مدت زمان اعتبار بلیطهای Kerberos میتواند از سوءاستفادههای طولانیمدت جلوگیری کند.
- فعالسازی Kerberos Armoring: این ویژگی میتواند امنیت بلیطها را افزایش داده و از حملات جلوگیری کند.
- نظارت بر فرآیندهای غیرعادی و دسترسی به LSASS: شناسایی و مسدودسازی فرآیندهای مشکوکی که به LSASS دسترسی پیدا میکنند.
- استفاده از احراز هویت چندعاملی (MFA): این روش میتواند امنیت دسترسی به منابع شبکه را تقویت کند و خطر استفاده از بلیطهای سرقتشده را کاهش دهد.
استخراج بلیطهای Kerberos توسط Mimikatz یکی از روشهای مؤثر برای دور زدن سیستمهای احراز هویت در شبکههای ویندوزی است. آشنایی با این روشها و پیادهسازی تدابیر امنیتی مناسب میتواند به کاهش خطرات و افزایش امنیت سیستمهای شبکه کمک کند.
حملات Pass-the-Hash با Mimikatz
ابزار Mimikatz بهطور خاص برای کمک به انجام حملات Pass-the-Hash و Pass-the-Ticket طراحی شده و قابلیتهای پیشرفتهای برای استخراج و سوءاستفاده از اطلاعات احراز هویت کاربران در سیستمهای ویندوزی دارد. این ابزار از طریق دسترسی به حافظه سیستم و فرآیندهای امنیتی، اطلاعات حساس مانند هشهای رمز عبور و بلیطهای Kerberos را استخراج کرده و امکان استفاده از آنها را برای دسترسی غیرمجاز به منابع شبکه فراهم میکند.
در حمله Pass-the-Hash، Mimikatz از طریق استخراج هش رمز عبور کاربران به مهاجم اجازه میدهد تا به سیستمها و منابع شبکه دسترسی پیدا کند، بدون اینکه نیازی به رمز عبور اصلی باشد. این قابلیت بهویژه در شبکههایی که از پروتکل NTLM (پروتکل احراز هویت ویندوزی) استفاده میکنند، مؤثر است.
نحوه اجرای Pass-the-Hash با Mimikatz
برای انجام حمله Pass-the-Hash، مراحل زیر معمولاً توسط مهاجم طی میشود:
- دسترسی به ابزار و اجرای دستور استخراج هش: ابتدا ابزار Mimikatz را با دسترسی ادمین اجرا میکنند و سپس با استفاده از دستورات خاصی، هشهای رمز عبور ذخیرهشده در حافظه را استخراج میکنند:
sekurlsa::logonpasswords
این دستور، لیستی از کاربران وارد شده، به همراه اطلاعاتی مانند هشهای NTLM را نمایش میدهد.
- تقلید کاربری با استفاده از هش NTLM: با دستور زیر، مهاجم میتواند بهطور مستقیم از هش بهدست آمده برای احراز هویت در سیستم یا شبکه استفاده کند، بدون نیاز به رمز عبور اصلی:
sekurlsa::pth /user:username /ntlm:hash_value /domain:domain_name
این دستور، به مهاجم اجازه میدهد تا بهعنوان کاربر مورد نظر وارد سیستم یا شبکه شود.
- دسترسی به منابع شبکه: پس از اجرای دستور، مهاجم میتواند به منابع شبکه مانند سرورهای فایل، پایگاههای داده یا برنامههای کاربردی دسترسی پیدا کند، انگار که کاربر اصلی است.
حملات Pass-the-Ticket با Mimikatz
در حمله Pass-the-Ticket، Mimikatz با استخراج بلیطهای Kerberos از حافظه سیستم، به مهاجم امکان میدهد که بلیطها را در سایر سیستمها یا شبکهها برای احراز هویت استفاده کند. بلیطهای Kerberos به مهاجم اجازه میدهند که در محیطهای دامنه (Domain) ویندوز به منابع مختلف بدون نیاز به رمز عبور دسترسی پیدا کند.
نحوه اجرای Pass-the-Ticket با Mimikatz
برای اجرای حمله Pass-the-Ticket، مراحل زیر طی میشود:
- استخراج بلیطهای Kerberos: ابتدا، بلیطهای Kerberos کاربران با استفاده از دستور
sekurlsa::tickets /export
استخراج میشوند. این دستور تمامی بلیطهای Kerberos ذخیرهشده در حافظه سیستم را بهصورت فایلهای قابل استفاده برای مهاجم استخراج میکند:sekurlsa::tickets /export
این فایلها حاوی بلیطهایی هستند که میتوان از آنها در سایر سیستمها استفاده کرد.
- بارگذاری و استفاده از بلیط Kerberos: با دستور زیر، مهاجم میتواند بلیط Kerberos ذخیرهشده را به یک سیستم دیگر وارد کرده و به منابع شبکه بهعنوان کاربر قانونی دسترسی پیدا کند:
kerberos::ptt ticket_filename
دستور بالا، بلیط Kerberos استخراجشده را بارگذاری میکند و آن را بهصورت فعال در سیستم مقصد قرار میدهد.
- دسترسی به سیستمهای دامنه: با استفاده از بلیط Kerberos بارگذاریشده، مهاجم میتواند به منابع مختلف شبکه دامنه ویندوز مانند سرورها و فایلها دسترسی پیدا کند.
نکات کلیدی درباره حملات Pass-the-Hash و Pass-the-Ticket با Mimikatz
- نیاز به دسترسی ادمین: برای اجرای موفقیتآمیز این حملات، Mimikatz به دسترسی سطح بالای ادمین نیاز دارد.
- نقش LSASS: LSASS (Local Security Authority Subsystem Service) فرآیندی است که اطلاعات احراز هویت را در حافظه ذخیره میکند. Mimikatz با دسترسی به این فرآیند، هشها و بلیطهای Kerberos را استخراج میکند.
- دور زدن احراز هویت: این حملات به مهاجم اجازه میدهند که بدون نیاز به رمز عبور واقعی، به سیستمها و منابع شبکه دسترسی پیدا کند.
روشهای مقابله با حملات Pass-the-Hash و Pass-the-Ticket
برای محافظت از سیستمها در برابر حملات مبتنی بر Mimikatz و Pass-the-Hash/Pass-the-Ticket، سازمانها میتوانند اقدامات زیر را اجرا کنند:
- اجرای Credential Guard و LSA Protection: این قابلیتها به محافظت از اطلاعات حساس احراز هویت در حافظه کمک میکنند و از دسترسی غیرمجاز به LSASS جلوگیری میکنند.
- استفاده از احراز هویت چندعاملی (MFA): احراز هویت چندعاملی، سطح امنیت دسترسیها را افزایش میدهد و خطر سوءاستفاده از هشها و بلیطهای Kerberos را کاهش میدهد.
- محدود کردن دسترسی ادمین: با محدود کردن دسترسیهای مدیریتی و استفاده از حسابهای جداگانه برای وظایف مدیریتی، خطر دسترسی مهاجمان به اطلاعات احراز هویت کاهش مییابد.
- بهروزرسانی سیستمها و پچهای امنیتی: بهروزرسانی سیستمها و نصب آخرین پچهای امنیتی میتواند ضعفهای مورد سوءاستفاده را رفع کند.
- نظارت بر رفتار غیرعادی در شبکه: ابزارهای نظارت و تشخیص تهدیدات میتوانند فعالیتهای مشکوکی مانند تلاش برای دسترسی به LSASS یا استفاده از بلیطهای Kerberos را شناسایی کنند.
ابزار Mimikatz، بهدلیل قابلیتهای پیشرفتهاش در اجرای حملات Pass-the-Hash و Pass-the-Ticket، یکی از ابزارهای مهم برای تست نفوذ و همچنین حملات امنیتی است. آشنایی با عملکرد این حملات و استفاده از تدابیر امنیتی مؤثر میتواند به کاهش خطرات و محافظت از شبکهها و سیستمها در برابر تهدیدات مبتنی بر Mimikatz کمک کند.
مطالب زیر را حتما بخوانید
-
معرفی کامل Veil Framework: ابزار قدرتمند تست نفوذ و دور زدن آنتیویروسها
7 بازدید
-
آشنایی کامل با Social Engineering Toolkit (SET): ابزار قدرتمند حملات مهندسی اجتماعی
35 بازدید
-
بدافزارهای بدون فایل (Fileless Malware): تهدیدی پیشرفته در دنیای امنیت سایبری
47 بازدید
-
هک با ابزارهای قانونی: چگونه هکرها از روش Living Off the Land برای نفوذ استفاده میکنند؟
46 بازدید
-
راهنمای جامع ابزار PsExec: مدیریت راه دور سیستمهای ویندوزی با قدرت و انعطافپذیری بالا
55 بازدید
-
آنتیویروس بایپس: تکنیکها، ابزارها و راهکارهای مقابله با دور زدن آنتیویروس
65 بازدید
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.