Ломаем оператора сотовой связи всей командой
Ранее в Хакер:
Сегодня нам предстояло провернуть дело, к которому я готовился долгие годы. Сожжённый биос и найденный адрес узбека лишь отдаляли меня от поиска любви всей моей жизни. Я не мог снова упасть в грязь лицом и решил ещё раз проанализировать систему оператора сотовой связи, которого нам предстояло сегодня ломать.
Я понял их слабые места. Защита была стандартной, купленной у крупного вендора. У них не было кастомных правил, написанных под их специфический трафик. Это была брешь и она могла нам помочь! В условленное время мы сошлись в чате для подтверждения готовности.
— Старт, — скомандовал я и работа закипела.
Сойер:
— СМС отправлено. Сергей должен был получить его две минуты назад.
Сандерс:
— DDoS на сайт банка запущен. Они уже начинают дёргаться, отвечают с задержкой.
Лекси:
— Готовлюсь. Голос настроен, легенда отточена.
Мы ждали. Секунды переходили в минуты.
— Ничего, — наконец написал Сойер. — Он не звонит. Ни на фейковый номер, ни на настоящий. СМС прочитано, но реакции ноль.
Лёд тронулся, но не в нашу сторону. План дал первую трещину.
— Лекси, давим, — скомандовал я. — Звоним ему сами. Выясняем, в чём дело.
Раздался гудок. Лекси включила режим Марии в роли оператора поддержки, но через минуту она вернулась в общий чат.
— Всё хуже, чем мы могли предположить. Он сказал: «Спасибо, я уже всё проверил через официальное приложение. Деньги на месте. У вас там какая-то ошибка», — и бросил трубку. Он не в панике, а спокоен как слон.
Катастрофа. Полный провал. Все молчали, осознавая крах многочасовой подготовки.
— Стоп, — вдруг сказал Тихоня. Его ровный голос прозвучал обнадёживающим. — Он сказал, что проверил через официальное приложение? Значит, он заходил в мобильный банк через сотовую сеть. Это наш оператор связи. Его трафик шёл через тот же шлюз.
В моей голове щёлкнуло. Гениально!
— Тихоня, ты хочешь сказать…
— Мы не можем заставить его запустить скрипт, но можем его подставить. Если мы сделаем так, чтобы его запрос в мобильный банк выглядел как… сканирование уязвимостей на их внутренних серверах.
Я понял всё с полуслова. Это был душераздирающе красивый и опасный ход.
— Сандерс, — бросил я. — Немедленно прекращай DDoS на банк. Перенаправь всю мощь на шлюзы опсоса. Не чтобы положить, а чтобы создать аномалию. Их система защиты должна сработать и начать генерить кучу логов.
— Тихоня, — продолжал я. — Нужно сэмитироовать запросы, похожие на сканирование портов Oracle. Источником должен быть IP адрес Сергея. Он сейчас на работе и его белый IP нам известен.
— Уже делаю, — раздался ровный ответ Тихони. — Эмулирую запросы к TNS на их внутренние IP. Система обязательно заметит эту активность.
Сандерс, сканируя их внешний периметр в поисках аномалий, нашёл то, что я упустил из виду. Это был старый, забытый всеми VPN шлюз для подрядчиков. Прошивка на нем не обновлялась годами, а в ней зияла критическая уязвимость, позволяющая обойти аутентификацию. Это был наш ключ от парадной.
Далее, Тихоня смог просканировать их внутренние сервисы и подтвердил мою догадку о корпоративном почтовом сервере. Уязвимость была не в самом движке, который я безуспешно пытался атаковать, а в редком плагине для корпоративной архивации, о котором я даже и не слышал. Он позволял через хитрую манипуляцию с заголовками письма получить права на чтение чужой корреспонденции.
Они нашли не просто обходной путь, а настоящий золотой ключик. В этом и была сила работы в команде. Каждый из нас видел тот фрагмент мозаики, который был скрыт от остальных. Мы работали молча. Через пятнадцать минут Тихоня написал в чат:
— Есть! Сработал алерт в их системе. Активность с IP адреса их же сотрудника классифицирована как попытка несанкционированного доступа к базе данных.
Теперь был черёд Лекси. Ей предстояло сыграть лучшую роль в жизни.
— Лекси, — сказал я. — Твой выход. Звони в их службу безопасности! Только не Сергею. Ты та самая взволнованная сотрудница банка.
Лекси сделала глубокий вдох. Раздался гудок.
— Здравствуйте, меня зовут Мария Иванова! Я руководитель отдела кибербезопасности банка. У нас зафиксирована массовая атака на наши серверы, а источником является ваша сеть. — она продиктовала IP адрес Сергея. — Это ведь IP вашего отдела техподдержки? И наши специалисты зафиксировали аномалию прокси запросов с вашего внутреннего IP. Это ваш сисадмин? Наши системы показали, что с этого адреса проводилось сканирование уязвимостей… Да, мы уже готовим официальный запрос в Роскомнадзор и ФСБ… Что? Ваш сотрудник? Вы проверьте, пожалуйста! Это мог быть взлом его рабочей машины! Срочно изолируйте её от сети, покажите логи вашим специалистам! Мы с нашей стороны приостанавливаем всё взаимодействие с вашим оператором!
Она говорила голосом, дрожащим от праведного гнева и профессионализма. Не просила, а требовала, информировала и давила на больное место в виде внеплановой проверки Роскомнадзора.
Прошло ещё несколько минут нервного ожидания. И вдруг…
— Есть, — голос Тихони был торжествующим. — Сработало. С почтового адреса Сергея отправлен запрос в техподдержку. Текст: «Коллеги, у меня тут странность с компьютером, ничего не могу поделать. Пришлите, пожалуйста, утилиту для проверки, только быстро, а то у меня доступ уже режут». Это Сергей и он чертовски напуган. Мы его заставили это сделать! Эврика!
— Тихоня, — скомандовал я. — Кидай ему скрипт. Тот самый. Только переименуй как надо!
Через мгновение Тихоня произнёс всего одно слово:
— Коннект!
На моём экране ожила командная строка. Мы были внутри опсоса!
— Поднимаю туннель, — мои пальцы взлетели над клавиатурой. Я стучал по клаве как пианист виртуоз на самом ответственном концерте! — Скачиваю дамп. Ничего не смотрю и не открываю. Качаю как можно быстрее.
Процесс пошёл и на мониторе начали показываться проценты завершения задачи. Мы молчали, боясь спугнуть удачу. Тут отписался Тихоня:
— Передача завершена. Дамп у нас! Разрываю соединение и подчищаю логи.
Я откинулся в кресле. Руки дрожали от адреналина. Мы это сделали! Всё пошло не по плану и операция была на грани провала, но мы сделали это! Ваааааау!
— Лекси, — выдохнул я. — Это был шедевр! Ты лучшая!
— Тихоня, — добавил я. — Ты гений!
— Сандерс, спасибо, бро!
— Сойер, ты профи!
— Всех ещё раз благодарю!
Один за другим они начали выходить из чата, оставляя меня наедине с гигабайтами украденных данных. Я смотрел на файл с базой и не мог поверить! Внутри было всё, что мне нужно. Там были звонки, переписка, истории перемещений. Победа отдавала холодным потом и страхом, но это была победа!
Я понимал, что мне надо немного передохнуть и успокоиться, пошёл заварил себе зелёного чая и развалился в кресле. Мне не терпелось найти детализацию звонков Наташи и получить хоть какие-нибудь зацепки. Что я могу там найти? Другие телефоны, с которых были звонки. Время, когда они совершались, частота и длительность. Всё! Больше ничего!
Мне надоело гадать и я открыл базу. Нашёл там узбека, имя и адрес которого помнил наизусть и вывел распечатку звонов этого абонента. Их было немного, но они были. Вот даты, когда она была в Гоа. Один звонок был ещё из России, остальные уже из Индии. Короткие звонки по несколько секунд. Что это могло бы быть? Один и тот же номер фигурировал три раза. Наверняка, это самый близкий человек, раз она так часто ему звонила, но кто это может быть? Муж? Вряд ли, она приехала искать любовь в Гоа. Она же не может быть замужем?
Кто ещё это может быть? Друзья? Слишком регулярно для дружеских бесед. Родственники? Скорее всего, родственники. Мать? Это было похоже на ритуал, когда дочь звонит матери или мать звонит дочери, чтобы узнать, всё ли в порядке. Это была ниточка, ведущая к разгадке. Мне нужно было услышать этот голос. Может быть, я что-то узнаю? Я долго смотрел на номер телефона и думал. Да, это был риск. Глупый, ничем не оправданный риск. Я не знал русского и не знал, что скажу, но любопытство, тоска и отчаяние толкали меня совершить звонок.
Сделав глубокий вдох, я набрал номер через зашифрованный голосовой шлюз, маскируя свой настоящий номер под случайный российский. Я знал несколько русских слов: «Привет!», «Хорошо!», «Наташа». Это могло помочь прояснить хоть что-то. Раздались длинные гудки. Два. Три. Моё сердце колотилось в груди как бешеное. Я шёл к этому долгие годы, но готов был бросить трубку после четвёртого гудка потому, что был не в силах больше ждать. Вдруг, на том конце ответили:
— Алло? — хриплый, но бодрый женский голос прозвучал в трубке.
Я замер. Мозг лихорадочно пытался найти хоть какое-то слово или звук.
— Алло? Слушаю вас, — повторила женщина и в её голосе послышалось лёгкое нетерпение.
— Э… Наташа? — выдавил я на ломаном русском, тут же поняв, что совершил ошибку.
— Что? Кто это? — голос насторожился. — Вы ищите Наташу? Она уехала! Что-то случилось?
Она говорила быстро и тревожно. Я не понимал слов, но тон был понятен. Это было беспокойство, испуг и растерянность.
— Извините… — пробормотал я и положил трубку.
Я сидел в полной тишине, в которой ещё звенело эхо того голоса. Да, это была её мать. В этом не было никаких сомнений. Тон, интонация и тревога за дочь. Другого и быть не могло. Теперь у меня был номер её матери, но что я мог с этим делать? Послать кого-то? Нанять переводчика? Слишком много звеньев в цепи и слишком много рисков.
Я посмотрел на номер. Он был другого оператора сотовой связи. Чтобы получить распечатку звонков мамы Наташи, пришлось бы взламывать ещё одну крепость. Тратить время, силы, рисковать командой. Ради чего? Ради того, чтобы узнать адрес её мамы? Это было бессмысленно. Нет! Это был тупиковый вариант.
Я проиграл записанный разговор несколько раз. Потом перевёл его через голосовой сервис и получил: «Вы ищите Наташу? Она уехала! Что-то случилось?»
— Она уехала! — выкрикнул я вслух! — Куда она могла уехать?
У меня был телефон её мамы. По нему можно было найти маму, но не Наташу. Всё это было слишком сложно. Надо было всё ещё раз хорошенько обмозговать и я решил прогуляться. Вечерний воздух был прохладен и свеж после душного дня, проведённого перед мониторами. Я шёл по почти безлюдным улицам фешенебельного района, и ритм шагов отбивал такт моим мыслям. В голове крутилось имя Наташа.
Тут вдруг меня осенила безумная, но в тоже время прекрасная мысль. А что если, она ищет меня? Ведь я исчез из её жизни так же внезапно, как и она из моей. Я представил её в Гоа, но не на пляже под пальмами, а в узких улочках Анджуны или Арамболя, обходя гостевые дома и показывая фото с вопросом на ломаном английском: «Вы не видели этого человека?»
Сердце ёкнуло от этой картинки. Она же не знала, кто он теперь. Она искала водителя рикши, который катал её по узким улочкам Гоа. Блин, может махнуть в Гоа? Прямо сейчас? Купить билет и рвануть в аэропорт. Но как я буду её там искать? Спрашивать каждого встречного? Это же Гоа, там тысячи людей. Я могу пройти в метре от неё и не заметить. Мысль ушла, наткнувшись на стену практической невыполнимости.
Сразу же пришла другая идея. Её мама. Я мог бы позвонить и объяснить ей всё. Но как? Я уже только что пробовал и всё испортил. Можно нанять переводчика, какого-нибудь студента лингвиста, голодного до денег. Впускать ещё одного человека в эту историю? Нет, это исключено. И тут я вспомнил про голосовые переводчики, которые недавно тестировал. Это такие современные приложения, которые работают почти в реальном времени. Я говорю фразу, а приложение озвучивает её в реальном времени на русском. Это же возможно!
Я остановился у парапета набережной, глядя на тёмную воду, в которой отражались огни города и представил разговор через приложение. Нелепый, прерывистый, полный помех и недопониманий.
— Здравствуйте. Я друг Наташи. Я ищу её. Она в безопасности?
Ждём перевода. Голос робота переводит.
— Кто это? Что вы хотите? — испуганный голос её мамы.
— Я беспокоюсь о ней и хочу помочь!
— Кто вы и откуда знаете Наташу?
Или будет ещё хуже, если она испугается и позвонит в полицию. А если начнёт что-то рассказывать дочери и напугает её? Я могу всё испортить одним звонком. Нет! Это была игра с непредсказуемым исходом. Слишком шатко и ненадёжно. Я развернулся и пошёл обратно домой. Эйфория от найденного номера сменилась холодной, методичной ясностью. Нет! Не сейчас и не таким образом. Нужен простой и надёжный вариант!
(Спасибо за лайки и комментарии, которые помогают продвигать книгу!)



