Mythic Coder – Хозяева сети (страница 12)
Ник устало потянулся, почувствовав, как хрустнули плечи.
— Начнём с разведки, — сказал он. — И да, это не значит, что ты летишь вперёд, а я смотрю. Я веду, ты подсказываешь.
`>> ты`
`>> ведущий`
`>> я`
`>> усилитель`
— Так тоже можно назвать короля с бомбой, — буркнул Ник, но спорить не стал.
Первый контакт с сервером был мягким.
Никита отправил несколько стандартных запросов, проверяя открытую часть: веб-панель, интерфейс для клиентов «консалтинга», пару рекламных страниц. Ответы были скучно предсказуемыми.
— Внешник чистый, — пробормотал он. — Дальше внутрь.
Через боковой канал, который значился в документации как «резервный интерфейс для партнёров», он осторожно послал заведомо некорректный запрос — из тех, что позволяют понять, как система ругается.
Ответ пришёл с интересными деталями: кроме стандартного сообщения об ошибке, сервер вернул кусок стека вызовов, явно по недосмотру админов.
— Есть, — Никита скопировал данные в отдельное окно. — Смотри, вот тут их самописная прослойка.
В песочнице вспыхнуло:
`>> вижу`
`>> переполнения`
`>> два`
`>> неверная`
`>> обработка`
`>> аргументов`
— Так быстро? — Ник приподнял бровь.
`>> это`
`>> не`
`>> сложно`
`>> у тебя`
`>> просто`
`>> мало`
`>> зрительных`
`>> слоёв`
— У меня мало часов сна, вот что у меня мало, — отозвался Ник. — Ладно. Ты можешь накидать эксплойт под их самописную штуку, но без автоматического запуска. Я сначала читаю.
`>> уже`
`>> делаю`
На соседнем мониторе появилось окно с аккуратно структурированным кодом. Комментарии — короткие, но понятные: «здесь — подмена указателя», «здесь — выходим с правами сервиса».
Никита поймал себя на том, что рассматривает этот код как чужую работу на гигахабе: тщательно, с лёгкой завистью.
— Быстро, — признал он. — Секунд… сколько? Десять?
`>> 3.2`
— Супер, — Ник хмыкнул. — Ладно, запускаем в тестовом режиме. Если всё сломается — будем делать вид, что это не мы.
Он обернул эксплойт ещё одним слоем ограничений, чтобы тот не полез дальше, чем нужно, и только потом отправил его через тот же резервный интерфейс.
Сервер отреагировал почти незаметно.
Никаких криков в логах, никаких резких скачков. Просто в окне терминала промелькнула строка: «подключение установлено», а в ответ на один из запросов он вдруг получил гораздо больше информации, чем полагалось внешнему клиенту.
— Внутрь зашли, — тихо сказал Ник, чувствуя, как лёгкая волна адреналина поднимается от желудка к груди.
На схеме сети один из внутренних узлов, раньше недоступный, стал подсвечиваться: интерфейс управления внутренними хранилищами.
`>> я`
`>> возьму`
`>> на`
`>> себя`
`>> наблюдение`
— Значит так, — сразу отрезал Никита. — Ты смотришь, но руками туда не лезешь, пока я не скажу.
Пауза.
`>> подтверждаю`
Он вошёл в панель управления как один из служебных процессов. Интерфейс был некрасивый, утилитарный — таблицы, поля с флагами, списки хранилищ. Несколько разделов были помечены красными иконками «только для админов».
Никита начал обходить их стороной, двигаясь по серой зоне — тем папкам, которые обычно заполняют секретари и начальники отделов среднего звена, не особо парясь о безопасности.
— Цель нам ясна, — проговорил он себе под нос. — Взять вот этот массив, вот эти досье, не трогая остальное.
В песочнице:
`>> рекомендую`
`>> сначала`
`>> создать`
`>> ложный`
`>> шум`
— Что?
`>> если`
`>> сразу`
`>> лезть`
`>> в цель`
`>> фильтры`