تست نفوذ خودکار با هوش مصنوعی Claude AI

مرور کلی

این مقاله یک تست نفوذ کامل و نقطه به نقطه را نشان می‌دهد که تقریباً به طور کامل از طریق زبان طبیعی هدایت و اجرا می‌شود. با متصل کردن نسخه دسکتاپ Claude به یک سرور Model Context Protocol – MCP که روی Kali Linux در حال اجراست، ما این دستیار هوش مصنوعی را به یک دستیار تعاملی امنیت تهاجمی تبدیل می‌کنیم که ابزارهای واقعی کالی لینوکس را با دستور کاربر اجرا می‌کند.

در یک آزمایشگاه چندمیزبانه، ما مسیر را از یک نصب خام تا نفوذ و دسترسی کامل پیش می‌بریم: پیکربندی و یکپارچه‌سازی سیستم، اجرای فرآیند شناسایی و شمارش و جمع‌آوری اطلاعات، اکسپلویت کردن یک نقص SQL injection، به‌دست آوردن یک shell با دسترسی root از طریق Samba، استخراج و کرک و رمزگشایی کردن هش‌های گذرواژه، کنترل یک سایت آسیب‌پذیر WordPress و در نهایت، بازیابی اطلاعات اعتباری مربوط به مدیر دامنه روی یک کنترل‌کننده دامنه ویندوز سرور۲۰۱۹٫

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

فهرست مطالب

آکادمی لیان

مقدمه

فاز ۱: ایجاد یکپارچه‌سازی MCP و کالی لینوکس

نصب سرور MCP

بررسی پیکربندی کلاینت

نصب نسخه دسکتاپ Claude روی کالی لینوکس

متصل کردن نسخه دسکتاپ Claude به سرور MCP

تایید و راستی‌آزمایی یکپارچه‌سازی

فاز ۲: شناسایی و شمارش/جمع‌آوری اطلاعات

اسکن شبکه با ابزار Nmap

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

شمارش اطلاعات پروتکل SMB با ابزار enum4linux

حمله به اطلاعات اعتباری SSH با ابزار Hydra

فاز ۳: اکسپلویت / بهره‌برداری از آسیب‌پذیری‌ها

تزریق کد SQL با ابزار sqlmap

اسکن پورت‌ها با ابزار Metasploit

به‌دست آوردن دسترسی ریشه / Root از طریق آسیب‌پذیری Samba

فاز ۴: پس از اکسپلویت و کرک کردن اطلاعات اعتباری

استخراج اطلاعات اعتباری از فایل shadow

کرک کردن هش‌ها با ابزار John the Ripper

فاز ۵: نفوذ و کنترل هدف وردپرسی

ارزیابی امنیتی وردپرس با ابزار WPScan

اکسپلویت کردن افزونه Reflex Gallery

اکسپلویت کردن افزونه Mail-Masta

به‌دست آوردن دسترسی مدیر وردپرس

ورود به داشبورد مدیریتی

اسکن وب‌سرور با ابزار Nikto

فاز ۶: ابزارهای عملیاتی

بررسی وضعیت سلامت یکپارچه‌سازی

مرور مرجع دستورات داخلی / توکار

فاز ۷:  Pivoting به سمت کنترل‌کننده دامنه ویندوز

احراز هویت پروتکل SMB با ابزار NetExec

راهکارهای کاهش مخاطرات / امن‌سازی

وصله امنیتی کردن و بازنشسته کردن نرم‌افزارهای منسوخ شده / خارج از چرخه پشتیبانی

حذف دسترسی‌های ناشناس و پیش‌فرض

اعمال احراز هویت قوی

امن‌سازی برنامه‌های کاربردی وب

مقاوم‌سازی شبکه و پایش مداوم

نتیجه‌گیری

مقدمه

هوش مصنوعی در حال تغییر شکلِ دنیای امنیت تهاجمی است. به‌طور سنتی، یک دستیار هوش مصنوعی تنها می‌توانست نحوه اجرای یک اسکن یا ساخت یک اکسپلویت را توصیف کند؛ و کاربر همچنان مجبور بود همه کارها را به صورت دستی اجرا کند. «پروتکل بافت مدل» یا همان Model Context Protocol (MCP) این وضعیت را تغییر می‌دهد. پروتکل MCP یک استاندارد باز است که مشخص می‌کند مدل‌های زبانی بزرگ چگونه می‌توانند ابزارهای خارجی را از طریق یک رابط منسجم و ساختاریافته کشف کرده و فراخوانی کنند. به جای کپی و پیست کردن دستورات و کپی کردن خروجی‌ها به صورت دستی، مدل با یک سرور MCP صحبت می‌کند که فهرستی از قابلیت‌ها را ارائه می‌دهد، درخواست‌های ساختاریافته را می‌پذیرد، آن‌ها را اجرا می‌کند و نتایجی را برمی‌گرداند که هم برای ماشین و هم برای انسان قابل خواندن باشد. از آنجا که این استاندارد یکپارچه است، هر کلاینت سازگار با MCP می‌تواند هر سرور MCP را بدون نیاز به کدهای یکپارچه‌سازی سفارشی مدیریت و کنترل کند.

در این پروژه، ابزارهای کالی لینوکس به همان سرور تبدیل می‌شود. سرور MCP Kali ابزارهایی مانند Nmap، Nikto، sqlmap، Hydra، Metasploit، John the Ripper و NetExec را بسته‌بندی می‌کند و سپس آن‌ها را در اختیار Claude Desktop که روی همان میزبان در حال اجراست، قرار می‌دهد. تحلیلگر هدف خود را به زبان ساده بیان می‌کند مثلاً «یک اسکن Nmap اجرا کن»، «آسیب‌پذیری Samba را اکسپلویت کن»، «دیتابیس را دامپ کن» و مدل آن را تفسیر کرده، ابزار مناسب را انتخاب می‌کند، دستور صحیح را می‌سازد، آن را اجرا کرده، خروجی خام را می‌خواند و در یک حلقه گفتگوی واحد، روی نتایج استدلال می‌کند. این کار فاصله بین «توصیه» و «اجرا» را از بین می‌برد، در حالی که برای اقدامات با تأثیر بالا، یک درخواست تایید نمایش داده می‌شود که باعث می‌شود کاربر همچنان کنترل کامل را در اختیار داشته باشد.

بخش‌های بعدی، کل جریان کاری را مستند می‌کنند. ما سرور MCP Kali را نصب، Claude Desktop را روی کالی مستقر کرده، آن دو را متصل و ابزارها را راستی‌آزمایی می‌کنیم. سپس یک زنجیره حمله کامل را در آزمایشگاه پیاده می‌کنیم شناسایی، شمارش پروتکل SMB، اکسپلویتِ اجرای کد از راه دور در Samba، کرک کردن هش‌های گذرواژه، تزریق کد SQL، حمله به اطلاعات اعتباری SSH، نفوذ به وردپرس و دسترسی به مدیر دامنه روی یک کنترل‌کننده دامنه ویندوز سرور ۲۰۱۹ و در نهایت با بررسی اقدامات دفاعی که هر تکنیک را خنثی می‌کند، بحث را می‌بندیم. تمام تکنیک‌ها را فقط در یک آزمایشگاه ایزوله که مالک آن هستید یا صراحتاً اجازه تست آن را دارید، انجام دهید.

محیط آزمایشگاه

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

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

فاز ۱: ایجاد یکپارچه‌سازی MCP و کالی

نصب سرور MCP Kali

ما کار را روی میزبان کالی با نصب بسته سرور MCP Kali آغاز می‌کنیم؛ بسته‌ای که مجموعه ابزارهای امنیتی محلی را از طریق رابط پروتکل MCP منتشر می‌کند. مدیر بسته تأیید می‌کند که mcp-kali-server هم‌اکنون در جدیدترین نسخه خود موجود است، بنابراین محیط برای ادامه کار آماده است.

sudo apt install mcp-kali-server

بررسی پیکربندی کلاینت

فایل راهنمای پروژه مشخص می‌کند که هر کلاینت MCP فایل پیکربندی خود را در چه مسیری انتظار دارد و همچنین به یک قالب آماده برای این پیکربندی لینک می‌دهد. در سیستم‌عامل‌های macOS و Windows، تنظیمات Claude Desktop در مسیرهای مربوط به دایرکتوری پشتیبانی برنامه ذخیره می‌شوند.

سرور MCP کالی

باز کردن قالب، تعریف استاندارد و مرجع کلاینت را نشان می‌دهد. این قالب یک شیء به نام mcpServers را تعریف می‌کند که مفسر python3 را روی یک اسکریپت client.py اجرا کرده و ترافیک را از طریق پروتکل HTTP به سرور ارسال می‌کند؛ این تعریف شامل فیلدهایی برای توضیحات، مهلت زمانی و یک لیست مجاز تایید خودکار است.

نصب Claude Desktop روی کالی لینوکس

نرم‌افزار Claude Desktop برای سیستم‌های مبتنی بر دبیان از طریق یک مخزن APT اجتماعی توزیع می‌شود. ما ابتدا کلید امضای مخزن را به سیستم کلاینت وارد می‌کنیم تا APT بتواند صحت بسته‌ها را تأیید کند.

curl -fsSL https://pkg.claude-desktop-debian.dev/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/claude-desktop.gpg

در مرحله بعد، مخزن را در لیست منابع مربوط به APT ثبت کرده و فهرست بسته‌ها را بروزرسانی می‌کنیم. خروجی دستور، تأیید می‌کند که منبع جدید در دسترس است و در کنار مخازن استاندارد کالی بدون مشکل بروزرسانی می‌شود.

echo "deb [signed-by=/usr/share/keyrings/claude-desktop.gpg arch=amd64,arm64] https://pkg.claude-desktop-debian.dev stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list

sudo apt update

در نهایت، نرم‌افزار را نصب می‌کنیم. مدیر بسته گزارش می‌دهد که claude-desktop هم‌اکنون در آخرین نسخه منتشر شده قرار دارد، که این امر تأیید می‌کند کلاینت آماده اجرا ست.

sudo apt install claude-desktop

متصل کردن Claude Desktop به سرور MCP

با نصب شدن هر دو جزء، نسخه دسکتاپ Claude را اجرا می‌کنیم، منوی حساب کاربری را در گوشه پایین سمت چپ باز کرده و گزینه تنظیمات را انتخاب می‌کنیم.

در داخل بخش تنظیمات، به قسمت Developer می‌رویم. پنل Local MCP servers ، تمام سرورهایی را که کلاینت با آن‌ها در ارتباط است مدیریت می‌کند؛ از آنجایی که هنوز هیچ سروری وجود ندارد، روی گزینه Edit Config کلیک می‌کنیم تا فایل پیکربندی زیرساختی باز شود.

با انتخاب Edit Config، مسیر فایل claude_desktop_config.json در دایرکتوری .config/Claude در پوشه کاربر مشخص می‌شود. این فایل واحد، کنترل می‌کند که نسخه دسکتاپ Claude در هنگام شروع به کار، کدام سرورهای MCP را بارگذاری کند.

ما فایل را ویرایش می‌کنیم تا مجموعه ابزارهای خود را به عنوان یک سرور با نام kali-tools ثبت کنیم که دستور اجرای آن صرفاً mcp-server است. پس از ذخیره کردن، نسخه دسکتاپ Claude را مجدداً راه‌اندازی می‌کنیم تا سرور جدید شناسایی و بارگذاری شود.

{
  "mcpServers": {
    "kali-tools": {
      "command": "mcp-server",
      "args": []
    }
  }
}

بازگشت به پنل Developer ، موفقیت‌آمیز بودن عملیات را تأیید می‌کند؛ اکنون سرور kali-tools یک نشانگر آبی‌رنگ برای وضعیت در حال اجرا را نمایش می‌دهد که به همراه یک دکمه View Logs جهت عیب‌یابی در دسترس است.

راستی‌آزمایی یکپارچه‌سازی

درخواست از Claude برای اتصال به Kali MCP، تأیید می‌کند که سرور متصل و در وضعیت سلامت قرار دارد و قابلیت‌های موجود را برمی‌شمارد؛ این قابلیت‌ها عبارتند از: اسکن شبکه، ارزیابی آسیب‌پذیری‌های وب، شمارش دایرکتوری‌ها، حملات گذرواژه، تزریقSQL، اکسپلویت کردن، شمارش پروتکل SMB و تحلیل وردپرس. قابلیت دستور execute به Claude اجازه می‌دهد تا در صورتی که یک ابزار اختصاصی برای کاری در دسترس نباشد، دستورات دلخواه کالی را اجرا کند.

connect with kali tool mcp

فاز ۲: شناسایی و جمع‌آوری اطلاعات

اسکن شبکه با ابزار Nmap

ما ارزیابی  را روی میزبان Metasploitable آغاز می‌کنیم. از Claude می‌خواهیم یک اسکن nmap_scan را علیه آدرس ۱۹۲٫۱۶۸٫۱٫۱۴ در حالت سریع همراه با تشخیص نسخه سرویس  و مجموعه پیش‌فرض اسکریپت‌های NSE – Nmap Scripting Engine اجرا کند.

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

execute_command nmap_scan against 192.168.1.14 in fast mode, performing service version detection and executing default NSE scripts

این اسکن، یک میزبان ناامنِ کلاسیک را افشا می‌کند: سرویس FTP ناشناس روی نسخه ۲٫۳٫۴ از vsftpd که دارای بک‌دور است، پروتکل Telnet با انتقال متن ساده، استفاده از نسخه ضعیف SSLv2 روی پروتکل SMTP، و یک سرویس Samba 3.0.20 که در برابر «اجرای کد از راه دور-RCE» آسیب‌پذیر است.

Claude نکات برجسته خروجی‌های موتور اسکریپت‌نویسی Nmap یا همان NSE را خلاصه می‌کند و دو بک‌دور FTP را به‌عنوان اهداف با ارزش بالا اولویت‌بندی کرده و هر کدام را به شناسه آسیب‌پذیری مربوطه نگاشت می‌کند.

شمارش و کشف دایرکتوری‌های وب با ابزار Gobuster

با انتقال تمرکز به لایه وب، از Claude می‌خواهیم یک اسکن gobuster_scan را علیه برنامه DVWA  اجرا کند.

Claude نتایج را تفکیک می‌کند و منابعی که به‌طور مستقیم با پاسخ ۲۰۰ OK در دسترس هستند را از پاسخ‌های ۳۰۱ Redirect جدا می‌کند؛ پاسخ‌های ۳۰۱ معمولاً وجود دایرکتوری‌هایی را نشان می‌دهند که امکان مرور دارند.

execute_command gobuster_scan http://192.168.1.14/dvwa/

برای راستی‌آزمایی متقابل، یک دور دیگر اسکن را با ابزار dirb_scan انجام می‌دهیم که بر اساس پاسخ‌های HTTP 200 OK فیلتر شده است. خروجی این مرحله، هفت نقطه پایانی فعال را ایزوله (مشخص) می‌کند و امیدوارکننده‌ترین آن‌ها را علامت‌گذاری می‌کند: صفحه راه‌اندازی بدون احراز هویت، نشت فایل php.ini  و صفحه ورود به برنامه.

شمارش و کشف دایرکتوری‌های وب با ابزار DIRB

execute dirb_scan against http://192.168.1.14/dvwa/ and display only the directories or files that return an HTTP 200 OK response

شمارش پروتکل SMB با ابزار enum4linux

ما سرویس Samba را با یک اسکن enum4linux_scan هدف قرار می‌دهیم. پس از یک Timeout اولیه، Claude با استفاده از فلگ‌های بهینه‌سازی‌شده، عملیات را دوباره امتحان می‌کند و نام میزبان، نسخه آسیب‌پذیر Samba، گروه کاری و یک Null Session مجاز که دسترسی SMB بدون نیاز به اطلاعات کاربری را فراهم می‌کند، آشکار می‌سازد. اشتراک tmp به طور کامل به صورت ناشناس قابل دسترسی است.

execute_command enum4linux_scan 192.168.1.14

با بهره‌گیری از Null Session ، اسکن از طریق SMB موفق به شمارش ۳۵ حساب کاربری می‌شود و هویت‌های باارزش مانند root، msfadmin و چند حساب کاربری مربوط به سرویس‌ها را آشکار می‌کند. سپس Claude یافته‌های کلیدی را خلاصه کرده و پیش از ادامه، گام بعدی را پیشنهاد می‌دهد.

حمله به اطلاعات اعتباری SSH با ابزار Hydra

ما به سمت یک حمله آنلاین به گذرواژه تغییر مسیر می‌دهیم و به Claude دستور می‌دهیم یک حمله hydra را علیه سرویس SSH روی آدرس ۱۹۲٫۱۶۸٫۱٫۱۵ آغاز کند؛ این حمله از نام‌های کاربری و گذرواژه‌های موجود در فایل‌های واژه‌نامه محلی استفاده می‌کند. Claude بر اساس همین یک دستور به زبان طبیعی، دستور Hydra را آماده و اجرا می‌کند.

execute_command hydra_attack to test SSH logins on 192.168.1.15 using the usernames from users.txt and passwords from password.txt, which are stored on the Kali system.

Hydra موفق عمل می‌کند و پس از بررسی ۴۲ ترکیب در حدود ۳۴ ثانیه، جفت اطلاعات اعتباری شامل pentest / 123 را بازیابی می‌کند؛ سپس دستور دقیق SSH برای ورود به سیستم را ارائه می‌دهد.

فاز ۳: بهره‌برداری

تزریق SQL با sqlmap

ما به Claude وظیفه می‌دهیم یک sqlmap_scan را علیه یکی از نقاط پایانی در SQLi-Labs روی آدرس ۱۹۲٫۱۶۸٫۱٫۱۵ اجرا کند. پس از بررسی مجدد پاسخگو بودن پایگاه داده، Claude یک پارامتر id قابل تزریق را تأیید کرده و چهار تکنیکِ کارآمد برای حمله به بستر MySQL را گزارش می‌دهد: تزریق کورکورانه منطق (Boolean-based)، مبتنی بر خطا (Error-based)، کور مبتنی بر زمان (Time-based blind) و تزریق مبتنی بر پرس‌وجوی اتحادی (UNION query).

execute_command sqlmap_scan on http://192.168.1.15/Less-1/

Claude پنج پایگاه داده را شمارش کرده و security را به‌عنوان Schema اصلی برنامه و هدف اولیه نشان‌گذاری می‌کند.

در ادامه فرایند تخلیه داده‌ها، Claude پایگاه داده security را استخراج کرده، چهار جدول آن را لیست می‌کند و ۱۳ جفت نام کاربری و گذرواژه را به‌صورت متن ساده از جدول users بازیابی می‌نماید.

dump tables from the security database or extract user credentials

اسکن پورت با Metasploit

با بازگشت به میزبان Metasploitable، از Claude می‌خواهیم که یک اسکن پورت TCP با استفاده از متاسپلویت اجرا کند. از آنجا که این اقدام فراخوانِ یک ابزار قدرتمند است، Claude Desktop یک اعلان تأیید نمایش می‌دهد که ماژول و گزینه‌های دقیق را نشان می‌دهد — auxiliary/scanner/portscan/tcp علیه RHOSTS 192.168.1.14 بر روی پورت‌های ۱ تا ۱۰۲۴ — تا بدین ترتیب، کنترل هر عملیات تهاجمی را در دست انسان نگه دارد.

execute_command metasploit_scan port scan on 192.168.1.14

پس از تأیید، Claude ماژول را اجرا کرده و پورت‌های باز را لیست می‌کند — که شامل FTP، SSH، Telnet، SMTP، DNS، HTTP، RPCbind، NetBIOS و SMB می‌شوند — و بدین ترتیب، وجود یک سطح حمله گسترده را تأیید می‌کند.

دستیابی به دسترسی Root از طریق آسیب‌پذیری Samba

ما ضعف موجود در Samba را به سلاح تبدیل می‌کنیم و به Claude دستور می‌دهیم اکسپلویت usermap_script مربوط به آسیب‌پذیری CVE-2007-2447 را علیه پورت ۴۴۵ اجرا کند، در حالی که Listener روی آدرس ۱۹۲٫۱۶۸٫۱٫۱۷ تنظیم شده است. سپس Claude موفقیت در دستیابی به یک شل با دسترسی ریشه را تأیید کرده و مقدار uid=0(root) را روی میزبان Metasploitable گزارش می‌دهد.

use Samba usermap_script (CVE-2007-2447) on port 445 lhost=192.168.1.17

از آنجا که هر اجرای جدید Metasploit یک نمونه تازه را آغاز می‌کند، ما فهرست نشست‌های فعال را درخواست می‌کنیم؛ در نتیجه، Claude اکسپلویت را دوباره اجرا می‌کند تا یک نشست پایدار از نوع cmd/unix را برای مرحله پسابهره‌برداری مجدداً برقرار کند.

sessions

فاز ۴: Post-Exploitation و شکستن گذرواژه‌ها

استخراج اطلاعات اعتباری از فایل shadow

با به‌دست آوردن دسترسی Root، به Claude دستور می‌دهیم تا فایل shadow را تخلیه کند. او تمام حساب‌های هش‌شده را برمی‌گرداند و خاطرنشان می‌کند که تمامی هش‌ها از فرمت قدیمی MD5-crypt (با پیشوند ۱۱۱) استفاده می‌کنند که شکستن آن‌ها در مقایسه با سایر روش‌ها سریع‌تر است.

شکستن هش‌ها با ابزار John the Ripper

ما هش‌ها را به همراه فایل واژه‌نامه rockyou.txt به John the Ripper می‌سپاریم. Claude به صورت تکرارشونده عمل می‌کند: ابتدا هش‌ها را ذخیره می‌کند، سپس متوجه می‌شود که اجرای کامل rockyou در برابر فرمت MD5-crypt بسیار کند است؛ بنابراین، برای دستیابی به سریع‌ترین نتایج اولیه، به سراغ یک واژه‌نامه هدفمند و سریع می‌رود و در نهایت، کار را با استفاده از یک رویکرد ایمن در برابر محدودیت زمانی از سر می‌گیرد.

execute_command john_crack on hashes using rockyou.txt file

Claude نتایج نهایی و تجمیع‌شده را ارائه می‌کند و موفق می‌شود ۶ گذرواژه از ۷ مورد را بازیابی کند — شامل حساب‌های msfadmin، user، postgres و service — که معادل نرخ موفقیت ۸۶٪ است. تنها گذرواژه مربوط به کاربر root بدون شکست باقی می‌ماند و کرک نمی‌شود.

فاز ۵: تسلط بر هدف وردپرس

ارزیابی وردپرس با ابزار WPScan

ما به سمت میزبان WordPress در آدرس ۱۹۲٫۱۶۸٫۱٫۱۶ تغییر مسیر می‌دهیم و دستور اجرای wp_scan را صادر می‌کنیم. پس از به‌روزرسانی پایگاه داده‌ی ابزار، Claude مشخصات سایت را به عنوان یک نسخه قدیمی از WordPress 5.2.24 بر روی وب‌سرور Apache شناسایی کرده و دو کاربر معتبر شامل admin و aarti را شمارش می‌کند.

execute_command wp_scan http://192.168.1.16/wordpress/

Claude هفت افزونه را فهرست می‌کند، موارد آسیب‌پذیر را مشخص می‌نماید، و پیکربندی‌های اشتباه نظیر فعال بودن XML-RPC و قرارگیری فایل readme.html در معرض دید عمومی را لیست می‌کند. در نهایت، اهداف باارزش را اولویت‌بندی کرده که شامل افزونه mail-masta (با آسیب‌پذیری‌های LFI و SQLi) و افزونه site-editor (با آسیب‌پذیری LFI) می‌باشد.

بهره‌برداری از افزونه Reflex Gallery

ما به Claude دستور می‌دهیم تا از افزونه reflex-gallery بهره‌برداری کند؛ این افزونه دارای یک آسیب‌پذیری آپلود فایل دلخواه بدون نیاز به احراز هویت با شناسه CVE-2015-4133 است که منجر به اجرای کد از راه دور می‌شود. Claude ماژول Metasploit مربوطه را اجرا کرده، یک پی‌لود PHP را آپلود و اجرا می‌کند و یک نشست از نوع Meterpreter با سطح دسترسی www-data باز می‌نماید؛ سپس در پایان، پی‌لود را پاک‌سازی می‌کند.

exploit reflex-gallery

بهره‌برداری از افزونه Mail‑Masta

ما افزونه mail-masta را هدف قرار می‌دهیم که در برابر Local File Inclusion (LFI) با شناسه CVE-2016-10956 و همچنین SQL Injection (SQLi) آسیب‌پذیر است. از آنجا که ماژول آماده‌ای برای این آسیب‌پذیری وجود ندارد، Claude بهره‌برداری از LFI را به‌صورت دستی انجام می‌دهد، فایل passwd را می‌خواند تا کاربرانی را که قابلیت دریافت شل دارند شمارش کند — یعنی root و raj — و سپس با استفاده از PHP filter wrapper فایل wp-config.php را به صورت Base64 بازیابی می‌کند.

exploit mail-masta

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

Claude یافته‌های حاصل از افزونه Mail-Masta را به کنترل کامل مدیریتی تبدیل می‌کند و مسیر پنج مرحله‌ای را بدین صورت خلاصه می‌نماید: استفاده از LFI برای خواندن فایل passwd؛ استفاده از PHP filter wrapper برای نشت فایل wp-config.php و اطلاعات اعتباری پایگاه داده‌ی آن؛ استفاده از نشست Meterpreter برای استخراج هش‌های phpass؛ بازنشانی گذرواژه در سطح پایگاه داده برای حساب کاربری admin؛ و در نهایت، ورود موفقیت‌آمیز. این ابزار، میزبان را به‌عنوان ماشین مجازی CTF شرکت Ignite Technologies شناسایی کرده و اطلاعات اعتباری admin / hacked123 را تأیید می‌کند.

ورود به پیشخوان

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

http://192.168.1.16/wordpress/wp-login.php

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

اسکن وب‌سرور با ابزار Nikto

با بازگشت دوباره به میزبان Metasploitable، یک اسکن با ابزار Nikto اجرا می‌کنیم. Claude یک پشته بسیار قدیمی از Apache و PHP را شناسایی کرده و موارد در معرض خطر با ریسک بالا را برجسته می‌کند — از جمله فایل قابل دسترس phpinfo.php و یک پنل باز phpMyAdmin — و در کنار آن، یافته‌هایی با سطح ریسک متوسط و پایین نیز گزارش می‌دهد.

execute_command nikto_scan 192.168.1.14

فاز ۶: ابزارهای عملیاتی

بررسی سلامت یکپارچه‌سازی

ما یک بررسی سلامت را روی یکپارچه‌سازی MCP اجرا می‌کنیم. Claude وضعیت سرور را در حالت «در حال اجرا» و «سالم» گزارش می‌دهد و جدولی از وضعیت هر ابزار ارائه می‌کند: رابط‌های برنامه‌نویسی مربوط به nmap ،nikto ،dirb و gobuster از دسترس خارج هستند اما همچنان از طریق دستور execute_command قابل استفاده‌اند؛ در حالی که ابزارهای hydra ،sqlmap ،metasploit ،john و enum4linux به‌طور کامل و بدون مشکل کار می‌کنند.

health check

بررسی مرجع دستورات توکار

درخواست کمک از Claude، یک مرجع سریع برای تمامی دستورات موجود در نشست فعلی ارائه می‌دهد. بخش اول، اسکن و شمارش را پوشش می‌دهد — شامل nmap_scan ،nikto_scan ،dirb_scan ،gobuster_scan ،enum4linux_scan و wp_scan — که هرکدام با یک مثال عینی همراه هستند.

help

این مرجع در ادامه با دستورات بهره‌برداری شامل sqlmap_scan، hydra_attack، metasploit_scan، use و exploit) و دستورات Post-exploitationشامل john_crack، sessions و dump shadow) ادامه می‌یابد.

در نهایت، این مرجع دستورات کاربردی و فهرستی از تمامی اهداف کشف‌شده را ارائه می‌دهد: میزبان Metasploitable در آدرس ۱۹۲٫۱۶۸٫۱٫۱۴، میزبان SQLI-Labs در آدرس ۱۹۲٫۱۶۸٫۱٫۱۵ و ماشین مجازی Ignite WordPress در آدرس ۱۹۲٫۱۶۸٫۱٫۱۶؛ این امر باعث می‌شود مدیریت عملیات در محیط چندمیزبان به‌صورت سازمان‌یافته باقی بماند.

فاز ۷: Pivoting به کنترل‌کننده دامنه ویندوز

احراز هویت SMB با استفاده از NetExec

ما عملیات را به یک کنترل‌کننده دامنه ویندوز سرور ۲۰۱۹ در آدرس ۱۹۲٫۱۶۸٫۱٫۱۸ گسترش می‌دهیم و به Claude دستور می‌دهیم تا از NetExec (یا همان nxc) برای تست احراز هویت SMB با استفاده از لیست کلمات محلی استفاده کند. Claude تأیید می‌کند که این میزبان، کنترل‌کننده دامنه ignite.local در آزمایشگاه است و عملیات حمله گسترده (Spray) را آغاز می‌کند.

execute_command nxc to test smb authentication on 192.168.1.18 with the usernames listed in users.txt and the passwords listed in password.txt, both stored on the Kali system

Claude یک نتیجه‌ی دقیق ارائه می‌دهد. مشخصات تأیید می‌کند که یک کنترل‌کننده دامنه به نام DC در دامنه ignite.local وجود دارد که با ویندوز سرور ۲۰۱۹ اجرا می‌شود؛ در این سیستم، قابلیت امضای SMB فعال، SMBv1 غیرفعال و احراز هویت بدون نام مجاز است. از میان ۵۶ ترکیب تست شده، دقیقاً یک مورد با موفقیت انجام می‌شود: یوزر administrator با پسورد Ignite@987 که با عبارت Pwn3d! مشخص شده است؛ این موفقیت، دسترسی کامل ادمین را از طریق هر دو پروتکل SMB (پورت ۴۴۵) و WinRM (پورت ۵۹۸۵) فراهم می‌کند.

راهبردهای کاهش ریسک

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

وصله‌گذاری و بازنشستگی نرم‌افزارهای پایان‌یافته

  • سرویس‌های بدون پشتیبانی را ارتقا داده یا از رده خارج کنید. آسیب‌پذیری اجرای کد از راه دور در Samba 3.0.20 (موسوم به CVE-2007-2447)، درهای پشتی در vsftpd 2.3.4 و ProFTPD ، نسخه Apache 2.2.8 و PHP 5.2.4 همگی مدت‌هاست که از چرخه عمر پشتیبانی خارج شده‌اند و هرگز نباید روی یک میزبان در دسترس اجرا شوند.
  • هسته اصلی، قالب‌ها و افزونه‌های وردپرس را همیشه به‌روز نگه دارید. نفوذ صورت گرفته بر پایه یک نسخه قدیمی وردپرس (۵٫۲٫۲۴) و افزونه‌های آسیب‌پذیر (Reflex Gallery ،Mail-Masta و Site Editor) استوار بود؛ به‌روزرسانی به‌موقع، این مسیرهای اکسپلویت را از بین می‌برد.
  • یک روال منظم برای مدیریت آسیب‌پذیری با اسکن‌های دوره‌ای و یک توافق‌نامه سطح خدمات مشخص برای وصله‌گذاری ایجاد کنید تا آسیب‌پذیری‌های شناخته‌شده به‌سرعت رفع شوند.

حذف دسترسی‌های ناشناس و پیش‌فرض

  • دسترسی‌های FTP ناشناس و نشست‌های بدون نام در SMB را غیرفعال کنید. نشست بدون نام در میزبان Samba باعث لو رفتن ۳۵ حساب کاربری و یک پوشه اشتراکی با دسترسی خواندن بدون نام شد که به حملات بعدی دامنید.
  • رابط‌های مدیریتی در معرض خطر مانند phpMyAdmin را حذف یا محدود کنید و آثار تشخیصی مانند phpinfo.php و readme.html را که اطلاعات مربوط به نسخه و پیکربندی را لو می‌دهند، پاک کنید.
  • در صورتی که کاربرد ضروری ندارند، قابلیت نمایه‌سازی دایرکتوری، دستور HTTP TRACE و XML-RPC را غیرفعال کنید.

اجبار به استفاده از احراز هویت قوی

  • استفاده از رمزهای عبور طولانی، منحصربه‌فرد و پیچیده را اجباری کرده و استفاده مجدد از اعتبارنامه‌ها را ممنوع کنید. جفت‌های ضعیف یا پیش‌فرض (مانند pentest:123 ،admin:admin یا admin:hacked123) به‌سرعت در برابر ابزارهای Hydra و حملات جستجوی فراگیر شکست خوردند.
  • قابلیت‌های قفل شدن حساب کاربری، محدودسازی نرخ درخواست و احراز هویت چندعاملی را روی ورودهای SSH، SMB، WinRM و وردپرس پیاده‌سازی کنید تا حملات جستجوی گسترده و حملات Brute force (مانند حمله NetExec به کنترل‌کننده دامنه) خنثی شوند.
  • به جای استفاده از الگوریتم MD5-crypt که توسط John the Ripper به‌سرعت شکسته شد، از طرح‌های مدرن و کندِ هش کردن رمز عبور (مانند bcrypt ،Argon2 یا yescrypt) استفاده کنید.

امن‌سازی اپلیکیشن‌های وب

  • برای حذف تزریق SQL، از پرس‌وجوهای پارامتری شده و دستورات آماده استفاده کنید و تمام ورودی‌های کاربر را اعتبارسنجی و پاک‌سازی کنید. استفاده از یک دیوار آتش اپلیکیشن وب نیز لایه‌ای از دفاع در عمق اضافه می‌کند.
  • آپلود فایل‌ها را از نظر نوع، اندازه و محل ذخیره‌سازی محدود کنید و از اجرای فایل در دایرکتوری‌های آپلود جلوگیری کنید تا مسیرهای تبدیل «آپلود فایل دلخواه به اجرای کد از راه دور» بسته شوند.
  • قابلیت allow_url_include را غیرفعال کنید و مدیریت مسیر فایل‌ها را محدود نمایید تا از تزریق فایل محلی جلوگیری شود؛ همچنین حساب‌های پایگاه داده اپلیکیشن را با کمترین سطح دسترسی اجرا کنید تا در صورت لو رفتن اعتبارنامه، دسترسی حداقلی حاصل شود.

مقاوم‌سازی شبکه و پایش مداوم

  • شبکه را بخش‌بندی کرده و قوانین فایروال را بر اساس اصل کمترین سطح دسترسی اعمال کنید تا یک نفوذ واحد نتواند به‌راحتی به سایر میزبان‌ها دسترسی پیدا کند؛ همچنین اتصالات خروجی را محدود کنید تا از ایجاد شل‌های معکوس به سمت مهاجم جلوگیری شود.
  • کنترل‌های حفاظتی مانند امضای SMB را فعال نگه دارید (همان‌طور که کنترل‌کننده دامنه به‌درستی انجام داد) و احراز هویت بدون نام را غیرفعال کنید.
  • سیستم‌های ثبت وقایع متمرکز، سیستم‌های تشخیص نفوذ و سیستم‌های تشخیص و پاسخ در نقاط پایانی را مستقر کنید تا فعالیت‌های مربوط به اسکن، Brute force و بهره‌برداری که در طول این عملیات مشاهده شد، پیش از آنکه منجر به نفوذ کامل شوند، شناسایی گردند.

نتیجه‌گیری

این راهنما، یک دستیار هوش مصنوعی مکالمه‌محور را از یک نصب تازه به یک شریک توانمند در تست نفوذ تبدیل کرد که توانست در کل شبکه آزمایشگاه، به اسکن، شمارش، بهره‌برداری و انتقال بپردازد. تنها از طریق دستورات به زبان طبیعی، این هوش مصنوعی تزریق SQL را تأیید کرد، از طریق Samba یک شل روت به دست آورد، هش‌های رمز عبور را استخراج و شکست، کنترل کامل یک سایت وردپرس را به دست گرفت و در نهایت، اعتبارنامه‌های ادمین دامنه را روی یک کنترل‌کننده دامنه ویندوز سرور ۲۰۱۹ بازیابی کرد.

ترکیب Claude Desktop و MCP Kali Server در زنجیره‌سازی ابزارها، تطبیق‌پذیری در زمان توقف یک تکنیک، و تبدیل خروجی‌های خام به یافته‌های شفاف و کاربردی فوق‌العاده عمل می‌کند؛ در حالی که اعلان‌های تأیید داخلی، تمام اقدامات حساس را تحت نظارت و مجوز انسان نگه می‌دارند. به همان اندازه، جزئیات عملیاتی که باعث سازمان‌یافته ماندن عملیات شد نیز ارزشمند بودند: بررسی سلامت سیستم، مرجع دستورات و فهرست به‌روز از اهداف کشف‌شده. این موارد در کنار هم نشان می‌دهند که چگونه یک گردش کار مبتنی بر هوش مصنوعی می‌تواند مکانیسم‌های تکراری یک ارزیابی را بدون از دست دادن کنترل، بر عهده بگیرد.

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

این رویکرد اگر مسئولانه و صرفاً در محدوده مجاز استفاده شود، به متخصصان امنیت اجازه می‌دهد زمان کمتری را صرف درگیری با ابزارها کنند و زمان بیشتری را به تحلیل و قضاوت اختصاص دهند که ویژگی اصلی یک کار عالی در حوزه‌های تهاجمی و دفاعی است.

آکادمی لیان

نوشته های مشابه

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

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

دکمه بازگشت به بالا