Пароли к Windows XP стали легкой добычей для самодельного кластера

Пароли к Windows XP стали легкой добычей для самодельного кластера

Авторитетный специалист по информационной безопасности Джереми Госни (Jeremi Gosney), также известный под псевдонимом «epixoip», построил и продемонстрировал собственный самодельный кластер из пяти серверов. С помощью собственной утилиты HashCat автор смог взломать пароль к ОС Windows XP за шесть минут.

Работа нового кластера была показана на конференции Passwords^12 в г. Осло (Норвегия). Для написания распределенного алгоритма подбора паролей Госни применил язык программирования OpenCL, изначально предназначенный для параллельных вычислений на процессорах общего назначения и на графических процессорах. Вместе с языком OpenCL была применена платформа VCL (Virtual OpenCL). Вся эта программная связка вместе с утилитой HashCat запущена на комплексе из пяти серверов высотой 4U, в которых установлено 25 графических ускорителей AMD Radeon. Передачу данных между узлами кластера осуществляет коммутационная панель Infiniband с пропускной способностью 10 Гбит/с.

Кластер Госни предлагает новый уровень вскрытия паролей путем подбора и эффективно справляется даже с самыми сложными из них, если те шифруются такими слабыми алгоритмами, как в системах LM и NTLM компании Microsoft. В ходе проведенного теста кластер смог обрабатывать 348 миллиардов хэш-кодов к паролям NTLM в секунду. Взлом пароля осуществляется с помощью прямого перебора и словаря. Пароль к Windows XP из 14 символов, хэшированный по системе LM, был подобран всего за шесть минут. Как пояснил сам разработчик кластера, технология LM используется в среде WinXP и переводит все пароли длиной до 14 символов в символы верхнего регистра, а потом разбивает их на две строки по 7 символов перед хэшированием. В итоге для взлома в большинстве случаев нужно перебрать «всего» 69^7 комбинаций. Для паролей NTLM скорость перебора обеспечивает вскрытие любого пароля из 8 символов за 5,5 часов, сообщает soft.mail.ru.

На самом деле, системы вроде описываемого кластера не подходят для взлома в режиме онлайн – они более полезны для офлайн-атак, когда выполняется вскрытие шифрованной базы паролей, полученной в результате кражи или утечки. В таких случаях время взлома не имеет решающего значения, зато на первый план выходят аппаратные и программные ограничения. Кроме всего прочего, новый «самодельный» кластер из графических процессоров можно использовать для взлома более сложных алгоритмов хэширования. Так, перебор хэш-кодов MD5 выполняется на скорости 180 млрд попыток в секунду, SHA1 — 63 млрд в секунду. Так называемые алгоритмы «медленного хэширования» оказываются более устойчивыми: для алгоритма bcrypt (05) и sha512crypt скорость перебора составляет 71 000 и 364 000 попыток в секунду соответственно.

Как говорит сам разработчик нового кластера, сначала он пытался использовать кластеры из обычных процессоров, потом переключился на графические процессоры. Тем не менее, на начальной стадии решено было устанавливать максимальное число графических процессоров в каждый сервер, чтобы меньше заботиться о кластеризации и перераспределении нагрузки. В апреле этого года исследования зашли в тупик, поскольку кластеризованный гипервизор VMware не позволял создать виртуальную машину, охватывающую все узлы кластера. Госни хотел построить из пяти серверов по 8 процессоров в каждом одну виртуальную машину на 40 процессоров, но это было невозможно.

Трудности в кластеризации процессоров общего назначения привели Госни к пока малоизвестной платформе VCL и одному из ее создателей, профессору Амнону Бараку (Amnon Barak), который в 70-х годах прошлого века стоял у истоков распределенной операционной системы MOSIX. Профессора пришлось долго убеждать, что будущая система не ставит своей целью превращение мира в один большой ботнет. В итоге Барак согласился устранить некоторые недоработки технологии VCL, обеспечив простое и полностью автоматическое перераспределение нагрузки в кластере из графических процессоров. Теоретически технология VCL в нынешнем виде может обслуживать кластер из 128 графических процессоров AMD.

Стоит заметить, что Джереми Госни далеко не новичок в искусстве вскрытия паролей. Летом этого года, когда произошла утечка 6,4 млн шифрованных пользовательских паролей из сервиса Linkedin, Госни со своим коллегой стали одним из первых, кому удалось взломать их. По оценкам сторонних экспертов, им удалось подобрать 90-95 % из всех похищенных паролей.

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

Баги в ядре Linux скрываются в среднем 2 года, а иногда и 20 лет

История с первой CVE для Rust-кода в ядре Linux, которая недавно привела к падениям системы, выглядела почти как повод для оптимизма. В тот же день для кода на C зарегистрировали ещё 159 CVE — контраст показательный. Но новое исследование напоминает: проблема не только в языках программирования.

Гораздо тревожнее первой Linux-дыры в коде на Rust тот факт, что многие ошибки в ядре Linux могут годами, а иногда и десятилетиями оставаться незамеченными.

Исследовательница Дженни Гуанни Ку из компании Pebblebed проанализировала 125 183 бага за почти 20 лет развития ядра Linux — и результаты оказались, мягко говоря, неожиданными.

 

По данным исследования, средний баг в ядре Linux обнаруживают через 2,1 года после его появления. Но это ещё не предел. Самый «долгоиграющий» дефект — переполнение буфера в сетевом коде — прожил в ядре 20,7 года, прежде чем на него обратили внимание.

Важно уточнить: речь идёт о багах в целом, а не только об уязвимостях. Лишь 158 ошибок из всей выборки получили CVE, остальные могли приводить к сбоям, нестабильности или неопределённому поведению, но не обязательно к эксплуатации.

Исследование опирается на тег Fixes:, который используется в разработке ядра Linux. Когда разработчик исправляет ошибку, он указывает коммит, в котором баг был добавлен. Дженни написала инструмент, который прошёлся по git-истории ядра с 2005 года, сопоставил такие пары коммитов и вычислил, сколько времени баг оставался незамеченным.

В датасет вошли данные до версии Linux 6.19-rc3, охватывающие период с апреля 2005 по январь 2026 года. Всего — почти 120 тысяч уникальных исправлений от более чем 9 тысяч разработчиков.

Оказалось, что скорость обнаружения ошибок сильно зависит от подсистемы ядра:

  • CAN-драйверы — в среднем 4,2 года до обнаружения бага;
  • SCTP-стек — около 4 лет;
  • GPU-код — 1,4 года;
  • BPF — всего 1,1 года.

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

Отдельная проблема — неполные фиксы. Исследование показывает, что нередко разработчики закрывают проблему лишь частично. Например, в 2024 году был выпущен патч для проверки полей в netfilter, но уже через год исследователь нашёл способ его обойти.

Такие ситуации особенно опасны: создаётся ощущение, что проблема решена, хотя на самом деле она просто сменила форму.

RSS: Новости на портале Anti-Malware.ru