Фишинговые SMS о "невозможности доставки посылки" в последнее время встречаются часто — если есть телефон, наверняка попадались такие сообщения. Для напоминания, выглядят они примерно так:



Такие сообщения проходят через все технические фильтры телекома и попадают прямо в SMS-ящик. Распознать подделку обычно помогают классические признаки: искусственная срочность, страх что-то упустить, странные URL, не похожие ни на один известный сервис доставки. Мошенники, пытаясь выдать себя за Australia Post, просто вставляют слово "auspost" куда-нибудь в ссылку — и на первый взгляд это должно сработать (шутка про то, что люди плохо разбираются в URL, вполне обоснована).
Однако на этот раз посылка действительно ожидалась. Конец 2020-х, постковидная эпоха — посылка почти всегда в пути, потому что так теперь устроены покупки. Поэтому, получив на этой неделе очередное SMS, автор одновременно ждал и настоящую доставку, и попытку фишинга:

Так посылка это или фишинг? Провели небольшой опрос:
Referring to the parent tweet, is this message legit and should I pay the duty and taxes?
87% из более чем 4000 респондентов проголосовали за "подозрительно до крайности". Причины такого единодушия — семь явных признаков фишинга в одном сообщении:

- Фишеры часто допускают опечатки в брендинге, а "FedEx" всегда пишет "E" с большой буквы. Что за "-Exp" в названии? Подозрительно.
- Почему номер отправления такой короткий? И почему он совпадает с суммой запрашиваемого платежа? Подозрительно.
- Сообщение помечено как "срочное"? Срочность — базовый приём социальной инженерии, заставляющий действовать не думая. Подозрительно.
- Почему "D" и "T" написаны с большой буквы? Подозрительно.
- Это глобальная служба доставки со штаб-квартирой в США — почему не указана валюта? Хотя бы значок доллара? Подозрительно.
- Что такое "bpoint.com.au"? Это точно не домен FedEx и не австралийский госресурс, если речь о таможенных сборах. Подозрительно.
- Компания сама предлагает контакты для "query" (не "queries" — ещё один грамматический звоночек) — практика, от которой банки всё активнее отказываются именно потому, что она подозрительна по своей сути.
Итог был предсказуем: голос присоединился к большинству. Но посылка действительно ожидалась — от FedEx, из-за границы, а значит теоретически может облагаться таможенными сборами. И очень хотелось получить именно этот груз: новый 3D-принтер от Prusa.
Есть простое и всегда актуальное правило: если сомневаешься — перейди на официальный сайт компании и проверь запрос самостоятельно, не через ссылку из сообщения. Так и было сделано: найдено подтверждение заказа от Prusa, детали доставки, ссылка на сайт FedEx. Осталось найти раздел про налоги, но...

Подозрительно до предела. На всей странице не нашлось ни единого упоминания таможенных сборов или налогов. Установить достоверность SMS через официальный источник не удалось. Но зато легко удалось установить кое-что другое: перейдя по ссылке из SMS, можно поменять номер отслеживания, имя клиента и сумму платежа абсолютно на что угодно!

Всё делается простым изменением параметров URL — никакого вмешательства в DOM браузера, перехвата трафика или прочих сложных техник, буквально подмена параметров query string в духе reflected XSS. Ощущение полностью совпадает с типичным фишинговым сайтом, а не с платёжным сервисом крупнейшего банка Австралии. BPOINT работает на инфраструктуре Commonwealth Bank, и после такого опыта возникает мысль обратиться к ним напрямую с раскрытием проблемы. Но похоже, что система изначально спроектирована именно так — и это совершенно отдельная тема от подозрительных FedEx SMS. Кстати, на следующее утро от того же отправителя пришло ещё одно сообщение:

Сложно сказать, стало ли лучше или хуже 🤦♂️ Основные моменты, и хорошие, и плохие:
- Номер отправления теперь действительно указан в тексте письма — плюс.
- Слова "duty" и "taxes" написаны с правильным регистром — плюс.
- Слова "PAY NOW" написаны заглавными — а вот это как раз подозрительно.
- И самое интересное: "ссылка" вообще не является ссылкой — в ней нет ни схемы, ни домена, ни пути, только параметры query string! Подозрительно.
Удивительно, что сделали со ссылкой — SMS стало полностью нефункциональным. Кликнуть куда-либо и оплатить сумму невозможно в принципе. И раз уж об этом речь: почему все имена параметров query string теперь пишутся с большой буквы? Такое чувство, что где-то работает совершенно другой (и сломанный) процесс генерации этих ссылок. Или просто мошенники непоследовательны...
Поскольку "подозрительно" оставалось основным лейтмотивом, потребовалось копнуть глубже — поиск по номеру 1800. Один из первых результатов вёл на страницу Reverse Australia для этого номера, и первые три комментария там прекрасно передавали общее настроение:

Чем больше читаешь и на этом сайте, и по другим верхним результатам поиска, тем яснее видно: люди в целом растерянно относятся к легитимности подобных сообщений. Остался один вариант — позвонить в FedEx. Не по номеру из (всё ещё потенциально фишингового) SMS, а по номеру с официального сайта. Через меню "Support", затем "Customer Support" — и вот куда это приводит:

Подробности переписки, которая последовала, можно пропустить — сводилась она к совету проверять домен отправителя писем. Но удалось выудить из системы номер телефона, который оказался совершенно другим, чем указанный в SMS:

Звонок по этому номеру и прохождение голосового меню с выбором нужных пунктов должны были привести к разделу про таможенные сборы. Но на определённом этапе система вдруг перестала реагировать на нажатия клавиш! Ни "1", ни "2" не работали, и без реакции просто повторялось то же сообщение. Правда, предлагалась альтернатива — позвонить на номер 132610. Именно тот номер, с которого звонок и начался, чтобы попасть в этот бесконечный цикл!
Повторная попытка, другая последовательность пунктов меню, запрос номера отслеживания — и в итоге система рассказала ровно то же самое, что уже было на сайте. Но появилась возможность поговорить с оператором, и связь довольно быстро состоялась. Оператор пояснил, что стоимость отправления составляет 799 долларов США, что конвертируется в 1215,97 австралийских долларов и подлежит некоторым сборам за импорт. Вопрос "хорошо, но сколько именно и совпадает ли это с суммами из подозрительных SMS?" остался без немедленного ответа — обещали перезвонить...
А затем, спустя три дня после первого подозрительного SMS, на почту неожиданно пришло письмо:

Сумма в долларах, адрес BPOINT и формулировки совпадали с SMS-сообщениями, но это лишь корреляция: если у мошенника есть и номер телефона, и email, он легко может атаковать оба канала одинаковыми деталями. Но затем в приложении к письму обнаружилось следующее:

ВОТ ОНО, НЕДОСТАЮЩЕЕ ЗВЕНО!
Полный инвойс Prusa был приложен вместе с номером заказа, ценой и деталями доставки. Иными словами, 87% проголосовавших ошиблись 😲
Если говорить серьёзнее: только австралийцы теряют более 3 миллиардов австралийских долларов в год из-за скама, и это лишь капля в море по сравнению с масштабом проблемы в мире. Австралийское управление по связи и СМИ (ACMA) недавно сообщило о блокировке 336 миллионов мошеннических SMS, и подобные технические меры, безусловно, полезны, но в отчёте не хватает данных о том, сколько сообщений заблокировать не удалось. Объяснение простое: точное число отправленных мошеннических сообщений просто неизвестно. Но если предположить, заблокирована лишь верхушка айсберга. Именно поэтому, помимо технических средств защиты, приходится опираться на человеческий фактор — умение людей распознавать паттерны скама: запросы денег, искусственная срочность, странная грамматика и регистр, подозрительные URL. То есть вот такое:

Вся ситуация абсурдна тем, что пока все учатся распознавать мошенников, имитирующих легитимные организации, FedEx сама имитирует мошенников! В эпоху растущего числа AI-скама, которые становится всё труднее распознать человеку, FedEx как будто говорит "держи моё пиво" и переигрывает мошенников в их же игре — с абсолютным сходством результата.
Что ж, как обычно в подобных случаях приходится признавать: работать в этой индустрии сейчас действительно интересно 😊