امینت (Cybersecurity)
امنیت یعنی محافظت کردن از اطلاعات و سیستمها در برابر دسترسی یا تغییر غیرمجاز
اول باید بفهمی اطلاعات از چی باید محافظت بشن
مثلاً اطلاعات شخصی حسابهای کاربری فایلها و اطلاعات یک سایت
بعد باید با احراز هویت آشنا بشی
یعنی سیستم مطمئن بشه کسی که وارد حساب شده واقعاً صاحب اون حسابه
بعد میرسی به سطح دسترسی
یعنی هر کاربر فقط به بخشهایی دسترسی داشته باشه که اجازهش رو داره
موضوع مهم بعدی رمزنگاری هست
یعنی اطلاعات به شکلی تبدیل بشن که افراد غیرمجاز نتونن به راحتی اونها رو بخونن
بعد باید مفهوم آسیبپذیری رو یاد بگیری
آسیبپذیری یعنی یک ضعف در برنامه یا سیستم که ممکنه باعث ایجاد مشکل امنیتی بشه
همچنین باید یاد بگیری تهدیدها چطور ایجاد میشن و چطور میشه جلوی اونها رو گرفت
در نهایت باید با پشتیبانگیری و ثبت رویدادها هم آشنا بشی تا اگر مشکلی پیش اومد اطلاعات قابل بازیابی باشن و بشه اتفاقات سیستم رو بررسی کرد
خلاصه امنیت یعنی
شناخت خطرها
پیدا کردن ضعفها
محافظت از اطلاعات
کنترل دسترسی
جلوگیری از دسترسی غیرمجاز
و بررسی اتفاقات مشکوک
Code Block
شناسایی (Reconnaissance)
شناسایی یعنی قبل از هر کاری درباره یک سیستم یا سایت اطلاعات جمع کنی تا بفهمی با چه چیزی طرف هستی
مثلاً اول مشخص میکنی سیستم چه سرویسهایی داره و چه فناوریهایی استفاده میکنه
بعد بررسی میکنی چه بخشهایی از سایت یا سیستم در دسترس هستن
همچنین میتونی اطلاعات عمومی مثل دامنه و زیردامنهها و فناوریهای استفاده شده در سایت رو بررسی کنی
در امنیت سایبری شناسایی خیلی مهمه چون بدون شناخت درست از هدف نمیدونی باید چه چیزی رو بررسی کنی
البته این کار باید فقط روی سیستمهایی انجام بشه که اجازه بررسیشون رو داری
خلاصه شناسایی یعنی
شناخت هدف
جمعآوری اطلاعات عمومی
پیدا کردن بخشهای قابل بررسی
شناخت فناوریهای استفاده شده
و آماده شدن برای بررسی امنیتی (Security Assessment)
Code Block
اسکن و بررسی (Scanning & Enumeration)
اسکن یعنی یک سیستم یا شبکه مجاز رو بررسی کنی تا بفهمی چه چیزهایی روی اون فعال هستن
مثلاً میشه بررسی کرد چه دستگاههایی در یک شبکه آزمایشگاهی وجود دارن و چه سرویسهایی روی اونها فعال هست
بعد نوبت شناسایی سرویسها (Enumeration) میرسه که اطلاعات دقیقتری درباره سرویسهای پیدا شده جمع میکنی
برای این کار ابزارهایی مثل Nmap در محیطهای آموزشی و آزمایشگاهی استفاده میشن
هدف این مرحله این نیست که وارد سیستم بشی بلکه فقط میخوای بفهمی سیستم چه وضعیتی داره و چه بخشهایی نیاز به بررسی امنیتی دارن
خلاصه
اسکن یعنی پیدا کردن چیزهای فعال
شناسایی سرویسها یعنی فهمیدن این سرویسها چی هستن
و بررسی امنیتی یعنی پیدا کردن مواردی که ممکنه نیاز به اصلاح داشته باشن
این کار رو فقط روی سیستمهایی انجام بده که اجازه بررسیشون رو داری
Code Block
آسیبپذیریشناسی (Vulnerability Assessment)
آسیبپذیریشناسی یعنی پیدا کردن ضعفهای امنیتی یک سیستم یا برنامه و بررسی اینکه چقدر میتونن خطرناک باشن
مثلاً ممکنه یک برنامه از یک نسخه قدیمی استفاده کنه یا تنظیمات امنیتی مناسبی نداشته باشه
در این مرحله فقط پیدا کردن مشکل مهم نیست بلکه باید بفهمی مشکل کجاست و چرا ایجاد شده و چطور میشه برطرفش کرد
معمولاً اول اطلاعات سیستم رو بررسی میکنی و بعد با روشهای مختلف دنبال ضعفهای احتمالی میگردی
ابزارهایی هم وجود دارن که میتونن در پیدا کردن بعضی از آسیبپذیریها کمک کنن ولی نتیجه ابزار همیشه نیاز به بررسی انسانی داره
بعد از پیدا کردن مشکل باید شدت آسیبپذیری (Severity) رو مشخص کنی تا معلوم بشه کدوم مشکل اولویت بیشتری برای رفع کردن داره
هدف اصلی این مرحله اینه که قبل از اینکه یک ضعف توسط فرد غیرمجاز مورد سوءاستفاده قرار بگیره اون رو پیدا و برطرف کنی
این بررسی هم باید فقط روی سیستمهایی انجام بشه که اجازه تستشون رو داری
Code Block
تست نفوذ (Penetration Testing)
تست نفوذ یعنی یک سیستم یا سایت رو با اجازه صاحبش بررسی کنی تا مشخص بشه آیا ضعفهای امنیتی واقعاً قابل سوءاستفاده هستن یا نه
اول از اطلاعاتی که در مراحل قبلی جمع شده استفاده میکنی و موارد مشکوک رو بررسی میکنی
بعد در یک محیط کنترلشده تلاش میکنی مشخص کنی یک آسیبپذیری چه مقدار خطر ایجاد میکنه
هدف اصلی این کار خرابکاری یا دسترسی به اطلاعات دیگران نیست
هدف اینه که ضعف امنیتی پیدا بشه و قبل از سوءاستفاده برطرف بشه
بعد از بررسی هم نتیجهها ثبت میشن و برای هر مشکل راهکار رفع کردنش پیشنهاد میشه
خلاصه تست نفوذ یعنی
پیدا کردن ضعف
بررسی میزان خطر
تست کنترلشده با اجازه
ثبت نتیجه
و در نهایت برطرف کردن مشکل
تست نفوذ بدون اجازه صاحب سیستم میتونه غیرقانونی باشه
Code Block
امنیت وب (Web Security)
امنیت وب یعنی محافظت از سایتها و برنامههای اینترنتی در برابر حمله و دسترسی غیرمجاز
اول باید بفهمی یک سایت چطور کار میکنه و اطلاعات بین مرورگر و سرور چطور جابهجا میشه
بعد باید مواردی مثل ورود به حساب (Authentication) و سطح دسترسی (Authorization) و نشست کاربر (Session) رو یاد بگیری
بعد میرسی به آسیبپذیریهای معروف وب مثل تزریق (Injection) و اسکریپت بین سایتی (XSS) و مشکلات مربوط به دسترسی کاربران
یکی از منابع معروف برای یادگیری این موضوع OWASP Top 10 هست که مهمترین دستههای آسیبپذیری وب رو معرفی میکنه
در مرحله بعد میتونی یاد بگیری چطور این مشکلات رو در محیطهای آموزشی پیدا کنی و مهمتر از اون چطور برطرفشون کنی
هدف امنیت وب اینه که اطلاعات کاربران و خود سایت در برابر دسترسی غیرمجاز و سوءاستفاده محافظت بشن
تمام این تمرینها هم باید روی سایتها و محیطهایی انجام بشه که اجازه تستشون رو داری
Code Block
ارتقای سطح دسترسی (Privilege Escalation)
ارتقای سطح دسترسی یعنی وقتی یک کاربر دسترسی محدودی داره بررسی کنی آیا یک ضعف امنیتی باعث میشه بتونه به دسترسی بیشتری برسه یا نه
مثلاً یک کاربر معمولی نباید به تنظیمات مهم سیستم یا اطلاعات حساس دسترسی داشته باشه
در بررسی امنیتی باید بفهمی چه دسترسیهایی وجود دارن و آیا تنظیمات اشتباهی باعث ایجاد دسترسی اضافی شدن یا نه
این موضوع هم در لینوکس (Linux) و هم در ویندوز (Windows) وجود داره
هدف اصلی یادگیری این بخش اینه که بفهمی سیستم چطور جلوی افزایش دسترسی غیرمجاز رو میگیره و اگر ضعفی وجود داشت چطور باید برطرفش کرد
خلاصه
شناخت سطح دسترسی فعلی
بررسی تنظیمات و مجوزها
پیدا کردن ضعفهای احتمالی
بررسی در محیط آزمایشگاهی
و در نهایت برطرف کردن مشکل
این بخش رو باید فقط روی سیستمهایی که اجازه تستشون رو داری تمرین کنی
Code Block
گزارشنویسی (Reporting)
گزارشنویسی یعنی بعد از بررسی امنیتی تمام چیزهایی که پیدا کردی رو مرتب و قابل فهم بنویسی
اول باید مشخص کنی چه چیزی رو بررسی کردی و چه محدودهای برای تست داشتی
بعد مشکلات امنیتی پیدا شده رو توضیح میدی و میگی مشکل کجاست و چه خطری ایجاد میکنه
برای هر مشکل بهتره میزان اهمیت یا شدت اون رو هم مشخص کنی تا معلوم بشه کدوم مورد باید زودتر برطرف بشه
بعد راهکار رفع آسیبپذیری (Remediation) رو پیشنهاد میدی
در آخر هم نتیجه کلی بررسی رو مینویسی تا مسئول سیستم بدونه چه مشکلاتی وجود داشته و برای امنتر کردن سیستم باید چه کارهایی انجام بده
خلاصه
چی رو بررسی کردی
چه مشکلی پیدا شد
چقدر خطرناکه
چرا اتفاق افتاده
چطور باید برطرف بشه
و چه پیشنهادی برای امنتر شدن سیستم داری
Code Block
مسیر کلی یادگیری هک و امنیت سایبری
برای یادگیری هک باید از پایه شروع کنی و اول پایتون (Python) و لینوکس (Linux) رو یاد بگیری و بعد بری سراغ شبکه (Networking) و وب (Web) و پایگاه داده (Database)
بعد از این پایهها باید مفاهیم امنیت (Security) و شناسایی (Reconnaissance) و اسکن و بررسی (Scanning) و آسیبپذیریشناسی (Vulnerability Assessment) رو یاد بگیری و در ادامه با تست نفوذ (Penetration Testing) و امنیت وب (Web Security) و ارتقای سطح دسترسی (Privilege Escalation) آشنا بشی
در آخر هم باید بلد باشی نتایج بررسیهات رو درست گزارشنویسی (Reporting) کنی
همه این موارد باید فقط برای یادگیری و روی سیستمهایی انجام بشن که اجازه تستشون رو داری
استفاده از این مهارتها برای دسترسی غیرمجاز به سیستمها یا اطلاعات دیگران غیرقانونیه و میتونه جرم سایبری محسوب بشه
Code Block
امروز میخوام دوتا برنامه کاربردی و آموزشی در سطح مبتدی معرفی کنم
یکی برای موبایل یکی برای Pc
Code Block
برای اندروید (Termux)
یک شبیه ساز ترمینال قدرتمند لینوکس برای اندروید است که بدون نیاز به روت گوشی کار می کند این برنامه یک محیط لینوکس کامل با مدیر بسته مخصوص خودش فراهم می کند شما می توانید صدها ابزار خط فرمان لینوکس را مستقیما روی موبایل خود نصب و اجرا کنید
نحوه استفاده
ابتدا برنامه را از فروشگاه F-Droid دانلود کنید چون نسخه گوگل پلی آپدیت نیست بعد از نصب برنامه را باز کنید دستور apt update را بزنید تا لیست بسته ها به روز شود سپس دستور apt upgrade را اجرا کنید برای نصب ابزار دلخواه از دستور pkg install استفاده کنید مثلا pkg install nmap ابزار اسکن شبکه را نصب می کند بعد از نصب کافیست نام ابزار را در ترمینال تایپ کنید تا اجرا شود تمام ابزارهای معروف لینوکس مثل nmap metasploit hydra sqlmap و صدها ابزار دیگر قابل نصب هستند
کاربردهای آموزشی Termux
یادگیری دستورات لینوکس تمرین اسکن شبکه روی شبکه خانگی خودتان تست نفوذ روی دستگاه های شخصی خودتان اجرای اسکریپت های پایتون برای آموزش امنیت و مدیریت سرور از راه دور
مزایا
رایگان و متن باز بدون نیاز به کامپیوتر قابل حمل و همیشه در دسترس مصرف باتری کم و سرعت خوب
محدودیت ها
صفحه نمایش کوچک موبایل تایپ دستورات طولانی سخت است بعضی ابزارها روی معماری ARM موبایل اجرا نمی شوند نبود ابزارهای گرافیکی
Code Block
برای کامپیوتر و پی سی (Kali Linux)
یک سیستم عامل کامل مبتنی بر لینوکس دبیان است که مخصوص تست نفوذ و امنیت سایبری ساخته شده این سیستم عامل توسط شرکت Offensive Security توسعه داده می شود و بیش از ششصد ابزار هک و امنیت از قبل نصب شده دارد Kali Linux استاندارد صنعت امنیت اطلاعات است و تمام دوره های معتبر هک قانونی از همین سیستم عامل استفاده می کنند
نحوه نصب و استفاده
بهترین روش نصب روی ماشین مجازی است اول نرم افزار VirtualBox یا VMware را روی ویندوز یا مک خود نصب کنید بعد فایل ISO کالی لینوکس را از سایت رسمی kali org دانلود کنید در نرم افزار مجازی ساز یک ماشین جدید بسازید و فایل ISO را به آن متصل کنید نصب کالی لینوکس مثل نصب هر سیستم عامل دیگری چند دقیقه طول می کشد بعد از نصب وارد سیستم می شوید و از منوی Applications صدها ابزار دسته بندی شده را می بینید
دسته بندی ابزارهای کالی لینوکس
Information Gathering شامل nmap و maltego برای جمع آوری اطلاعات از هدف
Vulnerability Analysis شامل nikto و openvas برای پیدا کردن ضعف های امنیتی
Wireless Attacks شامل aircrack-ng و reaver برای تست امنیت شبکه های وای فای
Password Attacks شامل john و hashcat و hydra برای تست قدرت پسوردها
Exploitation Tools شامل metasploit framework و searchsploit برای بهره برداری از آسیب پذیری ها
Forensics Tools شامل autopsy و volatility برای آنالیز شواهد دیجیتال
Code Block