برای مطالعه قسمت قبل آموزش رایگان دوره CEH اینجا کلیک کنید.
شکستن گذرواژه ویندوز
یک روش مستقیم برای حذف رمزهای عبور از یک سیستم محلی یا از راه دور بهکارگیری ابزار L0phtCrack است. L0phtCrack ابزاری برای شکستن رمز عبور ویندوز است. LC7 نسخه فعلی ابزار فوق است. این دستگاه میتواند هشدارها را از دستگاه محلی یا یک دستگاه از راه دور استخراج کند و در صورت داشتن دسترسی مدیریتی میتواند رمزهای عبور شبکه محلی را بشکند. ابزارهایی مانند FGdump و PWdump دیگر ابزارهای استخراج گذرواژهها هستند. شما میتوانید ابزار PWdump را از آدرس http://www.openwall.com/passwords/ دانلود پیدا کنید.
اگر مجوزهای مدیریتی را داشته باشید این ابزار خط فرمان میتواند از سد الگوریتم رمزنگاری SYSKEY عبور کند. PWdump با تزریق یک کتابخانه پویا به درون سامانه قربانی کار میکند. در این حالت برنامه فوق قادر است فرآیندهای مربوط به تصدیق اعتبار را بشکند. PWdump7، نسخه فعلی قادر است به شیوه از راه دور به سیستم قربانی دسترسی پیدا کند. نحوه اجرای ابزار فوق به صورت زیر است:
C: \ pwdump> pwdump7 192.168.13.10 password.txt
برای آنکه ابزار فوق به درستی کار کند، شما باید یک نشست با یک مجوز مدیریتی را بهاشتراک قرار دهید. نتیجه این فایل متنی دسترسی به گذرواژههای هش شده سیستم قربانی است.
C:\ pwdump>type password.txt
Jack: 500: A34A4329AAD3MFEB435B51404EE:
FD02A1237LSS80CC22D98644FE0:
Ben: 1000: 466C097A37B26C0CAA5B51404EE:
F2477A14LK4DFF4F2AC3E3207FE0:
Guest: 501: NO PASSWORD*********************:
NO PASSWORD*********************:
Martha: 1001: D79135112A43EC2AAD3B431404EE:
EEAC47322ABERTE67D9C08A7958A:
Curley: 1002: D83A4FB0461F70A3B435B51404EE:
BFAWERTB7FFE33E43A2402D8DA37
با استفاده از گذرواژههای هش شده که در فایل متنی ذخیره شدهاند ، مرحله بعدی شکستن گذرواژه است. به لحاظ تاریح سه نوع مکانیزم حمله برای شکستن گذرواژهها در دسترس هکرها قرار داد. فرهنگ لغت، ترکیبی و حملات جستوجوی فراگیر.
یک حمله شکستن گذرواژه مبتنی بر فرهنگ لغت تلاش میکند رمز عبور کاربر را از میان کلمات مصطلح در فرهنگ لغت استخراج کند. یک مبتنی بر فرهنگ لغت سعی میکند یکسری گذرواژههای رایج را حدس زده و فرآیند تطابق میان گذرواژهها حدسی و گذرواژه واقعی را به سرانجام برساند. در بسیاری موارد، در صورت استفاده از کلمات ساده فرهنگ لغت، حملات فرهنگ لغت رمز عبور کاربر را در مدت زمان کوتاهی بازیابی میکنند. حمله ترکیبی از یک فرهنگ لغت یا یک فهرست از کلمات استفاده میکنند و سپس کاراکترهای دیگری را به کلمات اضافه کرده که شامل شمارهها یا کاراکترها خاص میشود. این برنامهها نسبتاً هوشمند هستند، زیرا میتوانند یک کلمه را دستکاری کرده و از تغییرات آن استفاده کنند. به عنوان مثال، یک کلمه عبور را در نظر بگیرید. بهطور مثال، کلماتی شبیه به 1password ، password1 ، p @ ssword ، pa44w0rd و.... به سرعت شناسایی میشوند. حملات ترکیبی مدت زمان شکستن گذرواژهها را افزایش میدهند، اما در مقابل شانس موفقیت آنها در شکستن یک کلمه معمولی در بیشتر موارد زیاد است.
یک حمله جستوجوی فراگیر از اعداد و کاراکترهای تصادفی برای شناسایی و شکستن رمز عبور کاربر استفاده میکند. حمله جستوجوی فراگیر روی یک گذرواژه رمزگذاری شده ممکن است، ساعتها، روزها، ماهها یا سالها طول بکشد. سرعت موفقیت بستگی به قدرت پردازنده مرکز کامپیوتر هکر دارد. ممیزی جستوجوی فراگیر تلاش میکند هر ترکیبی از حروف، اعداد و کاراکترها را برای شکستن یک گذرواژه به کار گیرد. ابزارهایی مانند L0phtCrack ، LCP ، Cain and Abel و John the Ripper میتوانند بر مبنای لغتنامه، حالت ترکیبی و جستوجوی فراگیر گذرواژه را شکسته و شناسایی کنند. از محبوبترین ابزارها در این زمینه به موارد زیر میتوان اشاره کرد:
■ Cain and Abel ابزاری چند منظوره است که میتواند کارهای مختلفی را انجام دهد که از آن شکستن گذرواژه، سرشماری ویندوز و شنود VoIP از جمله این موارد است. در بعد شکستن رمز عبور میتواند حملات دیکشنری و جستوجوی فراگیر را به شکل قابل تاملی پیادهسازی کند. در شکل زیر به قابلیتها و امکانات این برنامه دقت کنید.
■ John the Ripper یکی دیگر از ابزارهای قدرتمند شکستن گذرواژهها است. ابزار فوق قادر است روی 11 نوع از سیستمهای یونیکسی و ویندوز استفاده شود. ابزار فوق میتواند رمزهای متداول از جمله Kerberos AFS و هشهای ویندوز را درهم بشکند. همچنین تعداد زیادی ماژولهای سفارشی برای ابزار فوق ارائه شدهاند که میتوانند برای شکستن رمزهای عبور Open-VMS، حافظه نهان ویندوز و رمزهای MySQL استفاده شوند. فقط به یاد داشته باشید که رمزهای عبور شکسته شده حساس به بزرگی و کوچکی نیستند و ممکن است ترکیب واقعی گذرواژهها به درستی نشان داده نشوند. البته یک مهاجم مصمم میتواند بر این مانع کوچک غلبه کند.
سالها پیش، حملات دیکشنری، ترکیبی و جستوجوی فراگیر جزء مکانیزمهای اولیه بازیابی رمزهای عبور یا شکستن گذرواژهها به شمار میرفتند. بسیاری از رمزهای عبور تنها بر مبنای مدت زمانی که صرف شکستن آنها میشود ایمن توصیف میشوند. این عامل زمان بهتریه حربهای است که از گذرواژهها به شکل ایمن محافظت میکند. اگر زمان کافی در اختیار هکر باشد، این توانایی را دارد تا رمزهای عبور را بشکند، البته این فرآیند ممکن است چند ماه به طول انجامد. با اینحال، رویکرد نوظهوری در این زمینه به وجود آمده است. این رویکرد نوظهور تکنیک RainbowCrack نام دارد و سعی میکند یک پیشپردازش روی تمامی گذرواژهها را به شکل پیشرفته انجام دهد. پس از اتمام این فرآیند زمانبر، کلمه عبور و مقادیر رمزگذاری شده مربوطه در فایلی بهنام rainbow table ذخیره میشوند. رمز عبور رمزگذاری شده را میتوان به سرعت با مقادیر ذخیره شده در جدول مقایسه کرد و طی چند ثانیه شکست. RainbowCrack و Ophcrack دو نمونه از برنامههای موجود در این زمینه هستند. Ophcrack ابزاری برای شکستن رمز عبور است که تکنیکهای جدول رنگین کمان که به آن اشاره کردیم را پیادهسازی میکند. نکته مهم این است که اگر گذرواژه در جدول رنگین کمان باشد به سرعت کرک میشود. وبسایت ابزار فوق این امکان را میدهد تا ظرف مدت چند ثانیه هشی را وارد کرده و رمز عبور را کشف کرد.
گذرواژهها و احراز هویت در لینوکس
لینوکس نیاز دارد که حسابهای کاربری دارای رمزعبور باشند، اما بهطور پیشفرض اجازه میدهد مجموعهای از کاراکترهای خالی را استفاده کنید. در زمان نصب، لینوکس گزینه تنظیم استاندارد رمز عبور رمزگذاری شده را در اختیار کاربر قرار میدهد. اکثر نسخه لینوکس مانند فدورا و سایرین بهصورت پیشفرض از الگوریتم (MD5) استفاده میکنند. در صورت عدم استفاده از MD5 میتوانید استاندارد رمزگذاری دادههای (DES) را انتخاب کنید. با این حال، آگاه باشید الگوریتم فوق کلمات عبور را به هشت کاراکتر الفبا محدود میکند. همچنین لینوکس برای امنیت اضافی در مورد رمز عبور، فایل etc/shadow را نیز شامل میشود. اجازه دهید به فایل /etc/shadow نگاهی داشته باشیم:
root:$1$Gjt/eO.e$pKFFRe9QRb4NLvSrJodFy.:0:0:root:/root:/bin/bash
انتقال گذرواژهها به فایل shadow کمتر باعث رمزگشایی رمز عبورهای میشود، زیرا فقط کاربر روت اجازه دسترسی به فایل shadow را دارد. قالب فایل رمزعبور به شرح زیر است:
Account_name:Password:Last:Min:Max:Warn:Expire:Disable:Reserved
یک راه ساده برای آزمایش فایل passwd به شرح زیر است:
[root@mg /root]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd:
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
operator:x:11:0:operator:/root:
gopher:x:13:30:gopher:/usr/lib/gopher-data:
ftp:x:14:50:FTP User:/home/ftp:
xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false
named:x:25:25:Named:/var/named:/bin/false
john:x:500:500:John:/home/jn:/bin/bash
clement:x:501:501:Clement:/cd/:/bin/csh
betty:x:502:502:Betty:/home/bd:/bin/pop
mike:x:503:503:Mike:/home/mg:/bin/bash
دقت کنید که فیلد دوم دارای "X" است (mike: x: 503). دلیل این است که رمزهای عبور سایه زده شدهاند. از آنجایی که بسیاری از ابزارهای هک مخصوص لینوکس هستند، شما باید برخی از دستورات اساسی لینوکس را بدانید تا بتوانید در توزیعهایی مانند کالی از آنها استفاده کنید. برخی از این دستورات مهم به شرح زیر هستند:
Cat : محتوای یک فایل را فهرست میکند
Cd : پوشه را تغییر میدهد
Cp : فرمان کپی است
History: تاریخچه 500 فرمان جاری را نشان میدهد.
Ipconfig: شبیه به فرمان ipconfig ویندوز است.
Kill: اجرای یک پردازه را بر مبنای PID آن خاتمه میدهد.
Is: محتویات یک پوشه را فهرست میکند.
Man: صفحات دستی را باز میکند.
Mv: فرمانی برای انتقال فایل و پوشهها است.
Passwd: فرمانی برای تغییر گذرواژه است.
Ps: فرمان نشان دادن وضعیت یک پردازه است.
Pwd: مسیر پوشه کاری را نشان میدهد.
Rm: فایلی را حذف میکند.
Rm -r: پوشهای را همراه با محتویات آن پاک میکند.
Ctrl+P: یک برنامه را به حالت تعلیق در میآورد.
Ctrl+B: برنامه جاری را درون پسزمینه قرار میردهد.
Ctrl+Z: برنامه جاری را در وضعیت خواب قرار میدهد.
درست مانند دنیای مایکروسافت، کاربران لینوکس باید به شکلی سازمان یافته مدیریت شوند. دسترسی به کاربران و فرآیندهای سیستمی از طریق تعیین شناسه کاربر (UID) و شناسه گروهی (GID) انجام میشود. گروهها در لینوکس گروههای منطقی از کاربرانی هستند که شرایط نیازمدهای مشابهی دارند. این اطلاعات در فایل /etc/passwd قرار دارد. به عنوان یک هکر اخلاقی، بسیار مهم است که اهمیت این فایل را درک کنید. تصور کنید پروژهای را قبول کردهاید و موارد زیر را در یک فایل syslog پیدا کردید:
env x='(){:;};echo exploit' bash -c 'cat /etc/passwd'
از این موضوع اطلاع داشتید که یک مهاجم میتواند از Shellshock برای ارسال محتویات passwd به کامپیوتر شخصی خود استفاده کند؟
حتی اگر یک مهاجم قادر به دستیابی به رمزهای عبور شما باشد، سیستمهای لینوکسی یک لایه امنیتی دیگر را برای محافظت از گذرواژهها به کار میگیرند. این لایه اضافی بهکارگیری الگوریتم رمزنگاری salt است که بیتهای تصادفی که ورودیهای یک تابع یک طرفه هستند را ایجاد میکند. از آنجایی که MD5 یک الگوریتم هشسازی است اگر بخواهیم رمز عبور خود را مخفی کنیم و کاربر دیگری نیز در نظر داشته باشد رمزعبور خود را مخفی کند، مقادیر رمزنگاری شده یکسان هستند. الگوریتم رمزنگاری salt میتواند یکی از مقادیر 4،096 باشد که به تقارن بیشتر رمز عبورهای کمک میکند. در لینوکس، رمز عبور MD5 دارای 32 کاراکتر طولانی است که با $1$ آغاز میشوند. کاراکتر میان دومین و سومین کاراکتر $ است. در مثال قبلی، این مقدار Gjt / eO.e است. رمزهای عبور ساخته شده به این روش به صورت یک طرفه در نظر گرفته میشوند. به عبارت دقیقتر هیچ راه سادهای برای معکوس کردن این روند وجود ندارد.
فایل سایه (shadow) تنها راه مقابله با هکرهایی نیست که قصد دارند فرآیند احراز هویت را دور بزنند. روشهای پیشرفتهتر دیگری نیز برای حفاظت از منابع وجود دارد. اگر یک طرح تأیید هویت جدید مورد استفاده قرار گیرد، شما نیاز به راهی دارید تا برنامهها را نسبت به این واقعیت آگاه کنید بدون آنکه هیچ کدی نیازمند بازنویسی باشد. برای حل این مشکل از ماژولهای تصدیق هویت (PAM) استفاده میشود. PAMها یک طراح برنامه را قادر میسازد نگرانی از بابت مشکلات این چنینی نداشته باشد و روی ساخت خود برنامه متمرکز شود. FreeBSD ، Linux، Solaris و دیگران از PAMها استفاده میکنند. نقشPAM کنترل تعامل بین کاربر و تأیید اعتبار است. اینکار ممکن است Telnet ، FTP، ورود به کنسول یا تغییر رمز عبور باشد. PAMها از برنامههای تأیید هویت قویتری مانند Kerberos ، S / Key و RADIUS نیز پشتیبانی میکنند. دایرکتوری که فایل پیکربندی و ماژولهای خاص برای یک PAM را در خود جای داده است در مسیر /etc/pam.d/ قرار دارد.
رمزهای عبور لینوکس
تمامی مباحثی که به آنها اشاره کردیم در نهایت به معضل امنیت رمزهای عبور باز میگردد. درست مانند دنیای مایکروسافت، لینوکس دارای تعداد زیادی ابزار رمزگشایی گذرواژه مانند Hashcat ، Ophcrack و John Ripper است.
ابزار John Ripper در آدرس http://www.openwall.com/John/ قابل دانلود است. احتمالاً این برنامه شناخته شدهترین، متنوعترین و پر استفادهترین ابزار برای شکستن رمزهای عبور است. مهمتر آنکه ابزار فوق رایگان است و قادر است از شش اسکیمای رمزگذاری مربوط به سیستمعاملهای یونیکس و وینددوز (LANMan) پشتیبانی کند. این نرمافزار میتواند فهرستهای خاص یا قواعد گذرواژه مبتنی بر نوع کاراکتر و مکان قرارگیری کاراکترها را برای شکستن گذرواژها به کار گیرد. این برنامه قابل اجرای روی بیش از 12 سیستمعامل مختلف است، اما در بسیاری از توزیعهای لینوکس از پیش نصب شده است. قبل از شروع به کرک گذرواژهها بهتر است چند دقیقه وقت صرف کرده و گزینههای مختلف مربوط به این ابزار را بررسی کنید. برای این منظور فرمان /john -h را اجرا کنید. شما میتوانید مطمئن شوید که John در وضعیت آزمایشی کار میکند. به مثال زیر دقت کنید:
[root@mg /root]#./john -test
Benchmarking: Traditional DES [32/32 BS]... DONE
Many salts: 160487 c/s real, 161600 c/s virtual
Only one salt: 144262 c/s real, 146978 c/s virtual
Benchmarking: BSDI DES (x725) [32/32 BS]... DONE
Many salts: 5412 c/s real, 5280 c/s virtual
Only one salt: 5889 c/s real, 5262 c/s virtual
Benchmarking: FreeBSD MD5 [32/32 X2]... DONE
Raw: 3666 c/s real, 3246 c/s virtual
Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE
Raw: 241 c/s real, 227 c/s virtual
Benchmarking: Kerberos AFS DES [24/32 4K]... DONE
Short: 70438 c/s real, 72263 c/s virtual
Long: 192506 c/s real, 200389 c/s virtual
Benchmarking: NT LM DES [32/32 BS]... DONE
Raw: 1808844 c/s real, 1877553 c/s virtual
نتایج مربوط به معیارهای FreeBSD MD5 و NT LM DES را مرور کنید. تفاوت شکستن بر مبنای ثانیه (c / s) بین این دو عامل بیش از 500 است، به این معنی که یک حمله کامل جستوجوی فراگیر روی هش گذرواژه روی یک سیستم FreeBSD بیش از 500 برابر طولانیتر از نمونه مشابه در یک سیستمعامل ویندوزی زمان خواهد برد. کدامیک از این سیستمها دادهها را در وضعیت بحرانی قرار میدهند؟
پنهانسازی فایل و مخفی کردن ردپاها
پیش از انتقال به سیستمهای دیگر، مهاجم باید به چند نکته مهم دقت کند. مطابق با اصل مبادله لوكارد، "هر زمان شخصی با شخص، مكان یا عاملی در تماس باشد، چیزی (ردپایی) از خود بر جای میگذارد. این بدان معنا است که مهاجم باید ورود به سیستم را غیرفعال کند، پروندههای لاگ را پاک کند، شواهد را از بین ببرد، ابزارهای اضافی را حذف کرده و ردپاها را بپوشاند. در سیستم لینوکس، مهاجم ممکن است تلاش کند سرور syslog را متوقف کند/etc/init.d/syslogd stop /. از مهمترین تکنیکهایی که هکرها برای پنهان کردن ردپاهای خود استفاده میکنند به شرح زیر است:
■ غیرفعال کردن ورود به سیستم: Auditpol ، ابزاری ویندوز برای بررسی وضعیت خطمشیها است که هکرها زمانی که مجوز مدیریتی داشته باشند از آن استفاده میکنند. کافی است ابزار فوق را روی سیستم قربانی تنظیم کرده و بهطور مثال فرمان زیر را اجرا کنید تا فرآیند حسابرسی روی سیستم قربانی غیر فعال شود.
C:\ >auditpol \\ 192.168.13.10 /disable
■ پاک کردن فایل ورود: مهاجم همچنین تلاش میکنند تا نشانههای ورود به سیستم را پاک کنند. برای این منظور از ابزارهایی شبیه به Winzapper ، Evidence Eliminator و ELSave استفاده میشود. ELSave تمام ورودیها را از فایلهای گزارش حذف میکند و تنها یک ورودی را نشان میدهد که فایلها پاک شدهاند. شیوه اجرای ابزار فوق به شرح زیر است:
elsave -s \\192.168.13.10 -l "Security" -C
یکی از ورشهایی که هکرها سعی میکنند ردپاهای خود را پنهان کنند بهکارگیری روتکیتها است.
در شماره آینده مبحث فوق را ادامه میدهیم.
برای مطالعه رایگان تمام بخشهای دوره CEH روی لینک زیر کلیک کنید:
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟