Перейти к содержанию

- 19 -

Я забрал карточку и кинул сообщение Максу, что буду ждать его в том же баре, где мы встречались в прошлый вторник. С начала этой истории прошла всего неделя, а событий хватило бы на месяц! Значит, сегодня — последний день отпуска, я ведь надеялся, что мне недели хватит. Надо продлить, а на это Грэм может уже не согласиться. Он дядька хороший, но иногда может повредничать. Поэтому надо сегодня вечером посмотреть, что там мне насыпалось, и разгрести самое срочное, глядишь, он смягчится. Рабочая почта к моей личной никак не привязана, так что все должно быть в порядке. Но перспектива весь вечер работать меня не радовала. Я в этом «отпуске» так устал, что надо будет потом еще отдохнуть. На меня накатил приступ острой жалости к себе. И вдобавок еще дождь начался, не сильный, но холодный, а я утром не проверил прогноз и вместо куртки надел флиску, опрометчиво для нашего климата. Когда я дошел до бара, то успел порядком замерзнуть и сразу взял кофе навынос.

Я успел сделать всего один глоток, как вошел Макс, складывая зонт. Я заказал еще один кофе.

— Ты зря зонт убрал, он нам сейчас понадобится, пойдем воздухом подышим, — сказал я.
— Гулять под дождем? Обоснуй.
— От обоснуя слышу. Тут нам не стоит разговаривать, очень чувствительная тема.
— Что за паранойя? Раньше за тобой не замечалось. Тебе Озолс твой покусал, что ли?
— Сомкни уста свои и обнажи катану, самурай! — я кивком указал на точащую из-за плеча ручку зонта, выглядящую как рукоять катаны.
— Размер вообще неправильный, не позорь великое искусство стихосложения.

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

— Знаю я этого мажора! Я тебе даже про него рассказывал, помнишь, это который был против комментариев в коде. Он у нас периодически трется в офисе. Он где-то в Англии учится, менеджмент IT или типа того, у нас проходит практику, диплом пишет на тему управления разработкой, собирает инфу о том, как у нас процессы налажены. Ну как собирает — папаша попросил, наши айтишные боссы ему все расписали, а он все равно ходит и ко всем пристает с дурацкими вопросами, а иногда и с глубокими мыслями.
— Значит, с Гореловым он знаком.
— Конечно, он шефа замучил своими вопросами. Кстати, что там с Димой? Заметь, я тебя вчера не дергал на эту тему, но сегодня хочу услышать хорошие новости.
— Все тебе расскажу, погоди. Давай по порядку, сначала с Сундуком разберемся. Как ты считаешь, мог ли он вломиться в комп Горелова и подменить конфигурацию SVN’а? И вообще провернуть такую операцию?
— Очень в этом сомневаюсь. У него мозгов не хватит.
— То есть Сундук просто исполнитель, а где-то за ним прячется кто-то еще?
— Вполне возможно. Не думаю, что он так хорошо прикидывается дебилом.
— А ты можешь мне нарыть какую-то инфу на этого Сундука? Мне нужно что-то, что позволило бы с ним жестко поговорить, а я не знаю, как подступиться. Ты же мастер по этой части.
— Ну, кое-что умею, да. Поищу. Вечером тогда позвоню, расскажу, что узнал. Теперь давай про Диму рассказывай, я не забыл.
— Погоди, это еще не все. На выходных меня самого атаковали. Угнали домен, с ним имейл, а к этому адресу у меня вообще все привязано, и те учетки, что нашли, тоже угнали.
— Фигово. И что, ты думаешь, это как-то связано?
— Точно связано. Мне прислали сообщение, что вернут доступы, если я прекращу расследование.
— А почему ты не перестал?
— С чего это? Я тебя не узнаю. Разве это путь самурая — сдаваться, даже не вступив в бой?
— Самурай, не самурай — умный боец избежит боя, в котором ему не победить.
— Почему это не победить?
— Ты когда-то занимался расследованиями до этого? Или вопросами безопасности, взломами или чем-то таким? Можешь не отвечать, я знаю ответ.
— И ты считаешь, что я не справлюсь?
— Я считаю, что против опытного мастера шансов у тебя мало. Явно мы имеем дело с серьезным персонажем. Ты против него — котенок. Такой, знаешь, пушистый и беззащитный. И, как твой друг, я считаю, что тебе лучше бросить это дело.
— Я подумаю. По крайней мере я могу чуть-чуть еще поискать, без активных действий.
— Ну-ну. Знаю я, что значит твое «подумаю». Так а что с Димой?
— Чтобы не спугнуть настоящего вора, Диму еще немного подержат. Он сейчас в хорошей камере. Можно считать, получил незапланированный отпуск.
— Фигасе отпуск! Ты бы так хотел?
— Ну не знаю, если люди нормальные и есть что читать, то, может, и да.
— Ты не знаешь, о чем говоришь. Ладно, я порыл в банк, надо кое-что закончить.
— Угу. Тогда вечером жду твоего звонка. Слушай, а можешь мне зонт дать? Мне далеко до автобуса, а тебе же тут совсем близко до банка.
— А чего ты без зонта ходишь? Я тебе дам катану, а ты ее потом в автобусе оставишь? Фиг тебе. И вообще, самураю плевать на погоду.
— А чего это тогда ты сам с зонтом ходишь?
— Я — предусмотрительный самурай.
— Вот смотри, простужусь и не смогу тебя поить пивом.
— Ну ты же когда-нибудь выздоровеешь. Самурай умеет ждать — и Макс неторопливо пошел в сторону банка, под зонтом.

Дома, вытершись и переодевшись, я открыл рабочую почту, прошелся по всем письмам, благо из сотни лишь около десятка требовали реакции, в остальных я был просто в копии. После этого начал разбирать накопившиеся за неделю баги. Какие-то сразу позакрывал, потому что не были предоставлены данные для воспроизведения проблем, на какие-то ответил. Поздно вечером, когда позвонил Макс, в очереди оставался только один реальный вопрос от клиента, на который надо было написать разъяснение, так как документация плохо описывала ситуацию, с которой у клиента возникли проблемы. Макс звонил через WhatsApp, что было нетипично для него — похоже, он с недавних пор перестал доверять обычной телефонной связи. Наверно, это уже я его покусал.

— Ты чего так долго? — спросил я.
— Я не хотел из банка это искать, кто знает, что там СБ делает с нашим трафиком, так что вот только дома посмотрел. Зато кое-что нашел. По большей части он пользуется ником deadman
— Он что, фанат Джармуша? Или Джонни Деппа(1)?
— Или deadmanchest. — невозмутимо продолжил Макс, как будто я его и не перебивал.
— А, Сундуков же! Ну да. Тогда все же Джонни Деппа(2).
— У него есть профиль на мотоциклетном форуме, пару лет как.
— Логично, у него Suzuki.
— Не просто Suzuki, а Suzuki Bandit 1250.
— И что?
— А то, что 1250 — это объем движка.
— Да ладно! Это же монстр какой-то!
— Именно. Сто лошадей.
— Я бы на такой побоялся садиться! А что еще?
— Есть фейсбук, но там ничего особо интересного, перепосты всякой позитивной чуши про личностный рост.
— Буэ-э-э-э!
— Во-во. Есть инстаграм, полон мотоциклетных фоток.
— А там есть фотки, где он сам в шлеме и мотоприкиде?
— Да полно.
— Хорошо, можно будет сверить с видео. Для лишнего подтверждения.
— Имейл у него на inbox.lv, что радует.
— Чем это хорошо?
— Если он лох и не включил двухфакторную аутентификацию, в чем я почти уверен, то можно попробовать подобрать пароль. С Gmail, например, такое намного сложнее сделать — Google на телефон кинет уведомление, что кто-то ломится в твою почту.

  1. Баз имеет в виду фильм Джима Джармуша Deadman, в котором главную роль сыграл Джонни Депп.
  2. Dead man chest (сундук мертвеца) намекает на пиратов, так что теперь у База ассоциация с «Пиратами Карибского моря», где опять же играл Джонни Депп.

Я хотел сказать что-то едкое про идиотов, не включающих двухфакторую аутентификацию, потом вспомнил, как угнали мой домен, и промолчал.

— И как мне подобрать его пароль?
— Люди, не волокущие в IT-безопасности, часто используют одни и те же пароли в нескольких местах. Например, у него есть учетка на LinkedIn, и его пароль, в числе прочих, был слит в 2012 году.
— Откуда ты это знаешь?
— Есть полезный ресурс для этого — have I been pwned.
— А, да, знаю такой. Так а какой пароль?
— Ну если ты знаешь этот ресурс, то должен знать, что пароль оттуда не получить, только узнать, что он был слит. Надо поискать этот слив где-то в сети.
— Меня немного пугают твои обширные познания на эту тему. Похоже, я многого про тебя не знаю.

Макс попытался изобразить демонический смех. Вышло неубедительно.

— В его почте может быть что-то полезное. Какое у него имя на inbox’е?
deadmans.chest
— Понятно. Что-то еще раскопал?
— Я тут вспомнил, что он в последние пару месяцев неоднократно заводил в банке всякие разговоры про биткойны, и я немного поискал в этом направлении. И нашел, представь себе, несколько вопросов от него на профильных форумах.
— Какого рода вопросы?
— По большей части он спрашивал про то, где покупать/продавать, какие биржи лучше, кому можно доверять. После того как Mt. Gox рухнул, доверия к биржам мало.
— Что такое Mt. Gox?
— Ну ты как из пещеры вылез! Это была самая большая биржа криптовалют, в 2014-м накрылась медным тазом, много клиентов потеряли деньги, кто реальные, а кто в крипте.
— Ну уж извини, я не в теме. Но этот его интерес — интересный.
— Какой у тебя богатый язык!
— Отвянь!
— И выражаешься так изящно!
— Ладно тебе, — я засмеялся. — Больше ничего он не писал?
— Я самое интересное оставил напоследок, это тебе понравится. Он очень интересовался, как вывести деньги, чтобы это не отследили.
— О, никак у нашего мажора был какой-то преступный замысел!
— Похоже на то.
— Круто, ты до фига раскопал, молодец! Думаю, что-то из этого может пригодиться.
— Надеюсь. Ладно, потом расскажешь, что вышло из этого. Все, пока!

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

Я зашел на сайт https://haveibeenpwned.com/ и проверил, в каких массовых сливах фигурировал deadmans.chest@inbox.lv, и нашел несколько, в том числе упомянутый Максом слив LinkedIn’а в 2012 году. Зачем кому-то в двадцать лет, только после школы, заводить профиль на LinkedIn? Я не хотел оставлять следов, несмотря на то что сейчас был на одной стороне с майором Пуриньшем — кто знает, как все повернется. Поэтому я стал качать слитые данные через «невидимый интернет» — I2P, анонимную децентрализованную сеть, работающую поверх интернета. Через I2P все качается намного медленнее, но лучше не рисковать.

Пока я дописывал ответ клиенту, первые файлы докачались, и в них я нашел запись, соответствующую нужному адресу. Конечно, там был не сам пароль, а его хэш — результат работы необратимой функции. Но в таких случаях хорошо помогает известный потрошитель паролей John the Ripper. Я установил Джона с основными словарями и запустил подбор — поиск совпадений хэшей для известных паролей. Старина John не подвел — почти моментально он выдал ответ, так как пароль был в словаре — 1qaz@WSX. Теоретически неплохой пароль — он содержит маленькие и большие буквы, цифры и спецсимволы и достаточно длинный, чтобы соответствовать требованиям к сложности пароля на большинстве сервисов. Но все эти восемь символов рядом на клавиатуре, поэтому пароль очевидный, неудивительно, что он есть в словаре John’а. К этому времени докачались остальные файлы, и я проверил другие утекшие пароли Сундука — они все были 1qaz@WSX. У меня чуть отлегло от сердца — я, конечно, тоже затупил, что не включил двухфакторную аутентификацию на своих учетках, но у меня хотя бы везде пароли разные. Так что лохи мы с ним оба, но он тупее. Ну, конечно, если на почте у него такой же пароль.

Через пару минут я точно знал ответ на этот вопрос. Сундук тупее меня.