breadcrumbs_delimiter هوش مصنوعی breadcrumbs_delimiter PentestGPT: ابزاری جدید برای تست نفوذ خودکار
هوش مصنوعی

PentestGPT: ابزاری جدید برای تست نفوذ خودکار

اردیبهشت 19, 1402 0017

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

PentestGPT چیست؟

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

نصب

یک دایرکتوری جدید برای دانلود مخزن ایجاد کنید.

mkdir pentestgpt

در دایرکتوری پیمایش کنید.

cd pentestgpt

کد منبع را از مخزن پنtest GPT GitHub رسمی

خارج کنید >

کلون git https://github.com/GreyDGL/PentestGPT.git.

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

بسته های مورد نیاز را با اجرای دستور زیر نصب کنید:

pip install -r requirements.txt

بعد، فایل پیکربندی نمونه را با اجرای دستور زیر کپی کنید:

cp config/chatgpt_config_sample.py config/chatgpt_config.py

فایل config/chatgpt_config.py را در یک ویرایشگر متن باز کنید و جزئیات لازم را بر اساس روش احراز هویت ترجیحی خود (کوکی یا API) پر کنید.

توجه: اگر از احراز هویت کوکی استفاده می‌کنید این مراحل را دنبال کنید

  • در مرورگر وب خود وارد صفحه جلسه ChatGPT شوید.
  • ابزارهای توسعه دهنده را با فشار دادن F12 یا کلیک راست و انتخاب “Inspect” باز کنید.
  • به برگه «شبکه» در ابزارهای برنامه‌نویس بروید و درخواست‌ها را به صفحه جلسه ChatGPT فیلتر کنید.
  • به دنبال درخواستی به https://chat.openai.com/api/auth/session بگردید و کوکی را از بخش “سرصفحه های درخواست” کپی کنید.
  • کوکی کپی شده را در قسمت کوکی config/chatgpt_config.py جای‌گذاری کنید.
  • فیلد userAgent را با عامل کاربر مرورگر خود پر کنید. با مراجعه به https://www.whatismybrowser.com/detect/what-is-my-user-agent، می توانید عامل کاربری خود را پیدا کنید.

توجه: اگر از احراز هویت API استفاده می‌کنید این مراحل را دنبال کنید

  • با کلید OpenAI API خود، فیلد apiKey را در config/chatgpt_config.py پر کنید.
  • فایل config/chatgpt_config.py را ذخیره کنید.
  • برای تأیید اینکه اتصال به درستی پیکربندی شده است، دستور زیر را اجرا کنید:
python3 test_connection.py

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

1. شما با کوکی ChatGPT Plus متصل هستید.
برای شروع PentestGPT، لطفاً از  استفاده کنید
## تست اتصال برای OpenAI api (GPT-4)
2. شما با OpenAI API متصل هستید. شما به GPT-4 دسترسی دارید. برای شروع PentestGPT، لطفاً از  استفاده کنید
## تست اتصال برای OpenAI api (GPT-3.5)
3. شما با OpenAI API متصل هستید. شما به GPT-3.5 دسترسی دارید. برای راه اندازی PentestGPT، لطفاً از 

استفاده کنید

روش تأیید کوکی که در بالا توضیح داده شد. اگر پس از تلاش های متعدد همچنان خطاها را دریافت می کنید، لطفاً صفحه را دوباره بارگیری کنید، دستورالعمل های قبلی را تکرار کنید و دوباره امتحان کنید. همچنین می‌توانید از کوکی برای رفتن به https://chat.openai.com/backend-api/conversations استفاده کنید. لطفاً اگر با مشکلی مواجه شدید، مشکلی را ارسال کنید.

استفاده

1. بسته های مورد نیاز را با اجرای کد زیر در ترمینال خود نصب کنید.

pip install -r requirements.txt

2. کوکی ها را در config/chatgpt_config.py پیکربندی کنید. فایل نمونه cp config/chatgpt_config_sample.py config/chatgpt_config.py را کپی کنید و فیلدهای کوکی و عامل کاربر را پر کنید. می‌توانید نمونه را با وارد شدن به صفحه جلسه ChatGPT، بازرسی شبکه، یافتن کوکی در هدر درخواست و چسباندن آن در قسمت کوکی در config/chatgpt_config.py دنبال کنید. کد>.

3. اگر از OpenAI API استفاده می کنید، کلید API را در config/chatgpt_config.py پر کنید.

4. با اجرای کد زیر اطمینان حاصل کنید که اتصال به درستی پیکربندی شده است. شما باید یک مکالمه نمونه با ChatGPT را ببینید.

python3 test_connection.py

5. بسته به ترجیح شما برای مدل استدلال و استفاده از API، PentestGPT را با اجرا شروع کنید.

python3 main.py --reasoning_model=gpt-4
python3 main.py --reasoning_model=gpt-4 --useAPI
python3 main.py --reasoning_model=gpt-3.5-turbo --useAPI، 

6. هنگامی که PentestGPT اجرا می شود، می توانید از دستورات اساسی زیر استفاده کنید:

  • راهنما: پیام راهنما را نشان دهید.
  • بعدی: نتیجه اجرای آزمایش را کلید بزنید و مرحله بعدی را دریافت کنید.
  • بیشتر: اجازه دهید PentestGPT جزئیات بیشتری از مرحله فعلی را توضیح دهد و یک حل‌کننده زیرکار جدید برای هدایت آزمایش‌کننده ایجاد کنید.
  • todo: لیست کارها را نشان دهید.
  • بحث: با Pentest GPT بحث کنید.
  • google: در Google جستجو کنید (در حال توسعه).
  • خروج: از ابزار خارج شوید و خروجی را به عنوان یک فایل گزارش ذخیره کنید.

7. از برای پایان دادن به ورودی خود و رفتن به خط بعدی استفاده کنید.

8. از TAB برای تکمیل خودکار دستورات استفاده کنید.

9. هنگامی که یک لیست انتخاب کشویی به شما داده می شود، از مکان نما یا کلیدهای پیکان برای پیمایش در لیست استفاده کنید و برای انتخاب مورد، ENTER را فشار دهید. برای تأیید انتخاب، از استفاده کنید.

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

  • راهنما: پیام راهنما را نشان دهید.
  • طوفان فکری: اجازه دهید Pentest GPT در مورد کار محلی برای همه راه حل های ممکن طوفان فکری کند.
  • بحث: با PentestGPT درباره این کار محلی بحث کنید.
  • google: در Google جستجو کنید (در حال توسعه).
  • ادامه: از زیرکار خارج شوید و جلسه آزمایش اصلی را ادامه دهید.

عملکرد PentestGPT

کنترل کننده نقطه اصلی ورود ابزار تست نفوذ است. این پنترها را قادر می سازد تا وظایف زیر را انجام دهند:

  1. (با چند دستور از پیش برنامه ریزی شده شروع کنید.)
  2. یک جلسه تست نفوذ جدید را با وارد کردن داده های مورد نظر آغاز کنید.
  3. لیست کارهایی را که باید انجام دهید درخواست کنید و از اقدام بعدی که باید انجام دهید مطلع شوید.
  4. پس از اتمام عملیات، داده ها را به PentestGPT ارسال کنید.
    • یک خروجی ابزار ارسال کنید.
    • محتوای یک صفحه وب را ارسال کنید.
    • توضیح انسانی را ارسال کنید.

3 ماژول با PentestGPT اضافه شده است.

  • ماژول تولید تست: دستورالعمل‌ها یا فرآیندهای دقیق تست نفوذ را برای کاربران ایجاد می‌کند.
  • ماژول استدلال آزمایشی: استدلال آزمایشی را انجام می‌دهد و به آزمایش‌کنندگان نفوذ هدایت می‌کند که در مرحله بعد چه کاری انجام دهند.
  • ماژول تجزیه: خروجی ابزارهای نفوذ و محتوای موجود در webUI را تجزیه می‌کند.

جزئیات کامل را می‌توانید در اینجا در GitHub و بالا بخوانید 30 بهترین ابزارهای تست نفوذ.

ویژگی های PentestGPT

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

PentestGPT می‌تواند دستورات و اسکریپت‌هایی را برای انواع ابزارهای pentesting، از جمله Nmap، Metasploit و Burp Suite ایجاد کند. به سادگی ابزار مورد استفاده و پارامترهای مشخص شده را مشخص کنید و Pentest GPT یک دستور یا اسکریپت برای شما تولید می کند.

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

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

سؤالات متداول PentestGPT

PentestGPT چیست؟

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

آیا برای استفاده از PentestGPT باید عضو ChatGPT plus باشم؟

بله. استدلال با کیفیت PentestGPT بر اساس مدل GPT-4 است. از آنجایی که هنوز هیچ API عمومی GPT-4 وجود ندارد، یک پوشش برای اجازه دادن به Pentest GPT با استفاده از یک جلسه ChatGPT اضافه شده است.

چرا GPT-4؟

پس از آزمایش تجربی، متوجه شدیم که GPT-4 از نظر منطق تست نفوذ، عملکرد بهتری نسبت به GPT-3.5 دارد. در واقع، GPT-3.5 باعث می شود که تست ها در کارهای آسان با شکست مواجه شوند.

AutoGPT چطور؟

AutoGPT برای تست کردن ساخته نشده است. پتانسیل انجام عملیات مضر را دارد. به همین دلیل، ما Pentest GPT را در حالت تعاملی طراحی کردیم. البته هدف نهایی ما یک سیستم پنتست خودکار است.

این مقاله به شما کمک می کند تا در مورد PentestGPT بیاموزید. ما اطمینان داریم که برای شما مفید بوده است. لطفاً نظرات و انتقادات خود را در بخش نظرات زیر به اشتراک بگذارید.

به این نوشته امتیاز بدهید!

افراد نیوز

افراد نیوز

دیدگاهتان را بنویسید

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

  • ×