Внимание! Несмотря на то, что для работы над этой статьей я потратил не один десяток часов, но ты все еще можешь можешь в ней поучаствовать.
Если у тебя чешутся руки — попробуй осилить этот текст.
История больше похожа на комикс, так как содержит более 50 изображений, поэтому аккуратнее, если ты с мобильного. А ещё — тут скорее всего нарушается 152-ФЗ, поэтому я не удивлюсь, если её удалят, так что читай быстрее. Эта история пока не имеет конца, но у нее есть начало…
А начинается она с 2017 года, когда канал "Информация опасносте" выложил следующего содержания пост:
Мне стало любопытно, что это за фейк такой? Что за движок, как работает и насколько продвинуты фишеры (ну мало ли, может опять php скрипт на бесплатном/дешевом
Оказалось, что правда: разбросанные php скрипты, админка, шаблоны фейков.
Изучив данный хост, уязвимости привели меня к получению админки, а потом и к выполнению произвольного кода. Как следствие — я получил доступ к базе данных, логам и конечно же к исходникам. Ах да, я занимаюсь информационной безопасностью (пентесты и все такое).
Как оказалось, это дало толчок к исследованию нескольких десятков таких же ресурсов и породило рассказ, который ты сейчас читаешь.
Что происходит? У жертвы воруют телефон. Если Android, то чаще всего его сразу можно продать, как самостоятельный: вытащил симку, рутанул, и уже на авито. Но есть свои нюансы: типа пароль на вход, заблокирован загрузчик — но это совсем другая история.
А вот с айфонами уже намного сложнее, так как пароль на включение — это наиболее частое условие. А еще владелец может заблокировать устройство, оставив контактный номер. Мол, потерял, просьба вернуть за вознаграждение. Взять и прошить его не выйдет, поэтому либо на запчасти (стоимость айфона тогда теряется в несколько раз), либо страдать.
Однако, с развитием технологий защиты всегда развивается мошенничество, поэтому выход у воров был таков — отправить фишинг на контактный номер жертвы. А что? Удобно. Жертва свои контакты оставляет сама, тебе остается лишь представиться компанией Apple и заставить ввести пользователя данные от icloud.
Несмотря на то, что популярность такого фишинга выросла в 2017 году, один из первых скриншотов подобного сервиса был сделан еще в 2015 году.
Сначала слали на красивые домены вида lcloud.com (не путать с icloud), но когда поняли, что их закрывают, стали поступать проще. На красивых доменах располагают сервисы-редиректоры, которые делают короткую ссылку. Такие закрыть труднее — они же ничего противозаконного не размещали. Просто сервис коротких ссылок с именем мимикрирующим под apple или icloud.
Пройдя по ней, ты увидишь адаптивную форму аутентификации, которая грузится даже быстрее чем icloud.com. А может быть и сразу саму карту, дабы разогреть твой интерес, с дальнейшим запросом аутентификации.
Вот только не говори, что именно ты такой умный, и не повелся бы на подобное. Когда ты теряешь дорогую вещь, а потом есть шанс того, что она нашлась – ты в состоянии шока можешь сотворить глупость. Но тут и как с доменом повезет: может быть глаз зацепится за подозрительное место, а может быть будет неотличим от оригинала, например, как делал этот чувак с помощью Punycode.
«Двухфакторная аутентификация», — скажешь ты. Ну да, только фишеры давно научились показывать и форму ввода двухфакторки (подумаешь, еще один php скрипт).
Что делают после того как получают доступ к icloud? В лучшем случае — отвязывают телефон. В худшем — блокируют все остальные устройства Apple (ибо ты также можешь где-то оставить ноутбук, поэтому эта фича присутствует). Только в этой ситуации вы меняетесь сторонами, на твоем любимом ноуте с огрызком появится надпись мошенника и контакты для разблокировки. А там уже как договоритесь :)
Кстати, у одного из сотрудников Kaspersky Lab именно таким способом “отжали” телефон. Статья-история, как это происходит от лица жертвы. Но если вы все-таки не повелись на фишинг — вас продолжат социалить через звонок. Но об этом позже.
Интернациональный SaaS для воров
Итак, что же это за гадость такая.
На самом деле существует множество систем, один запилил на движке Laravel, другие — это группа AppleKit, MagicApp, Phantom, Phoenix, iPanel Pro и более примитивные поделки. Все они обколются своей марихуаной и форкают друг-друга, соревнуясь у кого лучше логотип. А самое забавное, что наследуя чужой код, они наследуют чужие уязвимости и бэкдоры.
На всякий случай, заботясь о том, что найденные баги могут прочитать в статье и зафиксить, примеров я приводить не буду. Есть подозрения, что создатели как минимум панели Phoenix точно понимают по-русски.
Но как бонус — выложу исходный код. Исходники у авторов и так есть! А баги (и бэкдоры) ты и сам увидишь.
Как-то чуваки смекнули, что воры сами-то не шарят в IT, поэтому поднять фейк, разослать СМС — непосильная задача. А так как все дороги ведут к мастеру по телефонам (кому еще продавать запчасти?), он может и своим клиентам помочь разблокировать мобилку или купив по-дешевке ворованный iPhone поднять его в цене, немного поработав над ним.
Зарабатывают на этом все. Аренда сервиса стоит $150–350 (в месяц), тебе дают инструкцию по установке, ты покупаешь домен, вбиваешь заказы, а остальное система сделает сама. Дальше по $100–150 ты продаешь эту “разблокировку”.
На западе большей популярностью пользуется iPanel, в странах СНГ — Phoenix.
Как это выглядит со стороны админа фишинга:
Админ может крутить настройки, например, отправку письма после успешной отвязки или оповещение в Telegram (куда же без него) и всякое такое по-мелочи.
Добавляя заказ, нужно указать какой телефон и IMEI. Также, он может написать заметку, от кого поступил заказ.
Часто можно увидеть что-то вроде Жэка Вазап или Коля Лысый, что несколько забавляет. Как ты понимаешь, физическое наличие телефона вовсе не нужно, поэтому услуга продвигается в интернете, а работать с этим можно удаленно.
Язык SMS система поставит сама.
Также можно выбрать тип дизайна фишинга, например, из таких вариантов:
Все достаточно адаптивно и хорошо смотрится и на телефонах, и на десктопе. Иногда количество и тип страничек различается, но не значительно.
Вход в админку у всех разный. Но это обманчивое ощущение, так как в большинстве своем это форки Phoenix или iPanel Pro, а интерфейс внутри одинаковый, разве что меняются логотипы и, иногда, цвета.
Бэкдоры
А я говорил, что они оставляют бэкдоры? А, ну да…
iPanel вообще забавный! Зацени.
У iPanel есть автоматическая установка. Так как система предназначена для установки на хостинги с контрольной панелью (типа cpanel), нужно указать логопас для нее. А при установке у тебя будет дефолтный пароль на СУБД: ipanel@789
Если отправить в качестве логина или пароля ссылку и слушать порт, то мы увидим, как к нам стучится
23 Jan [14:35:48] from 149.154.161.4 HTTP: / [] (TelegramBot (like TwitterBot)) euConsent=true; BCPermissionLevel=PERSONAL; BC_GDPR=11111; fhCookieConsent=true; gdpr-source=GB; gdpr_consent=YES; beget=begetok
Это говорит о том, что логин и пароль улетел кому-то в телегам. Зато удобно!
Еще одним доказательством наличия бэкдоров могут послужить логи, которые оставляют за собой след из ошибок:
Давайте посмотрим, что там у нас. Функции ereg_replace и eval? Батенька, да у вас RCE (но это не точно)!
А почему никто не видит? Код обфусцирован с помощью ioncube. А у панели есть проверка лицензии, не заплатил — сори чувак. Получается, хозяин панели раздает всем свой обфусцированный код, они стучат ему на сервер (ph-phoenix.com в случае феникса), а он может туда заламываться в любое время. Ну и наглость )
Но я не растерялся ️️️ и частично раскукожил код (целых 10 баксов потратил).
Исходники были слиты, был сделан дамп базы данных. Но все это забылось на несколько лет.
Прошел год
*звук пения птиц в лесу*
Прошло два года
Второе пришествие началось, когда у моего друга — Киберпанка, произошла такая же история.
Все по классической схеме. Кража, блокировка, фишинг на домен (в этот раз был icloud.at), который редиректит на саму панель с доменом www.icloud.com.fmistatus.info.
Позже тот хост погас и пришла СМС, которая ведет на apple-find.ru
А так как уязвимости в этой панели мне уже были известны, фишинг был успешно взломан в короткие сроки. Администратором его был некий kolya2017zaza@gmail.com с паролем Zaza2015, что, кагбе, намекает, я Коля Заза, и “мой пароль не менялся с 2015 года”.
Но в интернете нет ни единого упоминания этого аккаунта:
Your search - "kolya2017zaza" - did not match any documents.
Взгрустнулось.
Изучаем базу дальше. Вспоминаем про настройки, в дампе БД это таблица options.
Находим там отправку уведомлений с адреса ivan89776593244@yandex.ru
Отлично, значит отправляются данные с сервера Яндекса. Идем туда:
Я испугался, что двухфакторка. Но нет.
Догадываешься, что нужно ввести, чтобы попасть внутрь?
После успешного входа видим, что у нас есть оповещения от нескольких сервисов. Ух ты, а Ванька-то москвич! Интересно, коренной?
Видим одно отправленное письмо.
По общению понятно, что москвич не коренной. Но не суть.
Проверяем Zadarma (это сервис аренды виртуальных номеров) — заблокирован. Проверяем Skype — заблокирован.
Зачем эти сервисы?
Если фишинг не сработал, они звонят под видом сотрудника сервисного центра (а может и не под видом). Говорят, что какой-то подозрительный тип принес мобилку, скоро ее нужно будет отдать, пытаются заговорить зубы (переключите язык на английский) и все к тому, чтобы ты нажал на удаление телефона из функции пропажи.
Идем в Яндекс Деньги.
Видим: IP адрес во всех операциях принадлежит Megafon, покупки сервисов Zadarma, четырех доменов, два пополнения телефонов:
+7 977 6593244
+7 916 1168710
Яндекс деньги пополнялись через аккаунт в Qiwi. Используем телефон “Ивана” и известный пароль. Он подходит и тут. Ведь как известно, стабильность — признак мастерства.
Выясняем, что кошелек Qiwi пополнялся как с помощью номера +7 977 8667146 (еще один одноразовый номер), так и с помощью терминала. На самом деле там номеров больше, мне просто лень искать их в логе (а я его сохранил, если кому-то ну очень интересно, пните меня).
А сейчас я покажу небольшой трюк по OSINT в QIWI. Каждый терминал имеет свой уникальный идентификатор. Если перейти в детали платежа и посмотреть json, то вместе с разными идентификаторами будет параметр account — это именно он!
Но что с ним делать, не бегать же по всей Москве в поисках номера терминала? У Qiwi есть приятная опция для таких случаев — карта терминалов.
Ходим по карте, смотрим на прилетающие идентификаторы и понимаем, что терминал стоит на рынке Царицыно.
А еще, зная номер терминала, дату и код операции, можно проверить платеж с помощью этих данных на страничке проверки чека.
“И что же случилось дальше?” — спросишь ты.
А я отвечу — ничего.
Куча левых телефонов, левые имена, и рынок в Царицыно.
Но чтобы не было скучно, я решил продолжать ломать фейки. А заодно и смотреть, все ли такие же аккуратные, как КоляВова, который пытался увести у друга аккаунт.
Человек человеку — волк
Несколько раз мне попадался email volkbaku@mail.ru на доменах findfindiphone.com и findphonefmi.com
Я, воспользовавшись методом дедукции, предположил, что этот человек вряд ли мексиканец или итальянец.
Пароли у него попадались Pass12340@ и Orxan1313@.
Логин гуглится на GSM форуме, больше интересного вроде нет.
А по почте можно посмотреть соцсеточку mailru
Clean icloud unlocking service, говорит он. А имени нет! Ну, храни свои секретики.
Смотрим его email в других соцсетях, например из утечки БД у vk.
И вот оно что! ID в вконтактике — id105140112, также находим facebook — necefliorxan. Instagram @orhkan13 указан на странице.
В пароле был логин из инстаграма, заметил?
Чувак из Арзейбайджана, живет в Москве. Master in programmer, говорит в facebook.
В общем, успешный успех.
Passwordman
В другом случае попался домен icloud.com-maps-id.com, админский аккаунт find48store@yandex.ru
Поиск по почте не дал ничего интересного.
А вот пароль… Пароль у админа панели vasif548
! Вглядись в пароль — совсем другое дело!
Люди забывают, что фингерпринтом пользователя может быть не только какой-то идентификатор типа логина или электронной почты. Им может быть и пароль!
У тебя может быть множество логинов, но если ты используешь один пароль — тебя можно легко раскусить. А если ты используешь пароль из собственного логина — ну извините. Мог бы хотя бы скопировать логин в качестве пароля два раза, как это делаю я!
Этот чувак зарегался на большем количестве форумов.
Но вот незадача — больше данных я не вижу. Но ты заметил, что этот фишер и волк-из-Баку сидели на одном форуме? Пробуем логопас волка и…
Последняя активность в 2016, наверняка у него есть vk. На всякий случай изучил друзей Волка, но ничего.
Думаю, а не замутить ли социалочку? Напишу, мол, дай свой актуальный контакт. Вдруг вообще один посоветовал форум другому?
Составляем письмо:
Нет, что-то не так. Редактируем письмо следующим образом и засылаем:
Ждем.
Проходит неделя, а ответа все нет. И тут я понял, что допустил досадную ошибку. Я вновь стал изучать профили vasif548 и наткнулся на то, что на сайте 4pda у него был указан vk!
Готовимся лицезреть, открываем ссылку vk.com/id277815372
Но все что попало в интернет — остается в интернете. Страница с таким id была некого Васифа Бахышова, о чем говорит сервис vkfaces (https://vkfaces.com/vk/user/id402895773)
Смотрим на указанную дату рождения, ищем в других соцсетях. Находим одного Васифа в ok.ru (570202078321). В фотографиях видим объявления о разблокировках телефона.
Бум! Савеловский рынок, Павильон 45
Я и бал фишеров
Шло время, количество фейков не уменьшалось, кого-то было трудно найти, кто-то регистрировался на свою почту.
Чуваки с фреймворком Laravel явно не умеют его готовить. Можно было бы рассказать про создание сессии администратора через утекший APP_KEY. Или про выполнение произвольного кода с использованием десериализации. Но это и формат не тот, и пароль от базы подходил к паролю от панели, поэтому не время для лишних выкрутасов.
У некоторых помогал вызов ошибки или получение доступа к логам, так как часто администратор панели указывал свой ник на
Почему я выкладываю только данные администраторов? Потому что от баз жертв нет никакого смысла, им и так досталось, а тут еще их данные попадут в сеть.
Прошло где-то полгода после того, как был упущен злодей, с которым столкнулся мой друг.
Напомню, что “КоляВаня” был на домене
www.icloud.com.fmips.ru
И в этот момент мне попался на глаза следующий домен
www.icloud.com.fmistatus.info
У первого был IP адрес:
93.170.123.118
У нового IP адрес:
93.170.123.102
Используем дедукцию, и понимаем, что это скорее всего один
Email админа странный: soz112233soz@gmail.com
Но больше всего смутил пароль Qaqa2015
.
Похож на предыдущий Zaza2015
?
Вот и я так подумал.
Чекаем почту — подходит!
Отлично. Изучаем почтовик.
Два отправителя писем: ExpressVPN и TXTDAT.
Смотрим VPN:
Забавно, он потерял свой доступ к VPN. С кем не бывает?
Вспоминаем, что Google хранит историю поиска и местоположения.
Перемещения отсутствуют, а вот поиск сохранился:
Хорошо, видим что он посещал:
iunlocker.net
sms-api.online
На тот момент использовал VPN?
Смотрим ниже:
Ах ты маленький шалунишка! Забыл перелогиниться?
Смотрим подробности, google говорит, что он из Москвы. Лексика похожа на предыдущего админа, которого мы упустили полгода назад. Пока все совпадает.
Смотрим в письмо TXTDAT, видим, что указанный логин: Lostoff.
Под этим именем можно найти сервис взлома почт, разблокировку айфонов, возможно из-за того, что это достаточно популярный логин.
Восстанавливаем пароль, проходим в TXTDAT.
Немного о нем: это сервис отправки СМС с подменой отправителя. Я попытался на нем зарегистрироваться, но нужно ждать подтверждение администратора. В интернете о нем особо никто не говорит. Видимо, это закрытый сервис “только для своих”.
Офигеваем, что всего один человек в пике может рассылать более сотни смс в день. Заходим в настройки аккаунта, видим номер.
Эх, очередной номер-однодневка. Или нет…
Добавляю в контакты в telegram:
Lostoff! Не соврал.
Доначу в telegram-бота @get_kontakt_bot и пробиваю номер там.
Зейнал Мамедов! Известный как “программист Зейнал”, “Зейнал баба” и “Зейнал Царицино К163”
Находим по этому номеру объявления:
Смотрим локацию:
Царицыно, что совпадает с первыми зацепками.
Пробив телефона по инстаграму через сервис nuga.app дал аж целых два контакта:
@zeynal.official, с именем Zeynal Mamedov, который уже удален.
и
@lidermobile38, отдел на радиокомплексе Южный (ещё один радиорынок?).
После этой истории, на конференции ZeroNights была создана закрытая инициативная группа (аж 66 человек, на момент публикации) по взлому фейков. Ну как инициативная, видим фейк — пытаемся взломать, базу жертв отправляем владельцам оригинального сайта (для смены паролей и прочей деятельности). Но ты и сам можешь это попробовать.
С чего начать?
Как искать фейки?
К сожалению и домены не живут долго, но всегда появляются новые.
Я использовал несколько подходов.
Первый, и самый банальный, это мониторинг соцсетей.
Вводим в соцсеточках разные вариации поисковых запросов вида “украли iphone смс”, получаем выдачу из пострадавших. Как с грустными историями, что у них помимо телефона вывели деньги из банка, так и с просто недовольствами.
Но нам важны ссылки, поэтому списываем их с скриншотов. Если не стесняетесь, можно написать жертвам и лично попросить ссылку.
Способ два. Если домен попал в поле зрения различных роботов, попытаться найти их.
На помощь приходят несколько сервисов:
google.com
Офигенный сайт, сам постоянно пользуюсь. Достаточно написать intitle:«iCloud cannot find that page», чтобы ловить те фейки, у которых на главной странице 404 ошибка icloud.
Можно уточнить поиск по определенному сайту, например site:cutestat.com
censys.io / shodan.io / publicwww.com
Они позволяют найти хосты, на которых крутились такие же сайты. Используем Title страницы, как и в предыдущем варианте.
urlscan.io
Офигенный сервис. Он позволяет искать, например, похожие ссылки. Это сразу дает множество свежих доменов на движке Phoenix (ну или на других).
iPanel Pro (и ему подобные) редиректят с главной страницы на оригинальный icloud.com, поэтому можно отследить редиректы.
Третий способ — мониторинг в реальном времени.
Есть классный скрипт от x0rz: phishing_catcher, он позволяет наблюдать за выпущенными сертификатами. Но так как нам интересен только icloud, смотрим на домены. Выбираем ключевые слова и доменные зоны.
Я оставил только такие ключевые слова:
# Apple iCloud
'appleid': 70
'icloud': 60
'iforgot': 60
'itunes': 50
'apple': 40
'iphone': 30
'findmy': 30
'findme': 30
'location': 30
'applecare': 30
'fmf': 20
'fmi': 20
Запустив скрипт, ставим на мониторинг, а потом смотрим выдачу. Что это популярный рынок можно судить о том, что в день регистрируют около 10 доменов.
Четвертый, и последний способ на сегодня, это поиск уже не по сертификатам, а по зарегистрированным доменам. В этом нам поможет dnspedia.
Я думаю, ты догадаешься как искать домены более чем за 7 дней.
Подытожим
- Если мошенник доверяет мошеннику, то один пользуется другим. Наличие лазеек в зашифрованных файлах, отправка паролей автору панели, централизация всех фейков (каждый фейк сообщает где он находится) — говорит о многом. Вор у вора дубинку украл.
- Фишеры могут использовать личные email адреса для своих грязных делишек.
- Фишеры могут спалиться на том, что используют свои ники в качестве паролей
- Даже если ты вложил много сил и времени в анонимность — покупая симки, регистрируя одноразовые email’ы, используя VPN, закидывая деньги через цепочку платежных систем и левых телефонов — всегда есть вероятность, что ты ошибешься. А не ошибается тот, кто ничего не делает.
Как говорил какой-то умный чувак, стоит человеку, который защищается, один раз ошибиться — его взломают. Но стоит взломщику ошибиться один раз — его найдут.
Домены, данные администраторов и исходники я выложил на форуме xss.is и буду добавлять, если найду еще времени на эту активность. На этом мои полномочия — всё.
Спасибо kaimi, crlf и другим чувакам за помощь, yarbabin за классное лого.
Эта, и другие статьи в блоге.
Автор: Anton Lopanitsyn