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

[SOFT] Многопоточный Jabber брут по словарю.

waahoo

ворчливый дед
Эксперт
Регистрация
01.12.2010
Сообщения
843
Реакции
1 661
Приветствую. Не так давно в нашей конференции была озвучена идея брута вконтактиков через jabber, да, у этой соц.сети есть jabber интерфейс. Идея была в том, чтобы реализовать брут без капч. Логином в этом случае будет ID страницы (id12345678), пароль такой же как и для входа на страницу, сервер vkmessenger.com, порт 5222. Все бы ничего, тестируя это дело на локальной машине (читай не такой быстрый интернет) в один поток, все прекрасно брутится, но, на VPS со 100mb каналом их сервер после примерно 15 попытки выдает Success на любой пароль, толи защита такая, толи хз что. Обычные Jаbber аккаунты брутятся на ура.
В общем тестируем, отписываем о впечатлениях/багах/недочетах. Вопросы задаем тут же в топе.

image.png


Пароль на архив:
cDpSKpPNbWhQGF9Xun7d
 

Вложения

  • jbrute.zip
    5.5 КБ · Просмотры: 34
accwranadm
Да, весьма неплохая идея. Сразу, сходу - на vds возможно и правда в самый раз будет, но как тогда насчет linux-версии (я понимаю, такое и самому накидать не столь сложно будет, но все же), было бы очень неплохо? :)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
DASM32
там, скорее всего, Масм+винапи, на линукс придется много чего переписывать.

Может, для линукса попробовать сделать на Perl?
 
Quake3 я думаю что готовые реализации на perl уже существуют. Нужно загуглить и в этом топе линки дать для жаждущих. :)

Для windows найден так же Адын
Для linux - hydra


waahoo опробовал на вконтакте - не пашет. Непонятно почему. И с vpn пробовал и без.

Опробовал на gmail.com и для верности на talk.google.com. На первом не пашет вообще, на втором не определяет гуд, хотя пробовал логин и так и так крутить...
Для нормального клиента используется:
server:talk.google.com
port:5222
login:username@domain.zone
pass:password

И еще. тут реализована поддержка 5222 порта. Соответственно tls не поддержвается как я понял? 5223 порт.


p.s. кстати hydra у меня тоже ничего не нашла. На одних сервисах норм работает на других куча эрроров...
 
опробовал на вконтакте - не пашет. Непонятно почему. И с vpn пробовал и без.
наверное vk.com пробовал? vkmessanger.com надо, + ко всему к этому домену примерно 15 айпишников привязано.

Опробовал на gmail.com и для верности на talk.google.com. На первом не пашет вообще, на втором не определяет гуд, хотя пробовал логин и так и так крутить...
есть один небольшой нюанс, некоторые сервисы сидят на одном домене, а просят при обращении к ним указывать другой, например гугл, коннектимся к talk.google.com, пробуем залогинится, а в ответ
<stream:stream from="talk.google.com" id="83A5E8048F668EF3" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"><stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>X-OAUTH2</mechanism></mechanisms></stream:features><stream:error><host-unknown xmlns="urn:ietf:params:xml:ns:xmpp-streams"/><str:text xmlns:str="urn:ietf:params:xml:ns:xmpp-streams">Set the 'to' attribute of stream element to the domain part of the user's JID. Example: to='gmail.com'.</str:text></stream:error></stream:stream>
но, на gmail.com вообще закрыт 5222 порт. также не известно пройдет ли PLAIN авторизация, т.к. сервер не говорил что держит такой тип авторизации, а для брута используется именно оно. с квипом такая же херня. сегодня добавлю возможность указывать отдельно домен, так сказать StreamTo.

И еще. тут реализована поддержка 5222 порта. Соответственно tls не поддержвается как я понял? 5223 порт.
все верно, во первых я не умею использовать шифрование, во вторых эти лишние телодвижения по обмену ключами (асимметрия насколько мне известно) только увеличат время брута.
 
Ar3s,а разве в гидре есть поддержка брута жабы и вконтагта?или я туплю? :unsure:
 
да, с гуглом облом,
<stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>X-OAUTH2</mechanism></mechanisms></stream:features><failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><invalid-mechanism/></failure></stream:stream>

что это за методы такие X-GOOGLE-TOKEN и X-OAUTH2 мне не известно.

в общем теперь вместо параметра login в конфиге используется полный jid и строчка to='...' берется теперь оттуда, в качестве сервера можно указывать как домен, так и IP адрес, в протокол оно не идет.

архив в шапке обновлен.

как правильно брутить, небольшой мануал.
1. нужно правильно определить либо домен, либо IP адрес сервера.
для этого можно использовать гугл на предмет настроек конкретного сервиса, либо же зарегистрировать аккаунт на искомом сервисе, залогиниться и посмотреть в Process Explorer'e куда приконекчен клиент. ок, определили, для проверки того, что порт открыт и все ништяк я использую Essential NetTools, на вкладке RawSocket пробую подключится на порт 5222. ок, допустим все ништяк и порт открыт. вбиваем в конфиг строчку server
2. указываем в конфиге Jid для брута, threads=1 и debug=1, запускаем DbgView, запускаем брут, после первой попытки залогинится вырубаем брут и смотрим в окно DbgView, там будет ответ(ы) сервера, если все сделано правильно и сервер понимает чего мы от него хотим среди XML выдачи можно будет разглядеть <failure xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><not-authorized/></failure>
3. выставляем нужное количество потоков, выключаем дебаг вывод и брутим.

зы: абсолютно случайно удалось сбрутить jid ololo@qip.ru указанный в конфиге с помощью прилагаемого мини словарика :)
 
от этого есть какая то конкретная защита? Ну например отключить порт 5222 оставив только 5223, или может ещё какие методы защиты есть?
теоретически да, например вк выдает успешную авторизацию на любой пароль примерно с 15 попытки, как его объебать я не знаю, только если ооочень не спешно брутить в один поток можно добраться до истины. отключение 5222 порта в данном случае тоже может помочь, я еще пока не шарю как TLS юзать, но это не панацея.
 
Nightmarе все просто. Настраивай фаерволл на обращение к порту 5222. Если их более 3 в секунду - ip в бан на 30 минут.

Dark Koder
Currently this tool supports:
AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST,
HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD,
HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle,
PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum,
SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP
 
В качестве защиты от брута можно успешно юзать капчу.
http://xmpp.org/extensions/xep-0158.html
Я парвда не совсем разобрался, по-моему, XEP описывает отсылку формы с капчей уже авторизованному пользователю.
 
Ar3s
Твой способ не предполагает брут с большого количества хостов, будь то прокси или ботнет. Капча в этом плане как-то более стабильна. Например, показывать ее при 3 попытках неправильной аутентификации.
 


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