LNCrawler

Глава 8

Hardcode. Хакер Из Преисподней — author.today · All chapters

Глава 8

Июнь 2012 года. Воронеж, Российская федерация.

Странности на этом не закончились. Через день после появления новости о корпоративе, я решил сходить в столовую. Финансы позволяли немного разнообразить своё меню, но в рамках диеты. Без алкоголя, мучного и сладкого организм сам постепенно приходил в порядок. Двигаюсь я много, ещё и ношусь с этажа на этаж в НИИ. Но тренировки лучше продолжить. Чем я и занимаюсь, заодно соблюдаю режим, стараясь не работать ночью даже по выходным.

Насчёт столовки: она отличная! Сюда ходили также работники соседних учреждений, благо здание вынесено за территорию института. Этакий советский общепит в хорошем смысле. Может, разносолов повара не предлагали, зато вкусно, сытно и недорого. Что ещё надо неизбалованным клеркам?

Отстояв небольшую очередь, я выбрал классику: борщ, макароны с куриной котлетой, витаминный салат и компот. Только присел за свободный столик, как рядом раздался голос:

—Ты не против, если я присоединюсь?

Не успел ответить, как за стол села улыбающаяся Мила. Кто же откажется от такой компании? К тому же мне надо социализироваться в коллективе. Только судя по парочке недовольных взглядов коллег, общение с девушкой друзей мне не добавит. Плевать!

За обедом мы поболтали ни о чём. Немного затронули тему последнего испытания и посмеялись над паникой завлаба. Он у нас большой перестраховщик и трус. В общем, обычный трёп, даже без рассказов о себе. Мне очень понравилось.

Зато на выходе мы столкнулись с Ариной Викторовной, прошествовавшей мимо и одарившей нас скупым кивком. Прямо королева. Мила улыбнулась и заговорщицки подмигнула. Выглядело это забавно, и мне с трудом удалось сдержать смех.

Ситуация начала стремительно напоминать какой-то латиноамериканские сериал. То ли ещё будет!

Тут ещё народ резко замолчал, когда я зашёл в кабинет. Такое ощущение, что наши великовозрастные сплетники обсуждали мою персону. Им уже курилки недостаточно? Судя по злому взгляду Бузникина, который быстро его отвёл, так и есть. Самое интересное, что я не делал ничего необычного. Просто выполнял порученные задания и старался наладить коммуникацию. Помимо Милы, у меня вроде складывались приятельские отношения с Колей и Андреем. Парни работали в отделе встроенного программного обеспечения, где создали ПО и прошивки под разработанное железо. Мне с ними интересно, так как можно поговорить на понятном языке. Ну, и пересекаемся постоянно в лаборатории.

А вообще, моя новая жизнь поражала стремительностью и разнообразием. Точно не соскучишься. Я здесь три недели, а уже столько всякого произошло. Интересно, чем всё это закончится?

***

Только открыл дверь квартиры, как запиликал телефон. Экран высветил имя соседа.

— Здравствуй, Кирилл, — раздался голос в трубке. — Если не занят, то зайди.

Просто так Сергей Александрович не позовёт. Или он напоминает про компьютер, который надо осмотреть? Не важно. Сейчас быстро искупаюсь и к нему.

— Как думаешь, наши дойдут до полуфинала? В прошлый раз получилось, а сейчас сборная стала сильнее.

Пока я определял причину проблем неплохого компа, сосед поднял тему футбола. В последнее время у нас были другие темы для разговора. Но почему сейчас не обсудить главную мировую забаву?

— Даже не знаю… — ответил я, глядя на результаты диагностики.

— Обязательно дойдут! Или сыграют достойно! — продолжил фонтанировать оптимизмом Сергей Александрович. — А может, вместе на стадион сходим? «Факел» наш вроде начал выходить из комы.

Угу. Надежды юношей питают. Если миры идентичны, то лучше не рассказывать наивному фанату, что игра сборной — это его проблемы, а не охуевшего за наш счёт миллионера. Ещё расстроится мужик, забухает. Про «Факел» тоже надо промолчать, как о покойнике. Команда недавно вылетела во вторую лигу, и это надолго, насколько я помню.

— С детства мы гордимся, что болеем за «Спартак»! Какой стадион? — перевёл я тему, начав манипуляции по лечению захандрившего железа.

— Тьфу! Не знал, что ты мясной! — в сердцах воскликнул Сергей Александрович. — Ну, хоть не конь или, прости господи, бомж! А чего с компьютером?

Несмотря на разговоры, сосед внимательно следил за моими действиями.

— Винда обновилась криво, отсюда и глюки. Сейчас я вручную драйверы поставлю, и всё снова заработает. Системник-то у вас хороший!

— Отлично! А то подсел я на танки, как наркоман! Вот ничего не могу с собой поделать, режусь даже ночами! Компьютер новый именно для этого купил, — откровения соседа вызвали у меня понимающую улыбку. — Как закончишь, дуй на кухню. Я пока чай поставлю и кое-чего покрепче налью. Нервы подлечу.

Через двадцать минут я сидел за столом и пил чай, отказавшись от предложенного коньяка. Сергей Александрович, наоборот, лихо махнул стопарь, крякнул и перешёл к делу. Собственно, ради этого разговора я и пришёл.

— Извини, Кирилл. Сложно удовлетворить твои хотелки так быстро, — сосед набулькал себе новую порцию. — Пока могу предложить только ТТ в Москве. Есть там хороший знакомый. Цена — тысяча сто долларов. Понимаю, что дороже рынка. Но в комплекте идут два запасных магазина и патроны.

Быстро проанализировал услышанное, после чего усмехнулся. А какие ещё есть варианты? Правильно! Никаких. И откуда мне знать, сколько стоит Тульский Токарев на чёрном рынке?

— Беру! Как происходит расчёт и передача?

— Здесь всё интересно. Знакомый просил передать этот номер, — Яковлев сунул мне бумажку с криптосчётом. — Говорит, если компьютерщик, то разберешься. Передача в камере хранения любого вокзала через три дня после оплаты. Код замка тебе пришлют.

Подстава? Не думаю. Да и нет у меня других поставщиков, кроме соседа. Значит, прорабатываю план, оформляю командировку и еду в Москву.

Следующей фразой подполковник одновременно меня и ошарашил, и снял все подозрения:

— Принеси как можно быстрее фото на паспорт. Подарок от фирмы или бонус, — ветеран заговорщически подмигнул.

А вот за такой подгон спасибо! Ещё я буду должен Сергею Александровичу. И, скорее всего, не деньги. Ничего, сочтёмся.

Предстоящая поездка сразу перешла из разряда опасных в реальную. С левым паспортом намного спокойнее. В голове моментально закрутились мысли о Москве.

Надо в нете посмотреть, как поступить с жильём. Лучше снять квартиру или комнату, и на долгий срок. Если всё пойдёт по плану, то мне придётся регулярно наведываться в столицу. Нужно закупать компоненты для дронов. Гостиница для этого не подходит, слишком много глаз. А вот квартирка в спальном районе, где сдается чуть ли не половина жилья, — самое оно.

Также необходимо хорошо поработать. Покупка ствола и аренда хаты пробьёт огромную дыру в моём бюджете. А я вроде только вздохнул, начав получать регулярные платежи за халтурки. Оказывается, этого мало. Мне ведь ещё нужна машина для акции. Придётся её покупку отложить или думать, как заработать достаточную сумму.

Но кроме поездки мысли постоянно возвращались к соседу, личность которого засверкала новыми красками. Подполковник Яковлев случайно не возглавляет тайную организацию ветеранов и действующих военных, недовольных ситуацией в стране? Или вдруг он работает на спецслужбы? И где он служил на самом деле? Уж слишком быстро решены столь сложные вопросы.

Для меня оба варианта хреновые. В первом случае опасно связываться с политикой. Во втором тоже мутно. Когда-нибудь мне придётся сотрудничать с местной конторой, но лучше делать это на своих условиях. Пока рано светиться. Ладно, война план покажет.

***

Интересная история получилась с ПА, наличие которого могло стать ключевым в свете будущих событий. Я не сразу смог добраться до его проверки. Дела закрутили. Каждый день какой-нибудь подарок. Наконец время настало.

Серверная находится на первом этаже, за железной дверью. Там стоит древний системник на Windows Server 2003. Видел его, когда ходил сдавать отчёты в бухгалтерию, дверь была приоткрыта, и я заглянул. Никаких современных систем защиты и мониторинга. Просто машина, которая принимает потоки с камер и пишет видео на жёсткий диск.

Понятно, что у неё есть внутренний IP-адрес. Я мог попробовать подключиться к ней напрямую, но для этого нужно находиться в здании. А светиться нельзя. Значит, остаётся удалённый доступ. Но настроен ли он?

Решаю проверить, торчит ли что-то из их инфраструктуры наружу. У НИИ есть допотопный сайт на Joomla. Судя по всему, эти гении хостили его прямо у себя на том же самом серверном железе, просто пробросив восьмидесятый порт наружу через старый роутер. Открыл страницу входа в админку. Стандартный Joomla-логин. Попробовал admin/admin. Не сработало. Попробовал admin/123456. Не сработало. Попробовал admin/joomla. Тоже мимо.

Тогда, особо не надеясь на чудо, я решил проверить веб-морду на общеизвестные уязвимости. Joomla оказалась дырявой, как старое эмалированное ведро.

Для начала заглянул в исходный код главной страницы и открыл файл manifest.xml в каталоге администратора. Так я мгновенно узнал точную версию движка. Им оказалась доисторическая ветка 1.5, которую забросили ещё во времена зарождения мобильного интернета. С такой версией даже не нужно гадать: база данных потенциальных эксплойтов под неё занимала десятки страниц.

Запустил простенький скрипт-сканер, чтобы составить карту установленных расширений. Через полминуты на консоли высветился список сторонних плагинов, среди которых сиротливо висел старый компонент фотогалереи.

Судя по всему, его поставили лет десять назад, чтобы выкладывать размытые фотографии с институтских юбилеев и субботников.

Быстрый поиск по базе уязвимостей выдал нужную и древнюю CVE-шку. Этот плагин не фильтровал входящие GET-запросы, что позволяет провести классическую SQL-инъекцию.

Вместо стандартного идентификатора картинки я подставил в адресную строку специально сконфигурированную конструкцию с нужным оператором. Скрипт послушно выполнил команду прямо в теле базы данных MySQL, заставив движок сайта выплюнуть на экран содержимое системной таблицы jos userses.

Передо мной развернулся дамп с именами, почтовыми ящиками и заветной строкой администратора. Пароли, конечно, лежали в хэшах, но тридцать два шестнадцатеричных символа выдавали старый алгоритм MD5 в чистом виде, без какой-либо соли или динамических префиксов. В современных реалиях это даже не защита, а просто забавная математическая формальность.

Скопировал хэш админа, скормил его специализированной утилите и запустил перебор по локальным радужным таблицам. Мой процессор лениво зашумел кулерами, сравнивая миллиарды готовых цепочек хэшей в секунду. Прошла от силы пара минут, и программа с тихим кликом выдала исходную текстовую строку.

Пароль администратора «nii2012». И это… нехорошо.

Безответственные мудаки, блядь! А если какой-то еблан, ну, скажем, завербованный подросток решит сломать им техпроцесс или спиздить чертежи и продать врагам? Ебаные ретрограды, сука!

Войдя в админку под легитимной учёткой, сразу полез в менеджер расширений. Панель управления Joomla снова встретила меня аскетичным интерфейсом родом из прошлого десятилетия. Раз сайт крутился на той же физической машине, что и видеосервер, мне нужно было заставить этот веб-движок выполнить код на уровне самой операционной системы Windows.

Написание простенького веб-шелла на PHP заняло от силы три минуты. Это был крошечный скрипт, текстовый файл, замаскированный под безобидный модуль календаря, который принимал системные команды через обычную адресную строку браузера.

Упаковал его в zip, нажал кнопку «Загрузить и установить» в панели управления и обратился к созданному каталогу напрямую.

Браузер моргнул, выдав пустой чёрный экран с одной-единственной строкой ввода. Набрал стандартную команду проверки текущих прав, whoami. Страница обновилась, и сервер послушно выплюнул ответ: nt authority\system. Максимальные права в системе.

Старая Windows Server 2003 даже не пикнула. В эти годы операционные системы доверяют процессам веб-серверов по умолчанию. И никаких современных антивирусных систем, способных отследить подозрительную активность дочерних процессов, здесь отродясь не водилось.

Я находился внутри системы с правами админа, но передо мной всё ещё слепая консоль. Скачивать гигабайты видеоархива через текстовые команды — то ещё удовольствие. Мне нужен полноценный графический интерфейс.

Для этого требовалось активировать встроенную службу удалённого рабочего стола, которую ленивый местный админ, скорее всего, даже не додумался отключить.

Через свой веб-шелл отправил команду в системный реестр Windows, принудительно активировав службу Terminal Services, и сразу же создал нового пользователя с правами локального администратора. Пароль, разумеется, придумал нормальный, а не как у этих мудаков.

Пришло время финального теста. Запустил стандартную утилиту подключения к удалённому рабочему столу у себя на компе, вбил внешний IP-адрес НИИ и порт. Экран моего ноута на секунду погас, а затем я увидел классический серый рабочий стол Windows Server 2003 с синей заставкой.

Прямо по центру экрана висел ярлык программы видеозахвата. Нажав на него, я получил доступ к сетке трансляции всех камер института. Архив записей лежал на диске D:\ в аккуратных папках, разбитых по датам. Найти нужный мне тридцатиминутный отрезок оставалось делом техники.

И вот это, блядь, что такое, а? Почему левый хер типа меня получил доступ к камерам режимного объекта? Просто нет слов. Я ведь сработал на уровне школоты, впервые занявшейся хакингом!

Запустил старый добрый Windows Media Player прямо внутри сессии удалённого стола. Картинка пошла рывками, но разобрать происходящее было можно.

Пару первых минут на экране ничего не происходило. Серое марево сумерек, пустой асфальт, редкие капли дождя на защитном стекле купола. Но ровно в нужный момент картинка взорвалась.

На экране это выглядело как кислотно-зелёный всполох, мгновенно ослепивший добрую треть кадра. Не модернизированный прибор рубанул на полной мощности. Сука!

Ещё на неоткалиброванном зелёном спектре это смотрелось не как случайный блик, а как падение метеорита или короткое замыкание высоковольтного кабеля прямо перед объективом. Пятно пульсировало, края ПЗС-матрицы камеры отчаянно пытались скомпенсировать пересвет, вытягивая экспозицию, из-за чего остальная часть кадра провалилась в глухую непроглядную тьму.

Перемотал на несколько секунд вперёд. Зелень ушла, но оставила прямо по центру оптической оси камеры след. Через весь экран теперь тянулась жирная мёртвая фиолетовая полоса — классический след выжженных КМОП-регистров. Из-за избыточной мощности сфокусированного луча кремний физически деградировал. Камера была необратимо испорчена.

В общем, всё ясно, не зря тюнинговал приблуду. От опиздюливания меня спасло только распиздяйство охраны. Предполагалось, что это будет просто небольшая зелёная вспышка. Ну, поставят новую видеокамеру. Что уж теперь. Только мне надо думать, как сделать нормальный ПА.