Читать книгу Антихакер - Алексей Сабуров - Страница 8
Часть первая
Марк
Глава 6
ОглавлениеПрограммирование развивает логику и внимательность. Все потому, что компьютеры не понимают всплесков человеческих эмоций и не способны переосмыслить неверно поставленную задачу. Код – это простой способ донести до математических мозгов машины, что от нее хочешь, но ты должен изначально знать результат, а потом разложить его по коротким и понятным командам. То есть выстроить логичную систему команд, которые в итоге приводят к задуманным последствиям. А внимание требуется, потому что написание этой системы скрупулезно и не терпит даже самой маленькой неточности в букве, знаке или идее и способно мгновенно увести программиста в беспросветный мир багов.
Марк бы еще добавил выносливость. Умных да талантливых земля родит в достатке. А вот тех, кто пашет изо всех своих сил, всегда не хватает. В спринте всякий может победить, только долгий заплыв безошибочно показывает «ху из ху». Марк считал, что именно это его качество позволило колясочнику без образования на удаленке (когда это понятие еще не было никому понятно) стать продуктивнее офисных дипломированных программистов. Его куски кода всегда сдавались вовремя, были тщательнее и лаконичнее написаны. И пусть устроиться в екатеринбургскую компанию-разработчик программного обеспечения Naumen ему помогла рекомендация Натальи, но удержаться там и, более того, стать одним из ключевых кодеров Озеров смог благодаря своей феноменальной работоспособности. Он мог без устали погружаться в код по двенадцать часов без перерыва день за днем, пока не разберет задачу, не напишет и не отшлифует свою работу до блеска. Это было его спасением. Думать над своей несчастной судьбой не оставалось ни времени, ни сил. Слава богу!
Напряженная работа позволила Марку обзавестись друзьями, в итоге разъехавшимися в IT-проекты по всей планете, новым одноэтажным домом на природе с удобным въездом для инвалидной коляски на чистый воздух обустроенного двора, а самое главное, уверенностью в себе и своем будущем. У него все так же случались приступы паники в помещениях с высокими потолками, так что он совсем отказался от посещений торговых центров, театров, аэропортов и вокзалов, но он больше не считал, что его жизненный полет прерван и он, как сбитый «Боинг», обязан страдать и разваливаться на куски. И вот жизнь снова дарила ему возможность почувствовать себя живым и полноценным.
Следуя алгоритму создания программного продукта, Марк в первую очередь надумал определить задачу, которую нужно было решить, перед тем как действовать. Виктор настаивал на поиске виновного в гибели Марины, но Озеров даже не был уверен, что виновный существовал и все это не фатальное стечение обстоятельств. Значит, нужно найти доподлинные доказательства того, что произошедшее с Мариной не было случайностью.
Несмотря на свои ощутимые знания в технике взлома серверов с информацией, Марк очень не хотел пользоваться этой возможностью. Последние шесть лет он был независимым консультантом по защите сетей от хакерских атак. Он знал этот мир не понаслышке. Вот уж кто были пиратами двадцать первого века, а не тощие негры в Аденском заливе. Ежедневно на абордаж берутся тысячи серверов с сундуками информационного золота, миллиарды долларов присваиваются этой чертовой кодлой под маской анонима. И то, что они не стреляют в голову жертвы, совсем их не оправдывает, как бы хакерское сообщество ни пыталось это представить. Над кибермошенниками висит ореол романтики, как над пиратами Карибского моря, но точно как и флибустьеры Генри Моргана, это лишь бессовестные охотники до чужого добра.
Марку нужно было найти точку начала расследования. Детективы. Он и не читал их особо. Пару сериалов на Okko составляли его детективный опыт. Но раскручивание запутанных атак на сетевых пользователей за долгие годы, возможно, сделало из него хотя бы нечеткую копию инспектора Мердока. По крайней мере, он так надеялся. Ведь что нужно для раскрытия преступления? Дедукция. Раздел логики. А с ней, Марк считал, у него все должно быть в порядке.
Он решил, что отсчет можно начать со смерти. Как запутанный клубок нужно разматывать с конца. Это точно установленный факт. Хотя и не совсем понятный. Виктор говорил, что на похоронах говорили о раке желудка. То есть непонятно, что стало причиной смерти: самоубийство, рак желудка или самоубийство как реакция на страшную болезнь? Ответ или хотя бы часть его может скрываться в патологоанатомическом вскрытии. Марк тут же вышел в интернет и нашел, что в случае подозрения на насильственную смерть судебно-медицинская экспертиза трупа назначается обязательно. Вот только ее результаты доступны полиции и близким родственникам. Вряд ли у Виктора есть возможность достать их.
Украденные деньги. Тоже очень непонятная история. Должно быть заявление в полицию? В банк? Если деньги украли со счета, то сначала в банк. Здесь получить нужную информацию еще невероятнее.
Проверить версию про собаку? Смерть любимца – трагедия, но вряд ли данные о ней будут так же скрываться и охраняться, как преступление против человека. Марк набрал в поиске «ветеринарные клиники Кемерово» – их оказалось девять штук. Не такая уж и большая выборка, особенно если начать исследовать по удаленности от дома Марины.
Озеров сделал несколько записей в компьютерном блокноте, который всегда использовал при проведении проверки уязвимостей. Заметки помогали ему не держать в памяти то, что он надумал и проверил, туда он складывал все найденные логины, ключи и идеи, где их раздобыть. Он начинал думать о ситуации как о привычной работе, и его навыки и знания сами стали выстраивать маршрут, по которому он уже мог двинуться.
Марк позвонил на следующее утро.
– Виктор, доброе утро. Или у вас уже день?
– Здравствуйте! Нет, еще обедать рановато. Ждал вашего звонка, – в голосе собеседника слышалось волнение.
– Я поразмышлял над вашей загадкой и хочу сразу договориться о нашем взаимодействии. Во-первых. Я привык работать один, но здесь задачи явно выйдут за пределы Сети. Я даю вам задания, вы прикладываете максимум усилий и вдохновения, чтобы их выполнить. Если вы думаете, что нашли помощника, который за вас выполнит всю работу, или ишака, на которого свалили свое чувство вины и можете теперь расслабиться, то это не так.
– Конечно, я готов, – отозвался Виктор.
– Во-вторых. Мы можем узнать страшные вещи, если полезем рыться в грязном белье. Вы рассказываете мне все, что знаете и еще узнаете, как лучшему другу на пьянке. Абсолютная честность.
– Да, – ответила трубка.
– В-третьих – это конфиденциальность. Я не знаю, куда нас занесет. Может быть, и никуда. Но никому ни слова про наш план. Когда разберемся, тогда и решим, что и кому говорить. Вместе решим, слышите?
– Слышу.
– Сколько вам лет, Виктор?
– Тридцать три.
– Вы почти мой одногодка, я старше на два года. Так что предлагаю перейти на ты. Как в экспедиции. Формальности мешают строить команду и вредят в экстремальных ситуациях.
– Ок, Марк, давай. Сам хотел предложить.
– Хорошо, тогда так и начнем. Я считаю, нужно разобраться с каждой историей, начиная с увольнения. Очень важно узнать про болезнь, Виктор, подумай, кто может тебе рассказать о ее здоровье перед смертью? Кто остался из родственников?
– У нее осталась мама, отец тоже где-то жив, но она не общалась с ним. Вряд ли он что-то знает.
– С мужем она развелась?
– Насколько я слышал, да.
– Сможешь связаться с матерью и расспросить о Марине?
– Да с чего она мне что-то расскажет?
– Ты подумай, представься репортером, например. У вас ведь там в городе эта ситуация – горячая тема.
– Ладно, я попробую.
– Если бы мы получили акт вскрытия тела, то было бы совсем круто. Я хочу еще разобраться с историей про собаку. Ты знаешь, что за порода?
– Мопс. Звали Леди Гага.
– Смешная кличка. Так вот надо найти причину и ее смерти.
– А как это?
– Ты знаешь адрес, где жила Марина?
– Да, на Молодежном проспекте, двадцать пять.
– Я скину список ветеринарных клиник, надо будет с ними тоже поговорить.
– Хорошо, но похоже, я всю работу буду делать? Я бы и без тебя так мог, наверное.
– И что ты сделал? – резко откликнулся Марк. Но тут же успокоился – вряд ли его звали в качестве начальника. – Иногда нам просто не хватает идеи, чтобы начать шевелиться. Или волшебного пинка. Воспринимай как хочешь. Ты на месте, все, что можно узнать легальным путем, нужно попробовать достать. А я займусь вашей угольной компанией. Тебе там лучше не светиться, если не хочешь потерять замечательную работу.
Марк отложил нагревшийся во время разговора телефон. Ему еще вчера стало понятно, что без особым образом добытой, нет, давай будем честными, без украденной информации с этим делом вряд ли разобраться. У него нет возможностей, как у государственных органов, получать любой документ, вызывать свидетелей на допрос и иметь доступ к переписке и телефонным переговорам. Это ему не нравилось. Сильно не нравилось.
Однажды, еще работая в Naumen, Марк вызвался помочь своему интернет-знакомому сломать почтовый ящик его девушки. Ну, как вызвался, взломал. Это оказалось до безобразия легко. Тогда еще не существовало двойной системы защиты и почтовый сервер не предупреждал, что в ваш ящик заглянули с нового устройства или из другого региона. Логин и пароль висели в открытом доступе – подбирай без ограничений. В целом полная безалаберность по нынешним временам. Марк тогда с ходу нашел несколько способов взлома электронной почты в открытом доступе в интернете. И через полчаса упражнений с нехитрыми программками обладал логином и паролем. Перед тем как отправить их знакомому, сам открыл чужой почтовый ящик.
Перед ним своей изнанкой вынужденно открылся незнакомый человек. И вывалил свои интересы через подписки на сайты одежды и свободных отношений, уведомления о получении ответов на свои высказывания в блоге SwingLife.ru, откровенные письма, отношения на грани психоза, регистрации на сайты знакомств и пароли к ним. Марк пробежался по первой странице ящика, подглядывая за чужой обнаженной жизнью. В нем сразу проснулось низкое любопытство, он понимал, что практически подглядывает за незнакомым человеком в замочную скважину туалета, но не мог оторваться, с возбуждением открывая одно письмо за другим, читая совсем не ему предназначенные строки. С трудом он захлопнул ноутбук, разрывая связь с чужими тайнами. Тут же его захлестнуло чувство отвращения к себе. Он не имел права ковыряться в электронных, не имеющих физического воплощения файлах, точно так же как и в чужом рукописном и потому настоящем дневнике или личном альбоме напечатанных откровенных фотографий.
Может быть, именно тогда он в действительности осознал, что наше электронное отражение так же реально, как и вещественный мир, который оно отображает. Оно может так же нести в себе радость, любовь, гнев и разочарование. Оно может повлиять на настоящую жизнь, привести к победе, карьере, свадьбе или смерти. Этот цифровой мир хоть и не существовал еще только десяток лет назад, но он так же осязаем, как Северная Америка, например. Тогда Марк стер доступы и приятелю сказал, что не смог их получить. А как ему хотелось посоветовать быть поосторожней с этой особой и не сильно влюбляться, если что. Но удержался.
С тех пор он задумался над беспечностью мира, нараспашку открывшего двери ко всем своим тайнам. То, что раньше лежало в каменных замках, тяжелых сундуках с огромными висячими замками, сейчас можно стащить, даже не выходя из дома. Марк принялся читать литературу для хакеров, какую смог достать, про способы взлома и защиты, прописался на профильных сайтах и в блогах. Если бы тогда вскрыли его почту, то решили бы, что растет новый Джулиан Ассанж.
Озеров для тренировки начал хакать чужие серверы и составлять анонимные отзывы о системе безопасности для администраторов сети, ничего не подозревающих о дырах. Он думал, что хорошо скрывался, но у провода два конца, и после очередной «аналитической записки», как Марк называл свои отчеты, к нему по почте прилетело предложение поучаствовать в тестировании системы защиты банка, который он и расчехлил за день до этого. Круто, что это был не «отдел К» полиции, но самоуверенности тогда Марку подрезали. И нашли новый вид занятий. Озеров к тому моменту насытился написанием кодов и чувствовал легкое неудовлетворение от того, что ребята, пришедшие после него, уже становились руководителями проектов и начальниками команд разработок. Да, он не мог из-за своего физического недостатка тусить в офисе и претендовать на такое повышение, но это не мешало точить его эго. «Почему бы не стать начальником самому себе?» – решил Марк после нескольких выполненных проектов по отладке систем безопасности и заметным суммам, капнувшим на его банковскую карту. Он открыл ИП и стал независимым подрядчиком. Миссия защиты информации перестала быть только его хобби, а сделалась жизнью.
И вот теперь он стоял перед файрволлом своего заказчика и строил планы порыться в его электронном бельишке. Как резко меняются роли в наше время. «Если они не виноваты, им нечего и меня бояться», – успокаивал себя Марк. Если же они виновны, то об этом стоит разузнать. Если бы не тот же Сноуден, мир бы не уличил АНБ в слежке за всем миром, и сейчас Большой Брат так же скрытно и незаметно писал бы всю информацию о нас на свой огромный винт, спрятанный под землей острова Оаху и еще черт знает где. Марк посмотрел на залепленную лейкопластырем камеру лэптопа – спасибо тебе, Эдвард!
Он включил музыкальное сопровождение. Limp Bizkit сразу попали в точку со своим кавером Джорджа Майкла «Вера». «I got to have faith», – многократно закричал в микрофон Фред Дерст, поддерживаемый жесткой ритм-гитарой. «Надеюсь, эта мантра поможет мне не сомневаться, что я выбрал правильный путь», – решил Марк.
Ждать ночи не требовалось. Озеров не собирался перегружать сервер «Кузбасской угольной компании» шпионскими командами. Заблаговременно спрятанный снифер уже мог передавать информацию о сетевом трафике. Марк активизировал вторую часть программы, которая была установлена на его компьютере, и через несколько секунд пакеты данных начали передаваться и записываться на его жесткий диск. Администратор в Кемерово не смог найти его лазутчика или вовсе не озаботился поиском возможных опасностей после выполнения Марком задания. Значит, он не начал пока выполнять рекомендации, которые Озеров отправил в своем отчете, а может, и действительно цель улучшить свою систему безопасности перед ним не стояла, как и утверждал Решетников.
В пакетах данных обязательно окажутся логины и пароли, которые вводят пользователи для получения входа на сервер. До жути элементарно. Как вы думаете, для чего серверы держат под замком в комнате с ограниченным доступом, как к оружейному складу? Да оттуда легко физически вынести как сами компьютеры, так и их жесткие диски, и предприятию, которое хранит там свою 1С или ERP-систему, настанет моментальный кирдык. Но еще в серверный компьютер можно просто воткнуть флешку с самоустанавливающимся снифером, и после этого все пароли засияют перед киберпреступником, точно дорожные знаки под светом фар. Не поэтому ли в случаях выявления взломов в серьезных конторах в первую очередь начинают просмотр камер наблюдения и проверку охранников на детекторе лжи, хотя атака и произошла в виртуальном мире? В угольной компании работа кипела. Через пару часов в распоряжении Озерова оказалась связка ключей ко всем замкам цифровой крепости. Повторный штурм был прост и скоротечен.
Пока снифер пылесосил трафик, Марк прогулялся по кемеровским улочкам в Google Maps. Посмотрел на свежую бело-зеленую новостройку с ярко-красной вывеской «Пятерочки» на Молодежном проспекте, в которой когда-то жила и умерла Марина. Google даже позволил рассмотреть забитые мусорные баки с торца дома и заправку Ачинского НПЗ напротив через дорогу. Но на самом деле ему были нужны ветеринарные клиники. Куда бы девушка могла быстро отнести своего умирающего пса? Вряд ли бы она бросила его, не попытавшись спасти. И уж, конечно, она не стала бы изучать прейскурант и читать отзывы.
Это должна была быть клиника, которую она уже знала или ближайшая к дому. Совсем рядом, на Молодежном же проспекте, он отыскал больницу для животных «Рекс». «Рексов» по городу было несколько. Сайта у клиник не было, но в «Инстаграме» говорилось о пяти филиалах, в том числе и на Молодежном проспекте. Другая ветеринарная лечебница без названия находилась почти на километр дальше, конечно, для такси это не расстояние, но сетка клиник с «Инстаграмом» смотрелась предпочтительней анонимного кабинета. Вероятность, что Марина отнесла собачку туда, была очень высока. Марк скинул Виктору на почту контакты обоих заведений, но в первую очередь рекомендовал заглянуть в «Рекса» на Молодежном проспекте, 8А.
Администратор сменил пароль входа на сервер, но теперь это не имело значения для Марка. Этот ключ тут же был скопирован его программой. Теперь Марк обладал полными «админскими» правами и мог принудить сервер к любым действиям. Но ему была нужна только корпоративная почта. Для начала требовалось проверить письмо, с которого все и началось. Почтовая программа лежала здесь же – просто протяни руку. Но основного пароля от нее у Озерова еще не было. Данные для входа на сервер не подошли, что было ожидаемо, ведь Марк уже знал, что админ корректно использует разные пароли для разных программ. Нужно было, чтобы администратор вошел в почтовую программу под своим ником. Зато у Марка уже было несколько вариантов входа в почту от лица сотрудников. Он выбрал o.knyazeva@kuzcc.ru и через программу почтового агента, что-то типа MS Outlook, зашел под ее логином.
Ольга Князева оказалась бухгалтером. Ее почта была переполнена актами сверок, счетами-фактурами и другим финансовым мусором, окружающим реальное движение товаров и денег. Не вдаваясь в подробности, Марк через поиск обнаружил переписку с администратором (admin@kuzcc.ru). Ну надо же, Озеров совсем не удивился отсутствию фамилии, как у других сотрудников, в адресе его электронки. Администраторы могли меняться, а почта, куда обращаться в случае проблем, должна быть постоянной. Марк тут же написал короткое письмо от лица Ольги с просьбой проверить почтовый ящик, «а то что-то письма не уходят сегодня», и стал ждать, когда поддержка отреагирует на обращение.
Достаточно быстро, через двадцать минут, админ откликнулся на запрос: зашел на почтовый сервер и ввел свой пароль. Снифер тут же отзеркалил его Марку. Вся корпоративная почта «Кузбасской угольной компании» упала к пальцам взломщика на клавиатуре. «Вот так бы я слопал ваше задание, будь у меня еще пару часов», – воскликнул Озеров про себя. Все-таки хакать взаправду, а не по договору, было волнительно и азартно. Марк испытал смачный прилив адреналина в свою застоявшуюся кровь работника по найму. Ему понравилось.
Он нашел почту m.zaiceva. Она не была удалена, только на ней была настроена переадресация входящих писем на z.koltcov@kuzcc.ru.
– Снова ты, старый хрен, – тихо произнес Озеров, непонятно почему приписав Кольцову солидные года. – Все пытаешься держать под контролем?
Переписка заканчивалась шестнадцатым февраля. Видимо, именно в этот день Марину вышвырнули за проходную предприятия. Марк порылся в «Отправленных» и наткнулся на документы, которые были посланы десятого февраля на почту 222@my-finance.ru. Это были скриншоты финансовых отчетов. Хотя Марк и не разбирался в бухгалтерии, но названия документов явно говорили об их сути: «Отчет о финансовых результатах», «Отчет о движении денежных средств», «Примечания к финансовой отчетности».
Он сделал скрин письма, так, на всякий случай. Вдруг придется эту историю предать огласке, и тогда у него будет не пересказ свидетеля, который сам ничего не видел, а реальная улика, пусть и добытая незаконно. Письмо ушло в 12:52. Могла это сделать Марина? Конечно, она была в офисе – у отдела безопасности точно есть эти данные, и они в первую очередь должны были сопоставить их со временем отправки документов. Марк заглянул в свойства файла, владельцем значилась M. Zaiceva. Эта электронная отметина, скорее всего, убедила З. Кольцова больше, чем данные со сканера пропусков на проходной.
Можно ли ее подделать? Да в два счета. Нужно ли администратору в этом разбираться? На хрена? Картина преступления отчетлива, как изображение на 4К телевизоре. Могла ли Марина слить информацию по-другому? Конечно, сфоткай на телефон да отправь по WhatsApp. Зайди в Mail и шли с личной почты. Зачем делать настолько топорно? Подумала, что не найдут? Подумала, что никто и не следит? Может, уже сто раз отправляла и не попадалась? Можно придумать еще стопку объяснений. Но объяснения ничего не раскроют. Нужны доказательства, что это сделала не Марина. Охранники их не нашли или не пытались – им-то зачем? Они не будут, как Виктор, театрально кричать: «Не верю!», они, наоборот, такого насмотрелись за свою карьеру, что склонны каждому авансом пришить по статье.
Марк полистал переписку Марины. Все было по делу. Отчеты уходили внутренним пользователям, обсуждались сроки их сдачи, задачи от начальников, поручения в другие отделы, дискуссии на темы, как правильно учесть затраты и какой подарок выбрать на день рождения сотруднику. Никакой личной жизни, только работа, работа и работа. Нудная, скучная, мелкая. Адрес my-finance тоже, кроме одного-единственного письма, не светился нигде. Марк считал, что эту почту перерыли в поисках компромата, как золотоносную жилу в надежде на богатство. Вряд ли он найдет там новые улики. А вот заглянуть в переписку господина Кольцова было перспективно.
Марк даже немного удивился, когда перед ним раскрылась почта Кольцова. Да, переписка хранится на собственном сервере, да, доступ к ней только у главного администратора. Но человек, отвечающий за безопасность, должен быть дважды осторожен и трижды мнителен. Как же он мог допустить, чтобы к его переписке имел доступ хоть кто-то кроме? Возможно, он действительно не молод и сделал карьеру, когда подступы к шахте контролировали отряды ребят в кожаных куртках с автоматами. А генералы всегда готовятся к прошедшей войне.
Кольцова звали Захар Петрович. Так к нему обращалось большинство авторов писем. В его же автоподписи значилась должность: «Заместитель генерального директора по безопасности». «Большой человек», – подумал Озеров. Он набрал в поиске «Зайцева» и стал изучать письма, связанные с Мариной. Захар Петрович явно не был фанатом электронной почты. Все письма были входящие. «Свои ответы и задачи Кольцов, видимо, вручал с помощью скорохода», – ухмыльнулся Марк. Но, скорее всего, Захар Петрович, конечно, общался лично или по телефону. А набор буковок на клавиатуре – это миссия секретарши. Марк часто встречал в крупных компаниях таких начальников, проросших из компостной ямы девяностых, основательно удобренной трупами бизнесменов и рэкетиров.
Письма Кольцову еще раз подтвердили текущую версию. Отдел безопасности получил информацию о сливе отчетности на сторону. Они проверили переписку Зайцевой и обнаружили это письмо. Зайцеву вызвали на общение (допрос), но она все отрицала. Ее компьютер изъяли и проверили. На нем нашли те же скриншоты экрана с документами, что и в отправленной почте. Когда ей предъявили все это, то она сказала, что впервые видит эти документы и письма, и не смогла это хоть как-то объяснить. Зайцевой показали договор о коммерческой тайне, подписанный ею при приеме на работу. Она отказалась говорить. Угрозы уволить и подключить полицию на нее подействовали только как запуск неостановимого потока слез. Повторный допрос (общение) на следующий день тоже не принес результата. В итоге с Зайцевой подписали соглашение о неразглашении, припугнув ее уголовным делом, если информация об утечке станет известна кому-нибудь еще, и уволили по статье семнадцатого февраля.
Ничего принципиально нового, кроме странного первого сообщения о «получении информации». Не нашли, не обнаружили в результате доблестного мониторинга исходящей переписки сотрудников, а «получили информацию». Озеров перешел на почту Владимира Пыстина, который прислал это первое сообщение Кольцову и снова запустил поиск по фамилии мертвой девушки. Искомое письмо попалось почти сразу. Оно пришло пятнадцатого февраля с адреса 678549as@gmail.com. Чистая анонимка без имени. А даже если бы оно и было, стоило бы доверять всерьез письму с такого, точно наспех придуманного почтового ящика? Оно пришло на общую почту, но секретарь, отвечающий за ее разбор, в конце рабочего дня переслал его по назначению с припиской: «Володя, посмотри сообщение, может, что-то важное?»
«Тема «FW: Отдел безопасности ПАО «Кузбасская угольная компания».
У меня есть информация, что ваш сотрудник Зайцева Марина отправляет финансовую отчетность вашей организации в брокерские компании, что является нарушением Федерального закона «Об акционерных обществах».