در این مقاله ، ما تعدادی از حفره های امنیتی رایج ، سوء استفاده ها و اطلاعات مفیدی را که مهاجمی می تواند در بسیاری از سایت های وردپرس سوء استفاده کند ، پوشش خواهیم داد.
مسائل و مشکلات رایج امنیتی وردپرس
نسخه های قدیمی وردپرس
اجرای نسخه های قدیمی وردپرس حاوی آسیب پذیری های امنیتی یکی از رایج ترین حفره های امنیتی مربوط به وردپرس است. در حالی که نسخه های جدیدتر وردپرس ارتقاء به آخرین نسخه را آسان می کند ، این امر غیر معمول نیست که سایت های قدیمی وردپرس عقب بمانند.
اجرای نسخه قدیمی وردپرس در اینترنت مانند یک بمب ساعتی است. بسیاری از نسخه های قدیمی وردپرس دارای آسیب پذیری های امنیتی هستند. بسیاری از این مسائل امنیتی معمولاً توسط مهاجمان به صورت دسته جمعی مورد سوء استفاده قرار می گیرند.
نسخه های قدیمی قالب ها و افزونه های وردپرس
هسته وردپرس بسیار امن است. میلیون ها کاربر و هکرهای مخرب به طور یکسان کد را آزمایش کرده و به طور کامل بررسی می کنند. این بدان معناست که بیشتر اوقات ، مسائل امنیتی قبل از سوء استفاده توسط مهاجمان مشاهده و برطرف می شود.
هر کسی می تواند یک قالب یا افزونه را درست کرده و آن را در اختیار هر مدیر وردپرس برای بارگیری و استفاده قرار دهد. البته ، این بدان معنا نیست که هر افزونه وردپرس دارای کد ضعیف و پر از آسیب پذیری است. با این حال ، آسیب پذیری های شناخته شده سطح حمله گسترده ای را در اختیار وردپرس قرار می دهد که هنگام انجام آزمایش نفوذ وردپرس باید از آن مطلع باشید.
سریع ترین و بدون شک ، جامع ترین ابزاری که می توانید برای انگشت نگاری افزونه ها و موضوعات آسیب پذیر وردپرس استفاده کنید ، استفاده از WPScan است. WPScan یک اسکنر امنیتی وردپرس جعبه سیاه منبع باز است که اغلب برای اسکن وب سایت های وردپرس از نظر آسیب پذیری های شناخته شده است و برای افزونه ها و قالب استفاده می شود.
هنگام استفاده از WPScan در حین حمله ، مطمئن شوید که ثبت نام کرده اید و تنظیمات آن را انجام داده اید تا از کلید API پایگاه داده آسیب پذیری WPScan استفاده کنید. پایگاه داده آسیب پذیری WPScan پایگاه داده ای است که توسط نویسندگان WPScan با آخرین آسیب پذیری های شناخته شده و نسخه های مربوط آنها نگهداری می شود.
نسخه های قدیمی PHP و وب سرورها
وردپرس یک برنامه وب PHP است و بنابراین ، بهترین شیوه های امنیتی PHP برای وردپرس نیز صدق می کند. در طول آزمایش نفوذ وردپرس ، این یکی از اولین مواردی است که باید به دنبال آن باشید. نصب وردپرس که نسخه های قدیمی PHP یا نرمافزار وب سرور را اجرا می کند ممکن است وب سایت را در معرض انواع حملات مختلف قرار دهد.
بسیار آسان است که بفهمید وب سایت وردپرس از چه وب سرور و نسخه PHP استفاده می کند. در بسیاری از موارد تنها کاری که مهاجم باید انجام دهد این است که به سادگی به سرصفحه های پاسخ HTTP که از وب سایت بازگردانده شده توجه کافی داشته باشد.
بسته به نسخه و تنظیمات وب سایت ، مهاجم ممکن است بتواند از آسیب پذیری های شناخته شده برای کسب اطلاعات بیشتر در مورد یک هدف استفاده کند. چنین اطلاعاتی می تواند به تشدید حمله یا حتی اجرای مستقیم دستورها روی سرور وب کمک کند.
شمارش نام کاربری وردپرس
وردپرس به طور پیش فرض برای جلوگیری از آن اقدام نکرده است ، به طور پیش فرض در برابر حملات شمارش کاربر آسیب پذیر است.
در زیر یک تصویر از WPScan در حال انجام حمله شمارش نام کاربری وردپرس است.
تنظیمات اشتباه سرور وب
فهرست دایرکتوری و سایر تنظیمات های اشتباه سرور وب
گذشته از نرم افزارهای قدیمی ، همیشه باید هرگونه پیکربندی اشتباه سرور وب را ارزیابی کنید. یک وب سرور اشتباه پیکربندی شده ممکن است وب سایت وردپرس را در معرض سوء استفاده قرار دهد. حتی اگر وب سرور آخرین نسخه نرمافزار را اجرا کند ، این اتفاق می افتد. در اینجا برخی از پیکربندی های اشتباه سرور وب معمولی آورده شده است:
فهرست دایرکتوری فعال شد
فهرست دایرکتوری یک پیکربندی اشتباه بسیار رایج است. سرورهای وب آپاچی این را به طور پیش فرض فعال کرده اند ، اما کمکی نمی کند. فهرست دایرکتوری به سادگی فایل ها و فهرست های موجود در یک سرور وب را در یک رابط گرافیکی هنگامی که فایل فهرست وجود ندارد فهرست می کند.
اگرچه این به خودی خود مضر نیست ، اما به مهاجمان امکان مرور محتویات فهرست وب سرور شما را می دهد. این ممکن است به او این امکان را بدهد که تمام فایل های وب سایت شما را مشاهده کند ، که اکثر آنها نباید در دسترس عموم باشد ، مانند پشتیبان گیری ، گذرواژه ها و فایل های پیکربندی.
فایل های پشتیبان
فایل های پشتیبان یکی دیگر از پیکربندی های اشتباه رایج وب سرور است. معمولاً این موارد زمانی رخ می دهد که مدیران سیستم به صورت دستی فایل های سیستم های تولیدی را ویرایش می کنند.
یک مثال رایج از فایل های پشتیبان که اطلاعات حساس را آشکار می کند ، می تواند نسخه های پشتیبان از پرونده های PHP باشد. گاهی اوقات فایل های PHP حاوی داده های مهم پیکربندی هستند-مانند فایل wp-config.php وردپرس.
سناریوی زیر را در نظر بگیرید یک مدیر وردپرس باید تغییراتی در wp-config.php ایجاد کند. به جای پیروی از بهترین روش ها و نگهداری یک کپی از فایل در جایی غیر از سرور وب ، آنها یک کپی از wp-config.php تهیه می کنند و نام پشتیبان را wp-config.php.bak می گذارند. حالا فرض کنید مدیر سایت حذف این فایل را فراموش کرده است ، که بیشتر از آنچه فکر می کنیم این اتفاق می افتد و باید دقت کافی از فایل هایی که کپی می کنید داشته باشید.
مهاجم می تواند فایل را فقط با درخواست http://www.example.com/wp-config.php.bak بخواند. مهاجم می تواند فایل را بخواند زیرا پسوند آن دیگر php نیست. بنابراین موتور PHP آن را نادیده می گیرد و وب سرور از آن به عنوان یک فایل متنی استفاده می کند. اکنون مهاجم اعتبار پایگاه داده وردپرس ، نشانه های مخفی و سایر اطلاعات پیکربندی حساس دیگری را که در آن فایل ذخیره کرده اید میداند.
فایل های موقت
مشابه فایل های پشتیبان ، فایل های موقتی در مکان اشتباه ممکن است داده های حساس را آشکار کنند. یک بار دیگر wp-config.php را به عنوان مثال در نظر بگیرید. اگر سرپرست سیستم مجبور بود این فایل را با استفاده از ویرایشگر متن ویرایش کند و به دلایلی برنامه پاک نشده بود ، احتمال خوبی وجود دارد که ویرایشگر فایل های موقت را ترک کند. به عنوان مثال ویرایشگر خط فرمان محبوب Vim فایل های پشتیبان را با پسوند *.ext together به همراه یک فایل *.ext.swp ذخیره می کند. فایل های swp به عنوان فایل قفل استفاده می شود.
در حالت عموم قرار دادن MySQL
تا کنون ، یکی از سختترین پیکربندی های غلط که ممکن است یک مدیر سیستم انجام دهد این است که سرور پایگاه داده MySQL وردپرس خود را برای اینترنت باز بگذارد. بیشتر از آنچه فکر می کنید اتفاق می افتد. در زیر تصویری از Shodan ، موتور جستجوی دستگاه های متصل به اینترنت ، مشاهده می کنید.
البته فقط به این دلیل که MySQL در اینترنت نمایش داده می شود به این معنی نیست که کسی می تواند به آن متصل شود و به پایگاه داده وردپرس دسترسی پیدا کند.
پس از کنترل پایگاه داده وردپرس ، بازی برای نصب وردپرس به پایان می رسد. تنها کاری که مهاجم باید انجام دهد این است که گذرواژه مدیر را بازنشانی کند. سپس آنها تقریباً کنترل کامل وب سایت وردپرس شما را در دست می گیرند و حتی با نصب هدفمند افزونه های مخرب ، حتی سروری که بر روی آن کار می کند را به دست می گیرند.
اجرای خدمات غیر ضروری
مشکل رایج دیگر پیکربندی اشتباه سرور وب ، پیکربندی پیش فرض است. بسیاری از مدیران پیکربندی پیش فرض را اجرا می کنند و خدمات مورد نیاز خود را غیرفعال نمی کنند. در بیشتر موارد ، نصب های پیش فرض دارای سرویس های غیر ضروری زیادی است که اکثر آنها ، در صورت عدم ایمنسازی ، وب سرور را در معرض حملات قرار می دهند.
ابزارهای آزمایشی برای آزمایش کنندگان نفوذ وردپرس و متخصصان امنیتی
تسترهای نفوذ از ابزارهای مختلفی برای خودکارسازی کار و تکنیک های خود استفاده می کنند. اتوماسیون به کاهش زمان لازم برای انجام یک ارزیابی امنیتی / تست نفوذ کمک می کند.
تست نفوذ وردپرس با کالی لینوکس
ابزارهایی که شخص استفاده می کند بسیار متفاوت است. بستگی به ترجیحات شخصی و مشکل موجود دارد. با این حال ، یک مکان خوب برای شروع این است که انواع ابزارها را در اختیار داشته باشید که از قبل نصب شده اند.
کالی لینوکس ، که قبلاً به عنوان BackTrack شناخته می شد ، یک منبع نفوذ منبع باز برای آزمایش توزیع لینوکس است. کالی لینوکس با مجموعه ای از ابزارهای از پیش نصب شده و از پیش تنظیم شده همراه است. هم برای کاربران مبتدی که به دنبال شروع سریع هستند و هم برای آزمایش کننده های نفوذ با تجربه مفید است. لینوکس کالی به صورت رایگان در دسترس است و می تواند بر روی یک ماشین مجازی اجرا شود.
تست نفوذ وردپرس با برنامه Nmap
این اسکنر رایگان یکی از اساسی ترین و همهکاره ترین اسکنرها در Pantster است. Nmap در درجه اول یک اسکنر پورت است. با این حال ، می توان انواع اسکن های مختلف را از طریق زبان برنامه نویسی NSE انجام داد.
تست نفوذ وردپرس با ابزار WPScan
WPScan یک اسکنر امنیتی منبع باز وردپرس است. این برنامه آسیب پذیری های شناخته شده وردپرس را اسکن می کند هم در هسته وردپرس و هم در افزونه ها و قالب های وردپرس.
WPScan می تواند یک سری آزمایش جعبه سیاه را انجام دهد. یعنی بدون دسترسی به کد منبع است. در نتیجه ، WPScan برای یافتن سریع و دقیق آسیب پذیری های کم حجم وردپرس عالی است.
تست نفوذ با OWASP ZAP
OWASP Zed Attack Proxy (ZAP) یک ابزار تست نفوذ نرمافزار وب رایگان و منبع باز است. پروژه امنیت برنامه وب باز (OWASP) این ابزارها را حفظ می کند. OWASP ZAP به طور خاص برای آزمایش برنامه های وب برای انواع مختلف آسیب پذیری مانند Cross-site Scripting (XSS) و SQL Injection (SQLi) طراحی شده است. ZAP ، در هسته آن یک پروکسی است. بین مرورگر pentester و وب سایت قرار دارد تا درخواست های ارسال شده بین این دو را رهگیری و بازرسی کند.
آزمایش نفوذ برای وردپرس – ارزیابی وضعیت امنیتی وب سایت شما
امنیت وردپرس یکبار رفع نمی شود. این یک فرایند مستمر بر اساس چهار اصل است: سخت کردن> مانیتور> آزمایش> بهبود. با تست نفوذ به اصل آزمون می پردازید. بنابراین شما وضعیت امنیتی وب سایت خود را بررسی می کنید. سپس می توانید اقدامات لازم را برای بهبود تنظیمات بر اساس یافته های خود انجام دهید.
بنابراین آزمایش مکرر نفوذ به وب سایت وردپرس باید بخشی از برنامه امنیتی شما باشد. شما قضاوت می کنید که چقدر باید تست های نفوذ را انجام دهید. اگر تغییرات مکرر در وب سایت خود انجام می دهید ، باید آزمایش های مکرر انجام دهید. با این حال ، اگر وب سایت شما به ندرت به روز شود ، یک آزمایش نفوذ سهماهه این کار را انجام می دهد.