۱- Threat (تهدید): هر چیزی که می تواند سبب خروج از حالت نرمال در فعالیت های کامپیوتری شود، تهدید محسوب می گردد.
۲- Vulnerability (آسیب پذیری): هر ضعفی که بر روی سیستم وجود دارد که از آن بتوان برای نفوذ استفاده کرد، آسیب پذیری محسوب می گردد. این ضعف می تواند بر روی سیستم عامل و یا بر روی Application ها به علت برنامه نویسی نامناسب و بدون در نظر گرفتن نکات امنیتی باشد.
۳- Exploit (بهره برداری): روشی است که برای بهره برداری از آسیب پذیری مورد استفاده قرار می گیرد.
نکته: (NSA (National Security of America بسیاری از Vulnerability ها را می شناسد. Vulnerability ها به دو دسته Private و Public تقسیم می شوند.
نکته: شرکت Vupen یک شرکت فرانسوی است که توسط تیم هکری خود، vulnerability ها را کشف می کنند و می فروشند.
نکته: فایروال NetScreen شرکت Juniper، یک Back Door داشت که NSA از آن آگاهی داشت و از آن سو استفاده می کرد.
نکته: سایت Exploit-db.com، سایتی است که Exploit ها را در مورد طبقه بندی های مختلف امنیت ارائه می کند.
۴- Target of Evaluation: در این قسمت، هدف Hack تعیین می شود، این هدف ممکن است شخص یا سازمان باشد. همچنین انجام Hack، ممکن است به منظور خرابکاری یا سرقت اطلاعات باشد.
۵- Attack: مرحله پایانی، حمله است که جرم رایانه ای محسوب می گردد.
انواع Hacker:
هنگامی که کامپیوتر تازه اختراع شده بود، Hacker به کسانی گفته می شد که توانایی محاسبات ذهنی آنها از کامپیوتر های آن زمان، بیشتر بود.
۱- Black Hats یا Hacker :Cracker هایی هستندکه فعایت های مجرمانه دارند.
۲- White Hats یا Hacker :Security Analyst هایی هستند که فعالیت های آنها به منظور رفع نقاط ضعف امنیتی است
۳- Hacker :Gray Hats هایی هستند که فعالیت رسمی White و فعالیت غیر رسمی Black دارند.
۴- Suicide Bomber: این Hacker ها، زیر مجموعه Black Hat محسوب می شوند و با پذیرفتن عواقب فعالیت مجرمانه خود، در واقع حرکت انتحاری انجام می دهند.
یک Hacker چه فعالیت هایی را انجام می دهد:
۱- Reconnaissance (شناسایی): بدست آوردن اطلاعات در مورد هدف از اینترنت نظیر IP Address متعلق به IP Address Range، DNS متعلق به شبکه یا وب سایت، آدرس Admin به منظور تحقیق در مورد خصوصیات و مهارت های وی از طریق شبکه های اجتماعی و… این فعالیت ماژول دو است.
۲- Scan: Scanning نمودن شبکه به منظور به دست آوردن پورت های باز یا پورت های مورد استفاده در شبکه، که به نوبه خود اطلاعاتی در مورد پروتکل های مورد استفاده در آن شبکه نظیر http، ftp، SMB، LDAP و… را بدست می دهد و نهایتا” اطلاعات در مورد این پروتکل ها سبب می گردد که سرویس های مورد استفاده در آن شبکه مشخص شود. مثلا” باز بودن یا استفاده از پورت ۸۰ نشانگر استفاده از پروتکل http و آن نیز نشانگر وجود وب سرور در شبکه است و یا باز بودن یا استفاده از پورت ۳۸۹ نشانگر استفاده از پروتکل LDAP و آن نیز به نوبه خود نشانگر وجود سرویس Active directory در شبکه است.
Banner Grabbing، روشی است که با استفاده از آن می توان تعیین کرد که بر روی یک پورت باز (مثلا” ۸۰) چه سروری Run است. (مثلا” IIS، Apache و یا NGnix) همچنین با استفاده از Banner Grabbing می توان نوع OS و نیز نسخه OS را نیز تعیین کرد. فعالیت Scanning، ماژول سه است.
۳- Gaining Access: در این فعالیت، پیدا کردن روشی برای دسترسی به هدف صورت می پذیرد. این فعالیت، ماژول چهار است.
۴- Maintaining Access: این فعالیت به منظور پایداری دسترسی انجام یافته صورت می پذیرد. (بطور مثال استفاده از روشی که با خاموش شدن و روشن شدن مجدد یک سیستم، دسترسی به آن از بین نرود)
۵- Cleaning Tracks: این فعالیت به منظور پاک کردن ردپا پس از انجام کار صورت می گیرد (مثلا” استفاده از VPN یا شبکه TOR و یا پاک کردن Log ها)
انواع Attack هایی که می توان بر روی یک سیستم زد
۱- Operating System : اولین چیزی که می تواند برای نفوذ مورد استفاده قرار بگیرد، OS است. بسیاری از این نفوذها با نصب به موقع Update ها بر روی سیستم عامل، قابل پیشگیری است. مثلا” نصب Update برای جلوگیری از نفوذ با استفاده از پروتکل SMB
۲- Application Level: ممکن است نسخه ای از یک نرم افزار دارای آسیب پذیری هایی باشد که می توان از آن برای نفوذ استفاده کرد. بسیاری از نرم افزارهای محبوب، نظیر Acrobat Reade، چون محبوب و پر استفاده هستند، توجه و تمرکز Hacker های بیشتری را برای یافتن آسیب پذیری های آنها و استفاده از این آسیب پذیری ها برای Attack، به خود جلب می کنند.
یک راه برای جلوگیری از اینگونه حملات، نصب به موقع Update های Application ها است.
راه دوم ایجاد یک Authorized list برای Application ها، توسط تیم امنیتی در یک سازمان است. به نحوی که تیم امنیت شبکه سازمان، نرم افزارهای مورد نیاز سازمان را از نظر میزان نفوذ پذیری بررسی می کند و از میان چند نرم افزار که کار مشابه انجام می دهند، یکی را که کمترین قابلیت نفوذ را دارد یا آسیب پذیری های آن به لحاظ محبوبیت کمتر، کشف نشده و مورد توجه Hacker ها قرار نگرفته است، در این لیست قرار می دهند. مثلا” می توان به جای Acrobat Reader از نرم افزار Foxit استفاده نمود.
نکته: ۶۰ الی ۷۰ درصد از Hack های سیستم از طریق نرم افزارها صورت می گیرد.
۳- Misconfiguration: پیکربندی نادرست یک سرویس یا نرم افزار از جمله دلایل دیگری است که می تواند زمینه ساز Attack شود. یکی از مهمترین ارکان ایمن سازی یک سرویس یا نرم افزار، پیکربندی درست آن در هنگام نصب است.
۴- Shrink Wrap Code: برخی نرم افزار ها بر روی نرم افزارهای دیگر یک ماژول اضافه می کنند. مثلا” بطور مثال، نرم افزار Acrobat پس از نصب، یک ماژول بر روی Outlook اضافه می کند. ممکن است نرم افزار پایه آسیب پذیری نداشته باشد اما ماژول اضافه شده بر روی آن، سبب ایجاد حفره امنیتی شود.
مهارت هایی که یک Ethical Hacker باید از آنها برخوردار باشد:
۱- Platform knowledge (دانش سیستم عامل): یک Hacker باید آشنایی کامل با سیستم عامل های Windows و علی الخصوص Linux را داشته باشد (حداقل LPIC-2) (Linux Professional Institute Certified)
۲- Network Knowledge:
باید آشنایی کامل با شبکه داشته باشد. امروزه همه Attack ها تحت شبکه اتفاق می افتد.
نکته: پروتکل https، یک Session را Secure می کند. پروتکل shttp کل ترافیک را Secure می نماید.
نکته: دستور arpping، در لایه دو Ping می نماید.
۳- Computer Knowledge: باید سخت افزار های سیستم را به خوبی بشناسد.
نکته : یک کامپیوتر به صورت Ring کار می کند:
۴- Technical Knowledge: باید دانش فنی ارائه شده در دوره های مختلف امنیت شبکه را کسب کند.
باید در نظر داشت که دوره CEH، یک Overview است.
نکته: از آنجایی که زمان در عملیات Hack اهمیت زیادی دارد لذا بهتر است کار با Keyboard جایگزین Mouse بشود.