امنیت

پشت‌پرده‌ی اسپم در تلگرام

در ادامه دو نوشته‌ی قبلی و افشای هویت کسانی که امنیت کاربران فارسی زبان رو به خطر می‌اندازند، علیرضا یک اسپم در تلگرام رو برام فروارد کرد با این توضیح: «امروز توی یه گروه پرایویت تلگرام اد و رمو شدم تا پیام تبلیغاتیشون رو به خوردم بدن. با استفاده از این روش امکان ریپورت و بلاک هم نیست. دوست داشتم پیام رو برات ارسال کنم شاید دوست داشتی همون روند شناسایی رو در موردشون پیش بگیری»

پاسخم کوتاه بود و جان‌افزا: چرا که نه 🙂

اسپم در تلگرام

متن اسپم در یافتی رو در تصویر زیر می‌بینید.

اسپم در تلگرام

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

بررسی دامنه‌ها

برای شروع از دامنه download110.ir شروع می‌کنیم. مشخصات ثبت کننده دامنه اینه:

download110

مدیر دامنه «رسول موسی‌زاده» با ایمیل groupbaran@yahoo.com و هندل rm1902-irnic است. با این هندل، دامنه ccnew.ir هم ثبت شده است. بعد خواهیم دید که این هویت به احتمال بسیار زیاد جعلیه.

جالب اینجاست که سرور این سایت هک شده و مدیر سایت اونقدر براش مهم نبوده که درستش کنه.

hacked

 با این ایمیل یک اکانت در فیسبوک وجود داره به اسم Irhotn IR  که مشخصا آدرس یک سایته.

groupbaran - facebook (irhotn.ir)

ثبت کننده این دامنه آقای Arash Ebrahimpour با domain@friend.ir است.

irhotn

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

online2

با جستجوی این ایمیل به یک دامنه دیگه می‌رسیم: telegram-hack.com

online.pohstibani

در صفحه download110 هم عکسی با همین نام استفاده شده که ارتباط دو دامنه رو بیشتر می‌کنه:

telegram-hack

دامنه telegram-hack رو آقای pouya sheidaei  با ایمیل kazemoo123@gmail.com ثبت کردند. بعدا به اسم «کاظمو» اشاره خواهم کرد.

telegram-hack-whois

به NS های این دامنه و NS های دامنه download110 دقت کنید که مشابه بوده و از NS1.google1love.com و NS2.google1love.com استفاده شده. این NS ها رو مجددا خواهیم دید.

با جستجو در مورد آقای پویا شیدایی متوجه می‌شیم که دامنه zipzip.ir با این مشخصات ثبت شده.

zipzip-new

مجددا همون NS ها و این بار ایمیل pouya.java@gmail.com که با این ایمیل یک اکانت فیسبوک به اسم «سونیا زارعی» ساخته شده.

facebook

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

facebook2

سایت‌هایی که لینکشون رو گذاشته iranhotnews.ir است. شباهت با دامنه irhotn.ir که قبلا بهش اشاره شد رو ببینید.

جایی احتمالا به اشتباه تصویری شخصی رو منتشر کرده با توضیح «خانم گلم»:

khan9m

آقای پویا شیدایی که هم از ایمیل kazemoo123@gmail.com استفاده کردند برای ثبت دامنه و هم از ایمیل pouya.java@gmail.com ، یک اپ هم توی کافه‌بازار داره به اسم خواب عمیق. در توضیحات این اپ، یکی از منابع رو irhotn.ir گذاشته که قبلا دیدیم با ایمیل آقای رسول موسی‌زاده اکانت فیسبوکش ساخته شده بود.خواب عمیق

 ایشون در اکانت فیسبوکش (https://www.facebook.com/pouya.sheidaei.9/about) دو تا صفحه رو لایک کرده که یکیش «عکس‌های کمیاب» است. حالا نگاه کنیم به اطلاعات این صفحه:

facebook3

همونطور که می بینید این صحفه، مطالب سایت iranhotnews.ir رو منتشر می‌کنه که قبلا دیدیم اکانت دیگه ایشون به اسم «سونیا زارعی» مطالبش رو منتشر می‌کرد.

در تصویر زیر می‌بینید که دامنه کذایی google1love.com، که برای NS اکثر دامنه‌هایی که اسم بردیم استفاده شده، مال ایشونه.

pouya sheidaei

ایشون همچنین سایت‌های nazgoli.ir  و pelak52.ir رو ثبت کرده.

nazgoli

با چک کردن IP سرور سایت nazgoli.ir می بینیم که همه دامنه‌هایی که صحبت کردیم روی این سرور میزبانی می‌شن.

sameIP

البته یک مهمان جدید داریم. دامنه pelak53.ir که بسیار شبیه به دامنه pelak52.ir است که پویا شیدایی ثبت کرده بود. مشخصات ثبت کننده دامنه رو ببینید.

Pelak53

آقای کاظم صالحی با ایمیل online.poshtiban@gmail.com به جمع افراد پشت‌پرده‌ی این اسپم‌ها اضافه شد. خاطرتون هست که گفتم مجددا به اسم کاظمو برمی‌گردیم. در گویش جنوبی، کاظم رو کاظمو صدا می‌زنن. ایمیلی که پویا شیدایی برای ثبت telegram-hack ازش استفاده کرده kazemoo123@gmail.com است.

با بررسی بیشتر متوجه می‌شیم که کاظم صالحی دامنه footballjavan.ir رو ثبت کرده.

Footballjavan-nic

استفاده از دامنه google1love.com متعلق به پویا صالحی (کاظمو) رو به عنوان NS می‌بینید. ناگفته نمونه که گوگل هم دامنه فوتبال جوان رو با ایمیل kazemoo123 مرتبط می‌دونه 🙂

kazemoo-football

کاظمو هم یک اکانت فیسبوک به اسم «مهندس پریزاده علی‌زاده» داره.

kazemoo-facebook

با جستجوی ایمیل online.poshtiban (به شباهت بسیار زیاد با online.poshtibani که در بالا اشاره کردم دقت کنید) به نتایج جالبی می‌رسیم.

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

online1

در یکی از این سایت‌ها شماره تلفن هم گذاشته شده:

online.poshtiban - tel

با جستجوی این شماره تلفن که شماره آقای کاظم صالحی است، به این سایت می‌رسیم:

09358334377

سایتی که متعلق به آقای پویا شیدایی است.

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

پشت‌پرده‌ی اسپم در تلگرام

آخرین دامنه‌ای که در جاهای مختلف دیده شد و هنوز بررسی نشده  iranhotnews.ir است. این دامنه رو چه کسی ثبت کرده؟

Iranhotnews.ir - rastegar

آقای حجت‌الله رستگار از بوشهر با ایمیل harajiharaji@yahoo.com این دامنه رو ثبت کردند و البته بعدا اطلاعات whois رو تفییر دادند.

با این ایمیل، دامنه‌های دیگه‌ای هم ثبت شده:

haraji-website

پیش از این اسم «عکس‌های کمیاب» رو روی صفحه قیسبوک iranhotnews.ir دیده بودیم، یکی از دو صفحه‌ای که پویا شیدایی لایک کرده بود. سایت kamyabpic.ir هم از اون سایت‌هایی است که اطلاعات whois اش تغییر کرده. الان همچنان دامنه به اسم آقای حجت‌الله رستگار است اما با ایمیل rastegar.poshtiban@gmail.com که مجددا شباهت زیادی با online.poshtiban@gmail.com و online.poshtibani@gmail.com داره.

KaMyAbPic

با جستجوی این ایمیل جدید، به ایمیل‌های قدیمی آقای رستگار می‌رسیم که در گروه‌های یاهو ارسال کرده‌اند.

rastegar - yahoo

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

Hojat Rastegar - facebook

به نظر می‌رسه به نفر اصلی رسیدیم. همه اشاره‌ها به سمت ایشونه. هویتش واقعی به نظر می‌رسه و چندین مورد هم مشاهده شد که اطلاعات دامنه‌های ثبت شده‌اش رو تفییر داده که هویتش محفوظ بمونه.

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

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

پ ن: این پست موقته. در صورتیکه ایشون ذفاع قابل قبولی بفرستند که نشان‌دهده اشتباه من باشه و یا تلاش کنند برای پاک کردن سایت‌های تبلیغی و عدم ارسال اسپم، پست رو حذف می‌کنم

Standard
امنیت

ضعف امنیتی نرم‌افزار پیام‌رسان تلگرام

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

در ادامه بررسی کارشناسان امنیتی زیپریوم رو میارم.

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

تلگرام ادعا می‌کنه اپلیکیشنی با تمرکز روی امنیته و کاربرانش می‌تونن چت‌های رمزگذاری شده شخصی و کاری داشته‌باشند. کارشناسان زیپریوم ثابت کردند که این ادعا غلط بوده و ۵۰ میلیون کاربر تلگرام در خطر هستند.

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

۱. در دنیای واقعی، هکرها کاری به قوانین ندارند.

۲. فرض گرفته بود که هکرها در میانه راه سعی در شکستن رمزگذاری خواهند داشت در حالیکه می‌شه در سایر پروتکل‌ها ضعف‌هایی یافت که سود بیشتری داشته باشه (برای مثال ضعف امنیتی GoToFail برای دور زدن رمزگذاری SSL در iOS)

در مسابقه رمزگذاری جدید، تلگرام اعلام کرده: “… این بار شرکت‌کننده‌ها نه تنها می‌توانند ترافیک را بررسی کنند، بلکه می‌توانند خود را جای سرور تلگرام جا بزنند و از حمله‌های فعال استفاده کنند، که توانایی‌های آنها را افزایش می‌دهد.”

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

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

راحت‌تره که یک ضعف امنیتی در دستگاه پیدا کنیم و با روش‌هایی مثل URL، PDF و یا MiTM و امثال اون، دستگاه رو هک کنیم. بعد دسترسی رو با استفاده از Kernel Exploit بالا ببریم و کنترل دستگاه رو به دست بگیریم.

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

۱. ضعف امنیتی سمت کاربر: سواستفاده از کروم (https://docs.google.com/a/zimperium.com/document/d/1tHElG04AJR5OR2Ex-m_Jsmc8S5fAbRB3s4RmTG_PFnw/edit)

۲. سواستفاده از کرنل (https://www.towelroot.com/)

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

secure-chat-1

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

secure-chat-2

به تلگرام شانس دادم و اشتباهات رایج در اپلیکیشن‌هایی که اولویت امنیتی ندارند رو چک نکردم. یک حمله با استفاده از ضعف امنیتی سمت کاربر و یا یک اپلیکیشن و استفاده از Kernel Exploit رو شبیه‌سازی کردم (از CVE-2014-3153 استفاده کردم). راه‌های تمیزتری برای گرفتن پاسخ بود اما ترجیح دادم یک اثبات ایده (PoC) ارائه بدم. تلگرام امکان چت امن داره با یک قفل بالای تصویر که احساس امنیت می‌ده. از حافظه پروسس نسخه‌برداشتم و دنبال کلمه‌ای گشتم که در چت استفاده کرده بودم.

process

همونطور که می‌بینید کلمه‌های Woof، Text، Shlookido، Cookiedo، Tambal و NotSoEncryptedInMemory به صورت رمز نشده در حافظه دیده می‌شوند. هر حمله کننده‌ای که به دستگاه نفوذ کنه، بدون هیچ مشکلی، به متن پیام‌ها دسترسی خواهد داشت. پس چت امن تلگرام، به صورت متن واضح قابل خوندنه. این مساله باعث شد که به فکر بیافتم آیا راه ساده‌تری برای دسترسی به متن پیام‌ها وجود داره؟ وجود داشت.

برای تکمیل تحقیق، با استفاده از دسترسی روت که با کمک Kernel Exploit به دست آورده بودم، فایل‌های فلودر /data/data/org.telegram.messenger/ رو چک کرده و فایل Cache4.db رو در فولدر اپلیکیشن تلگرام پیدا کردم.

sqlite

فرض کردم که پیشوند enc در نام جدول‌های enc_chats و enc_tasks_v2 خلاصه encrypted (رمز شده) باشه پس فایل رو کش رفتم و بررسی کردم. فایل شامل کلیه چت‌های امن به صورت متن واضح بود.

unencrypt

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

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

با بررسی فایل cache4.db اثری از پیام‌های حذف شده ندیدم. معمولا پیام‌های حذف شده، جذابیت بیشتری برای حمله‌کننده دارند. سپس حافظه رو بررسی کردم و متاسفانه پیام‌ها پس از حذف همچنان در حافظه قابل مشاهده بودند.

خط زمانی:
این مساله در تاریخ ۲۷ دی‌ماه ۱۳۹۳ کشف و روز بعد به تیم امنیتی تلگرام اطلاع‌رسانی شد.
طی ماه بعد و در ۳ تماس بعدی، پاسخی از تیم امنیتی تلگرام دریافت نشد.
در تاریخ ۳ اسفند ۱۳۹۳ این ضعف امنیتی، اعلام عمومی شد.

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

منبع:
http://blog.zimperium.com/telegram-hack/

Standard