اینجا هدف آموزش CEH نیست. بلکه CEH رو باهم قراره یاد بگیریم !
CEH چیه؟ CEH یا Certified Ethical Hacker به شما این امکان را میدهد که مهارت های هک کردن را از دید یک هکر اخلاقی (Ethical Hacker) یاد بگیرید. این گواهینامه یا دوره توسط سازمان EC-Council ارائه میشه.
CEH از ماژول های مختلفی تشکیل شده و هر ماژول اختصاص داره به یک موضوعی.
ماژول اول Introduction to Ethical Hacking هست یعنی "مقدمهایی بر هکر اخلاقی یا قانونی". درنهایت تو ماژول اول قراره یکسری مقدمات و اصطلاحات رو یادبگیریم تا داخل ماژول های بعدی مفاهیم برامون گنگ نباشه.
قبل از اینکه بریم سراغ اولین ماژول، خودم رو معرفی کنم ! من امیرحسین ناظوریام علاقه مند به حوزه System Hacking و همچنین، علاقه مند به یادگیری و یاد دادن. آیدی من داخل اکثر شبکه های اجتماعی : mrNazouri13
Introduction to Ethical Hacking
پنج مرحله اصلی که یک هکر اخلاقی در فرایند هک طی میکند :
Reconnaissance (شناسایی) : جمع آوری اطلاعات اولیه درباره هدف.
Scanning : استفاده از ابزارهای خاص برای شناسایی نقاط ضعف سیستم ها و شبکه ها.
Gaining Access (گرفتن دسترسی) : بهره برداری از آسیب پذیریها برای نفوذ به سیستم و کسب دسترسی.
Maintaining Access (حفظ دسترسی) : حفظ دسترسی به سیستم برای مدت زمان طولانی تر بدون شناسایی.
Clearing Tracks (پاک کردن رد پاها) : پاک کردن لاگ ها و ردپاها برای جلوگیری از شناسایی توسط مدیران سیستم.
بریم با چندتا اصطلاح آشنا بشیم :
Black Hat Hackers : هکرهای مخرب که بطور غیرقانونی به سیستمها نفوذ کرده و دادهها را سرقت یا تخریب میکنند.
White Hat Hackers : هکرهای اخلاقی که بصورت قانونی و با هدف حفظ امنیت به فعالیت میپردازند.
Gray Hat Hackers : این دسته از هکرها به هکرهایی گفته میشود که هم Black کار میکنن و هم White.
Script Kiddies : افرادی که بدون دانش عمیق از ابزارهای آماده برای انجام حملات ساده استفاده میکنند.
State/Nation Sponsored Hackers : هکرهای دولتی.
Hacktivist : هکرهایی که برای اهداف اجتماعی/سیاسی فعالیت میکنن.
Penetration Test (تست نفوذ): pentest یک فرایند شبیه سازی حملات واقعی به سیستمها، شبکهها یا برنامههای کاربردی است با هدف شناسایی و بهره برداری از آسیبپذیری های امنیتی. این تست به سازمان ها کمک میکند تا قبل از اینکه هکرهای مخرب از این نقاط ضعف استفاده کنند آنهارا شناسایی و برطرف کنند. pentest را میتوان به دسته های مختلفی تقسیم کرد :
Black Box Testing (تست نفوذ سیاه): در این نوع تست، تیم تستر هیچ اطلاعاتی در مورد زیرساخت هدف ندارد و بصورت کاملاً ناشناخته به سیستم حمله میکند. این نوع تست مشابه یک حمله واقعی از سوی یک هکر بدون اطلاعات قبلی است.
White Box Testing (تست نفوذ سفید): در این نوع تست، تیم تستر به اطلاعات کاملی از سیستم هدف دسترسی دارد مانند سورس کدها، پیکربندی ها، دادههای شبکه و… این تست به تستر اجازه میدهد تا با دقت و جزئیات بیشتری به جستوجوی آسیبپذیری ها بپردازد.
Gray Box Testing (تست نفوذ خاکستری): این نوع تست، ترکیبی از تست های سیاه و سفید است ! به این صورت که تستر به برخی از اطلاعات داخلی سیستم دسترسی دارد ولی تمامی جزئیات را نمیداند.
Red Team و Blue Team و Purple Team سه مفهوم کلیدی در حوزه امنیت سایبری هستند که به ترتیب به نقشهای حمله، دفاع و همکاری بین تیم های حمله و دفاع اشاره دارند. این تیم ها در سازمان ها و فرآیند های تست نفوذ مورد استفاده قرار میگیرند.
Red Team : حمله کردن به سیستمها و شبکههای سازمان با هدف شناسایی نقاط ضعف و آسیبپذیری ها.
Blue Team : دفاع از سیستمها و شبکههای سازمان در برابر حملات و تهدید ها.
Purple Team : همکاری بین تیم قرمز و تیم آبی برای بهبود کلی امنیت سازمان. این تیم به عنوان پل ارتباطی بین این دو تیم عمل میکند و تلاش میکند تا دانش و نتایج بدست آمده از حملات تیم قرمز را به تیم آبی انتقال دهد تا دفاع بهتری ایجاد شود.
Threat : تهدید به هر پدیده، رویداد یا فردی گفته میشود که میتواند به اطلاعات، سیستمها، یا شبکهها آسیب برساند یا دسترسی غیرمجاز به آنها ایجاد کند. مثلاً یک کارمند ناراضی داخل شرکت تهدید حساب میشه که مبادا خیانت کنه و حمله Insider Attack انجام بده.
Doxing : این مفهوم به معنی عمومی کردن اطلاعات یک شخص داخل اینترنت با هدف تحقیر و تهدید هست.
Misconfiguration : پیکربندی نادرست به اشتباهات یا ضعفهایی در تنظیمات امنیتی گفته میشود که ممکن است باعث شود سیستم یا شبکه در برابر حملات آسیبپذیر شود. برای مثال، باز گذاشتن پورتهای غیرضروری یا عدم تنظیم صحیح Firewall.
Fragmentation : فرگمنتیشن زمانی رخ میدهد که بستههای داده در شبکه به قطعات کوچکتر تقسیم میشوند تا بهتر منتقل شوند. این تکنیک گاهی برای دور زدن Firewall ها یا سیستمهای تشخیص نفوذ استفاده میشود.
Evading (اجتناب): Evading به معنای تلاش برای جلوگیری از شناسایی توسط ابزارهای امنیتی (مانند آنتیویروسها یا سیستمهای تشخیص نفوذ) است. در این حالت بدافزار به گونهای طراحی شده است که نتواند توسط این ابزارها شناسایی شود. این شامل تکنیکهایی مانند مبهمسازی، رمزگذاری و تغییر رفتار بدافزار برای فرار از تشخیص میشود. درنهایت اگر شما یک بدافزار را مبهمسازی کنید تا کد آن سختتر قابل خواندن و تحلیل باشد، این عمل تحت دسته Evading قرار میگیرد. هدف این است که بدافزار شناسایی نشود.
Bypass (عبور کردن یا دور زدن): Bypassing به معنای دور زدن یا عبور از مکانیزم های امنیتی است که در حال حاضر وجود دارند. در این حالت، بدافزار ممکن است به طور مستقیم از ابزارهای امنیتی عبور کند یا از روشهای خاصی استفاده کند تا به اهداف خود برسد بدون اینکه شناسایی شود. اگر یک بدافزار به گونهای طراحی شده باشد که به طور خاص از یک آنتیویروس معروف عبور کند، مثلاً با استفاده از تکنیکهای خاصی برای فریب دادن آن، این عمل تحت دسته Bypassing قرار میگیرد.
درنهایت اگر شما یک بدافزار را مبهمسازی کنید تا از شناسایی آنتیویروسها و ابزارهای امنیتی جلوگیری کنید این عمل Evading محسوب میشود. اما اگر شما به گونهای عمل کنید که بدافزار بتواند به راحتی از یک سیستم امنیتی خاص عبور کند، این عمل Bypassing خواهد بود. (Bypass عبور از مکانیزم های امنیتی است به دلیل ضعف یا نقص تو اون سیستمها بدون پنهان کاری خاصی)
Data Breach : نشت دادهها زمانی رخ میدهد که اطلاعات حساس یا محرمانه به دست افراد یا گروههای غیرمجاز بیفتد. این نشتها میتوانند به علت حملات سایبری یا خطاهای انسانی رخ دهند.
Zero Day Attack : اگه من هکر بیام یک آسیبپذیری از مثلاً ویندوز پیدا کنم که خود Microsoft ازش بیخبر باشه، اصطلاحاً من یک آسیبپذیری Zero Day دارم. این آسیبپذیری ها خیلی گرونه. اسمش اشاره به این داره که تیم امنیتی 0 روز وقت داشتن تا این آسیبپذیری رو از بین ببرن.
Daisy Chaining : حملات زنجیره ایی به فرایندی گفته میشود که مهاجم ابتدا به یک سیستم نفوذ میکند و سپس از آن برای دسترسی به سیستمهای دیگر استفاده میکند.
Vulnerability : تصور کن داخل یک ساختمان یک درب وجود داره که به درستی قفل نشده. این درب یک آسیبپذیری است، چون کسی میتواند از این نقطه ضعف برای ورود غیرمجاز به ساختمان استفاده کند. به طور ساده، Vulnerability یک نقص یا ضعف در سیستم (مثل نرمافزار، سختافزار یا شبکه) است که مهاجم میتواند از آن برای نفوذ یا آسیب استفاده کند. مثال واقعی : یک سایت اینترنتی ممکن است در مقابل حملات SQL Injection آسیبپذیر باشد، به این معنا که مهاجم میتواند از طریق ورودیهای سایت به پایگاه داده دسترسی پیدا کند.
Exploit : اکسپلویت به معنای استفاده کردن از یک آسیبپذیری برای انجام یک حمله است. در مثال ما، اگر یک فرد از این درب که به درستی قفل نشده استفاده کند و وارد ساختمان شود، این عمل او Exploit کردن آسیبپذیری است. در دنیای امنیت سایبری، Exploit به نرمافزار یا کدی گفته میشود که برای استفاده از آسیبپذیری خاص طراحی شده و هدفش بهرهبرداری از آن ضعف برای نفوذ یا کنترل سیستم است. مثال واقعی : یک مهاجم که از آسیبپذیری SQL Injection در سایت استفاده میکند و کوئریهای مخرب به پایگاه داده میفرستد، در حال Exploit کردن اون آسیبپذیری است.
Payload : پیلود نتیجه یا خروجیای است که مهاجم پس از Exploit کردن آسیبپذیری در سیستم اجرا میکند. یعنی بعد از اینکه مهاجم از درب بدون قفل وارد ساختمان شد، چیزی که انجام میدهد، مثل سرقت یا خرابکاری، Payload است. در دنیای سایبری، Payload میتواند هر چیزی باشد ! از اجرای کد مخرب گرفته تا باز کردن دسترسی از راه دور. مثال واقعی : در حمله SQL Injection، اگر مهاجم موفق شود کدی را در پایگاه داده اجرا کند که اطلاعات کاربران را سرقت کند، آن کد اجرا شده Payload است.
Patch : این مفهوم به معنای برطرف کردن یا اصلاح یک آسیبپذیری در سیستمه. این کار با ارائه یک بروزرسانی انجام میشه تا مهاجمان نتونن از اون Vulnerability استفاده کنن. مثال واقعی : اگر شرکتی متوجه بشه که وبسایتش در برابر حملات SQL Injection آسیبپذیر هست، تیم توسعهدهندهشون یک Patch ارائه میده که در ورودیهای سایت، دادههای ورودی رو به درستی فیلتر کنه و نزاره مهاجم کوئریهای مخرب ارسال کنه. این Patch باعث میشه که اون آسیبپذیری از بین بره و مهاجم دیگه نتونه از Exploit مربوط به اون آسیبپذیری استفاده کنه.
طبقه بندی کردن حملات (classification of attacks) در امنیت سایبری کمک میکنه تا انواع مختلف تهدیدها و آسیبپذیری ها را بهتر بشناسیم.
حملات فعال (Active Attacks) : در حملات فعال، مهاجم به صورت مستقیم و تعاملی به سیستم یا شبکه هدف حمله میکند و تغییرات ناخواستهای در دادهها یا سیستمها ایجاد میکند.
حملات غیرفعال (Passive Attacks) : در این نوع حملات، مهاجم تنها ترافیک شبکه یا دادهها را شنود میکند بدون اینکه تغییری در سیستم ایجاد کند. هدف این حملات معمولاً Information Gathering است، بدون اینکه برای سیستم هدف مخرب به نظر برسد.
حملات نزدیک یا فیزیکی (Close-in Attacks) : این دسته از حملات زمانی رخ میدهد که مهاجم به صورت فیزیکی به سیستم یا شبکه نزدیک شده و دسترسی مستقیم به آنها پیدا میکند. (مثال BAD USB)
حملات داخلی (Insider Attacks) : حملات داخلی توسط افرادی صورت میگیرد که از قبل دسترسی مجاز به سیستم یا شبکه دارند. این افراد ممکن است کارمندان ناراضی یک شرکت باشند.
حملات توزیعی (Distribution Attacks) : این حمله زمانی اتفاق میافتد که هکر نرمافزار یا سختافزار رو به یک بدافزار آلوده میکنه. بعدش اون محصول آلوده شده رو در روند تولید یا توزیع (که بهش میگن زنجیره تأمین) پخش میکنه. این یعنی وقتی مشتری یا یک سازمان محصول رو میخره یا استفاده میکنه، اون محصول از قبل آلوده است و میتونه به سیستم اونها آسیب بزنه.
تو پست بعدی/نوشته بعدی ماژول بعدی رو یاد میگیریم.