Несанкционированное подключение
Дождь за окном компьютерного клуба "Кальмар" стучал по жестяной крыше, создавая ритмичный фон для ночной работы. Алиса Вольская откинулась на спинку стула, чувствуя, как немеет шея после пяти часов непрерывного кодинга. Ее пальцы автоматически потянулись к клавишам, выводя очередную команду:
sqlmap -u "https://university.edu/internal/exams" –level=5 –risk=3
Экран ответил красным предупреждением:
[CRITICAL] IP blocked (403 Forbidden)
"Опять," – прошептала она, сжимая кулаки. Кожа на костяшках пальцев побелела от напряжения. В подвале было душно – запах перегретых процессоров смешивался с ароматом дешевого растворителя и вчерашней пиццы.
Алиса потянулась за почти пустой банкой энергетика, делая последний глоток. Жидкость оказалась теплой и противно сладкой. Она сморщилась и швырнула банку в мусорное ведро, где та со звоном присоединилась к десятку таких же.
На часах было 3:47. Желудок предательски урчал, напоминая, что последний раз она ела… когда? Вчера днем? Вздохнув, Алиса сохранила сессию и потянулась за рюкзаком.
Магазин "У Васи" светился в ночи как маяк для ночных обитателей района. Заведение Василия Петровича работало круглосуточно – последний оплот цивилизации в этом районе после полуночи.
Дверь звякнула колокольчиком. За прилавком дремал сам хозяин – шестидесятилетний ветеран Афганистана с татуировкой на плече.
"Опять ночные бдения?" – хрипло спросил он, даже не открывая глаз.
Алиса хмыкнула, направляясь к полкам с едой. Ее выбор был привычен: две банки энергетика без сахара, готовые бутерброды и шоколадный батончик "Марс".
"Тебе бы нормально питаться, девочка. Не хватало еще, чтобы мой лучший клиент с голоду скончался."
Алиса фыркнула, отсчитывая мелочь.
Старик сунул в пакет дополнительную шоколадку – "Бери. На сдачу. И спи иногда, а то выглядишь, как зомби из того ихнего сериала."
Дорога домой растянулась на двадцать медленных минут. Алиса шла, разминая затекшую спину, ее кроссовки хлюпали по лужам. Город в этот час был почти пуст – только редкие такси да полицейские патрули нарушали ночную тишину.
Она вспоминала, как год назад, сидя на этой же скамейке у детской площадки, взломала сайт олимпиады и вытащита ответы для поступления на бюджет.
Бабушка бы гордилась. Та самая бабушка, которая в семьдесят лет могла объяснить разницу между TCP и UDP, которая притащила с помойки первый компьютер и сказала: "Вот, разберись, как это работает". Которая верила в нее, даже когда все остальные – включая собственных родителей – давно махнули рукой.
А потом бабушки не стало. И Алиса осталась одна с ее старым ноутбуком и кучей нерешенных проблем.
Квартира встретила её беспорядком и тишиной. Однокомнатная хрущёвка напоминала логово затворника: стол, заваленный электроникой, три монитора на подставке из книг, кровать, утопающая в чистом белье. На полке мирно уживались "Современные операционные системы" Таненбаума и потрёпанный томик Ахматовой.
Алиса бросила пакет на кухонный стол и принялась разогревать готовую еду. Пока микроволновка гудела, она машинально проверила почту:
У вас (одно) непрочитанное сообщение.
Тема письма: "Изменения в расписании". Алиса уже хотела закрыть вкладку, когда заметила имя нового преподавателя:
Предмет "Информационная безопасность" будет вести Громов В.С. Первая лекция – послезавтра, 10:00, ауд. 310.
Она прищурилась. Новый преподаватель в середине семестра? Странно. Очень странно.
На следующий день дождь начался ровно в тот момент, когда Алиса переступила порог университета. Холодные капли стекали по ее капюшону, оставляя мокрые дорожки на кожаном рюкзаке. Она резко встряхнула головой, словно отряхиваясь не только от воды, но и от навязчивых мыслей.
Аудитория встретила ее ярким светом люминесцентных ламп и гулом голосов. Алиса проскользнула к своему привычному месту у окна, где стол был испещрен царапинами от чужих ручек. Она опустила ноутбук, и экран ожил, тут же высветив полузаконченный скрипт.
```python
# попытка обхода аутентификации через уязвимость в API
import requests
url = "https://university.internal/exam_system/login"
headers = {"X-Forwarded-For": "127.0.0.1"}
data = {"username": "admin", "password": "' OR '1'='1"}
```
Преподаватель по теории баз данных что-то говорил о нормализации, но слова растворялись в воздухе, не долетая до ее сознания. Вместо этого Алиса слышала лишь тонкий стук клавиш под пальцами и шелест страниц учебников. Она прикусила губу. Вкус железа разлился по рту – то ли от нервов, то ли от того, что неосознанно разгрызла заеду. На экране ноутбука мигал курсор, будто поддразнивая ее.
Но внезапно за спиной раздался кашель. Алиса резко свернула окно терминала, ударив локтем о край стола. Боль пронзила руку, но она даже не поморщилась.
– Вольская, – раздался голос.
Она медленно подняла голову. В проходе стоял староста группы, Денис, с пачкой распечаток в руках.
– Ты на субботник записана?
Алиса уставилась на него, словно он говорил на древнегреческом.
– Что?
– Субботник. Завтра. Газоны убирать.
Она фыркнула и отвернулась к окну. За стеклом дождь теперь стучал с удвоенной силой, превращая кампус в размытое пятно.
– Не приду.
– Обязательно, – он шлепнул бумаги перед ней. – Иначе проблемы будут.
Когда он ушел, Алиса скомкала листок и засунула в карман. Проблемы? Она каждый день жила в них, как в тесной квартирке бабушки. Да и к тому же ей было очевидно, что ее считают странной – розовые волосы, как у любимой аниме-героини и вечно угрюмое выражение лица делали свое дело, она так и не смогла обзавестись здесь друзьями.
Лекция тянулась мучительно долго. Алиса считала минуты, пока солнце за окном не начало медленно угасать, окрашивая стены в грязно-оранжевый цвет.
Компьютерный клуб "Кальмар" встретил ее знакомым запахом – пыль, пластик и сладковатый аромат дешевого энергетика, пролитого на ковролин. Она пнула дверь ногой, и та со скрипом поддалась. Кивнув админу, Алиса прошмыгнула в помещение.
В углу, заваленном проводами, стоял ее "трон" – стул с оторванной спинкой и мерцающий монитор. Алиса плюхнулась в кресло, чувствуя, как пружины впиваются в спину.
Пальцы сами нашли нужные клавиши.
```bash
ssh root@university-backup-server
```
Экран дернулся, выдавая долгожданную строку:
`root@univ-backup:~# _`
На часах было 23:47, когда она наконец нашла то, что искала.
Алиса задержала дыхание, когда на экране наконец появился заветный файл.
`/var/exam_database/final_tests_answers.zip – 4.7 MB`
Пальцы сами потянулись к флешке, торчащей из USB-порта. Она щелкнула мышью, перетаскивая архив, и на мгновение ей показалось, что сервер замедлил отклик – будто кто-то заметил несанкционированный доступ. Но через три долгих секунды прогресс-бар пополз вперед.
*17%… 34%… 89%…*
Флешка тихо пискнула, сигнализируя об окончании передачи. Алиса резко выдернула ее и зажала в кулаке, словно это был украденный алмаз. Дождь за окном усилился, хлестал по стеклам подвала, где располагался компьютерный клуб. Алиса сунула флешку в потайной карман джинсов, резко выключила ноутбук и встала. Она вышла на улицу и тут же промокла до нитки. Ледяные струи дождя затекали за воротник, спускались по спине, но Алиса даже не ускорила шаг. В кармане флешка грелась от прикосновения, будто живая зверушка. Трамвай №3 довез ее до спального района, где окна хрущевок светились тусклыми точками в ночи. Лифт, как всегда, не работал, и ей пришлось подниматься пешком по лестнице, пахнущей кошачьей мочой и дешевым отбеливателем.
Ключ заскрипел в замке.
– Я дома, – пробормотала Алиса в пустую квартиру.
В прихожей валялись разбросанные кроссовки и пустая пиццерия. Она скинула мокрую куртку на вешалку, прошлепала босиком на кухню и сунула флешку в банку с кофе – ее импровизированный сейф. Только теперь, стоя под жужжащей лампой дневного света, Алиса позволила себе улыбнуться.
Завтра она проверит файлы. А потом…
Потом она посмотрит в глаза этому новому преподавателю, Громову, и узнает, действительно ли он так хорош, как о нем говорят.
На кухне зашипел чайник. Алиса потянулась за кружкой, случайно взглянув на бабушкину фотографию на холодильнике.
– Получилось, – шепнула она потрескавшемуся стеклу.
За окном ливень стихал, оставляя после себя только мерцание мокрого асфальта под фонарями и тихий шепот воды в сточных трубах.
Курс на доверие
Дождь не прекращался уже третий день. Вода стекала по оконным стеклам главного корпуса университета, искажая очертания профессоров, спешащих на утренние лекции. Алиса стояла под навесом, куря вчерашнюю сигарету, которую нашла в кармане куртки. Пепел падал в лужу, растворяясь без следа.
Ровно в 9:55 она затушила окурок о кирпичную стену и толкнула дверь корпуса.
Аудитория 310 оказалась неожиданно просторной. Высокие потолки, старые деревянные парты с выцарапанными поколениями студентов надписями, огромное окна в пототлок. На доске мелом было выведено:
«Кибербезопасность. Преподаватель: Громов В.С.»
Комната была полна.
Необычно для пары по инфобезопасности во втором семестре. Обычно после первой сессии половина группы сливалась, но сегодня собрались все. Даже те, кто раньше прогуливал.
Алиса проскользнула к своему месту у окна, но тут же нахмурилась.
Её парта была занята.
Девушка с розовыми волосами намного ярче, чем у Алисы и в очках с синими линзами развалилась на стуле, уставившись в телефон.
– Моё место, – буркнула Алиса.
Девушка подняла голову.
– Свободная страна, – пожала плечами. – Садись рядом.
Алиса сжала зубы. Она ненавидела, когда кто-то вторгался в её пространство. Но спорить не стала – опустилась на соседний стул, швырнув рюкзак под ноги и положила перед собой ноутбук,держа его закрытым.
Кто-то громко спросил:
– Вы слышали, что этот Громов – бывший военный?
– Говорят, он взламывал системы НАТО, – шепотом ответил другой.
Алиса фыркнула. Идиоты. Если бы он и правда был таким крутым, не преподавал бы в этой шарашкиной конторе.
Дверь открылась.
В аудиторию вошел высокий мужчина в строгом сером пиджаке. Шрамы на руках, коротко стриженные волосы, холодные глаза. Он не сказал ни слова, просто поставил на стол старую кожаную папку и окинул взглядом аудиторию.
Тишина наступила мгновенно.
– Меня зовут Виктор Сергеевич Громов, – его голос был тихим, но каждое слово звучало, как удар. – Курс называется "Информационная безопасность". На деле это значит – я научу вас думать как те, кто хочет взломать любые системы.
Его голос был тихим, но каждое слово падало, как камень в воду, оставляя круги напряжения.
– Первое правило: если вы думаете, что умеете взламывать – вы очень самонадеянны.
Алиса почувствовала, как по спине побежали мурашки.
– Второе правило: безопасность – это процесс, а не результат.
Он прошёлся взглядом по аудитории, остановившись на Алисе.
– Вольская, – произнёс он, словно проверяя. – Вы ведь знаете, о чём я говорю?
Алиса замерла.
Он знал её имя.
Не просто прочитал в списке – знал.
– Я… – она замялась, чувствуя, как девушка рядом ухмыляется.
– Неважно, – Громов развернулся к доске. – Начнём с основ.
Он взял мел и написал:
"Атака через социальную инженерию"
– Кто-нибудь знает, что это?
Розоволосая соседка тут же подняла руку.
– Это когда дурачат людей, – сказала она с уверенностью.
Громов усмехнулся.
– Близко. Вольская?
Алиса нахмурилась.
– Это манипуляция, – сказала она. – Когда ты заставляешь человека добровольно отдать то, что тебе нужно.
Громов кивнул.
– Пример?
– Фишинг. Поддельные письма. Звонки "из техподдержки".
– Хорошо, – он повернулся к доске. – А теперь представьте – вы получаете письмо.
Он написал на доске адрес:
– От кого?
– От… администрации? – неуверенно сказал кто-то с задних рядов.
– Нет, – Громов улыбнулся. – От меня.
Он достал телефон, нажал кнопку – и у половины группы одновременно зазвонили гаджеты.
Алиса достала свой.
Новое письмо: "Срочно! Ваш аккаунт взломали!"
– Откройте, – сказал Громов.
Розоволосая соседка тут же ткнула в ссылку.
– Ой! – она засмеялась. – "Вы проиграли!"
Громов подошёл к её парте.
– Как вас зовут?
– Лена.
– Лена, вы только что "добровольно" запустили троян.
Аудитория затихла.
– Но… это же учебный сервер? – растерялась Лена.
– А если бы нет? – Громов посмотрел на Алису. – Вольская, что бы вы сделали?
Алиса стиснула зубы.
– Проверила заголовки ссылки.
– Правильно.
Он вернулся к доске.
– Сегодняшний урок: ваш главный враг – не хакерские атаки, а ваша самоуверенность.
Лекция продолжалась, но Алиса почти не слушала. Она смотрела на Громова и думала о своем. Руки уже тянулись пробить его по всем фронтам и выяснить о новом преподавателе все. Единственное, что останавливало – любопытный нос сидящей рядом Лены.
Лекция закончилась так же резко, как и началась. Громов закрыл папку, не дав ни заданий, ни списка литературы – только бросил на прощание:
– До следующей среды. И проверьте почту.
Аудитория взорвалась шумом. Студенты наперебой обсуждали необычного преподавателя, но Алиса молча собирала вещи.
Она протиснулась между группами болтающих студентов, ловя обрывки разговоров:
"…а мне нравится, он хоть объясняет понятно…"
"…Громов реально бывший ФСБшник, мой брат…"
Лена нашла ее за угловым столиком в столовой, где Алиса ковыряла вилкой холодные макароны.
– Можно? – розоволосая девушка плюхнулась на стул без разрешения. – О, у тебя «Мальборо»! Давай одну.
Бровь Алисы поползла вверх. Неужели она планирует курить в помещении?
Она молча протянула пачку.
– Я, кстати, Лена. – Она закурила, ловко щелкнув зажигалкой с гравировкой.
– Ты вчера сервер университета ломала, да?
Алиса поперхнулась чаем.
– С чего ты..?
– Расслабься, я не стукачка. – Лена выпустила дым колечком. – Сегодня утром появилось сообщение что сервер был взломан и отправляется на технические работы, а ты эту новость читала в ноуте с довольным личиком. И Громов тебя выделяет. Интересно, почему.
Из-за соседнего стола донесся хохот. Группа спортсменов что-то праздновала, стуча кружками по столу. Один из них, широкоплечий блондин, поймал взгляд Алисы и поднял бутылку:
– Эй, киберготки! К нам присоединяйтесь!
– Это Саня, – шепнула Лена. – Капитан команды по волейболу. Дурак, но безобидный.
Алиса фыркнула.
– Ты всех здесь знаешь?
– Почти. – Лена улыбнулась. – Я тут за полгода неплохо освоилась. А тебе надо вылезать из скорлупы, а то сожрешь себя изнутри.
Она встала, оставив на столе смятый номер телефона.
– Если захочешь потусить – звони.