راهنمای ورود به دنیای هک و امنیت

دنیای هک و امنیت

 

تست نفوذ چیست ؟

تست نفوذ نوعی از تست امنیت است که برای تست کردن امنیت یک اپلیکیشن مورد استفاده قرار میگیرد. این تست با هدف پیدا کردن تحدیدات امنیتی ای که ممکن است درون یک سیستم وجود داشته باشند صورت میگیرد.

اگر سیستم ایمن نباشد ممکن هست که هکر بتونه سیستم رو دچار اختلال کند یا دسترسی غیر مجاز به سیستم
شما بگیرد. یک تحدید امنیتی معمولا یک خطای اتفاقی است که در هنگام توسعه یک نرم افزار بوجود می آید

برای مثال :

  • خطاهای پیکردبندی (Configuration errors)
  • باگ های نرم افزاری(Software Bugs )

میخوای به یک تست کننده امنیت تبدیل بشی؟

به عنوان یه توسعه دهنده مطلع بودن از تحدید ها و آشنا بودن با آنها کمک زیادی رو به شما میکنه! و همینطور اینکه بدونید چطوری میشه جلوشون رو گرفت. انجام تست نفوذ هم یک نوع دفاع از خود به حساب می آید که به کمک یکسری ابزار ها و … صورت میپذیرد ! اما آیا فقط آگاه بودن از طریقه کار با ابزار های تست نفوذ کافیست؟ مصلما خیر, یک متخصص تست نفوذ باید قادر به شناسایی نقاط ضعف یک اپلیکیشن باشد. باید توانایی شناخت تکنولوژی مورد استفاده در اپلیکیشن به همراه تست کردن تک تک راه هایی که ممکن است یک هکر از آن استفاده کند را دارا باشد .

واژگان مورد استفاده در بین هکرها:

infosec | امنیت اطلاعات
Opsec | امنیت عملیات
Black/grey/white hat hacker | هکر های کلاه سفید کلاه خاکستری کلاه سیاه
Red team | تیم قرمز
Blue team | تیم آبی
Penetration tester | تستر نفوذ
Security Researcher | محقق امنیت
Reverse engineering | مهندسی معکوس
Social engineering | مهندسی اجتماعی
Threat analyst | تحلیلگر تهدید
Cyber Attack | حمله سایبری
برای درک بهتر هرکدام از این کلمات بهتون پیشنهاد میکنم که حتما هر کدوم رو درون اینترنت سرچ کنید و بیشتر در موردشون اطلاعات کسب کنید.

 

معمولاً هک ماهیت فنی دارد (مانند ایجاد تبلیغات نادرست که بدافزار را در یک حمله درایو بای که نیازی به تعامل با کاربر ندارد، ذخیره می‌کند)، با این‌حال هکرها می‌توانند از روانشناسی نیز برای فریب کاربر استفاده کنند تا روی یک لینک مخرب کلیک کنند. عمدتاً عملکرد هک براساس تکنیک‌های مختلفی که هکر برای رسیدن به اهداف خود استفاده می‌کند  دارای روش‌های گوناگونی است که برخی از رایج‌ترین روش‌ها عبارتند از:

 

مهندسی اجتماعی یا Social engineering

هک به روش مهندسی اجتماعی یک تکنیک است که با خطای انسانی همراست برای دستیابی به اطلاعات شخصی طراحی شده است. هکرها با استفاده از هویت جعلی و ترفندهای روانشناختی مختلف افراد را فریب می‌دهند تا به اطلاعات شخصی یا مالی‌شان دسترسی پیدا کنند. عمدتاً در این روش هکر برای رسیدن به هدف از کلاهبرداری‌های فیشینگ، ایمیل‌های اسپم، وب‌سایت‌های جعلی و… استفاده می‌کند.

هک رمز های عبور یا Hacking passwords

هکرها از راه‌های مختلفی برای رسیدن به رمز عبور استفاده می‌کنند. روش آزمون خطا که به عنوان حمله brute force نیز شناخته می‌شود، بدین‌گونه است که هکرها از الگوریتم‌های ساده برای تولید ترکیب‌های مختلف از حروف، اعداد و نمادها استفاده می‌کنند تا رمز عبور را به‌دست بیاورند. تکنیک دیگر در این روش حمله‌ی واژه‌شناسی یا اصطلاحاً dictionary attack است که با آزمودن پی درپی واژه‌ها در دیکشنری کلمات رایج را در فیلدهای رمز عبور وارد می‌کنند تا ببیند آیا کار می کند یا خیر!

آلوده کردن دستگاه‌ ها به بد افزار یا Infecting devices with malware

تکنیک دیگری که هکرها برای نفوذ به دستگاه‌‎ها استفاده می‌کنند، نصب بدافزار است. آن‌ها قربانیان احتمالی این روش را از طریق ایمیل، وب‌سایت‌هایی با محتوای قابل دانلود، شبکه همتا به همتا و… هدف قرار می‌دهند

بهره‌برداری از شبکه های بی ‌سیم نا امن یا Exploiting insecure wireless networks

هکرها به‌جای استفاده از کدهای مخرب برای نفوذ به رایانه‌های شخصی می‌توانند به سادگی از شبکه‌های بی‌سیم باز استفاده کنند. این تکنیک که با نام wardriving شناخته می‌‎شود، هنگامی که هکرها به شبکه ناامن متصل می‌شوند، فقط باید امنیت اولیه را دور بزنند تا به دستگاه‌های متصل به شبکه دسترسی پیدا کنند.

بهره‌برداری از شبکه های بی ‌سیم نا امن یا Exploiting insecure wireless networks

بکدور تکنیکی است که کاربران مجاز یا غیرمجاز می‌توانند به اقدامات امنیتی سطح بالا در یک شبکه، سیستم یا برنامه‌ی نرم‌افزاری دسترسی داشته باشند. هکرها برای دسترسی به فایل‌های درون سرور، دیتابیس سایت، سرویس‌های سرور و… برنامه‌هایی را تولید می‌کنند که مسیرهای محافظت نشده را در سیستم‌های شبکه یا رایانه جست‌وجو می‌کند. احتمال دارد یک هکر با آلوده کردن یک سیستم به یک اسب تروا به درب پشتی دسترسی پیدا کنند و داده‌های مهم را کاملاً مخفیفانه به سرقت ببرند.

جاسوسی از ایمیل ها یا Spying on emails

هکرها می‌توانند کدی ایجاد کنند که به آن‌ها امکان رهگیری و خواندن ایمیل‌ها را می‌دهد. امروزه بیشتر برنامه‌های مبتنی بر ایمیل از فرمول‌های رمزگذاری استفاده می‌کنند، این بدان معنا است که اگر از سرویس‌های ناامن ایمیل استفاده کنید هکرها می‌توانند آن‌ها را بخوانند.

گزارش گیری از صفحه کلید یا Logging keystrokes

برخی از برنامه‌ها به هکرها اجازه می‌دهند هر کلمه‌ای که کاربر در صفحه کلید تایپ می‌کند را ردیابی کنند، این برنامه‌ها پس از نصب روی رایانه، موبایل و… هر کلمه‌ای که کاربر تایپ

می‌کند را ضبط می‌کنند و هر آن‌چه که هکرها برای نفوذ به سیستم یا سرقت هویت نیاز دارند، در اختیارشان می‌گذارند.

ساختن کامپیوترهای زامبی Creating zombie computers

یکی از تکنیک‌های هک, ساختن کامپیوترهای زامبی است! البته نگران نشوید قرار نیست مانند سریال the walking dead برای زنده ماندتان خود را به آب و آتش بزنید. بلکه در این روش هکرها برای ارسال هرزنامه یا انجام حملات DDoS و … رایانه‌تان را به ربات یا اصطلاحاً زامبی تبدیل می‌کنند. در این حالت رایانه کاملاً سالم و عادی عمل می‌کند اما در واقع یک ارتباط بین رایانه و سیستم هکر ایجاد شده است. در نتیجه رایانه قربانی به‌طور مخفیانه توسط هکرها کنترل می‌شوند.

 

پیشنیاز های هک و تست نفوذ چیست؟

تست نفوذ شبکه

تست‌های نفوذی بر روی ساختارهای شبکه‌ای و شناسایی آسیب‌پذیری‌ها و ضعف‌های امنیتی آن‌ها.

آشنایی با مفاهیم پایه شبکه‌ها مانند TCP/IP، آدرس‌دهی IP، پورت‌ها و مسیریابی.

دانش مفاهیم پایه تست نفوذ و ابزارهای مرتبط.

 

تست نفوذ وب

تست‌های نفوذ به برنامه‌ها و اپلیکیشن‌های وب به منظور شناسایی آسیب‌پذیری‌ها و حفاظت از اطلاعات.

آشنایی با زبان‌های برنامه‌نویسی و تکنولوژی‌های وب مانند HTML، CSS، JavaScript و  SQL.PHP دانش مفاهیم امنیت وب و ابزارهای تست نفوذ وب.

تست نفوذ شبکه اجتماعی

تست‌های نفوذ با استفاده از تکنیک‌های اجتماعی برای شناسایی آسیب‌پذیری‌ها و ضعف های امنیتی در انسان‌ها و سازمان‌ها.

آشنایی با مفاهیم اجتماعی و روان‌شناسی انسانی ,دانش اصول امنیت اطلاعات و حفاظت از

اطلاعات حساس.

تست نفوذ فیزیکی

تست‌های نفوذ با استفاده از ترتیبات فیزیکی و اجسام مخفی برای شناسایی آسیب‌پذیری‌ها در دسترسی به مکان‌های فیزیکی.

آشنایی با تکنیک‌های مهندسی اجتماعی و فریب , دانش مفاهیم امنیت فیزیکی و دسترسی به ساختمان‌ها و تجهیزات .

تست نفوذ موبایل

تست‌های نفوذ به اپلیکیشن‌های موبایل برای شناسایی آسیب‌پذیری‌ها و حفاظت از اطلاعات در دستگاه‌های همراه.

آشنایی با زبان‌های برنامه‌نویسی موبایل مانند Swift،Java  و Kotli دانش اصول امنیت اطلاعات و مفاهیم حملات به اپلیکیشن‌های موبایل.

تست نفوذ اینترنت اشیاء

تست‌های نفوذ به دستگاه‌های متصل به اینترنت اشیاء (IoT) برای شناسایی آسیب‌پذیری‌ها و تضعیفات امنیتی.

آشنایی با مفاهیم اینترنت اشیاء (IoT) و دستگاه‌های متصل به آن.

دانش اصول امنیت اطلاعات و مفاهیم حملات به دستگاه‌های IoT.

تست نفوذ سیستم عامل

تست نفوذ به سیستم‌عامل‌های مختلف به منظور ارزیابی امنیت و شناسایی آسیب‌پذیری‌ها و ضعف‌های امنیتی در آنها  ,آشنایی عمیق با سیستم‌عامل ها و معماری آن.

دانش اصول امنیت سیستم‌عامل و سرویس‌های مرتبط ,  توانایی استفاده از ابزارهای تست نفوذ مخصوص سیستم‌عامل‌ها مانند Kali Linux برای تست و اسکن امنیتی.

تسلط به مفاهیم تست نفوذ شبکه و ارتباط آن با سیستم‌عامل

ابزارهای هک و امنیت

ابزار هک و امنیت چیست؟ 

ابزارهایی هستند که برای تست، تقویت، و حفظ امنیت سیستم‌ها، شبکه‌ها، و اطلاعات استفاده می‌شوند. این ابزارها در دسته‌های مختلفی قرار دارند و وظایف متنوعی دارند. در زیر به توضیح کلی از ابزارهای هک و امنیت اشاره می‌کنیم:

اسکنرها (Scanners) :

ابزارهای اسکنر مانند Nmap برای بررسی پورت‌ها و نقاط آسیب‌پذیر در یک شبکه یا سیستم مورد استفاده قرار می‌گیرند. به مدیران سیستم امکان می‌دهند تا ضعف‌ها را شناسایی و تعمیر کنند.

فایروال‌ها (Firewalls) :

فایروال‌ها مسئول محافظت از شبکه‌ها در برابر حملات اسکن و نفوذی هستند. ترافیک ورودی و خروجی را کنترل می‌کنند و به اجازه عبور تنها به ترافیک معتبر می‌دهند.

آنتی‌ویروس (Antivirus) :

آنتی‌ویروس‌ها برای شناسایی و حذف برنامه‌ها و فایل‌های مخرب و ویروس ها و تروجان ها مورد استفاده قرار می‌گیرند. به کاربران کمک می‌کنند تا از تهدیدات امنیتی دیجیتال محافظت کنند.

ابزارهای تست نفوذ (Penetration Testing Tools) :

ابزارهایی مانند Metasploit برای تست نفوذ به سیستم‌ها و شبکه‌ها به منظور شناسایی ضعف‌های امنیتی و تقویت آنها مورد استفاده قرار می‌گیرند. این ابزارها توسط متخصصان امنیت مورد استفاده قرار می‌گیرند.

رمزگذاری (Encryption) و ابزارهای رمزنگاری :

ابزارهای رمزنگاری مانند GnuPG برای محافظت اطلاعات در ارتباطات آنلاین و ذخیره‌سازی اطلاعات مهم استفاده می‌شوند.متخصصین سایبری از رمزگذاری برای جلوگیری از دسترسی غیرمجاز به اطلاعات استفاده می‌کنند.

ابزارهای تست امنیت وب (Web Security Testing Tools) :

ابزارهایی مانند OWASP ZAP برای تست امنیت وب‌سایت‌ها و برنامه‌های وبی استفاده می‌شوند. آنها به برنامه‌نویسان و مدیران وب کمک می‌کنند تا تهدیدات امنیتی را شناسایی و رفع کنند.

ابزارهای تحلیل ترافیک (Traffic Analysis Tools) :

این ابزارها مانند Wireshark برای تحلیل و بررسی ترافیک شبکه مورد استفاده قرار می‌گیرند.  به متخصصان امنیت اطلاعات کمک می‌کنند تا به دنبال الگوهای ناشناخته و تهدیدات باشند.

ابزارهای مدیریت رمزعبور (Password Management Tools) :

این ابزارها برای مدیریت و ذخیره رمزعبورها به منظور افزایش امنیت استفاده می‌شوند. به کاربران کمک می‌کنند تا رمزعبورهای قوی و مناسب استفاده کنند. 

 

 

در ادامه، به برخی از تکنیک‌ های هک و حملات سایبری اشاره می‌کنیم :

 

فیشینگ (Phishing)

فیشینگ به عنوان یکی از روش‌های اجتماعی هک مشهور است. مهاجمان در این روش به صورت تقلبی به شکل ایمیل‌ها، پیام‌های متنی، یا حتی وب‌سایت‌های معمولی به کاربران نزدیک می‌شوند. هدف آنها جلب اطلاعات حساس مانند رمز عبور، شماره کارت اعتباری، یا اطلاعات حساب بانکی کاربران است. در نهایت، این اطلاعات برای انجام فعالیت‌های مخرب مورد استفاده قرار می‌گیرند.

 

تروجان‌ها (Trojans)

تروجان‌ها نرم‌افزارهایی هستند که به صورت ناشناخته و مخفی در سیستم‌ها یا نرم‌افزارهای دیگر نصب می‌شوند. این نرم‌افزارها به مهاجمان دسترسی کامل به سیستم را می‌دهند و به انجام عملیات‌های مخربی نظیر دزدیدن اطلاعات یا کنترل سیستم می‌پردازند.

 

Port Scanning

این تکنیک توسط هکرها برای بررسی پورت‌های باز یک سیستم یا شبکه استفاده می‌شود. اطلاعاتی که از این روش به دست می‌آید، به مهاجم اطلاعاتی در مورد سرویس‌های در دسترس و نقاط ضعف سیستم ارائه می‌دهد. این اطلاعات برای حملات نفوذی بعدی بسیار مهم است.

 

تزریق کد (Code Injection)

تزریق کد به معنای وارد کردن کدهای مخرب به نرم‌افزارها یا وب‌سایت‌ها است. این کدها می‌توانند توسط مهاجم برای اجرای عملیات‌های مخرب یا به دست آوردن دسترسی به سیستم مورد استفاده قرار گیرند. برای مثال، تزریق کد SQL به وب‌سایت می‌تواند به مهاجم اجازه دسترسی به دیتابیس سایت را بدهد.

 

تزریق SQL (SQL Injection)

این تکنیک وقتی مورد استفاده قرار می‌گیرد که مهاجم توانایی وارد کردن کدهای SQL مخرب به فیلدها یا ورودی‌های وب‌سایت را داشته باشد. این کدها به مهاجم امکان اجرای دستورات SQL تزریقی می‌دهند که می‌توانند به دسترسی به دیتابیس و اطلاعات حساس دسترسی یابند.

 

حملات XSS (Cross-Site Scripting)

حملات XSS به معنای اجازه اجرای اسکریپت‌های مخرب در مرورگر کاربران است. این اسکریپت‌ها معمولاً به صورت مخفی در صفحات وب قرار می‌گیرند و مهاجمان از آنها برای دزدیدن اطلاعات کاربران یا به دست آوردن کلیدهای جلسه استفاده می‌کنند.

 

تزریق فایل (File Upload Vulnerabilities)

در این تکنیک، مهاجمان فایل‌های مخرب را به سرور ارسال می‌کنند تا به دسترسی به سیستم یا وب‌سایت دسترسی یابند. این تکنیک به مهاجم اجازه اجرای کدهای مخرب را می‌دهد.

 

حملات اتصال ترتیبی (Session Hijacking)

این تکنیک به مهاجم اجازه به دست آوردن کلیدهای جلسه کاربران را می‌دهد. با به دست آوردن کلیدهای جلسه، مهاجم می‌تواند به حساب کاربری کاربر دسترسی یابد و با نام کاربری و رمز عبور وارد شود.

 

حملات DDoS (Distributed Denial of Service)

حملات DDoS از تعداد زیادی از دستگاه‌ها به عنوان بخشی از یک شبکه برای حمله به یک سرویس یا شبکه بهره‌برداری می‌کنند. این حملات باعث افت ترافیک و مسدود شدن سرویس یا شبکه می‌شوند و به طور معمول برای اختلال در عملکرد سایت‌ها یا سرویس‌های آنلاین استفاده می‌شوند.

 

حملات MITM (Man-in-the-Middle)

در این نوع حملات، مهاجم در میان ارتباط دو طرف قرار می‌گیرد و اطلاعات رد و بدل می‌شود. این اطلاعات ممکن است از جمله اطلاعات حساس مانند رمز عبورها یا اطلاعات مالی باشد.

 

حملات ARP Spoofing

در این نوع حملات، مهاجمان تغییر جداول ARP را انجام می‌دهند تا ترافیک شبکه به سمت مهاجم منتقل شود. این به مهاجم امکان مشاهده و تغییر ترافیک شبکه را می‌دهد.

 

مهارت‌های اجتماعی (Social Engineering Skills)

استفاده از مهارت‌های اجتماعی برای ترتیب دادن افراد به ارائه اطلاعات حساس می‌پردازد. مهاجمان ممکن است با تعاریف تخیلی و جلب توجه افراد به اطلاعات حساس دست پیدا کنند.

 

تحت فشار قرار دادن (Pressure Tactics)

در این روش، مهاجمان تلاش می‌کنند با ایجاد فشار روحی یا فیزیکی بر روی افراد، آنها را به تقاضای مهاجم پاسخ دهند. این روش به منظور به دست آوردن اطلاعات حساس از افراد مورد استفاده قرار می‌گیرد.

 

پروفایلینگ (Pretexting)

پروفایلینگ به معنای ساخت یک داستان و دروغ‌ها تا اطلاعات حساس را از افراد بگیرد. مهاجمان ممکن است داستان‌های تخیلی ایجاد کنند تا به افراد اطلاعات حساس را ارائه دهند.

 

فریب‌دهی (Baiting)

در این روش، مهاجمان چیزهای جذابی ارائه می‌دهند تا افراد را به ارائه اطلاعات حساس وا کنند. این ممکن است از طریق فایل‌ها یا ارائه مزایای مالی جذاب باشد.

‌ on راهنمای ورود به دنیای هک و امنیت

ارسال دیدگاه