Читать книгу «Сисадмин. История одного взлома» онлайн полностью📖 — Юрия Гиммельфарба — MyBook.
image

Поиск

Автомобиль остановился возле самого подъезда. За всю дорогу охранник не произнес ни слова и даже не повернул головы. Высадив Сергея около его подъезда, он захлопнул дверцу машины и, не сказав ни слова – даже не попрощавшись – развернулся и уехал.

«Ну и манеры», – подумал Сергей. – «Ни тебе здрасьте, ни мне спасибо, ни нам до свиданья. Одно слово – гоблины».

Ладно, это все не так важно. Плевать ему на этого тупого верзилу. Его ждет работа. Жаль, конечно, что отпуск накрывается медным тазом, но зато можно весьма неплохо подзаработать. Хотя, почему сразу «накрывается»? Если выполнить всю работу за одну неделю, то останется еще три недели на весьма неплохой отдых. А, имея такие деньги на кармане, можно вдвоем с Ленкой махнуть не Сочи, а куда-нибудь получше!

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

За свою жизнь Сергей никогда не ставил себе задачи специально ломать защиты или вскрывать программы. Но препятствия заводили его. Стоило появиться препятствию, стоило чему-то встать у него на пути – и Сергею сразу хотелось победить компьютер, обойти все преграды, добиться своего. Напротив, рутинная работа в конторе его раздражала именно из-за своей обыденности и рутинности. В его нынешней работе не было место творчеству, азарту, профессиональному риску. Вот и сейчас, даже зная, что, попавшись на взломе банковской системы, последствия могут быть весьма печальными, Сергей ощутил знакомый холодок безрассудства, какую-то бесшабашную удаль, азарт. Он не думал уже о последствиях: перед ним стояла задача, требующая своего решения. Он хотел быть лучшим.

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

Компьютер был его другом. Только глядя на экран монитора и ощущая пальцами клавиши, Сергей ощущал полное душевное спокойствие. Это был его друг, собеседник – и в то же время соперник. Это было его второе «я», без которого Сергей просто не мог существовать. Во время работы, он разговаривал с ним, хвалил, ругал и в эти мгновенья компьютер казался Сергею живым существом.

Введя пароль, Сергей вошел в программу. Для начала он попробовал изменить пароль по своему усмотрению. Тут же оказалось, что это не так-то просто: простые пароли типа «один-два-три» не проходят и меньше восьми символов не принимаются. Более того, не проходили и пароли, состоящие только из цифр или только из букв: нужна была комбинация букв и цифр.

– Нормально сделано, – пробормотал Сергей самому себе. – Значит, вариант подбора пароля практически исключен.

Хотя, почему исключен? Если как у него: имя плюс год рождения и восклицательный знак? Бред, тут же оборвал себя Сергей. Ну, у одного так пароль подобрали, ну, – да и то, в самом крайнем случае! – у двоих, но ведь не у двадцати же шести одновременно? Нет, Костя в этом вопросе, безусловно, прав: со стороны потерпевших клиентов сговор и махинации исключались. Они пострадавшие в прямом, а не в переносном смысле.

Ладно, оставим пароль в покое. А что ключевая флэшка? Сергей попробовал ее скопировать. Нет, не выходит. Ладно, а если скопировать специальными программами? О как, тоже не выходит! Смотри-ка ты, ежики небритые, защита хорошо сделана! Значит, копироваться ты, зараза, не хочешь, да? Ладно, решил Сергей, мы тоже не пальцем деланы, а что вы скажете против моей программки копирования на физическом уровне? Ну-ка, давай теперь посмотрим…

Сергей вставил в разъем скопированную флэшку и попробовал снова войти в программу. Сверх всяких ожиданий, программа загрузилась. Опаньки, значит, вот где собака порылась! Значит, эта гребаная защита, сертифицированная ФАПСИ, ломается на физическом уровне. Ну, хорошо. Теперь попробуем тот же метод при запросе банковской выписки или отправке денег…

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

«Операция завершена успешно. Деньги переведены».

– Вот тебе, бабушка, и Юрьев день, – довольно пробормотал Сергей. – Немного же времени потребовалось для того, чтобы сломать защиту.

Ну что ж, значит, можно звонить Косте. Хотя, пожалуй, с этим есть смысл повременить. Еще зажилит оставшиеся двадцать штук, скажет, мол, что работы было на три копейки. Ничего, решил Сергей, позвоню через пару-тройку дней. А пока что надо выпить пивка. Кстати, кажется, в холодильнике завалялось пара бутылочек.

– Стоп, – вдруг сказал Сергей самому себе. – А чего, собственно говоря, я добился? Ну, хорошо, я взломал систему. Я скопировал ключ. Следовательно, по ложному ключу перевел деньги. Ну и что же мы имеем? Будем рассуждать логично. Я скопировал ключ потому, что он у меня был. Не имей я ключа – черта с два вошел бы в систему. Но что толку? Опять-таки, двадцать шесть кретинов не могли собрать в одном месте все двадцать шесть ключей. Но даже если и собрали? Вероятность такого сговора не больше чем вероятность одновременного извержения двадцати шести вулканов на планете.

Хотя опять-таки стоп. Кто делает ключевые флэшки? В самом банке. Тамошние инженеры. Значит, получается, что сделана копия? Теоретически возможно, но практически бесполезно. Одновременно запустить двадцать шесть копий программы на одном компьютере нереально. Хотя, почему нереально. Надо попробовать…

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

«Внимание! Загрузка программы невозможна: вероятно, запущена еще одна копия программы Клиент-Банк!».

Ну вот, что и требовалось доказать! Впрочем, это предсказуемый вариант. Одновременный запуск программы на одном компьютере исключается. Хотя, постой… А что если этот злодей двадцать шесть компьютеров задействовал или запустил двадцать шесть виртуальных машин на одном компьютере?

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

Хорошо, тогда придется заглянуть чуточку поглубже. Когда устанавливается связь с удаленным компьютером, порт открывается. Значит, чисто теоретически есть возможность подключиться удаленно к тому компьютеру в тот момент, пока программа работает.

Давай-ка будем рассуждать логично, подумал Сергей. Наверняка, в банке есть компьютер, который используется для внутренних коммуникаций сотрудниками. Значит, есть весьма высокая вероятность, что он находится на весьма открытом участке сети. Значит, надо просканировать адреса компьютеров «Кора-Банка», подключенные к сети. Впрочем, чего гадать на кофейной гуще? Надо попробовать, мы ничего не теряем…

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

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

Между тем наступил вечер. В комнате стемнело, на улице зажглись фонари. Сергей встал, включил настольную лампу, потом потянулся, пошел на кухню, поставил на плиту чайник. Так, размышлял Сергей. Где можно поискать что-либо интересное? Он привык работать, доверяя не столько своим знаниям, сколько интуиции, звериному чутью, которое необъяснимо просыпалось в нем в тот момент, когда нужно было решить какую-нибудь проблему, на первый взгляд казавшуюся неразрешимой.

Может покопаться в электронной почте? Мало ли, что интересного там можно найти… Или воспользоваться «дырками» в операционной системе – таких существует немало, причем некоторые Сергей нашел лично и они нигде, ни в одной документации не описаны. Например, при выходе в сеть некоторые сервера иногда зависают. Но все-таки: что искать? Как можно одновременно инициировать работу систем «Клиент-Банк»?

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

Погоди, сделаем в сканировании компьютеров небольшой перерыв, подумал Сергей. Временно оставим их в покое, тем более что никуда они не денутся. Давай порассуждаем логично. Одновременный платеж – ставлю миллион долларов на то, что это инициировали с одного компьютера. В пользу этого умозаключения говорит тот факт, что разница между транзакциями составляла несколько секунд. Но как же это сделали? Вручную – бред, это отпадает. Запустили программу по расписанию? В принципе, теоретически такое вполне возможно. Но если это сделали именно таким образом, то это означает, что тот злодей, который это осуществил – просто законченный клинический идиот, ибо подобные фокусы обнаруживается в два счета. А судя по тому, насколько четко и профессионально был продуман весь сценарий данного ограбления, автор его – далеко не дурак. Следовательно, давай будем исходить из того, что этот кибер-гопник – человек умный. Значит, таких явных следов оставлять он не будет. А как еще можно запустить такой процесс, если не по расписанию?

Стоп. А если он написал вирус? Допустим, он нашел способ написать некий вирус или, точнее, не вирус, а некий «троян», задача которого совершить некие целенаправленные и в данном случае вредоносные действия?

Сергей припомнил один случай, произошедший с ним лет семь назад. Он тогда работал программистом в небольшой фирме по разработке программного обеспечения. Директором фирмы был его старый знакомый Андрей, носивший редкую фамилию: Зимний. Однажды фирма заключила большой договор на разработку программы по учету начисления заработной платы. Договор был денежный и выгодный, но оформить его нужно было срочно, поэтому все носились по офису, как угорелые, и старались сделать все как можно быстрее. Девочка-секретарша куда-то запропастилась, поэтому Андрей велел Сергею быстро распечатать договор.

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

«Договор на оказание научно-технических услуг

ООО «Алмис», именуемое далее Заказчик, в лице Директора Бугоркова Олега Викторовича, действующего на основании Устава и ООО «Центр новых информационных технологий и телекоммуникаций», именуемое далее Исполнитель, в лице Директора Зимнего Андрея Александровича, действующего на основании Устава, заключили настоящий Договор о нижеследующем:

Исполнитель принимает на себя разработку комплекса программ «Учет заработной платы» для обеспечения деятельности Заказчика на базе персональных ЭВМ, именуемый далее Система.

Требования, предъявляемые к разрабатываемой Системе, изложены в техническом задании, которое является неотъемлемой частью настоящего Договора»

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

Офис его заказчика Олега Бугоркова находился в том же здании четырьмя этажами выше, но Андрей не стал ждать лифта и пулей, перепрыгивая через две ступеньки, вбежал в офис компании «Алмис».

– Директор у себя? – тяжело дыша и вытирая пот со лба, спросил Зимний.

– Да, Андрей Александрович, у себя и ждет вас, – миловидная секретарша Леночка быстро встала и распахнула перед Зимним дверь директорского кабинета.

Войдя в кабинет, Зимний поднял руку в знак приветствия, подошел к Бугоркову и, не произнося не слова, протянул ему договор.

Взяв экземпляр договора из рук запыхавшегося Андрея, Бугорков водрузил на нос очки и погрузился в чтение. Но, едва прочитав несколько строчек, он вначале разинул рот от удивления, остолбенело поднял глаза на Андрея, а затем, спустя несколько секунд, захохотал.

– Ты чего? – удивился Андрей.

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

«Договор на оказание научно-идиотских услуг

ООО «Алмис», именуемое далее Заказчик, в лице Директора Бугоркова Олега Викторовича, трахающего на основании Устава и ООО «Центр дебильных вонючих технологий и телекоммуникаций», именуемое далее Исполнитель, в лице Директора Тупого Андрея Александровича, сморкающего на основании Устава, заключили хреновый Договор о нижеследующем:

Исполнитель принимает на себя разработку комплекса программ «Учет идиотской платы» для обеспечения деятельности Заказчика на базе мерзких ЭВМ, именуемый далее Система.

Требования, предъявляемые к хреновой Системе, изложены в дебильном задании, которое является вонючей частью долбаного Договора»

И дальше все шло в том же духе: такая же несусветная околесица.

Выругавшись, Зимний резко развернулся и пулей кинулся к выходу. За его спиной слышался хохот Бугоркова.

– Твою мать! – заорал Зимний, ворвавшись в офис. – Это что такое? Что за идиотские шуточки? Ты что напечатал?

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

Вспомнив этот случай, Сергей не смог сдержать улыбки. А что если у этого трояна в данном случае иная задача: перехватить работу программы и по определенным счетам при запросе выписки добавить в выписку одну запись? Хм-м, а что, вполне может быть… Но тогда размер тела этого трояна должен быть значительным. Хотя, погоди-ка… А что если данные с перечнем счетов хранятся не в теле этого трояна, а отдельно? Если хранить данные отдельно, то брать данные он будет из сторонней таблицы и тогда размер его будет мизерным и кроме антивирусного монитора его никто и ничто не обнаружит – разве что случайно. Но в банке наверняка установлен входной антивирусный контроль и гарантированно ведется антивирусный мониторинг: не дебилы же банковские программисты, в конце-то концов: это же азы, элементарные основы компьютерной безопасности! Как же в таком случае этот троянец смог обойти защиту? Почему антивирусный монитор не обнаружил постороннюю процедуру в оперативной памяти компьютера?