
Хакер приходит в общественную столовую и с возмущением обнаруживает, что солонку на столе может открутить кто попало. Помните эту старую хохму?
Когда в новостях вспоминают о кибератаках на розничные сети, то обычно говорят про слитые базы данных, DDoS и шифровальщиков. Но что, если злоумышленник войдет в магазин с ноутбуком в рюкзаке и внимательно посмотрит по сторонам?
На связи Иван Глинкин, руководитель отдела прикладных исследований в Бастионе. Сегодня расскажу вам историю про Хакера в супермаркете, который получил доступ к конфиденциальным данным, прослушал переговоры сотрудников и даже инициировал возврат денег на чужую карту.
Под катом вас ждет собирательный образ российского ритейла и результат нескольких прогулок по магазинам с одной целью: взглянуть на привычные вещи глазами исследователя безопасности, который видит в магазине не только полки и кассы, но и поверхность атаки.
Как водится, все события и персонажи являются вымышленными, а любые совпадения случайны. Вас ждет художественная реконструкция типовых проблем, с которыми можно столкнуться в любом магазине.
Итак, приходит Хакер в магазин и обнаруживает:
Кассы-трансформеры и терминалы самообслуживания — лицо современного ритейла и его ахиллесова пята.
Кнопки вызова сотрудников — радиопередатчики с фиксированным кодом, который можно перехватить и воспроизвести.
Беспроводные трубки стандарта DECT, которые до сих пор используют в торговых залах.
Терминалы сбора данных — Android-устройства без пароля, с доступом к настройкам Wi-Fi.
Сетевые провода, которые приглашают к знакомству с внутренней сетью.
День первый: как за 5 минут стать «своим»
Во многих корпорациях реально верят, что их сеть изолирована от внешнего мира. На практике изоляция часто заканчивается на первом же неподписанном сетевом кабеле.
Вот и наш Хакер в первый день подходит к кассе-трансформеру, отсоединяет сетевой кабель, подключает ноутбук и выполняет команду:
sudo dhclient
Через несколько секунд в руках у Хакера оказывается IP-адрес из внутренней сети магазина. Маска /27 означает, что перед ним открыт целый сегмент корпоративной инфраструктуры.

Сканирование занимает еще пару минут. Внутри — всё, что можно ожидать от типового магазина:
рабочий компьютер директора с открытым RDP-портом;
Wi-Fi-роутер с настройками по умолчанию;
DECT-база для внутренней телефонии;
камеры наблюдения;
другие кассы и терминалы.
А еще учетные данные и пароли, хранящиеся в открытом виде в общих папках и конфигурационных файлах.
Хакер подключается к компьютеру директора. RDP-клиент вежливо предлагает выбрать учетную запись. Хакер попробует operator. Пароль не требуется. Странно: обычно Windows не разрешает вход по RDP для учетных записей с пустыми паролями. Значит, кто-то специально отключил это ограничение, чтобы оставить себе сервисный доступ. По сути — бэкдор.
Через 30 секунд Хакер сидит за удаленным рабочим столом сотрудника, у которого есть доступ к корпоративной почте, внутренней переписке в мессенджерах, финансовым документам, графикам работы и данным о поставках.
А поскольку на всех компьютерах стоял Chrome, Хакер заглядывает в Настройки → Пароли и браузер любезно показывает сохраненные логины и пароли от внутренних сервисов: от CRM до систем складского учета.
Почему так получилось и что делать
Учетные записи без паролей в 2026 году кажутся анахронизмом, но в ритейле они всё еще встречаются, как и плоские несегментированные сети, где камеры, рабочие места и Wi-Fi-роутеры теснятся как соседи по коммуналке. Добавьте к этому физическую доступность инфраструктуры: сетевые кабели, порты и коммутаторы расположены так, что до них в принципе может дотянуться любой сотрудник или даже простой посетитель.
Директор магазина спросил у знакомого безопасника, что делать, а тот постановил:
разделить сеть на сегменты, выделить отдельные VLAN под кассы, служебное оборудование и рабочие станции;
ограничить круг устройств, с которых разрешено подключение по RDP;
включить белые списки MAC-адресов и Port Security, чтобы чужое устройство нельзя было просто воткнуть в сеть;
задать обязательные пароли для всех локальных учетных записей;
запретить браузерам хранить пароли от внутренних систем;
проинструктировать охранника следить за кассами в оба.
День второй: Хакер играет в «испорченный телефон»
Хакер заметил, что в уголке за стеллажами с чипсами есть кнопка вызова сотрудника. Нажал, и по залу разнесся мелодичный звонок, и вскоре в отдел прибежал продавец. Что может быть безобиднее?

С помощью HackRF One Хакер перехватил и записал сигнал, который уходит с кнопки при нажатии. Оказалось, что кнопка передает один и тот же статичный сигнал без защиты от повторной передачи. Если воспроизвести этот сигнал в эфир, звонок послушно сработает без участия кнопки. Классическая replay-атака, которая почему-то всё еще работает в 2026 году.
Теперь кнопка вызова сотрудника переехала на ноутбук Хакера. Одно нажатие — и в зале раздается сигнал. Сотрудники бегут на сигнал, касса остается без присмотра, а в этот момент сообщник Хакера спокойно…

Раздосадованный директор приказал немедленно кнопки поломать и заклеить, но это не помогло.
Хакер взял тот же HackRF One, запустил открытое ПО gr-dect2 и начал слушать эфир. Оказалось, что в магазине до сих пор используют беспроводные DECT-трубки. Для проверки он позвонил с одной магазинной трубки на другую и убедился, что сигнал перехватывается и расшифровывается в реальном времени. После этого оставалось только слушать. Планы по поставкам, графики работы, обсуждение проблем с кассой — всё, что звучало в DECT-трубках сотрудников, теперь одновременно звучало и в наушниках у Хакера.

В отчетах пентестеров часто встречается оговорка: риски такого вектора средние из-за дороговизны оборудования и нехватки знаний у атакующих, но это устаревшая информация. Оригинальный HackRF One стоит около $300, а китайские клоны можно без труда найти на маркетплейсах за 6–7 тысяч рублей. С gr-dect2 ситуация еще проще — это проект с открытой документацией.
Что с этим делать
Рекомендации здесь не столько технические, сколько организационные. Директору стоило бы заменить примитивные кнопки на системы с динамическим кодированием, а устаревшую DECT-телефонию — на VoIP или проводную связь.
День третий: Хакер заходит в корпоративный Wi-Fi без регистрации и СМС
Может, хоть Wi-Fi на высоте? Он действительно выглядел солидно: не простой пароль на роутере, а WPA-Enterprise с аутентификацией по логину и паролю.
Казалось бы, серьезная преграда. Но не для Хакера. Он развернул фишинговую точку доступа с тем же именем. Как только устройство сотрудника (служебный планшет или смартфон работника) попыталось переподключиться к сети, оно увидело две точки с одинаковым SSID и выбрало ту, у которой сильнее сигнал и быстрее отклик.
Точка Хакера ответила быстрее.
Подключившись к «двойнику», устройство попыталось пройти аутентификацию и отправило учетные данные прямиком в логи Хакера.
Директор потихоньку начал седеть.
Что с этим делать
Настроить EAP-TLS с проверкой сертификата на клиентских устройствах.
Мониторить радиоэфир. Простые средства, в том числе открытые, умеют обнаруживать несанкционированные точки с SSID, совпадающими или похожими на корпоративные.
Обучать сотрудников. Если пароль от Wi-Fi просят ввести повторно или подключение подозрительно долгое, работник должен сообщить об этом в ИБ-отдел или службу безопасности.
День четвертый: Хакер разбирает кассу-трансформер и денежный ящик
Помните, как Хакер негодовал, что солонку может открутить любой, хотя в ней только соль? А теперь представьте ту же солонку, только внутри лежит выручка за смену.
Касса-трансформер — программно-аппаратное средство с металлическим ящиком для наличных, сканерами штрихкода (стационарным и ручным) и чековым принтером. На нижней панели устройства красуется ряд незащищенных USB-портов. Хакер подключает к ним обычную клавиатуру и начинает экспериментировать.

Комбинация Ctrl+Alt+F1–F5 переключает на текстовую консоль с приглашением ввести логин и пароль. Доступ к полноценной системе уже близко. Горячие клавиши Alt+F2 для быстрого запуска команд кто-то предусмотрительно отключил. А вот многопользовательская консоль Linux осталась доступна.
Хакер отключает и снова включает питание, заходит в BIOS нажатием Del. Пароля на вход нет. Значит, можно загрузиться с собственной флешки, получить полный контроль над системой, изменить настройки, установить вредоносное ПО.

Самое интересное ждет Хакера под кассой. Металлический ящик для наличных имеет на нижней стороне механическую кнопку аварийного открытия. Если ящик не заперт на ключ (а сотрудники, судя по всему, забывают это делать регулярно), любой покупатель может нагнуться, нажать кнопку и выгрести наличность.
История с кассами была бы неполной без братьев-близнецов — терминалов самообслуживания. По сути, те же кассы-трансформеры, только в другом еще более удобном для Хакера форм-факторе. Порты — USB, сетевые, питания на виду и в легкой досягаемости. Разница в том, что кассу-трансформер теоретически может охранять продавец, а терминал самообслуживания часто стоит в углу зала, предоставленный сам себе и всем желающим его «изучить».
Хакеру хватило постоять у кассы несколько минут, чтобы увидеть, как сотрудник вводит код. Дальше доступ к функционалу, возможность пробивать чеки, совершать возвраты и, конечно, открывать тот самый металлический ящик снизу.
Что с этим делать
Решение лежит на поверхности: ограничить физический доступ к кассовому оборудованию. Заглушки на USB-порты, закрытые корпуса и опломбированные крышки не дадут подключить постороннее устройство. Пароль на вход в BIOS и запрет загрузки со съемных носителей защитят от попыток получить контроль над системой через собственную флешку.
Отдельно стоит подумать и об авторизации сотрудников. На кассе уже установлен сканер штрихкода, так что хорошее решение — персональные карты-пропуска, где пароль закодирован в штрихкоде. Сотрудник подносит карту к сканеру, система авторизуется, сам код никому не виден. При этом буквенно-цифровую комбинацию с карты стоит убрать, чтобы ее нельзя было ввести вручную в обход сканера.
И, конечно, не стоит забывать про замок на денежном ящике: если его вообще можно оставить незапертым, рано или поздно кто-нибудь это сделает. Поэтому хорошее решение — модели с автоматическим запиранием.
Директор смотрит на этот чек-лист и жалеет, что не уехал грузить лес в Сибирь, как собирался.
День пятый: Хакер хитрит с картами и возвратом денег
Сначала Хакер как обычный покупатель приобрел товар в магазине, оплатил его картой и получил чек. Дождавшись, когда терминал самообслуживания перешел в режим ожидания, Хакер нажал на верхний левый угол экрана и вошел в скрытое меню для сотрудников.

Система запросила авторизацию. Хакер ввел пароль, подсмотренный у продавца (простой табельный номер) и оказался в меню кассира.

Дальше — опция «возврат по чеку продажи». Система показала список последних операций, и Хакер выбрал только что совершенную покупку, после чего попробовал небольшой эксперимент: вернуть деньги не на ту карту, с которой оплачивал товар, а на совершенно другую — принадлежащую третьему лицу.
Казалось бы, на этом этапе терминал должен остановить операцию или запросить подтверждение от старшего сотрудника. Но ничего этого не произошло: для перевода денег оказалось достаточно обычного пароля продавца-консультанта.

Система честно предупредила, что деньги уйдут на другую карту, но операцию всё равно выполнила. Товар остался у Хакера, покупка формально превратилась в возврат, а деньги магазина отправились на чужой счет.

Оставалось проверить, есть ли у такой функции временные ограничения. Например, что возврат будет возможен только за последние 14 дней, как того требует закон о защите прав потребителей. Но когда Хакер попробовал оформить возврат за покупку, совершенную несколько месяцев назад, система выполнила и эту операцию.
Это пробел в бизнес-логике и контроле доступа:
Низкий порог авторизации. Для финансовой операции достаточно пароля рядового продавца, который легко подсмотреть.
Нет проверки соответствия карт. Возврат на другую карту сам по себе не является ошибкой: многие банки и торговые сети поддерживают такой сценарий для удобства покупателей. Но такие операции должны требовать участия директора магазина, материально ответственного лица или другого сотрудника с соответствующими полномочиями.
Нет временных и лимитных ограничений. Возврат возможен за неограниченный период и теоретически на неограниченную сумму в рамках доступного баланса кассы.
Что с этим делать
Необходима двухуровневая авторизация и жесткое ограничение временного окна для возвратов. Автоматический возврат — только за последние 14 дней. Всё, что раньше, переводится в ручной режим с многоуровневой проверкой и документальным оформлением.
Привязка карты возврата к карте оплаты по умолчанию. Возврат наличными или на другую карту — как исключение, строго регламентированное, с отдельным логированием.
Отдельный аудит-лог всех операций возврата с привязкой к ID кассира, номеру чека и карте получателя для последующего анализа.
Что в итоге унес Хакер
Ничего, ведь это был дисциплинированный пентестер. Он пришел, посмотрел, собрал доказательства и ушел писать отчет.
Но если серьезно, то получается неприятная картина, ведь магазин — это не просто здание. По сути, это филиал корпоративной инфраструктуры, набор доверенных интерфейсов, вынесенный прямо к покупателю, в публичное пространство.
Причем каждый из них сам по себе вроде бы не страшный. Ну что такого в кнопке вызова? В трубке? В кассовом USB? В табельном номере продавца? В кабеле под терминалом?
А потом эти «ничего страшного» складываются в цепочку: доступ в сеть, учетные данные, внутренние системы, операционная информация, финансовые действия.
Хороший пентест в такой среде не заканчивается фразой «закройте порт и поставьте пароль». Он заканчивается более неприятным вопросом: кто вообще решил, что все эти вещи стоит оставлять в зоне доступа клиента?
Если статья наберет 1000 лайков — Хакер зайдет и в ваш магазин ☺ А пока приглашаю в свой Telegram-канал, где рассказываю про реверс-инжиниринг и соседние жанры: t.me/glinkinivan.

PURP — Telegram-канал, где кибербезопасность раскрывается с обеих сторон баррикад
t.me/purp_sec — инсайды и инсайты из мира этичного хакинга и бизнес-ориентированной защиты от специалистов Бастиона
