امنیت

پشت‌پرده‌ی پیامک تبلیغ وی‌پی‌ان

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

تبلیغ وی‌پی‌ان آمدنیوز

لینک اول وی‌پی‌ان آمدنیوز

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

بکتوری

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

نکته‌ای قابل توجه در فایل اول، نام پروژه‌ایه که فرد یا افراد توزیع‌کننده انتخاب کردند در سرویس بکتوری. این فرد از اسم redfox استفاده کرده بود.

لینک دوم وی‌پی‌ان آمدنیوز

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

ویروس توتال

وقتی آدرس کوتاه شده دوم رو چک کنیم، متوجه می‌شیم که که لینک اصلی دانلود، از سایت serviceclient12 است.

توزیع‌کننده‌ها از دامنه رایگان استفاده کردند که معمولا اطلاعات ناقص از مالک دامنه نشون می‌دن. اما نکته مهم اینه که این دامنه روی سروری با IP زیر میزبانی می‌شه.

با چک کردن این IP متوجه شدم که سایت namazhe[.]net هم روی این IP قرار داره. اطلاعات مالک نماژه رو ببینیم:

مالک دامنه نماژه

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

اول اینکه تنها سایت‌هایی که روی این سرور پیدا کردم همین دو تا، یعنی serviceclient12 و namazhe است که احتمال غیرمرتبط بودن و همسایگی اتفاقی رو کم می‌کنه.

اطلاعات NSهای دامنه نماژه نشون می‌ده که از NS‌های serviceclient12 استفاده می‌کنه و کنار هم بودنشون اتفاقی نیست. بنابراین کسی که کنترل دامنه نماژه رو داره، همون کسی است که سایت serviceclient12 (توزیع‌کننده بدافزار) رو کنترل می‌کنه.

NS

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

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

URLs

آدرس elicharge رو می‌بینید که علاوه بر شباهت اسمی با سایر دامنه‌های ثبت شده آقای دهفولی، توسط فردی به نام محمد دهفولی ثبت شده.

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

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

این دامنه از مجموعه دامنه‌های تحت مالکیت آقای دهفولی است. همچنین شباهت زیادی به دامنه hamzadserver داره که به نظر می‌رسه یک دامنه واقعی نیست و فقط تغییر یافته hamzad است.

دامنه hamzad روی IP‌زیر قرار داره و از NS‌های دامنه elipay استفاده می‌کنه. elipay یکی دیگه از دامنه‌های آقای دهفولی است.

دو دامنه دیگه وجود دارند که دقیقا همین مشخصات رو دارند، یعنی روی IP‌ بالا میزبانی می‌شن و از NS‌های elipay استفاده می‌کنند. یکی از این دامنه‌ها متعلق به مجموعه ad-venture است که یک شرکت تبلیغاتی با تمرکز روی تبلیغات تلگرامی است. یکی از پروژه‌های مجموعه ادونچر، کانال تلگرامی نماژ (namazh) است که اسمی مشابه سایت نماژه داره. در بالا دیدیم که فایل آلوده از همون سروری توزیع شده که سایت نماژه روش قرار داره. تحقیقات من نشون می‌ده که آقای امیرپارسا دهفولی از کارمندان این شرکت است. با وجود اینکه از زیرساخت و منابع شرکت، برای ساخت و توزیع بدافزار استفاده شده اما هیچ شاهد قطعی وجود نداره که نشون بده افراد دیگه (و مخصوصا مدیریت این مجموعه) در جریان این مساله بوده و دخالتی داشته‌اند.

همچنین در کانال تلگرام elipay که وابسته به سایت elipay  و متعلق به آقای دهفولی است، می‌بینید که کانال namazh رو به عنوان راه ارتباطی برای درخواست همکاری معرفی کرده.

معرفی

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

ایمیل: apd_1379@yahoo.com و apd13791@gmail.com

اکانت‌های تلگرام: clashstore و telegradminiran و iluez و elipay

شماره تلفن: ۰۹۲۰۳۱۸۷۶۸۰ و ۰۹۳۷۱۵۷۸۴۲۹

Standard
امنیت

بررسی و مقابله با حمله منع سرویس (DDoS)

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

عدم پذیرش سرویس

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

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

برای اینکه بفهمم مشکل از کجاست و بفهمم چطور می‌تونم جلوش رو بگیرم، سراغ لاگ سرویس آپاچی رفتم.

با دستور بالا به صورت زنده ترافیکی که روی سایت بود رو مشاهده کردم. آدرس لاگی که می‌بینید، پیش‌فرض وبمینه و شما باید در شرایط مشابه، از آدرسی استفاده کنید که در وب‌سرورتون تنظیم شده.

ترافیک سرور

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

جلوگیری از حمله عدم پذیرش سرویس

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

در قدم اول و برای مقابله کوتاه مدت در برابر حمله، از دستور زیر ip هایی که بیشترین بازدید رو داشتند، پیدا کردم.

همونطور که می‌بینید ۲۰ ردیف اول از ip هایی که بیشترین بازدید رو داشتند جدا کردم. بازدیدها حدود یک هزار تا ۳ هزارتا متغیره.

لیست IP

با دستوری مشابه دستور زیر و از طریق IPtables، این IP ها رو به فایروال اضافه کردم تا همه اتصال‌ها از سمتشون برگشت بخوره.

با مقابله با این IP ها، فشار روی سرور خیلی کم شد و تونستم قبل از شروع موج جدید با IP های متفاوت، با تغییر تنظیمات آپاچی، کلیه ترافیکی که از Pingback سایت‌های وردپرسی استفاده شده بود رو قطع کنم.

با استفاده از ماژول rewrite در آپاچی، User Agent ترافیک ورودی رو چک کرده و در صورتی که واژه‌های WordPress و Pingback from رو داشت، ممنوعش کردم. (اگر سایتم از SSL/TLS استفاده نمی‌کرد و https نداشت، می‌تونستم از فایروال برای برگشت دادن اتصال‌های مشکوک استفاده کنم.)

نکته اینه که این کار در عملکرد پلاگین Jetpack اختلال ایجاد می‌کنه.

برای تست، خودم سعی کردم یک ترافیک مشابه برای سایتم بفرستم که می‌بینید با خطای ۴۰۳ مواجه شدم.

reject

آمار حمله عدم پذیرش سرویس

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

تعداد کانکشن‌های این حمله عدم پذیرش سرویس تا قبل از مقابله باهاش، به ۲,۲۱۰,۷۲۶ رسیده بود. بیشترین شدت حمله هم به ۲۵۸ کانکشن در ثانیه رسیده بود.

اوج حمله

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

در این حمله بیش از سی و سه هزار IP شرکت داشتند. توزیع تعداد اتصال برای هر IP نشون می‌ده که اکثر شرکت‌کننده‌ها در این حمله، کمتر از ۱۰ اتصال داشتند. یک اوج دومی هم در تعداد اتصال حدود ۵۰ تا دیده می‌شه.

چارت

مورد دیگه‌ای که برام جالب بود چک کنم، نسخه وردپرس سایت‌های حمله‌کننده بود. در مجموع ۴۶۷ نسخه مختلف وردپرس در حمله شرکت داشتند. در تصویر می‌بینید که حمله‌کننده‌ها الزاما سایت‌هایی با وردپرس قدیمی و به‌روزنشده نیست. آخرین نسخه کنونی وردپرس ۴.۹.۱ است که دومین رتبه رو در شرکت‌کننده‌های در حمله داشته.

نسخه وردپرس

توی لیست بلند بالای نسخه‌های وردپرس، سایت‌های زیادی وجود داشتند که از سال ۲۰۱۳ و ۲۰۱۴ به‌روز نشدند و هنوز از نسخه ۳ استفاده می‌کنند.

وردپرس از نسخه ۳.۹ برای مقابله با سو استفاده از pingback اطلاعاتی رو به User Agent اضافه کرده و IP حمله‌کننده‌های اصلی رو هم به مقصد ترافیک (در این حمله، سایت من) اعلام می‌کنه. با دستور زیر، اون بخش از اطلاعات ترافیک که مربوط به IP اصلی بود رو جدا کردم.

هرچند که تعداد IP های شروع کننده حمله ۳۳۷۷ تا بود اما بخش اصلی حمله از سوی مجموعه‌ای IP در روسیه بود.

اصلی IP

واسطه حمله نباشیم

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

یکی از این پلاگین‌ها، iThemes Security است که پشتیانی خوبی داره و با نسخه‌های جدید وردپرس هم هم‌خوانی داره. پس از نصب و فعال‌سازی، از بخش WordPress Tweaks می‌تونید از گزینه‌های مربوط به XML-RPC برای غیرفعال کردن Pingback استفاده کنید.

itheme

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

Standard
امنیت

فیشینگ از طریق سایت‌های ایرانی

حدود سه هفته پیش در بررسی دوره‌ای سایت‌های ایرانی، چندین مورد فیشینگ پیدا کردم. در ادامه در مورد یکی از این فیشینگ‌ها می‌نویسم.

کشف فیشینگ

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

صفحه فیشینگ

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

صفحه فیشینگ جیمیل

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

ایمیل اطلاع‌رسانی

بررسی سایت

نسخه وردپرس سایت به‌روز نبود (و همچنان هم به‌روز نشده متاسفانه) و می‌شه حدس زد با استفاده از نقص‌های شناخته شده امنیتی در نسخه‌های قدیمی وردپرس، به سایت نفوذ شده و مورد سواستفاده برای پخش فیشینگ قرار گرفته.

صفحه اول سایت نشانه‌هایی از تزریق کدهای ناخواسته جاوا اسکریپت داشت که حدس هک شدن سایت رو تایید می‌کنه.

جاوا اسکریپت

این کد چک می‌کنه که اگر بازدید کننده‌ها از طریق جستجو در یک موتور جستجو (مثل گوگل) به سایت وارد شده‌اند، اونها رو به سایت یک کازینو در هنگ‌کنگ منتقل می‌کنه. از این طریق، کاربران معمولی سایت و مدیران، دیرتر متوجه مشکل در سایتشون می‌شن.

ip

این کد جاوا اسکریپت هم از سایت حذف شده.

بررسی کد فیشینگ

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

جلوگیری از کشف فیشینگ

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

ایمیل اطلاعات دزدیده شده

در کدهای بالا می‌بینید که ایمیل هکر connie.morgan009090 است. ردی از این ایمیل پیدا نکردم و به نظر می‌رسه تا الان تونسته خودش رو از چشم سرویس‌های کشف فیشینگ دور نگه‌داره.

پیشگیری و کشف به موقع

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

نصب پلاگین‌های امنیتی در وردپرس (مثلا iThemes Security) می‌تونه کمک زیادی بکنه در افزایش امنیت سایت‌های وردپرسی با چک کردن و تغییر تنظیمات پیش‌فرض.

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

یکی دیگه از روش‌ها استفاده از سرویس‌های آنلاینی مثل mxtoolbox است که روزانه سایت شما و ip مربوطه رو با لیست‌های سرویس‌های کشف فیشینگ و بدافزار، چک می‌کنند و در صورتی که سایتتون توسط یکی از این سرویس‌ها کشف شده باشه، بهتون اطلاع می‌ده.

Standard