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