Уязвимость Монобанка 3D Secure
И так, сегодня мы поговорим о прекрасном банке как МоноБанк. Все в нем прекрасно кроме 1 уязвимости, которая мною была обнаружено.
Один раз, оплачивая заказ или совершая перевод денег, заметил одну особенность: МоноБанк не требует смс, а только приходит подтверждение на смартфон! При этом не пишет за что мы платим, или кому переводим деньги, Это мы должны видеть на странице 3DS — Acs,но и там нет такого!
Это ввело меня в заблуждение, ведь страницу Acs можно спокойно подделать, и написать там все что угодно.
Наш поиск начинается с того, что мы ищем P2P сервис который подходит, поиски долго не затянулись, и подходящими оказались 2 банка имеющие перевод с карты на карту:
- Первый называть не вижу смысла, так как там все относительно нормально, и мы его использовать не будем.
- Со вторым все интересней — у этого банка уровень безопасности на уровне очень хорошего начинающего пользователя.
https://p2p.********.ua/ я думаю, что желающие быстро найдут данный сервис.
Начинаем изучать сервис:
Нам нужно отправить «номер карты» + "дата"+"месяц"+"cvv2″, после чего мы получаем все необходимое для того чтобы перейти на 3DS.
На этом и закончилось так как антифроунд, при том как заметит, что транзакция была инициирована с 1 ИП, а смс с другого отменит транзакцию (ну и еще есть 1000 факторов), но Котикбанк решил защитить клиентов, и не использовать смс для подтверждения 3DS, и даже хвастается этим:
Усиленный 3D Secure — подтверждение платежей. Без необходимости использовать незащищенный канал SMS-сообщений. Подтверждайте транзакции через защищенный канал связи с приложением.
В отличие от всемирной практики присылать подтверждение в виде кода, Монобанк сделали кнопки ‘Оплатить’ и ‘Отменить платеж’. Так сказать ‘молодые, юные и зеленные’...
При этом, многие перешли с Приватбанка, однако новый функционал всегда будет сырым.
Решил я взять свою карту, пробую сделать транзакцию. Для большей убедительности будем делать все через прокси, чтобы ip-адрес был другой, от которого обычно происходит оплата, берем прокси, и пишем класс для оплаты:
На входе он принимает с какой карты и на какую карту нам нужно перекинуть средства, ну ок.
Теперь смотрим: антифроуд работает на отлично, и отклоняет такие платежи, даже если юзер нажал окей...... вроде как все очень безопасно и классно, но есть 1 но:
- Косяк это (на мой взгляд) Это CheckPIN метод, который есть у МоноБанка — он позволяет узнать когда пользователь уже нажал окей, запустить ряд процедур которые позволят как раз осуществить платеж уже без ведома клиента, если он нажмет ‘Оплатить’.
- Вообще эта задумка использовать подтверждение в приложении
На текущем этапе я уже научился чекать, когда юзер нажал на кнопку оплатить, и мы уже можем переходить дальше к запуску процедуры по снятию денег с карты.
Теперь нам осталось только получить токен, который отправляться POST.
PaRes и MD параметры возвращаем их на https://p2p.******.ua/index.php?mode=secure
Итог — деньги с карты списаны!!!
Не странно, что мы смогли без проблем провести платеж на ресурсе без PCI DSS?! И по итогу, такая форма может быть вставлена на любой сайт! Сайт — однодневку, где продают популярную технику или еще что-то, чем могут ввести человека в заблуждение.
Сами уведомления не особо информативны, и проблема в том, что сам банк интуитивно подсказывает, что это оплата в ИМ банк не пишет, о том, что это перевод с карты на карту. Хотя, для сравнения, любой другой банк присылает что это CARD2CARD
И так в чем это опасно для конечного пользователя
- Банк думает, что вы совершаете p2p перевод, и я думаю что доказать, что это был обман очень не просто — причина банальна, для всех вы сделали p2p платеж и согласились с правилами которые и не видели и не читали (Хотя вы можете на самом деле покупать какой-нибудь Iphone xs red за 3200 грн)
- Банк в попытке вашей защиты создал уязвимость.
- Некоторые банки просто не пекутся о своей безопасности, точней о безопасности клиентов (тут идет речь не о Монобанке, а о банке через который проводился p2p платеж)
По итогу, к сожалению, мы видим тенденцию, что не Монобанк, не С*** банк не хочет предотвращать мошенничество с использованием их сервисов, в ведь это их вина. При общении с монобанком мне тактично был дан ответ, что они не видят в этом проблемы своей стороны, а видят исключительно проблему 2 банка, хотя, хочу заметить такую особенность — это можно провернуть с любой p2p и монобанком. На все тесты мне понадобилось всего
Данная статья имеет технический характер, и некоторые моменты с неё может понять и обыватель, но сложно, возможно, что технически немного неграмотно, но хотелось по скорей предупредить, и чтобы оба банка имели мотивацию как можно скорей устранить этот баг.
И под конец хочу напомнить, что к сожалению в СНГ пользователь может только сам обеспечьте свою финансовую безопасность. Будьте бдительны, и не вбивайте свои карты на разные не знакомые ресурсы!
Спасибо за внимание!
56 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів