• XSS.stack #1 – первый литературный журнал от юзеров форума

брутфорс xss.pro RFB Bruter: очередной брутер или добываем VNC-доступы без затрат

Пожалуйста, обратите внимание, что пользователь заблокирован
Однозначно победитель!!
Была проблемка, человек подключился , помог, уделил время.
Сам брутер очень достойный!
Спасибо.
 
Вопреки расхожему мнению - размер таки имеет значение. И в нашем случае чем меньше - тем лучше. Речь идет о базе данных, а конкретно - о базе checker.db. Вдоволь намучавшись с файлом в несколько гигабайт я пришел к элементарному выводу - сильно удобнее пройтись 2-3 раза по небольшой базе в 100-150 тысяч записей, очистить ее и добавив свежие записи повторить процедуру. Чтобы не перезапусть manager, останавливая при этом работу воркеров, был выпущен этот апдейт. Он добавляет возможность "на лету" очищать базу чекера (DB Maintance->Checker->Purge DB), а также исправляет ряд ошибок с инициализацией чистой базы допущенный ввиду того, что у меня она не чистилась никогда.
 

Вложения

  • xss.zip
    1.1 МБ · Просмотры: 81
Достойная статья, написана хорошо и понятно как нужно.
Автору ставлю плюс+ за труды
Желаю развития и занять призовое место.
 
Парни, небольшое обновление. Во первых, пофикшен баг с импортом адресов из файла - при попытке повторно импортировать просто выдало сообщение, что все хорошо и импортировано 0 адресов. Во вторых добавлены нотификации в телегам - зачем оно надо мне не очень ясно, но пара человек попросило, а мне не сложно. Для того, чтобы нотификации шли в телеграм необходимо в конфиге в раздел notify добавить
Код:
"telegram" : {
         "key" : "",
         "id" : ""
      },
где key - api key, а id - chat id. Впрочем, вы это знаете получше меня.
Также, прилагаю три утилиты: pwd_prepare, pwd_extract и checker_db_to_masscan.
Очень часло поступают вопросы, как же, блин, словарь-то создать?! Итак, во первых нам понадобиться словарь. Лично я использую rockyou.txt с некоторыми своими дополнениями. VNC без расширений протокола (которые мы успешно пропускаем) умеет работать с паролями не более 8 символов, поэтому из словаря следует удалить пароли больше 8 символов. Сделать это можно, например, данным ps-скриптом:
Код:
Get-Content d:\rockyou.txt | Foreach-Object { if ($_.Length -le 8) {Out-File -FilePath d:\newrockyou.txt -InputObject $_ -Append } }
важно понимать, что на выходе будет unicode-файл и прежде, чем перейти к следующему этапу, его следует перекодировать в ansi (например, Блокнотом, выбрав "Сохранить как" и кодировку "ANSI"). Далее, создаем базу dict.db с таблицей list:
Код:
DROP TABLE IF EXISTS list;
CREATE TABLE "list" (
      "id"      INTEGER NOT NULL UNIQUE,
      "password"      TEXT NOT NULL UNIQUE,
      PRIMARY KEY("id" AUTOINCREMENT)
);
переименовываем файл newrockyou.txt в rockyou.txt и заполняем базу запустив pwd_prepare. На первом этапе - все. Спустя время, когда вы заработаете миллионы наберете несколько сотен/тысяч/десятков тысяч сбрученных машин (неважно, в таблице good или good_ignored) вы просто выбираете все пароли (возможно, отсортировав их по встречаемости), переносите в файл rockyou.txt и повторяете процедуру - создаете чистую базу и заполняете ее паролями. Далее, вместо rockyou.txt с вашей выжимкой частых паролей кладете полновесный rockyou.txt и снова запускаете pwd_prepare - база не даст добавить повторно один и тот же пароль, так что вы просто пересортировываете ее, чтобы частые пароли были раньше.
С pwd_prepare разобрались, на кой ляд нужен pwd_extract? Тут все просто: он извлекает пароли из базы dict.old.db. DB Browser экспорирует пароли как-то странно, добавляя кавычки и пропуская пароли в виде пробела, поэтому пришлось лепить еще один костыль. В процессе работы вы будете пополнять свой словарь разными паролями и со временем от первоисточника он будет очень сильно отличаться.
С checker_db_to_masscan все совсем просто. Так как я победил свои комплексы и ушел от гигантизма в базах данных, выкидывать на помойку сотни миллионов неотработанных адресов довольно глупо. Данная утилита разбивает содержимое db на masscan-файлы по 75тысяч записей каждый, чтобы можно было их обрабатывать по отдельности с учетом современных трендов в мире брута :)

Ну и на последок пара слов о расширении фермы. Пару раз мне поступали вопросы, а как разместить Брутеры и Чекеры на физически разных машинах? В целом, все довольно просто - меняете тип подключения с "Внутренняя сеть" на "Сетевой мост" и все ваши виртуальные машины будут восприниматься роутером как физические. При условии, что адреса вашей локальной сети и сети виртуальных машин не пересекаются все должно работать без проблем. Но изящным данное решение я бы не назвал, всеже лучше за пределы "Внутренней сети" не вылезать.
 

Вложения

  • rfb_brute.zip
    1.1 МБ · Просмотры: 90
  • tools.zip
    5.2 КБ · Просмотры: 83
Парни, очередной небольшой апдейт. Небольшой, но довольно интересный. Во первых, пофиксил мелкий баг с неверным отображением количества элементов на проверку (ненужный инкремент при выделение кэша), но куда более важное обновление - изменение в алгоритме перебора паролей. После долгого тестирования таки убедился в его эффективности в некоторых случаях. Суть изменения заключается в поиске по "4 направлениям", т.е. от начала к середине, от середины к началу, от середины к концу и от конца к середине. В качестве примера возьмем мою установку: словарь составляет 364,652,451 слов, а алгоритм включается с пароля с индексом 10,000, т.е. до 10,000 перебор идет стандартно, от начала к концу, а дальше это выглядит примерно так:
idxreal_idx
10,00010,001
10,001182,326,224
10,002182,326,225
10,003364,652,451
10,00410,002
10,005182,326,223
10,006182,326,226
10,007364,652,450
10,00810,003
10,009182,326,222
10,010182,326,227
10,011364,652,449
10,01210,004
10,013182,326,221
10,014182,326,228
10,015364,652,448
10,01610,005
10,017182,326,220
10,018182,326,229
10,019364,652,447
10,02010,006
При обычном переборе от начала концу, пароль с индексом 364,652,451 вы не попробуете, вероятно, никогда. В обновленном же варианте - на попытке под номером 10,003. Надо оно или нет - решать только вам, как и с какой позиции активировать алгоритм. По этой причине собранных версий сегодня не будет. Поменять значение на свое можно в файле worker\dict.h, константа FOURWAY_ALGO_START_POSITION. Из минусов стоит отметить необходимость сброса индексов > FOURWAY_ALGO_START_POSITION до этого значения и невозможность добавления новых паролей без повторного сброса индексов, а также замедление перебора начиная с FOURWAY_ALGO_START_POSITION
 

Вложения

  • src.zip
    960 КБ · Просмотры: 83
Последнее редактирование:
Так эти файлы приаттачены на форум, чего тебе перезалить то нужно?
https://xss.pro/threads/105146/page-2#post-742876
в целом, с кучей баг фиксов и дополнениями тс, стало еще сложнее во всем разобраться)
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх