در این بخش از دوره SEC504 از موسسه SANS شما با روش های استخراج هش و ابزارهایی که برای این موضوع مورد استفاده قرار می گیرند، آشنا خواهید شد.
استخراج hash
راههای مختلفی برای استخراج هشهای یک سیستمعامل وجود دارد. در حالتی که نفوذگر دارای دسترسی ادمین بر روی سیستم هدف باشد، میتواند هشهای سیستمعامل را استخراج نماید. این عملیات هم توسط ابزار Cain انجام شده و هم میتوان با ابزارهایی مانند pwdump یا fgdump این کار را انجام داد.
علاوه بر این اگر نفوذگر با در اختیار داشتن یک اکسپلویت و با استفاده از ابزار متاسپلویت، بتواند دسترسی Meterpreter بر روی سیستم هدف بگیرد، میتواند هشهای مربوط به سیستم هدف را استخراج نماید.
برای این منظور نفوذگر میتواند هشهای سیستم را هم از طریق رجیستری استخراج نموده و یا این کار را از طریق مموری انجام دهد. برای استخراج از رجیستری باید دستور run hashdump را در محیط Meterpreter اجرا نماید ولی اگر قصد داشته باشد تا اطلاعات را از مموری استخراج نماید میتواند از دستور hashdump بدون هیچ پیشوندی استفاده نماید.
در صورتی که نفوذگر دسترسی ادمین یا مدیر را به سیستم هدف نداشته باشد میتواند بوسیله یکی از روشهای زیر هش سیستم را استخراج نماید:
بوت شدن با یک سیستمعامل دیگر و کپی فایل SAM
اگر به یک سیستم دسترسی فیزیکی داشته باشید جهت استخراج هش میتوانید با استفاده از یک دیسک بوت لینوکس فایل SAM را بخوانید و یا تغییراتی در آن ایجاد نمایید. برای این منظور میتوان از یک boot CD که از طریق لینک زیر قابل دسترسی میباشد، استفاده نمود:
https://pogostick.net/~pnh/ntpasswd
نکته: در دستگاههایی که بر روی آنها ویندوز xp و یا 2003 نصب میباشد، باید دقت داشته باشید که اگر در این سیستمعاملها از ساختار رمز نگاری فایل سیستم یا EFS استفاده شده باشد، اجرای این برنامه موجب از بین رفتن کلیدهای رمزنگاری EFS خواهد شد ولی در ویندوزهای 2000 با توجه به اینکه کلیدهای EFS به صورت جداگانه ذخیره میشوند، اجرای این برنامه موجب از دست رفتن کلیدها نخواهد شد.
به دست آوردن یک کپی از مسیر c:\windows\repair یا مسیر Backup یک سیستم.
ابزار ntbackup به صورت پیش یک کپی از اطلاعاتی را داخل این مسیر قرار میدهد که یکی از آن اطلاعات مربوط به SAM میباشد. لذا همواره این مسیر را هم در صورت وجود کنترل نمایید. (این مسیر در ویندوز xp و 2003 موجود میباشد)
همان طور که پیشتر مورد بررسی قرار گرفت، ابزار Cain and Abel نفوذگران را قادر میسازد اطلاعات challenge/response را از شبکه برای انجام فرآیند کرک استخراج نمایند. اما نفوذگران چگونه میتوانند کاربران را وادار به ارسال این اطلاعات در سراسر شبکه کنند؟
نفوذگران میتوانند دستگاه خود را در شبکهای که هدف در آن قرار دارد، جای دهند و یا عملیاتی انجام دهند تا ترافیک به سمت آنها هدایت شود تا بتوانند challenge/response مربوطه را استخراج نمایند. این امر با استفاده از تکنیکهای Sniff قابل پیاده سازی بوده ولی کمی پیاده سازی آن برای نفوذگر، مشکل میباشد.
برای برطرف کردن این مشکل، مهاجمان میتوانند از طریق ایمیل به کاربران هشدار داده و هشها را استخراج نمایند.
شما میتوانید ایمیلی ارسال نمایید که فرض شود، توسط رئیس شرکت ارسال شده است. این ایمیل میتواند با موضوع هشدار یا هر موضوع تحریک کنندهای باشد که موجب شود تا کاربر آن را باز نماید. در محتوای ایمیل، شما یک لینک قرار دادهاید که کاربر باید بر روی آن کلیک نموده تا موضوعی را مشاهده نماید.
ولی در واقع این مسیر همان مسیر Share به سیستم نفوذگر است. با این ترفند شما کاربر را مجبور میکنید تا به مسیر Share که متعلق به شما میباشد، متصل شود و با این کار به اطلاعات challenge/response وی پی خواهید برد.
برای انجام این حمله شما میتوانید از ابزار قدرتمند متاسپلویت نیز استفاده نمایید. در این حمله شما باید Auxiliary زیر را فراخوانی نمایید و منتظر باشید تا کاربر به شما متصل شود:
auxiliary/server/capture/smb
راههای مقابله با حملات شکستن کلمه عبور
برای مقابله با حملات شکستن کلمات عبور روشهای زیر موثر میباشد:
• غیر فعال نمودن قابلیت LANMAN بر روی سیستمها
• غیر فعال نمودن LANMAN Challenge/Response برای احراز هویت در شبکه و به جای آن استفاده از NTLMv2 برای احراز هویت از طریق شبکه
• طراحی یک ساختار Password Policy برای شرکت یا سازمان که پیشنهاد میشود یک طول رمز عبور را بین 20 تا 30 کاراکتر قرار دهید. بدین معنی که کاربران دیگر از کلمه عبور استفاده نکنند و از یک عبارت یا جمله استفاده کنند که به آن passphrases میگویند. در این حالت به خاطر سپاری آن راحت تر و شکستن آن نیز مشکل میباشد.
• پیاده سازی SYSKEY که در یک سطح اضافی، با استفاده از یک رمزنگاری 128 بیتی، از دیتابیس SAM هنگامیکه در رجیستری قرار میگیرد، محافظت میکند.
البته باید به این نکته نیز توجه نمود که SYSKEY از هشهای SAM زمانی که در مموری هستند، محافظت نمیکنند. به همین خاطر اگر از ابزارهایی که هشهای SAM را از مموری استخراج میکنند، استفاده شود، SYSKEY کار خاصی انجام نمیدهد و این ابزارها، هش را استخراج خواهند کرد.
برخی از این ابزارها عبارتند از Cain، Pwdump، fgdump و Meterpreter.