آموزش تست نفوذ (Penetration Test)

دسته بندی: آموزش تست نرم افزار

آموزش تست نفوذ

آنچه در این صفحه می خوانید:

تست نرم افزار چیست؟

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

چرا تست نرم افزار ها امری ضروری است؟

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

انواع تست نرم افزار

آموزش تست واحد (Unit testing)

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

آموزش تست استاتیک (Static testing)

تکنیک تست نرم افزاری است که در آن نرم افزار بدون اجرای کد مورد تست قرار می گیرد.

آموزش تست یکپارچه سازی (Integration testing)

تست یکپارچه سازی فرآیند توسعه نرم افزاری است که واحدهای برنامه را به صورت چند گانه ترکیب و تست می کنند.

آموزش تست نفوذ (Penetration Testing)

Penetration testing یا pen testing به معنای تست نفوذ، انجام تست سیستم کامپیوتری، شبکه یا برنامه وب برای شناسایی آسیب پذیری هایی است که مهاجم می تواند از آن استفاده کند.

آموزش تست خودکار (Automated Testing)

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

معرفی تست نفوذ (Penetration Test)

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

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

موارد امنیتی که کشف تست نفوذ باید به صاحب سیستم گزارش شود. گزارش های تست نفوذ همچنین ممکن است تأثیرات احتمالی بر سازمان را ارزیابی کرده و اقدامات متقابل را برای کاهش ریسک پیشنهاد کند. مرکز ملی امنیت سایبر تست نفوذ را چنین توصیف می کند: "روشی برای به دست آوردن اطمینان در امنیت سیستم IT با تلاش برای نقض برخی یا تمام امنیت آن سیستم، با استفاده از همان ابزارها و تکنیک هایی که ممکن است دشمن باشد."

اهداف تست نفوذ بسته به نوع فعالیت تأیید شده برای هرگونه درگیری مشخص با هدف اصلی متمرکز در یافتن آسیب پذیری هایی که می تواند توسط بازیگر مبهم مورد سوء استفاده قرار بگیرد و اطلاع رسانی به مشتری از این آسیب پذیری ها همراه با راهکارهای کاهش توصیه شده متفاوت باشد. آزمایشات نفوذ بخشی از ممیزی امنیتی کامل است. به عنوان مثال، استاندارد امنیت داده کارت صنعت پرداخت نیاز به آزمایش نفوذ در یک برنامه منظم و بعد از تغییرات سیستم دارد.

چندین فریمورک و روش استاندارد برای انجام آزمایش های نفوذ وجود دارد. این موارد شامل کتابچه راهنمای روش آزمایش امنیت امنیت منبع باز (OSSTMM)، استاندارد اجرای تست نفوذ (PTES)، انتشار ویژه NIST 800-115، فریمورک ارزیابی امنیت سیستم اطلاعات (ISSAF) و راهنمای تست OWASP است.

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

مراحل تست نفوذ (Penetration Test)

روند آزمایش نفوذ ممکن است به پنج مرحله تقسیم شود:

  1. بازآفرینی: عمل جمع آوری اطلاعات مهم در مورد سیستم هدف. از این اطلاعات می توان برای حمله بهتر به هدف استفاده کرد. به عنوان مثال، می توان از موتورهای جستجوگر اوپن سورس برای یافتن داده هایی استفاده کرد که می توانند در حمله مهندسی اجتماعی مورد استفاده قرار گیرند.
  2. اسکن: از ابزارهای فنی برای پیشبرد دانش مهاجم در مورد سیستم استفاده می کند. به عنوان مثال، می توان از Nmap برای اسکن پورت های باز استفاده کرد.
  3. به دست آوردن دسترسی: با استفاده از داده های جمع آوری شده در مراحل شناسایی و اسکن، مهاجم می تواند از payload برای سوء استفاده از سیستم هدفمند استفاده کند. به عنوان مثال، Metasploit می تواند برای خودکارسازی حملات روی آسیب پذیری های شناخته شده مورد استفاده قرار گیرد.
  4. حفظ دسترسی: حفظ دسترسی مستلزم انجام اقدامات لازم برای پایدار ماندن در محیط هدف برای جمع آوری هرچه بیشتر اطلاعات است.
  5. پوشش رد پا: مهاجم باید هر اثری از به خطر انداختن سیستم قربانی، هر نوع داده جمع آوری شده، وقایع ثبت شده را پاک کند تا ناشناس شود.

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

آسیب پذیری

عملیات حقوقی که به آزمایش کننده اجازه می دهد عمل غیرقانونی را انجام دهد شامل دستورات SQL بدون اشکال، کلمات عبور بدون تغییر در پروژه های منبع قابل مشاهده، روابط انسانی و عملکردهای قدیمی و رمزنگاری شده است. ممکن است یک نقص تنها کافی نباشد که بتواند سوءاستفاده جدی را فعال کند. استفاده از چندین نقص شناخته شده و شکل دادن به بار به روشی که به عنوان عملیات معتبر ظاهر شود، تقریباً همیشه مورد نیاز است. Metasploit یک کتابخانه روبی را برای کارهای مشترک فراهم می کند، و پایگاه داده از بهره برداری های شناخته شده را حفظ می کند.

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

تصور کنید یک وب سایت دارای 100 صندوق ورودی متن است. تعداد کمی در معرض تزریق SQL در رشته های خاص هستند. امیدوارم برای مدتی رشته های تصادفی را به آن جعبه ها بپیچید امیدوارم مسیر کد اشکال زده را طی کنید. این خطا خود را به عنوان صفحه اچ تی ام ال (HTML) شکسته که به دلیل خطای اس کیوال (SQL) ارائه شده است نشان می دهد. در این حالت، فقط جعبه های متنی به عنوان جریان ورودی رفتار می شوند. با این حال، سیستم های نرم افزاری جریانهای ورودی زیادی دارند، مانند داده کوکی و جلسه، جریان پرونده بارگذاری شده، کانال های RPC یا حافظه. خطاها در هر یک از این جریان های ورودی می توانند رخ دهند. هدف آزمون این است که ابتدا خطای حل نشده را بدست آورید و سپس عیب را بر اساس مورد آزمون شکست خورده درک کنید. آزمایش کنندگان تا زمانی که صحیح نباشد، ابزار خودکار را برای تست درک خود از نقص می نویسند. پس از آن، ممکن است نحوه بسته بندی هزینه بار به گونه ای آشکار شود که سیستم هدف اجرای آن را آغاز کند. اگر این امر قابل استفاده نباشد، می توان امیدوار بود كه خطای دیگری كه توسط فیوزر حاصل می شود، ثمر بیشتری می دهد. استفاده از فوزر با چک نکردن مسیرهای کد کافی که سوءاستفاده ها بعید است، در وقت صرفه جویی می کند.

ظرفیت بارگیری

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

  • Metasploit
  • Nessus
  • Nmap
  • OpenVAS
  • W3af

مزایای تست نفوذ (Penetration Test)

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

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

بهبود سیستم مدیریت

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

اجتناب از جریمه

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

حفاظت از آسیب مالی

نقض ساده سیستم امنیتی می تواند میلیون ها دلار آسیب را به همراه داشته باشد. تست نفوذ می تواند سازمان شما را از چنین آسیب هایی محافظت کند.

حفاظت از مشتری

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

زمان انجام تست نفوذ (Penetration Test)

تست نفوذ ویژگی اساسی است که باید به طور منظم برای تأمین امنیت سیستم اعمال شود. علاوه بر این، در هر زمان که موارد زیر مشاهده شد باید انجام شود.

  • سیستم امنیتی تهدیدهای جدید توسط مهاجمان را کشف می کند.
  • افزودن زیرساخت شبکه جدید
  • به روز رسانی سیستم و نصب نرم افزار جدید
  • جابه جایی محل کار یا شرکت
  • تنظیم برنامه / سیاست جدید کاربر نهایی
آیا این نوشته را دوست داشتید؟
pluralsight-post-exploitation-pillaging-and-data-exfiltration

آموزش Post Exploitation: بررسی Pillaging و Data Exfiltration


شما در این دوره، توانایی ارزیابی سیستم ها را نه فقط برای داده هایی که ممکن است از طریق pillaging تصرف شوند، بلکه همچنین شروع به بررسی هر سیستمی به عنو...

1399/11/14 457 بازدید زیرنویس دارد
pluralsight-security-control-assessment

ارزیابی کنترل امنیت


ارزیابی امنیت عنصر مهمی در برنامه مدیریت امنیت اطلاعات است، که غالباً درک درستی از آن نشده است. در این دوره، شما انواع مختلفی از ارزیابی های امنیتی که...

1399/11/13 709 بازدید
pluralsight-assessing-red-team-post-exploitation-activity

دوره Assessing Red Team Post Exploitation Activity


تهدیدات داخلی رو به رشد است و می تواند احراز هویت یا دسترسی از راه دور شبکه را به طور کامل دور بزند. هرچقدر یک pen-test از فاز دسترسی اولیه به سمت فعا...

1399/11/11 569 بازدید
pluralsight-conducting-passive-reconnaissance-for-comptia-pentest

شناسایی غیرفعال برای +CompTIA PenTest


در این دوره، انجام شناسایی منفعل برای پلاس CompTIA PenTest +، در مورد جمع آوری موثر اطلاعات غیرقابل ردیابی، که تحت عنوان "شناسایی" شناخته می شود، خواه...

1399/10/18 971 بازدید
pluralsight-penetrating-networks-for-comptia-pentest

آشنایی با نفوذ به شبکه ها برای +CompTIA PenTest


در این دوره آموزشی +CompTIA PenTest شما توانایی بررسی تمام ابعاد زیرساخت شبکه برای کشف هرگونه نقطه ضعفی در طول تست نفوذ را کسب خواهید کرد. در ابتدا، ش...

1399/10/09 1474 بازدید
pluralsight-writing-burp-suite-macros-and-plugins

نوشتن ماکرو و پلاگین های Burp Suite


شما در این دوره، می آموزید که چگونه عملکردهای Burp Suite را به صورت سفارشی متناسب با هر نوع نیاز خاص تجاری ایجاد کنید. ابتدا اسرار استفاده از Burp Mac...

1399/10/02 765 بازدید
pluralsight-penetration-testing-with-the-metasploit-framework

آموزش تست نفوذ با فریمورک Metasploit


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

1399/10/02 1259 بازدید
pluralsight-performing-non-technical-tests-for-comptia-pentest

انجام تست های غیر فنی برای +CompTIA PenTest


شما در این دوره، توانایی ارزیابی واقعی جنبه های غیر فنی (دیجیتال) یک تست نفوذ را پیدا خواهید کرد. ابتدا یاد خواهید گرفت که چگونه مهندسی اجتماعی می توا...

1399/08/24 1028 بازدید زیرنویس دارد
pluralsight-penetration-testing-of-identity-authentication-and-authorization-mechanism

تست نفوذ هویت، احراز هویت و مکانیزم مجوز


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

1399/08/09 1006 بازدید
linkedin-offline-application-security-testing-essential-training

آموزش اصولی تست امنیت آفلاین اپلیکشن


این دوره ابزارها و تکنیک هایی که توسعه دهندگان می توانند برای به حداقل رساندن هزینه و اثرگذاری تست امنیتی، در حالی که تأثیرگذاری و اثربخشی آن را به حد...

1399/06/07 886 بازدید زیرنویس دارد
packtpub-hands-on-infrastructure-penetration-testing

آموزش عملی تست نفوذ زیرساخت


این دوره تکنیک های پیشرفته تست نفوذ با Kali Linux را ارائه می دهد که در اکسپلویت پایگاه های داده، سرورهای وب و اپلیکیشن و اجرای نفوذ به شبکه به شما کم...

1399/05/22 1726 بازدید
linkedin-security-testing-vulnerability-management-with-nessus

تست امنیتی: مدیریت آسیب پذیری با Nessus


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

1398/12/07 2896 بازدید زیرنویس دارد
packtpub-threat-and-vulnerability-assessment-for-enterprises

آموزش ارزیابی تهدید و آسیب پذیری برای شرکت ها


این دوره شما را با کامپوننت های اصلی ارزیابی جامع آسیب پذیری آشنا می کند و دستورالعمل لازم را برای تهیه یک استراتژی دفاعی نیرومند از روز اول ارائه می ...

1398/08/22 2199 بازدید
pluralsight-advanced-malware-analysis-ransomware

تحلیل پیشرفته بدافزار : باج افزار


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

1398/08/18 3776 بازدید
packtpub-burp-suite-recipes

دستورالعمل های Burp Suite


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

1398/06/20 3234 بازدید
packtpub-hands-on-iot-penetration-testing-video

آموزش تست نفوذ اینترنت اشیا


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

1397/11/14 3136 بازدید
linkedin-comptia-pentest-pt0-001-4-select-your-attacks-ii

آموزش گواهینامه (CompTIA PenTest+ (PT0-001 - بخش 4 - انتخاب حملات (II)


مدرک CompTIA + PenTest یک استاندارد طلایی برای ارزیابی تست نفوذ کنندگان حرفه ای می باشد. سری آموزش های (CompTIA PenTest+ (PT0-001 به شما کمک می کند تا...

1397/11/06 2113 بازدید
linkedin-comptia-pentest-pt0-001-3-select-your-attacks

آموزش (CompTIA PenTest+ (PT0-001 - بخش 3 - انتخاب حملات (I)


آزمون CompTIA PenTest+ توانایی های شما را به عنوان یک تست کننده نفوذ و کسی که می تواند نقاط آسیب پذیر سیستم را شناسایی کرده و از آنها استفاده کند، تای...

1397/11/06 1762 بازدید
linkedin-comptia-pentest-pt0-001-7-reporting-and-communication

آموزش گواهینامه (CompTIA PenTest+ (PT0-001 - بخش 7 - گزارش دهی و ارتباطات


با کسب مدرک CompTIA PenTest +، مهارت هایخود را در زمینه تست نفوذ و مدیریت آسیب پذیری ها به دیگران نشان دهید. در این دوره آموزشی، یادمی گیرید چگونه توص...

1397/11/06 2029 بازدید
linkedin-comptia-pentest-pt0-001-5-selecting-pen-testing-tools

آموزش گواهینامه (CompTIA PenTest+ (PT0-001 - بخش 5 - ابزارهای تست نفوذ


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

1397/11/06 1869 بازدید