Реклама полностью отключится, после прочтения нескольких страниц!





Сегодня бывает модно говорить о криптолокерах, о bug-bounty программах, об открытых конференциях для всех и о том, что очередной школьник купил самый дешёвый 0day[1] и поставил себе в школе все пятёрки. Однако, это — не модная статья. Она не о том, что «самый ненадёжный фактор системы — это xyz». И не о том, что круто использовать сейчас, а что — будет круто использовать завтра. Это не список стандартных правил iptables на непроникновение в среде уверенных пользователей ПК.

Это моя история, и я, генератор случайных чисел, хочу Вам её рассказать.

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


Часть 1. Мыш

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

Однажды на выходных, в очередной раз вычисляя, кого из повадившихся на моё добро взломать будет легче и безопасней, на одном из своих серверов я увидел свежий файл в /etc/ssl, именованный приватным RSA-ключом. Меня смутил размер файла — ровно 20 байт, что никак не может быть рабочим RSA-ключом (разве что 128-битный с 0x00 по бокам). Редактор показал мне, что, скорей всего, это — какой-то хеш. Хеширующих функций, дающих такие маленькие объёмы на выходе, немного, так что я загуглил для уверенности и точно понял, что предо мною — SHA1-хеш. Без новомодных перца и сдвигов, только какой-то приболевший: в файле отсутствовал ведущий 0x00, с коего обычно начинаются валидные SHA1-хеши. Получалась какая-то нелепица — один из моих виртуальных гостей сознательно взял хеш с каких-то данных и оставил его на моём сервере, назвав файл, как приватный RSA-ключ. Пару дней я не мог додуматься, зачем кому-то нужно было делать нечто в таком роде. Спустя примерно неделю я вовсе выбросил сию мысль из головы, ибо разумных ответов на вопрос так и не нашлось. Я решил, что это просто были чьи-то эксперименты с терминалом во время посещения сервера.

Однако, зайдя ещё через несколько дней в Джаббер, я вдруг прям застыл на компьютерном стуле. Перед глазами прокрутились воспоминания о том сранном файле — ведь алгоритм OTR, который во все времена оставался самым надёжным и безопасным решением для опасных переписок, берёт SHA1-хеш с никнейма пользователя и предоставляет его как часть отпечатка личности при обмене ключами. Оставалось лишь проверить догадку, так что я взглянул на отпечаток своего ника — сей тоже не начинался с 0x00, как положено порядочным SHA1-хешам, а значит я всё это время имел дело с оставленным мне в таком странном виде контактом Джаббера! Недолго думая, я добавил его в список доверенных контактов, чтобы можно было шифровать весь поток данных между нами.

Ночью того дня я увидел в сети некий новый контакт. Получив его отпечаток и сравнив с тем, что был найден на сервере, я понял, что, видимо, не сошёл с ума и это действительно настоящий OTR-fingerprint живого человека. Мы обменялись публичными ключами. Так начался мой исход.

Часть 2. Капитализм

Не стоит думать, будто я нуждался в помощи, либо жаждал проникнуться сутью родства душ, например. Отнюдь, я — законченный параноик и в реальной жизни все, кто знают меня, уверены, что запуск косынки — единственная доступная мне компьютерная магия. Однако, какой бы абстрактно толстой ни была моя шапочка из фольги, та доля интереса, которую породил сей человек, неописуема никакими красками. Сумбурная смесь из любопытства и страха, удивления и радости, с толикой гордости за профессию. Естественно, я сразу написал ему. Некто по ту сторону монитора предложил поверх OTR набрасывать ещё и PGP-слой, на всякий случай. Я знал, что в моей (и, предположительно, его тоже) области труда паранойя — скорей профдеформация, чем заболевание, так что против не был. В ту ночь я узнал, что моего виртуального гостя зовут Мыш, он обижается на мягкий знак в конце сего слова и намерен предложить мне работу. Ник его Джаббера в виде фингерпринта у меня на сервере, как оказалось, был частью собеседования. Я осторожно поинтересовался, почему я вообще должен захотеть соглашаться с ним сотрудничать, и получил ответ, коий менее всего ожидал. Оказалось, что всё это время за файлом хеша на сервере постоянно наблюдал демон на обычном sh-скрипте из трёх строк с засыпаниями на случайное количество секунд и маскировкой под rsync[2] worker'а. Его единственная задача заключалась в отслеживании SSH-ключа любого, кто попытается прочесть или модифицировать хеш. Мыш знал, что я не стану использовать пароль для аутентификации на своих серверах, но отдельный файл-ключ — стану. Он знал, что проверяет сей ключ локальный демон, синхронизируя данные о доступе помеж всеми моими машинами. Таким образом, все восемь моих серверов оказались разом скомпрометированы не искусственно, как были постоянно ранее, а вполне себе натурально. Более сильный хакер поймал меня на удочку, точно как я ловил на удочки более слабых. Я ждал, что он станет шантажировать меня сливами информации или шифрованием данных. Но он не стал.

Вместо шантажа и краж, он предложил мне нечто совершенно иное. Мыш сообщил, что где-то в Китае есть некая безымянная фирма, активно занимающаяся какими-то мутными и непонятными разработками. На вопрос, что имеется в виду под «мутными» и «непонятными», он скинул мне данные о нескольких маленьких VPN-сетях сей фирмы, объединённых в одну побольше, из которой в конечном итоге две машины смотрели в интернет. Я не удивился — это вообще адекватная практика для коммерческих организаций — не пускать смертных в сеть, если стоит вопрос вероятных денежных потерь. Но странно, по словам Мыша, было вовсе не это. У нас на руках была примерная топология сети, данные о моделях роутеров и сетевых карт, данные на персонал фирмы и на, собственно закупки фирмы. Обычный дамп информации о мелкой конторе, коий в те годы стоил дешевле старой Волги. Однако, была некая деталь в сем дампе на редкость, как бы, невпопад. А именно, фирма закупила несколько сотен (!) видеокамер наружного наблюдения не самого плохого качества, официально занимая при этом площадь примерно пятиподъездной хрущёвки + двор. Я сразу решил, что имел место быть обычный распил денег — в Китае такие же люди с такими же последствиями, но прикупленные к камерам пятнадцать высококачественных DVR[3], которые занимали свои места в общей топологии сети и прекрасно общались с теми двумя машинами, что смотрели в интернет — сильный аргумент. Пятнадцать таких устройств стоят примерно как все те триста камер — подумал тогда я и понял, что нет никакого смысла эксплуатировать пятнадцать устройств видеозахвата без, собственно, видеозахвата. В общем, Мыш заинтриговал меня, ибо я не представляю себе нужд, на коие могли бы пойти триста видеокамер внешнего наблюдения в относительно небольшом здании, документально занимавшемся производством и продажей велотренажёров и прочей домашней спорттехники. Тогда я спросил, причём, в общем-то, здесь я и почему именно я.

Знаете, чаще всего, если ты взломщик, то у тебя, на самом деле, очень скучная работа. Каждый новый сервер ты обследуешь по давно изученным тропинкам на популярные уязвимости. Общаешься под разными личинами с персоналом фирмы-жертвы или лично с жертвой, если это один человек. Иногда можно шесть месяцев вести беседу с женщиной на сайте знакомств, созидая фундамент для блицкрига — залития PDF с эксплойтом[4] или картинки-лоадера на машину, о которой ты к тому моменту уже всё знаешь, но вдруг передумать из-за мучений совести. Иногда приходится устраивать целые спектакли, прикидываясь фантомами, чтобы выманить из дома параноика с набитым биткоином кошельком — один фантом приглашает на свидание, а другой (всё ещё Вы) — упрашивает остаться в онлайне, «чтобы я увидела, как ты вернулся — так пройдёт моя депрессия из-за бывшего бла бла бла». Но чаще всего это линейный анализ доступных данных и использование досупных инструментов. Взлом хакеров вместо обычных людей несколько разнообразил сей процесс, но уже нет какой-то «той самой искры», которая горела где-то внутри от одного лишь man nmap. Мыш предложил атаковать их сеть параллельно из Китая и из-за границы. Он приобрёл неплохой ботнет из китайских машин и решил, помимо этого, нанять несколько местных нищих, чтобы те на время атаки массово всячески отвлекали персонал прогулками где не надо, ссорами, криками и пьянством. Меня насторожил подобный чрезмерный энтузиазм и я заподозрил, что Мыш чего-то не договорил мне о сей фирме. Но моё дело правое — мы договорились о ставке в 10 биткоинов, если я вовремя поймаю момент включения сети после DDoS'a ботнетом и успею в неё проникнуть до активации маршрутизации. Другими словами, я должен был сделать запрос аутентификации от имени компьютера одного из их сотрудников после того мгновения, в которое ethernet подаст сигнал в первый роутер на своём пути, но до того момента, как его ПО поймёт, кого и куда можно пускать, а кого и куда — нет.

Часть 3. Шахматы

Я уже как-то делал нечто подобное, однако со своим собственным сервером и только в целях обучиться новой атаке на будущее. Похоже, такое будущее настало. У нас в запасе было неограниченное количество времени, ибо ботнет Мыш выкупил до полного обнаружения (ботнеты, в основном, продают не по временным интервалам, а до обнаружения определённого количества его участников — так, например, Вы можете купить ботнет «до 15%» и смело жертвовать 15% его машин для своих целей без дополнительных оплат). Мы плотно занялись совместным написанием софта для проведения атаки. Я запросил оплату труда за кодинг, ибо задача, мягко говоря, не из самых лёгких и так удостоверился в платежеспособности своео партнёра — он сразу заплатил, без клянча и скидок, так что я спокойно запасся зарядами Гугла и принялся за работу. После обоюдного обсуждения мы с ним пришли к выводу, что необходимо до DDoS'a каким-то образом внедрить что-то совершенно непалевное, но при этом имеющее доступ и ко внутренней сети, и к интернету. Ведь из одного интернета атаковать две машины до включения маршрутизации невозможно в принципе — они же попросту не увидят даже свои DNS, не говоря уже о далёких хостах каких-то там нас, например. Анализируя топологию и схему сети, я заметил, что в здании скорее всего есть компьютер, который управляет большею частью DVR-регистраторов — а это значит, что, скорее всего, там вообще может оказаться какая-то OpenBSD (всегда мечтал взломать OpenBSD на китайском языке). Так что я решил атаковать остальные регистраторы (коих в разных частях здания было четыре из пятнадцати).

Читать книгу онлайн Исповедь человека в чёрной шляпе - автор John Smith или скачать бесплатно и без регистрации в формате fb2. Книга написана в 2016 году, в жанре Научная Фантастика, Самиздат, сетевая литература. Читаемые, полные версии книг, без сокращений - на сайте Knigism.online.