LIMB
Вход Регистрация

тема

Распределённый брутфорс WPA2 в браузере

birdiecode · · 3 ответов · 592 просмотров

Прошу оценить проект.

Спойлер: Краткое описание
Это распределённый инструмент для перебора WPA2, работающий прямо в браузере. Клиентская часть на JavaScript получает задания от сервера, выполняет вычисления и отправляет результаты обратно.

https://github.com/birdiecode/wpa2-web-brute/

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

Думаю попробовать переписать её с использованием WebGPU.

Интересно мнение: есть ли смысл развивать проект в эту сторону и жизнеспособен ли он?
👍50 🔥11 👏14 😢11 💯13
Если я верно понял, порядок такой:
1) Ты запускаешь сервер
2) Даешь ссылки мне и еще 11 друзьям
3) Мы открываем браузеры и брутим услонвый один и отот же хеш распределенно без установки софта?

Как теория мне нравится, как практика хз, не выходит придумать как задействовать технологию. Разсе что на трафиковые сайты вешать как майнер, чтоб юзеры брутили тебе. В ситуации с друзьями котоырм раскидал ссылки как-будто один хешкат будет быстрее чем несколько человек с WebGPU. Плюс в том, что не придется ставить hashtopolis ставить, т.е. простотат наверное? Может от этого плясать и думать. Мне кажется если найти возможность массого запуска - разными людьми смысл появится)
👍1
Только что подумалось. Примерно как месяц назад делал софт для ловли hc22000 и pcap под точки доступа для одноплатника, с автозапуском, контролем зависаний, простеньким интерфейсом, возвратом к тому что не вышло получить (этим грешат многие продукты, один проход и забивают на точку доступа), логикокой адекватной (ну я так думаю) такой, Pwnagotchi только для реальнйо работы в поле. Делал я его на основе чужого скрипта, и в него был встроен функционал брутфорса сразу. Расчет там на одноплатники, брутить на малине даже на рокю, которая еще и банки питается - ну сам понимаешь. В приницпе получать ссылку в вебинтерфесе и брутить уже с браузера на компе было бы забавно) 
От части даже импакт есть в теории, на новой локации дампить сеть уходит пару суток, а тут удобно даже, без хешката жмакнул ссылку из панельки и хоть дефолтный словарь перебрался)
Итак, я всё-таки это переписал. И путь получился довольно забавный.Изначально всё работало на CPU через 

WebCrypto ~300 hash/s

Грустно, конечно, но работает. Решил перенести вычисления на GPU. Взял WebGL2 и совместно с нейронкой практически в тупую переписал туда алгоритм. Первый результат около 886 hash/s. Почти в 3 раза быстрее. Уже приятнее. Потом решил сравнить это дело с эталоном Hashcat.

Hashcat: ~39,7k hash/s.

И тут я понял мда... такая вот хуйня, собачка. И тут я понял давай по новой, всё хуйня. Начал оптимизировать реализацию sha1. Запускаю, результат примерно в два раза хуже. Ок. Значит, такой подход не канает. Тогда решил уже нормально посмотреть, как это делает Hashcat. Немного испиздил архитектуру у Hashcat ну, то есть внимательно изучил и адаптировал подход :) - оптимизировал scalar/unrolled и горячие участки вычислений.

Результат: ~42,1k hash/s.

То есть фактически вышел на уровень Hashcat. Иногда видел цифры даже немного выше, но это уже, скорее всего, в пределах погрешности измерений.После этого перенёс те же идеи обратно в WebGL2.

WebGL2: ~19,6k hash/s.

Это всё ещё хуже WebGPU или Hashcat, зато примерно в 22 раза быстрее, чем моя первоначальная WebGL реализация. Теперь осталось нормально переделать распределение заданий между клиентами. Но сам результат мне уже нравится: в Chrome из обычной веб-страницы получается производительность примерно уровня Hashcat без установки самого Hashcat и вообще какого-либо отдельного клиента.
👍1

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.