تست نفوذ با پایتون – به زبان ساده

۵۱۳
۱۴۰۴/۱۰/۱۷
۱۳ دقیقه
PDF
آموزش متنی جامع
امکان دانلود نسخه PDF

در حوزه امنیت سایبری و به خصوص در تست نفوذ، پایتون به یکی از زبان‌های اصلی تبدیل شده است. بیشتر اوقات منظور از عبارت «تست نفوذ» (Penetration Testing)، «هک اخلاقی» (Ethical Hacking) است. هک اخلاقی، شامل دسته‌ای از حملات سایبری است که با هدف شناسایی نقاط ضعف سیستم، شبکه و اپلیکیشن‌های مختلف انجام می‌شوند. این نقاط ضعف باید قبل از به کار برده شدن توسط مجرمان، شناسایی شده و برطرف شوند. تست نفوذ با پایتون به دلیل ویژگی‌هایی مانند سادگی، چندکاره بودن و کتابخانه‌های قدرتمند این زبان، یکی از گزینه‌‌های ایده‌آل برای هکر‌های اخلاقی و متخصصان امنیت سایبری است. این افراد با استفاده از پایتون ابزارهای مورد نیاز خود را توسعه می‌دهند و بخش زیادی از فرایندهای تست نفوذ را به صورت خودکار پیاده‌سازی می‌کنند.

آنچه در این مطلب می‌آموزید:
  • متوجه می‌‌شوید که تست نفوذ چیست و چرا و چطور انجام می‌شود.
  • با مزایا و روش‌های انجام تست نفوذ آشنا شده و انواع آن را یا می‌گیرید.
  • می‌توانید ماژول‌های مهم پایتون برای تست نفوذ را نام برده و کاربرد هر کدام را توضیح بدهید.
  • مرحله شناسایی تست نفوذ را درک کرده و مثال ساده‌ای از آن را بررسی می‌کنید.
  • می‌‌توانید تفاوت روش‌های بلک باکس، وایت باکس و گری باکس را از هم تشخیص دهید.
  • یاد می‌گیرید هر کدام از مراحل شناسایی، بهره‌برداری و پس از نفوذ را به شکل کامل توضیح بدهید.
تست نفوذ با پایتون – به زبان سادهتست نفوذ با پایتون – به زبان ساده
997696

در این مطلب از مجله فرادرس، روش پیاده‌سازی تست نفوذ با پایتون را توضیح می‌دهیم. ابتدا چند مورد از رایج‌ترین فریم‌ورک‌های اختصاصی برای انجام این کار مانند «Pymetasploit3» و «Nmap» و «Scapy» را معرفی می‌کنیم. سپس تکنیک‌های مختلف اسکریپت‌نویسی با پایتون را برای خودکار‌سازی فاز‌های مختلف عملیات تست نفوذ بررسی می‌کنیم. بعد از آن هم به عنوان نمونه، چند مثال ساده درباره تکنیک‌های «شناسایی» (Reconnaissance)، «بهره‌برداری» (Exploitation) و «پس‌ از نفوذ» (Post-Exploitation) پیاده‌سازی می‌کنیم.

تست نفوذ با پایتون چیست؟

تست نفوذ را می‌توان مانند نوعی عملیات پیش‌گیرانه در حوزه امنیت سایبری در نظر گرفت. هدف از این عملیات پیدا کردن نقاط ضعف سیستم‌ها، شبکه‌ها و وب‌اپلیکیشن‌ها است. وقتی برای تست نفوذ از زبان پایتون استفاده کنیم، به آن تست نفوذ با پایتون گفته می‌شود. از عبارت‌های «Pen Testing» یا «هک اخلاقی» (Ethical Hacking) هم برای اشاره به «تست نفوذ» (Penetration Testing) استفاده می‌شود.

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

نموداری برای نمایش مراحل مختلف تست نفوذ با پایتون
مراحل اصلی تست نفوذ

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

مزایای انجام تست نفوذ

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

  • شناسایی نقاط ضعف
  • رفع به موقع مشکلات
  • افزایش امنیت و پایداری شبکه و سیستم

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

برای نصب اپلیکیشن رایگان مجله فرادرس، کلیک کنید.

مراحل انجام تست نفوذ با پایتون

تست نفوذ به طور کلی در سه مرحله انجام می‌شود.

  1. شناسایی: ابتدا اجرا کنندگان عملیات تست نفوذ، اطلاعات اصلی را درباره سیستم هدف جمع‌آوری می‌کنند. به این مرحله «شناسایی» (Reconnaissance) گفته می‌شود.
  2. بهره‌برداری: سپس تمام سیستم را برای پیدا کردن نقاط ضعف جست‌وجو کرده و بعد از آن سعی می‌کنند از ضعف‌های پیدا شده برای نفوذ به سیستم استفاده بکنند. به این مرحله «بهره‌برداری» (Exploitation) گفته‌ می‌شود.
  3. پس‌ از نفوذ: در مرحله آخر هم بررسی می‌کنند که در صورت اجرای موفق عملیات نفوذ، شخص حمله کننده چه آسیب‌هایی می‌تواند به سیستم بزند. به این مرحله هم «پس‌ از نفوذ» (Post-Exploitation) گفته می‌شود.
مرحله تست نفوذتوضیح کوتاههدف مرحله
«شناسایی» (Reconnaissance)جمع‌آوری اطلاعات اولیه درباره سیستمشناخت کلی هدف
«بهره‌برداری» (Exploitation)استفاده از ضعف‌ها برای نفوذبررسی واقعی امنیت سیستم
«پس‌ از نفوذ» (Post-Exploitation)بررسی میزان خسارت پس از نفوذمشخص شدن شدت آسیب‌پذیری

آزمایش کنندگان از ابزارها و روش‌های مختلفی برای شبیه‌سازی حمله سایبری واقعی استفاده می‌کنند. این عملیات می‌تواند شامل حملات با هدف نفوذ شبکه، وب‌اپلیکیشن‌ها و حملات «مهندسی اجتماعی» (Social Engineering) باشد.

هکر در حال کار با کامپیوتر و لوگوی پایتون برای تست نفوذ با پایتون

انواع تست نفوذ

تست نفوذ را می‌توان به سه دسته کلی تقسیم کرد. این دسته‌ها را در پایین توضیح داده‌ایم.

  • تست «بلک باکس» (Black Box): در این روش، آزمایش‌ کنندگان هیچ دانشی از قبل درباره سیستم هدف ندارند. در این تست نفوذ، رفتار حمله‌کنندگان خارجی شبیه‌سازی می‌شود.
  • تست «وایت باکس» (White Box): در این روش، آزمایش‌کنندگان شناخت کاملی از هدف دارند. برای مثال می‌دانند که شبکه از چه دیاگرامی استفاده می‌کند، کدهای منبع چه هستند و جزئیات معماری اپلیکیشن یا شبکه را به طور کامل می‌شناسند.
  • تست «گری باکس» (Gray Box): در این روش، آزمایش کنندگان اطلاعات محدودی از سیستم هدف دارند. هدف، شبیه‌سازی حمله داخلی یا استفاده حمله کنندگان خارجی از حساب‌های کاربری لو‌رفته است.
نوع تستمیزان آشنایی با سیستمهدف تست
Black Boxبدون اطلاعات قبلیشبیه‌سازی حمله خارجی
White Boxآشنایی کامل با سیستمبررسی دقیق امنیت داخلی
Gray Boxاطلاعات محدود از سیستمشبیه‌سازی حمله داخلی یا حساب لو‌رفته

دامنه

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

  • بررسی پایداری زیر‌ساخت‌های شبکه
  • بررسی امنیت وب‌اپلیکیشن‌ها
  • بررسی امنیت اپلیکیشن‌های موبایل
  • بررسی پایداری و امنیت خدمات ارائه شده در فضای ابری
  • بررسی امنیت دستگاه‌های IoT
نمودار سطوح مختلفی از فناوری تست نفوذ
چند مورد از سطوح مختلف فناوری تست نفوذ

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

گزارش گیری

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

  • مشخصات کامل تمام نقاط آسیب‌پذیر شناسایی شده
  • تکنیک‌های مورد استفاده برای بهره‌برداری
  • و توصیه‌هایی برای اصلاح این مشکلات

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

انطباق با مقررات

برای انجام تست نفوذ اغلب اوقات لازم است به چارچوب رگولاتوری و استاندارد‌های صنعتی خاصی مانند «PCI DSS» و «HIPAA» و «GDPR» توجه بکنیم.

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

  • نکته ۱: نام استاندارد PCI DSS مخفف شده عبارت «استاندارد امنیت داده در صنعت کارت‌های پرداخت» (Payment Card Industry Data Security Standard) است.
  • نکته ۲: نام استاندارد HIPAA مخفف شده عبارت «قانون قابلیت انتقال و مسئولیت‌پذیری بیمه سلامت» (Health Insurance Portability and Accountability Act) است.
  • نکته ۳: استاندارد GDPR مخفف شده عبارت «مقررات عمومی حفاظت از داده‌ها» (General Data Protection Regulation)

بهینه‌سازی پی‌درپی

تست نفوذ، عملیاتی نیست که یک بار انجام شده و به پایان برسد. این فرایند باید به شکل مستمر و دوره‌ای انجام شود. انجام منظم تست نفوذ در سازمان‌ها به آن‌ها برای بررسی میزان امنیت به صورت لحظه‌ای کمک می‌کند. در نتیجه می‌توانند مشکلات جدید را به سرعت شناسایی کرده و برطرف کنند. «بهینه‌سازی پی‌درپی» (Continuous Improvement) برای جلوگیری از تهدیدات جدید مهم است. بنابراین سیستم در مقابل حملات سایبری مقاومت بیشتری خواهد کرد.

چطور با کمک فرادرس امنیت سایبری یاد بگیریم؟

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

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

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

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

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

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

در فهرست زیر، چند مورد از مشهور‌ترین و کاربردی‌ترین فریم‌ورک‌های امنیتی پایتون را نام برده‌ایم.

  • Metasploit
  • Nmap
  • Scapy
ماژول‌های مشهور و مورد استفاده در تست نفوذ با پایتون
مشهورترین ماژول‌های مورد استفاده در تست نفوذ با پایتون

در ادامه مطلب، تمام موارد بالا را یک به یک معرفی کرده و مثال ساده‌ای را برای هر کدام نمایش می‌دهیم.

Metasploit

Metasploit یکی از مشهور‌ترین فریم‌ورک‌ها در حوزه تست نفوذ است. تقریبا تمام متخصصان امنیت سایبری در سراسر جهان با این فریم‌ورک آشنا هستند. با اینکه این کتابخانه در اصل با زبان Ruby نوشته شده، اما رابط مخصوصی با نام «pymetasploit3» را برای کار با پایتون توسعه‌ داده‌‌ است. برنامه نویسان پایتون با کمک این رابط می‌توانند اسکریپت‌نویسی کرده و بیشتر عملیات تست نفوذ را به صورت خودکار انجام بدهند. با کمک این فریم‌ورک می‌توان به صورت خودکار «Exploit» ارسال کرد و عملیات «Post-Exploitation» اجرا کرد.

در کادر زیر، مثال ساده‌ای از اسکریپت نوشته شده با این فریم‌ورک را بررسی کرده‌ایم.

کدهای بالا را در فهرست پایین توضیح داده‌ایم.

  1. ابتدا کلاس MsfRpcClient  از کتابخانه pymetasploit3  را وارد می‌کنیم تا بتوانیم به Metasploit متصل شویم.
  2. سپس با دادن رمز عبور و تنظیم پورت، به سرویس RPC متصل می‌شویم.
  3. بعد از اتصال، فهرست ماژول‌های در دسترس exploits، دریافت می‌شود.
  4. در پایان، تعداد و نام ماژول‌های exploits چاپ می‌شوند.

نکته ۱: سرویس RPC یا Remote Procedure Call یعنی برنامه‌ای بتواند از راه دور به برنامه‌ای دیگر بگوید دستور یا تابع خاصی را برایش اجرا کند، انگار که آن تابع روی همان سیستم خودش است.

نکته ۲: قبل از اجرای کدهای بالا باید کتابخانه Pymetasploit3 را بر روی سیستم نصب کرده و سرویس «msfrpcd» را در ترمینال Metasploit اجرا کنید.

Nmap

Nmap ابزار قدرتمند و اوپن سورسی است که برای کشف شبکه و بررسی سطح امنیت استفاده می‌شود. فریم‌ورک Nmap با زبان‌های برنامه نویسی «C» و «Lua» نوشته شده است. اما رابطی برای کار با پایتون به نام «موتور اسکریپت‌نویسی Nmap» یا (Nmap Scripting Engine | NSE) ارائه می‌دهد. از این رابط می‌توان برای ساخت اسکریپت‌های سفارشی استفاده کرد. آن‌ها به افزایش توان و عملکرد Nmap کمک می‌کنند.

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

برنامه نویسی که در حال اسکن کردن داده‌ها با ذره‌بین است.

در کادر پایین نمونه ساده‌ای از اسکریپت نوشته شده با nmap را پیاده‌سازی کرده‌ایم.

در فهرست پایین، کدهای بالا را توضیح داده‌ایم.

  1. ابتدا کتابخانه nmap را وارد می‌کنیم تا بتوانیم اسکن شبکه انجام دهیم.
  2. سپس یک شیء از PortScanner  می‌سازیم تا عملیات اسکن را مدیریت کند.
  3. با دستور scan ، محدوده IP مشخص‌شده را برای پورت‌های ۲۲، ۸۰ و ۴۴۳ بررسی می‌کنیم.
  4. در ادامه با کمک حلقه for ، همه Host-‌های پیدا‌ شده را پیمایش می‌کنیم.
  5. در نهایت هم آدرس هر Host و پورت‌های باز آن را چاپ می‌کنیم.

نکته: برای اجرای این کد ابتدا با کمک دستور pip install python-nmap  ماژول لازم برای استفاده از Nmap را نصب کنید. سپس فایل اجرایی «nmap.exe» را از وب‌سایت رسمی (+) دانلود کرده و بر روی کامپیوتر خود نصب بکنید.

Scapy

Scapy ابزار حرفه‌ای برای کار با بسته‌های اطلاعاتی است که با زبان پایتون نوشته شده‌اند. متخصصان امنیت سایبری با کمک Scapy می‌توانند پکت‌های سفارشی خود را طراحی کرده و آن‌ها را بر روی شبکه ارسال کنند. سپس پاسخ‌های آمده را تحلیل می‌کنند. فریم‌ورک Scapy انعطاف‌پذیری بسیار بالایی دارد. در نتیجه به گزینه بسیار خوبی برای انجام عملیات «شناسایی» (Reconnaissance) تبدیل شده است.

از این فریم‌ورک می‌توان برای «شنود بسته‌ها» (Packet Sniffing) هم استفاده کرد. این ویژگی به سوءاستفاده کردن از پروتکل‌های شبکه در زمان اجرای تست نفوذ هم کمک می‌کند. در ادامه، نمونه‌ای از اسکریپت‌های نوشته شده با فریم‌ورک Scapy را ارائه داده‌ایم.

در فهرست پایین، کدهای بالا را توضیح داده‌ایم.

  1. ابتدا کتابخانه Scapy را به صورت scapy.all وارد می‌کنیم. با این کار می‌توانیم بسته‌های شبکه را بسازیم و ارسال کنیم.
  2. سپس یک پینگ ICMP به آدرس IP  مشخص شده می‌فرستیم.
  3. دستور sr1  بسته را ارسال می‌کند و منتظر اولین پاسخ می‌ماند.
  4. اگر پاسخی دریافت شود، جزئیات آن با response.show()  نمایش داده می‌شود.
  5. اگر پاسخی نرسد، پیام No response received  چاپ می‌شود.

نکته: برای استفاده از این بسته‌ هم باید آن را با کمک دستور pip install scapy  در کامپیوتر نصب کرد.

تکنیک‌های اسکریپت نویسی برای تست نفوذ با پایتون

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

  • «شناسایی»
  • «بهره‌برداری»
  • «پس از نفوذ» یا «Post-Exploitation»

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

  • اسکن شبکه
  • تجزیه‌و‌تحلیل ترافیک
  • توسعه سیستم‌های پیشرفته تشخیص نفوذ
  • و غیره

برای یادگیری این مهارت‌ها پیشنهاد می‌کنیم که فیلم آموزش امنیت شبکه با پایتون، از مبانی تا تست نفوذ + گواهینامه را در فرادرس مشاهده بکنید. لینک دسترسی به این فیلم در پایین نیز قرار داده شده است.

مرحله شناسایی

با کمک اسکریپت‌های پایتون می‌توانیم کارهای مربوط به مرحله شناسایی را به شکل خودکار اجرا کنیم. آن‌ها ابتدا درباره شبکه هدف اطلاعات جمع‌آوری می‌کنند. این اطلاعات شامل آدرس IP، پورت‌های باز، سرویس‌های در حال اجرا بر روی آن پورت‌ها و توپولوژی شبکه است. در این مرحله می‌توان از کتابخانه‌هایی مانند Nmap و Scapy استفاده کرد. از این کتابخانه‌ها برای اجرای عملیات اسکن به صورت فعال و غیرفعال در زمان شناسایی استفاده می‌شود.

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

در فهرست پایین، کدهای بالا را توضیح داده‌ایم.

  1. ابتدا کتابخانه nmap  را وارد می‌کنیم. با کمک این کتابخانه می‌توانیم اسکن شبکه انجام دهیم.
  2. سپس شیئی از نوع PortScanner  می‌سازیم. این شی وظیفه اجرای اسکن را دارد.
  3. با دستور scan  روی بازه IP مشخص‌شده اسکن می‌کنیم. عبارت -T4  سرعت اسکن را بالا می‌برد و عبارت -F  فقط پورت‌های رایج را بررسی می‌کند.
  4. بعد از پایان اسکن، روی همه Host-های پیدا‌ شده پیمایش می‌کنیم.
  5. در هر تکرار، آدرس Host و پورت‌های باز آن چاپ می‌شود.
شناسایی پرت‌های باز شده توسط متخصص امنیت سایبری

بهره‌برداری

با کمک اسکریپت‌های پایتون می‌توانیم فرایند‌های مربوط به سوءاستفاده از نقاط آسیب‌پذیر شناسایی شده را به صورت خودکار طراحی و اجرا کنیم. در این اسکریپت‌ها امکان استفاده از ماژول‌های pymetasploit3  و کدهای مربوط به Exploit وجود دارد. یکی از کارهایی که می‌توان با کمک اسکریپت‌های پایتون انجام داد، شناسایی سیستم‌های آسیب‌پذیر است. آن‌ها می‌توانند «Exploit»‌-های مناسب را انتخاب کرده و حملات مختلف را علیه سیستم‌های هدف انجام بدهند.

در کادر پایین، نمونه‌ای از اسکریپت‌های مناسب برای بهره‌برداری را پیاده‌سازی کرده‌ایم.

در فهرست پایین، کدهای بالا را توضیح داده‌ایم.

  1. ابتدا با استفاده از کتابخانه pymetasploit3  یک اتصال به سرویس RPC برقرار می‌شود.
  2. سپس ماژول «exploit» را انتخاب می‌کنیم.
  3. در ادامه، مقادیر تنظیمی ماژول وpayload  مشخص می‌شوند تا چارچوب اجرا تعریف شود.
  4. در نهایت، اجرای ماژول از طریق رابط RPC به result سپرده شده و نتیجه کلی اجرا چاپ می‌شود.

پس از نفوذ

با کمک کدهای پایتون می‌توانیم عملیات مربوط به مرحله «پس از نفوذ» را هم به صورت خودکار انجام دهیم. این عملیات شامل «بالا بردن سطح دسترسی» (Privilege Escalation)،‌ «حرکت جانبی» (Lateral Movement) و «سرقت داده‌ها»‌ (Data Exfiltration) است. عملیات «پس از نفوذ» بعد از دسترسی اولیه به سیستم هدف اتفاق می‌افتد.

اسکریپت‌های پایتون می‌توانند با API-های سیستم عامل‌ها ارتباط برقرار بکنند. برنامه نویسان پایتون می‌توانند با کمک این اسکریپت‌ها فایل‌ها و دایرکتور‌های مختلف را دستکاری کنند. همچنین از اسکریپت‌های پایتون می‌توان برای اجرای دستور از راه دور دستورات نیز استفاده کرد. در کادر پایین، نمونه‌ای از اسکریپت‌های پایتون برای اجرای عملیات پس از نفوذ را پیاده‌سازی کرده‌ایم.

در فهرست پایین، کدهای بالا را توضیح داده‌ایم.

  1. این کد نشان می‌دهد که پایتون چگونه از طریق رابط RPC با pymetasploit3  ارتباط برقرار می‌کند.
  2. ابتدا اتصال به سرویس pymetasploit3  برقرار می‌شود.
  3. سپس با کد client.modules.use() ماژولی از مجموعه ماژول‌ها انتخاب می‌شود.
  4. در ادامه، شناسه «Session» برای آن ماژول تنظیم می‌شود.
  5. در پایان، اجرای ماژول به خود pymetasploit3  واگذار می‌شود.

خلاصه‌ای از بررسی فریم‌ورک‌های پایتون

در جدول زیر، ویژگی‌های مهم این فریم‌ورک‌ها را به شکل خلاصه و کامل نوشته‌ایم.

ابزارکاربرد اصلیتوضیح کوتاه
Pymetasploit3تست نفوذ و بهره‌برداریاجرای خودکار Exploit و مراحل پس از نفوذ
Nmapاسکن شبکه و امنیتکشف پورت‌های باز و سرویس‌های آسیب‌پذیر
Scapyکار با بسته‌های شبکهساخت، ارسال و شنود پکت‌های شبکه

روش مناسب برای یادگیری امنیت شبکه

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

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

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

مجموعه آموزش امنیت شبکه (Network Security) – مقدماتی تا پیشرفته
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش امنیت شبکه هدایت شوید.

جمع‌بندی

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

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

بر اساس رای ۱ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
منابع:
InfoSec Write-upsBrightTechTarget
PDF
مطالب مرتبط
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *