По пер­ронам Фин­лянд­ско­го вок­зала, буд­то по дюнам Фин­ско­го залива, гулял сты­лый ветер. Паровоз с номером 293 замер в сво­ем стек­лянном сар­кофаге, про­вожая погас­шими гла­зами фар спе­шащих на элек­трич­ки пас­сажиров. Ког­да‑то, в 1917 году, он при­вез в Пет­роград Ленина и в наказа­ние за этот прос­тупок остался навеки заточен­ным за стек­лом, слов­но в проз­рачной глы­бе льда. А сам Иль­ич замер брон­зовым исту­каном непода­леку — на при­вок­заль­ной пло­щади.

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

— Кикс!

Это­го дол­говязо­го пар­ня в над­винутом на гла­за капюшо­не он узнал сра­зу и нес­казан­но уди­вил­ся: Кирилл, конеч­но, ожи­дал уви­деть кого‑то из быв­ших кол­лег, но полагал, что ини­циато­ром ста­нет началь­ство. Да и проз­вище визави впол­не соот­ветс­тво­вало наз­начен­ному мес­ту встре­чи.

— При­вет, Шпа­ла. Ты где мой номер раз­добыл?

— Мно­гие зна­ния — мно­гие печали, — философ­ски отоз­вался тот. — Один при­шел? Это хорошо. Пой­дем мес­течко потеп­лее поищем, нефиг тут мер­знуть.

Под­ходящая забега­лов­ка, где в этот час не было ни одно­го посети­теля, отыс­калась сов­сем рядом, на ули­це Лебеде­ва.

— Я из нашей кон­торы пол­тора месяца назад сва­лил, как толь­ко срок обя­затель­ных работ вышел, — потяги­вая из похоже­го на цве­точ­ную вазу бокала «Василе­островское», начал рас­сказ Шпа­ла. — Пред­лагали остать­ся, но я решил пос­лать их к чер­ту. Вро­де и работа нор­маль­ная, но все рав­но как в тюрь­ме. Устро­ился в дру­гую фир­му, тоже инфо­безом занима­ется.

— А осталь­ные как? — отхлеб­нув из сво­ей «вазы», поин­тересо­вал­ся Кирилл.

Пи­во он не любил, но за ком­панию решил поп­робовать про­дукт мес­тной пивовар­ни. Горечь раз­лилась по язы­ку, и он, помор­щившись, пос­тавил круж­ку обратно на стол. Шпа­ла пожал пле­чами:

— Да не обща­юсь я ни с кем осо­бо. Тебе вот толь­ко решил наб­рать. Короче, ког­да эта DDoS-ата­ка началась, ну, ты вру­баешь­ся о чем речь, я до самого кон­ца не верил, что это все «Тер­ра» устро­ила…

— Я и сам сом­невал­ся, — сог­ласил­ся Кирилл, — ведь они, счи­тай, себе при­говор под­писали. Кто с ними свя­зывать­ся пос­ле такого будет, софт покупать, акции? Да от их прог­рамм нор­маль­ные люди изба­вят­ся теперь при пер­вой же воз­можнос­ти. Тут ибэш­ники по все­му миру на уши дол­жны были встать…

— А ни хре­на, Кикс, — сно­ва при­ложил­ся к бокалу Шпа­ла, — все нем­ного слож­нее, чем ты дума­ешь. Глав­ные заказ­чики, которые из пра­витель­ства, уто­нуть им в любом слу­чае не дадут. Да и не тонет такое… Это мне Кущин рас­ска­зал, а он в теме. Короче, там у них уже дав­нень­ко грыз­ня шла меж­ду дву­мя про­тиво­борс­тву­ющи­ми груп­пиров­ками за финан­сирова­ние и кусок пирога пов­куснее. Одни прод­вигали идею, что, мол, все вой­ны будуще­го будут вес­тись исклю­читель­но в сети, и хотели фор­сировать раз­работ­ку киберо­ружия вро­де это­го самого «Пер­цеп­тро­на». Если взле­тит, такую сис­тему мож­но потом тому же государс­тву про­дать за очень немалые сум­мы. Озо­лотишь­ся, как какой‑нибудь «Лок­хид», который истре­бите­ли штам­пует. Дру­гие говори­ли: «Не занимай­тесь фиг­ней и давай­те кле­пать тан­чики». Эти за тра­дици­онные под­ходы и в кибер­вой­ны будуще­го не верят. На всех, как ты понима­ешь, денег не хва­тит. А тут под­вернул­ся отличный слу­чай про­верить теорию на прак­тике, да не пер­выми уда­рить, а как бы отве­тить на внеш­нее втор­жение. Показать, так ска­зать, наг­лядно, на что идут баб­ки налогоп­латель­щиков, а заод­но и эффектив­ность это­го самого киберо­ружия про­тес­тировать. И кон­курен­там, которые на баб­ло пре­тен­дуют, нос уте­реть. Они ведь там уве­рены, что ата­ка на «Тер­ру» была сан­кци­они­рова­на на государс­твен­ном уров­не…

— И что‑то мне под­ска­зыва­ет, что это не прям стоп­роцен­тное заб­лужде­ние.

— Я не о том сей­час, Кикс. — Шпа­ла одним глот­ком осу­шил полови­ну сво­ей «вазы» и вытер пену с лица тыль­ной сто­роной ладони. — Мы тут в нашей кон­торе, ну, где я сей­час работаю, пос­тоян­но сеть монито­рим. Активность бот­нетов отсле­жива­ем и все такое. Так вот, в сетях с айпиш­никами «Тер­ры» в пос­леднее вре­мя ходит подоз­ритель­ный шиф­рован­ный тра­фик… Ну как подоз­ритель­ный… Необыч­ный.

— Дума­ешь, оно никуда не делось? — нас­торожил­ся Кирилл.

Шпа­ла кри­во усмехнул­ся:

— А сам как счи­таешь? Дол­жны же у таких серь­езных ребят остать­ся бэкапы. Пол­ностью изо­лиро­ван­ные от внеш­него интерне­та air-gapped-сер­веры или целые сети, нап­ример. Не мог­ли они не пре­дус­мотреть такую защиту. Так что рано или поз­дно опом­нятся, точ­но тебе говорю. Толь­ко вот не это самое неп­рият­ное.

— А что?

— Да кли­енты их, которым мы хвост нак­рутили. Вер­нее, ты нак­рутил. Я с Кущиным пооб­щался, он мужик умный, хоть и упер­тый, как баран. У ФБР десят­ки собс­твен­ных отде­лений по все­му миру и боль­ше полусот­ни пред­ста­витель­ств. А есть еще Интерпол и Евро­пол с их кибер­крайм‑под­разде­лени­ями. Все наши ники, IP-адре­са, имей­лы и акка­унты на форумах там извес­тны, и, если захотят, они любого могут упря­тать в камеру лет эдак на трид­цать.

— Если най­дут.

— Ну, я‑то тебя нашел…

Шпа­ла допил свое пиво, пос­тавил опус­тевший бокал на стол и, под­нявшись, натянул на голову капюшон.

— В общем, Кикс, я тебя пре­дуп­редить хотел, что­бы ты того… Был поос­торож­нее. Ничего еще не закон­чилось, чувак. Такие вот дела… Лад­но, бывай.

Ки­рилл про­водил его взгля­дом, дож­давшись, ког­да чер­ный капюшон рас­тво­рит­ся в тол­пе про­хожих за окна­ми кофей­ни. Внут­ри неп­рият­но коль­нуло: а ведь они со Шпа­лой никог­да не были близ­кими друзь­ями и работа­ли вмес­те сов­сем недол­го. Да и в те вре­мена не слиш­ком час­то обща­лись. И вдруг тот решил его разыс­кать, про­явить заботу… За этим пре­дуп­режде­нием может скры­вать­ся что угод­но — от искрен­него желания пре­дос­теречь до чьей‑то непонят­ной игры. И не факт, что игра эта — в его поль­зу.


От­крыв крыш­ку ноута и запус­тив бра­узер, Кирилл смач­но выругал­ся. В его новые обя­зан­ности вхо­дило не толь­ко под­держи­вать чис­тоту в компь­ютер­ном зале и в сор­тире, но и сле­дить за поряд­ком на сай­те игро­вого клу­ба. Ну как сайт — так себе, домаш­няя стра­нич­ка на сер­вере про­вай­дера, пре­дос­тавляв­шего «Синему экра­ну» дос­туп в интернет. Зато с гос­тевой кни­гой. Вот в этой гос­тевой кни­ге и тво­рил­ся сей­час фор­менный хаос: нек­то под ником iV1rus неп­рерыв­но пос­тил туда матер­ные сооб­щения, не отли­чающиеся осо­бым сло­вар­ным раз­нооб­рази­ем. Кирилл нас­читал четыре десят­ка и даже уда­лил нес­коль­ко, но на их мес­те спус­тя все­го лишь пару минут появи­лись новые. Судя по все­му, это раз­вле­кал­ся какой‑то не слиш­ком умный школь­ник, нас­лажда­ющий­ся сво­ей ано­ним­ностью и пол­ной без­наказан­ностью, при­чем Кирилл даже смут­но догады­вал­ся, кто имен­но.

Ко­неч­но, мож­но зак­рыть поган­цу дос­туп к сай­ту по IP, но тот, если в голове у него име­ется хоть нем­ного моз­гов, вой­дет в сеть через прок­си, и все нач­нется сна­чала. Нуж­но отбить у малолет­него хулига­на само желание пакос­тить в чужой гос­тевой кни­ге. Работу гос­тевухи обес­печивал написан­ный на Perl при­митив­ный CGI-скрипт, поза­имс­тво­ван­ный из обще­дос­тупной кол­лекции бес­плат­ного соф­та. Зап­рещать отправ­ку содер­жимого фор­мы отдель­ным поль­зовате­лям он не умел, мак­симум, на что был спо­собен, — зафик­сировать дату и вре­мя пуб­ликации каж­дого сооб­щения. Этим скром­ным набором и огра­ничи­валась вся исходная информа­ция.

Ки­рилл под­клю­чил­ся к сер­веру про­вай­дера по FTP и открыл файл апа­чев­ско­го жур­нала access.log. Файл ока­зал­ся здо­ровен­ным, и на то, что­бы най­ти точ­ные соот­ветс­твия меж­ду момен­тами появ­ления нецен­зурных пос­ланий в гос­тевой кни­ге и вызова CGI-скрип­та, ушло немало вре­мени. Но оно не про­пало впус­тую — вско­ре Кирилл соб­рал целую кол­лекцию строк, опи­сывав­ших инте­ресу­ющие его события. Все они содер­жали одну и ту же запись: "GET/cgi-bin/woguest.cgi?act=add HTTP/1 1" 200, сви­детель­ству­ющую о том, что отправ­ка оче­ред­ного сооб­щения завер­шилась успе­хом. Одна­ко самое любопыт­ное обна­ружи­лось в кон­це — "http://bluescreen.plink.spb.ru/cgi-bin/woguest.cgi" "Mozilla/4.0 (compatible: MSIE 6.0: Windows NT 5.0)".

Ну, уже хоть что‑то. Во‑пер­вых, хулиган всег­да заходил на сайт клу­ба с одно­го и того же IP-адре­са, во‑вто­рых, поль­зовал­ся он бра­узе­ром Internet Explorer 6.0 на ком­пе с Windows 2000, а часовой пояс у него нас­тро­ен мос­ков­ский. Кирилл про­бежал­ся по сосед­ним зап­росам: вот неиз­вес­тный открыл стра­ницу гос­тевой кни­ги, вот отпра­вил фор­му, а затем перешел на стра­нич­ку с резуль­татами, любу­ясь соде­янным. Срав­нив User-Agent в этих записях, Кирилл убе­дил­ся, что перед ним один и тот же поль­зователь.

Ин­терес­но, а кому при­над­лежит этот айпиш­ник? Он открыл тер­минал, наб­рал на кла­виату­ре коман­ды whois и dig -x IP +short, про­бежал­ся гла­зами по выводу кон­соли. Сре­ди вороха про­чих дан­ных база RIPE выдала запись: «LENTRANSMASH-SPB Network». На вся­кий слу­чай Кирилл пин­ганул адрес — тот отклик­нулся, зна­чит, машина жива.

По­искав в сети, Кирилл быс­тро нашел этот самый «Лен­трансмаш» — боль­шое науч­но‑про­изводс­твен­ное объ­еди­нение на южной окра­ине города. Видимо, безоб­разник поль­зовал­ся папиной слу­жеб­ной пер­сонал­кой за неиме­нием домаш­него компь­юте­ра: об этом говори­ло и то, что все сооб­щения отправ­лялись стро­го в рабочее вре­мя, до восем­надца­ти нуль‑нуль, и к тому же пос­ле трех пополуд­ни, ког­да закан­чивались занятия в шко­ле. Да и двух­тысяч­ная вин­да намека­ла: это опре­делен­но кон­тор­ский комп, оби­тающий в пыль­ном кабине­те какого‑нибудь зам­шелого гос­предпри­ятия.

Рас­счи­тывая хоть на какой‑то полез­ный улов, Кирилл забил ник iV1rus в «Гуг­ле», «Рам­бле­ре» и «Яндексе». Уда­ча ока­залась на его сто­роне: поис­ковики выдали не толь­ко ICQ UIN, при­над­лежащий поль­зовате­лю по име­ни Ivan Zarubin, но в допол­нение к нему — кучу пос­тов это­го юзе­ра на фор­мах overclockers.ru, gametech.ru и cyberforum.ru. На ава­тар­ке «Кибер­форума» Кирилл узнал давеш­него любите­ля пива, которо­го выг­нал накану­не из компь­ютер­ного клу­ба, а в про­филе обна­ружил адрес элек­трон­ной поч­ты. Он поб­родил по выдаче «Гуг­ла» еще нем­ного. В ответ на сле­дующий зап­рос из недр поис­ковой сис­темы вып­лыло имя и нас­тояще­го вла­дель­ца пер­сонал­ки: Вла­димир Зарубин, глав­ный инже­нер «Лен­трансма­ша». Усмехнув­шись, Кирилл запус­тил поч­товик и, пог­лядывая на мига­ющий кур­сор, начал набирать строч­ку за строч­кой:

To: Ivan Zarubin
From: admin@bluescreen.plink.spb.ru
Subject: Покай­ся, ибо гря­дёт!

Здравс­твуй, Ванюша.

Да‑да, имен­но ты.

Мне пон­равились твои шут­ки в гос­тевой кни­ге на хоум­паге bluescreen.plink.spb.ru. Прав­да, IP, с которо­го ты туда писал, ведет в «Лен­трансмаш», в кабинет глав­ного инже­нера — тво­его отца, Вла­дими­ра Заруби­на. Я знаю, что ты учишь­ся в шко­ле на Брат­ской ули­це, знаю твой домаш­ний адрес, знаю, какая сис­тема сто­ит на ком­пе тво­его папы и как зовут твою так­су. Я мог бы зай­ти на этот комп и поменять зас­тавку на твое фото в розовом купаль­нике, отпра­вить лог тво­их под­вигов дирек­тору шко­лы и на поч­ту отца или прос­то хак­нуть твой акка­унт на Cyberforum и под­писать все твои пос­ты: «Я люб­лю Бар­би» (кста­ти, пароль там у тебя не самый надеж­ный). Но я доб­рый :). Поэто­му у тебя есть ров­но сут­ки, что­бы:

  1. Из­винить­ся в гос­тевой.
  2. На­писать, что Админ — крут.

Ина­че я запущу опе­рацию «Папа в ярос­ти».
Вы­бор за тобой, iV1rus.

Kicks, тот‑кто‑всег­да‑в-сети.

Пе­речи­тав с улыб­кой написан­ное, Кирилл нажал на кноп­ку, отправ­ляя пись­мо адре­сату. Оста­лось под­кре­пить свои угро­зы чем‑то чуть более дей­ствен­ным, нежели прос­тые сло­ва. Пос­коль­ку веб‑стра­ницы гос­тевой кни­ги соз­давались при вызове CGI-скрип­та авто­мати­чес­ки, Кирилл добавил в код пару строк, которые в момент обра­щения к это­му скрип­ту про­веря­ли IP-адрес посети­теля и заноси­ли его в перемен­ную $ip. На вся­кий слу­чай Кирилл решил получить и реаль­ный адрес поль­зовате­ля с помощью парамет­ра HTTP_X_FORWARDED_FOR — вдруг тот все‑таки зна­ет, что такое прок­си. Конеч­но, пер­вый адрес в цепоч­ке не всег­да гаран­тирован­но нас­тоящий кли­ент­ский IP — заголов­ки мож­но и под­делать, но на такое наш Ванюша вряд ли спо­собен. Это зна­чение Кирилл помес­тил в перемен­ную $real_ip. Если любой из получен­ных IP-адре­сов сов­падал с айпиш­ником лен­трансма­шев­ско­го компь­юте­ра, забито­го в перемен­ную $lamer_ip, всту­пала в дей­ствие вто­рая часть прог­раммы.

Ки­рилл знал: одно из наибо­лее сла­бых мест Internet Explorer вер­сии 6 зак­люча­ется в том, что при боль­шом чис­ле обра­щений к уда­лен­ным узлам бра­узер получа­ет мно­жес­тво HTTP-отве­тов, а из‑за осо­бен­ностей управле­ния окна­ми и памятью это при­водит к зависа­нию прог­раммы. Если с помощью цик­ла попытать­ся открыть на машине Вани Заруби­на при­мер­но сто тысяч окон Internet Explorer, бра­узер поп­росту рух­нет под собс­твен­ной тяжестью. Кру­тилась бы на его машине Windows 98 или Millennium, «Экс­пло­рер» похоро­нил бы опе­раци­онную сис­тему под сво­ими руина­ми, но двух­тысяч­ная, пожалуй, выдер­жит. Ко все­му про­чему, с исполь­зовани­ем нес­коль­ких прос­тых команд JavaScript эти окна мож­но откры­вать в пол­ноэк­ранном режиме, пред­варитель­но убрав из интерфей­са бра­узе­ра все средс­тва управле­ния, из‑за чего зак­рыть их будет не так‑то прос­то…

При­митив­но, конеч­но, но при­думы­вать более изощ­ренную под­лянку Кирил­лу было сей­час лень. С какой бы целью Ваня ни зашел теперь в гос­тевую — написать оче­ред­ную гадость или все‑таки изви­нить­ся, его будет ждать очень неп­рият­ный сюр­приз…

Ки­рилл отки­нул­ся на спин­ку сту­ла, доволь­ный про­делан­ной работой. В голове уже рисова­лась кар­тина, как школь­ник нач­нет в панике метать­ся меж­ду сот­нями всплы­вающих окон, не понимая, что про­исхо­дит. Это чувс­тво гре­ло луч­ше, чем батарея цен­траль­ного отоп­ления. Минимум уси­лий — мак­симум эффекта, зато гос­тевая теперь под его пол­ным кон­тро­лем, а малолет­ний ламер будет знать, что интернет — это не мес­то для без­наказан­ных выходок. Потянув­шись за науш­никами, Кирилл вклю­чил музыку и впер­вые за сегод­няшний день поз­волил себе рас­сла­бить­ся. Мель­ком взгля­нул на часы в ниж­нем углу экра­на: до зак­рытия магазин­чика, что обос­новал­ся в цоколь­ном эта­же сосед­него дома, есть еще нес­коль­ко часов, а зна­чит, он успе­ет попол­нить запасы про­дук­тов.

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

— Доб­рый вечер, Кирилл!

Со­сед из квар­тиры нап­ротив, при­мет­ный ста­рик с пыш­ными седыми уса­ми, вышел на свой тра­дици­онный про­менад до мусороп­ровода в синих тре­ниро­воч­ных шта­нах и с плас­тмас­совым вед­ром в руках.

— Здравс­твуй­те, — веж­ливо кив­нул Кирилл.

— Борис Семено­вич, — пред­ста­вил­ся сосед. — Ты изви­ни, пожалуй­ста, что я вот так без­застен­чиво тебя задер­живаю, но вот хотел с одной неболь­шой прось­бой обра­тить­ся. Мож­но?

Ки­рилл под­тол­кнул непос­лушную дверь коленом, и замок наконец зак­рылся.

— Пожалуй­ста.

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

— Конеч­но, — пожал пле­чами Кирилл.

— Вот спа­сибо! — рас­плыл­ся в улыб­ке Борис Семено­вич. — Я, зна­ешь ли, еще шах­маты очень люб­лю. Рань­ше ведь как было: хочешь с кем‑то в шах­маты сра­зить­ся, мож­но по перепис­ке пар­тию орга­низо­вать. Пишешь свой ход на бумаге и отправ­ляешь пись­мом. Так пись­мо‑то дол­го идет, а потом ждешь отве­та еще месяц, отто­го пар­тия, быва­ет, и на год рас­тягива­ется. А сей­час все про­ще ста­ло: зашел в интернет и выбирай себе сопер­ника по силам, хоть из Вла­дивос­тока, хоть из Аме­рики… Ты сам‑то в шах­маты игра­ешь?

— Не доводи­лось.

— А я тебя научу, коли захочешь. Толь­ко сна­чала нуж­но компь­ютер починить.

«Почему бы и не помочь ста­рику? — подумал про себя Кирилл, — тем более это отличный повод наладить отно­шения с живущим нап­ротив пен­сионе­ром, к которо­му мож­но будет потом обра­тить­ся, слу­чись такая нуж­да. Вряд ли там с ком­пом что‑то серь­езное…»

И вдруг замер на мес­те.

А ведь он никог­да рань­ше не называл соседу сво­его име­ни. И тем более не говорил, что каким‑то обра­зом свя­зан с компь­юте­рами.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    2 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии