Новый тип брута (фрактальный)!

Discussion in 'Криптография, расшифровка хешей' started by -=lebed=-, 5 Apr 2012.

  1. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Суть идеи:
    Начинаем брутить либо полным перебором, либо по словарику, либо как только вылавливается первый пароль, ему ставится в соответсвие конкретная маска из стандартных типов ?d?l?s?u с привязкой знакоместо=набор символов и брут уходит в ветку отработки этой конкретной маски. После отработки маски, маска сохраняется в память для дальнейшего сравнения. Далее брут продолжается по основной первичной атаке, как только пароль находится, ему снова ставится в соответсвие маска, если она уже есть в памяти (т.е. по ней уже брутилось) - пропускаем и не уходим в ветку брута по этой маске, если маска новая - то уходим в отработку брута по ней и т.д.

    К чему такой алгоритм? Актуально для дампов, где использована генерка паролей по маскам, да и вообще многие маски более популярны, чем другие, смысл алгоритма: как бы насщупывание аналогичных паролей в общем хэшлисте, как правило состоящем из дампов, которые могут вполне возможно быть полностью отдельными ветками! (т.е. иметь конкретную маску - общие закономерности).

    Метод опробован на распредбруте 2011года (и будет использован в этом году тоже), т.е. были сгенерерированы маски, на основе часто/либо наоборот редкопопадающихся в словаре реалпассов и был неплохой выхлоп.

    Идея требует доработки, пока описал то что пришло в голову, ну а название фрактальный - типо из-за рекурсии... :wink:

    P.S. Идею можно развить вплоть до генерации паролей по принципу дерева-фрактала, а не проходить линейно прямым перебором, только надо подумать над реализацией такого алгоритма на примере генерации словаря, на досуге займусь этим. Думаю можно взять большой список реалпасов и прикинуть его структуру в виде дерева, ветвящегося по опред. правилам. Идея фрактального анализа отчасти была использована в PasswordsPro при гибридной атаке с правилами замены символов на конкретных знакоместах в пароле. В EGB пока такой атаки мы не имеем, только слева и справа можем что-то приставлять к слову, но не менять его само внутри.

    Дальнешее развитие идеи:
    Берём большой словарь реалпасов и вычисляем матожидание для каждого символа на конкретном знакоместе, у каких-то символов на каких-то конкретных местах оно будет выше - это и есть стволы куста, а далее уже идём по веткам. На определённом этапе можно пересчитать матожидания в уже сбрутившихся паролях и подстроить соответсвенно алгоритм дальнейшей генерации паролей, т.е. получаем алгоритм с обратной связью, когда выход влияет на вход, т.е. как бы "ватаскивам сами себя за волосы" :) Хотя конечно понятно что выход на вход на самом деле никак не влияет (физически) но природа всей нашей вселенной нам говорит о том что всё взаимосвязано и всё взаимопроникающе :D Это из той оперы, что если подавать на вход хэшфункции её выход т.е. хэш, то вконце концов всё множество значений должно быть пройдено.

    Проскочила мысля, попробую сформулировать: "динамически растущий набор символов, имеющий предел" для конкретного знакоместа в слове. 8) рождает динамические пользовательские маски. Если набор расширяется за счёт прибавки нового знака, то набор остаётся тем же, но если он в корне меняется, то мы вынуждены обозначить его новой переменной и маска уже будет новая. тут вопросы остаются чтоб не допустить пересечение веток кустов (это лишняя работа).

    P.S. В голове уже оформляется потихоньку одна из возможных идей алгоритма генерации дерева паролей.

    Предлагаю обсудить алгоритм формирования дерева паролей, на основе идей фрактала и рекурсии.

    Т.е. вся идея вкраце:
    1. берём большой словарь реалпассов, чистим от хэшей, хэшей с солью, всего что больше 15-16 символов.
    2. Считаем матожидания символов в нём, в зависимости от знакоместа.
    3. Формируем пользовательские наборы символов.
    4. Начинаем брут по пользовательской маске из этих пользовательских наборов, для каждого знакоместа будет свой набор (т.е. маска будет ?1?2?3?4?5?6 и т.д.). где ?N - свой индивидуальный набор символов для конкретного знакоместа с максимальными матожиданиями.
    5. как только набирается критическая величина сбрученных паролей, либо брут по маске окончательно пройден, начинаем вновь анализировать полученный словарь и возвращаемся к этапу 2.
     
    #1 -=lebed=-, 5 Apr 2012
    Last edited: 5 Apr 2012
    2 people like this.
  2. Mayor16

    Mayor16 Member

    Joined:
    23 Oct 2010
    Messages:
    107
    Likes Received:
    24
    Reputations:
    6
    Идея уже поднималась, причем вами же)
    Но она работоспособна и это хорошо, буду рад помочь чем смогу

    И надо будет учитывать целесообразность брута по маске к найденному пассу, если он займет лет 5 то его нид пропускать, но это формальность)
     
  3. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Это понятно, поэтому и динамические наборы символов будут ограниченной длинны, кроме того брут по конкретной маске можно ограничить задавшись параметром типа кол. найденных паролей за сутки.
     
    #3 -=lebed=-, 6 Apr 2012
    Last edited: 6 Apr 2012
  4. Rebz

    Rebz Banned

    Joined:
    8 Nov 2004
    Messages:
    4,052
    Likes Received:
    1,534
    Reputations:
    1,128
    А с реализацией как?
     
  5. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Генератор пользовательских наборов символов почти готов, сейчас скоро уже выложу. Сейчас пока тестирую.
    Точнее он был готов ранее, сейчас дорабатываю, задавшись параметрами:
    Длинна чарсета и колличество чарсетов (1-36 максимум в EGB, соответсвенно теоритически максимальная длина слова 36 символов), ещё можно ограничивать чарсеты по самому матожиданию конкретного символа, ну а в идиале конечно надо задаваться приемлемым временем временем брута и его скоростью, и уже из этого генерить и длины пользовательских чарсетов и их количество, в соответсвии с матожиданием символов в зависимости от знакоместа в слове (пароле).
     
    #5 -=lebed=-, 6 Apr 2012
    Last edited: 6 Apr 2012
  6. Rebz

    Rebz Banned

    Joined:
    8 Nov 2004
    Messages:
    4,052
    Likes Received:
    1,534
    Reputations:
    1,128
    хорошо.
    Интересно сравнить результат работы линейного перебора и фрактального.
     
  7. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Для этого надо построить сначала хорошую модель дерева паролей, а в свою очередь для этого нам надо много реалпассов, для получения релевантных матожиданий. В принципе результат может быть в итоге одинаков, но есть одно но: в случае линейного перебора мы просто скачем по точкам веток без всякого релевантного алгоритма (т.е. в как бы в одномерном пространстве - линейно) и маршрут пути никак не меняется во время собсвенно самого брута. В фрактальном же переборе мы нащупываем путь по мере продвижения, если ветка (маска) долгое время не даёт результатов, то отказываемся от неё перепрыгивая на другую, т.е. у нас есть пространство для манёвра и оно как минимум 2-х мерно уже, можно и сделать его трёхменым, подстравивая наборы пользовательских символов во время самого брута динамически. Тут, повторюсь нужен алгоритм не допускающий пересечений подмножеств, ибо повторная работа только тратит лишнее время. Т.е. благодаря фрактальной генерации паролей, хотелось бы достичь нелинейной скорости нахождения паролей, благодаря технике "насщупывания" релевантных масок и отказа от не релевантных.
     
  8. wwalex101

    wwalex101 New Member

    Joined:
    24 Mar 2009
    Messages:
    67
    Likes Received:
    4
    Reputations:
    1
    по поводу 2х последних пунктов думаю если попробовать завязать это все на нейросети или генетического алгоритма то в принципе как я думаю можно будет сделать что бы прога после обучения сама определяла маску для каждого хеша, ток здесь будет больше проблем с составлением самого алгоритма и программированием его
     
  9. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Угу, направление верное - инструмент нейросети, ассоциативно- адаптивный алгоритм, но это в будущем высоко и далеко пока, МЫ на земном плане займёмся конкретной реализацией тут и сейчас!

    Ну что анализатор вроде готов, смотрите картинку по небольшому словарику реалрассов:
    Code:
    D:\Dict\statistic2>cmd /k join.exe
    -------------------------------------------------------------------
    File -> pass.txt, size - 15917476 bytes
    Start, wait please...
    Statistics pass.txt  computed...
    Words:1400000 Progress:▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100%
    CustomCharsetSet0=samdbc1ptklrfgjneh2wvi0zo38H74y596xuqSMABDTPLKCRGF
    CustomCharsetSet1=aoeiurlhns1c20dmtb9k34f5yp876jwgvzxqA├рEOUIRLS.HBT
    CustomCharsetSet2=rnaslemtidoc10bkugp2hfv3y9j54z8w76xq ARNSLEMTDCBPG
    CustomCharsetSet3=aeiotnrls1hdk2umc0g3b4p95768yfvzjwxqA_Eр- ISRTNOU.
    CustomCharsetSet4=aei1onrslt20kmud983y5ch476bgpfjvzwxq_A E-YS├BRNOLM
    CustomCharsetSet5=ae1in0o2rs93lt84567dumkchybgpfvzwjx_ [email protected]рLTO
    CustomCharsetSet6=1a0e29no8l3i7rs654tdkmuchybgfpvzjwxq_@A-. ERSNOLIT
    CustomCharsetSet7=102a9e387564lonsirtdmkuchybgfpvzxwj@q_AE.- NSRDC!L
    CustomCharsetSet8=102e893a7654insrotlmkduchgb@yfpvzxjw_!.qAE- рSNLOD
    CustomCharsetSet9=102a93r87e564inosmltk@ducfhybgvpzxwj._q!A S-ERрLOD
    [email protected]_q!EARS-NKDTL
    [email protected]_SCB
    CustomCharsetSetC=ailr.mH1e09@2837n56suo4tbdckfyhvgxzpwjqR_DAENCIZOK
    CustomCharsetSetD=alir.ume091@82375n64sobtdcfkyvxhgzwpjqDEXIASFMOLQB
    CustomCharsetSetE=r.lsauime@0189327654bdocnftkxvyhgzwpqDSTjEFWBGUQXO
    CustomCharsetSetF=ru.hlaim@be1092658734dcfnostxkvygz\ pw_jAFрq&EDC,#
    CustomCharsetSetG=ur.klia@mbe01239d8756fc4otsnxyhg wpvjzAqFB,'╨ED-!:
    CustomCharsetSetH=iur.lamed904512b3c867fotsnxkgh ywEBApv,zqFCПDK;-?R
    CustomCharsetSetI=lur.ai561d02ec8734f9btoxsnmk phygFBDAzEvт'wC,j!в╨ю
    CustomCharsetSetJ=lur.i6b31e42c5f0d8a97otsxmn hyg;AjFDpB-Cz,wPkЧEqT/
    CustomCharsetSetK=eurl.ca31205db94678fotxms ingABCwyhp;zDEП*,kF?j!&'
    CustomCharsetSetL=ru.07814936ead2bf5cxosmt ilADngBCvE&pтy,wFhвqQjk#(
    CustomCharsetSetM=ru56137d892b04efac.ms oiADtwFBgC#hnylkЧ-vEp,z=)/L*
    CustomCharsetSetN=u7d8ef21639c054abroi slACwEDtFpm,Пng.kzx=By?hтXvZq
    CustomCharsetSetO=f73ce2615ab8490dutDosCEiB ngFwmphlrт.yA,;kvвzjX-LK
    CustomCharsetSetP=2d19b867fa5c0e34 roEsCABFDmnlzЧw.i-tph,&qygvHxZuRJ
    CustomCharsetSetQ=03e69fc21ab8d754AFC rEBtonwgDslПmh.kpiu?y#,ZzPq(-v
    CustomCharsetSetR=f2e7d514863cb9a0DCoEhFtB; тrAsgp=yvil/,mnTSвxw.k*O
    CustomCharsetSetS=840cdba127f53e69DEAtBCF srlgnЧ&-phowvi*HzG.Jx/$Yy,
    CustomCharsetSetT=80da924f7351c6ebBrEDCtFsA o#Пi;g/py?uSkl.wROTHjnK,
    CustomCharsetSetU=39a80275b6c4ef1dCFBA DErlтsuhntвiygxOpR/wozYv^m!TN
    CustomCharsetSetV=e96b0138a7c245dfAED FotBgCЧ[email protected]/U
    CustomCharsetSetW=1: f5723908c4a6dMgqhbPm'*?ik!D`+ejtwFKoR.s[BHLWuz^
    CustomCharsetSetX=908172364e5faCi[Yhvbugp"LPG#jJt/ASF;@?K>UMlnry}sE{
    CustomCharsetSetY=9102845736eafiojhH!z'Ygs}WtG+x#Vd>FCbu/cvq$@*LpDwR
    CustomCharsetSetZ=0195623847dabelf&txjnpПgcsvo?r ihk'y@wuCд°Z┐(qDB)z
    
    D:\Dict\statistic2>
    
    Чем левее символ в наборе символов, тем выше его матожидание.

    Вот с другими параметрами: максимальная длина чарсета 50, максимум чарсетов 16
    Code:
    D:\Dict\statistic2>cmd /k join.exe
    -------------------------------------------------------------------
    File -> pass.txt, size - 14349293 bytes
    Start, wait please...
    Statistics pass.txt  computed...
    Words:1310000 Progress:▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100%
    CustomCharsetSet0=smadbc1ptklrfgjnhe2wvi0zo387y4596xquHSMABDTPLKCRGF
    CustomCharsetSet1=aoeiurlhns1c20dmt9bk34f5yp876jwgvzxqA├рEOUIRLSHBTN
    CustomCharsetSet2=rnaslemtidoc10bkugp2hfv3y9jw548z76xq ARNSLMETDCBPG
    CustomCharsetSet3=aeiotnrls1dk2humc0g34bp95678yfvzjwxqAEрI_S R-NTOUL
    CustomCharsetSet4=aei1onrsl20tkmu9d835chy476bgpfjvzwxqA_ EY-├SBRONLM
    CustomCharsetSet5=ae1in0o2rs93lt84567dumkchybgpfvzwjx q_A@E-SRN.рLTO
    CustomCharsetSet6=10a2e9on83ir7sl654tdmkuchygbpfvzjwxq@AE RSN_OLITрU
    CustomCharsetSet7=102a9e387546onsirltmdkuhycgbpfzvxwj@qAEN SRDC!.LMO
    CustomCharsetSet8=1023987ea654insrotlmkduchg@ybfpzvjxw!qAE.р SN-LO_R
    CustomCharsetSet9=10239a875e64rinosmltkduchyfgbpzvxwj.q!@ASE RрLONKD
    CustomCharsetSetA=a10ei2938rn7l65s4otkdmuyhcgb.fzvpxwjq!@EARSNKTLIOD
    CustomCharsetSetB=i1l0er92a3876ns5.4toudkymhcgbfxzvpwqjRAEINDLSHCOPT
    CustomCharsetSetC=lr.10e9238ua7n6ts54oidkycmhxgfbvzwpjqRDNAEIZHOKQSC
    CustomCharsetSetD=.ru01e9283a7n65s4toidlyckgmhfbvzwpxqjDXIESMQOZLAUR
    CustomCharsetSetE=ru01e893276an54sotdilcymfhbkgzwvxpqTSDWFGUQBOHXEjK
    CustomCharsetSetF=u1e703s96r825a4ntdmyolgihfkvzxcb.qpр! №*wj*A;ъэ-#F
    
    D:\Dict\statistic2>
    
     
    #9 -=lebed=-, 6 Apr 2012
    Last edited: 6 Apr 2012
  10. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Реализация: http://narod.ru/disk/45345536001.add7df5e3f50ff75bde586a12d0da1ba/statistic5.rar.html
    (исходник в комплекте)
    PHP:
    <?php
    $ipArray 
    array_map("trim"file("join.ini")); 
    $file_1 trim($ipArray[1]); // имя файла со списком релевантных паролей
    $charset_len trim($ipArray[4]); // длинна чарсета
    $charset_col trim($ipArray[7]); // колличество чарсетов, нет смысла писать больше чем максимальная длина слова в словаре
    $size1 filesize($file_1);
    $max_charset_col=0;
    echo 
    "-------------------------------------------------------------------\r\n"
    echo 
    "--------------CustomCharSet Mask Generator by -=lebed=--v.03-------\r\n"
    echo 
    "-------------------------------------------------------------------\r\n";
    echo 
    "File -> $file_1, size - $size1 bytes\r\n";
    echo 
    "Start, wait please...\r\n";
    $f_1=fopen($file_1,"r");
    if (!
    $f_1) {echo "Не найден 1 файл словаря.!\r\n"; exit();}
    echo 
    "Statistics ".$file_1."  computed...\r\n";
    $n=0;
    while (
    feof($f_1)!='TRUE')
    {
    $n=$n+1;
    $word1=trim(fgets($f_1),"\r\n");
    $chars=preg_split('//'$word1, -1PREG_SPLIT_NO_EMPTY);
    $word_len=count($chars);
    if (
    $word_len>$max_charset_col$max_charset_col=$word_len;
    for (
    $i=0$i $word_len$i++)
    {
    $counter[$i]["$chars[$i]"]=$counter[$i]["$chars[$i]"]+1;
    }
        if (
    $n==10000)
            {
            
    $m=$m+10000;$n=0$pr=ceil(100*ftell($f_1)/$size1);
            
    $p=ceil($pr/4);
            
    $bar=substr('ІІІІІІІІІІІІІІІІІІІІІІІІІ'1$p).substr('°°°°°°°°°°°°°°°°°°°°°°°°°',1,25-$p);
            echo 
    "Words:".($m+$n)." Progress:".$bar." ".$pr."%\r";
            }
    }
    $m=$m+10000;$n=0$pr=ceil(100*ftell($f_1)/$size1);
    $p=ceil($pr/4);
    $bar=substr('ІІІІІІІІІІІІІІІІІІІІІІІІІ'1$p).substr('°°°°°°°°°°°°°°°°°°°°°°°°°',1,25-$p);
    echo 
    "Words:".($m+$n)." Progress:".$bar." ".$pr."%\r\n";
    if (
    $charset_col>$max_charset_col$charset_col=$max_charset_col;
    for (
    $i=0$i $charset_col$i++)
    {
    if (
    $i>9$j=chr($i+55);
    else 
    $j=$i;
    arsort($counter[$i], SORT_NUMERIC);
    reset($counter[$i]);
    $s='';
    while (list(
    $key$val) = each($counter[$i]))
        {
        
    $s=$s.$key;
        }
    echo 
    "CustomCharsetSet".$j."=".substr($s,0,$charset_len)."\r\n";
    //print_r ($counter[$i]);
    }
    ?>
    P.S. За код не бейте - сырой. :) реализует пункты 2-3

    Есть идея ещё раскрасить каждый символ цветов в завиимости от значения его матожидания.
     
    #10 -=lebed=-, 6 Apr 2012
    Last edited: 6 Apr 2012
  11. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Новая версия!
    добавил:
    1. вычиcление матожидания для каждого символа на конкретном знакоместе;
    2. ввывод в файлы CustomCharSet_N абсолютного колличества упоминаний символов (для справки).
    3. переменную отсечения для удаления символов в чарсете с матожиданием ниже порогового.

    скачать: http://narod.ru/disk/45367962001.a8adb72fc138b45799623fbb88092f14/statistic5.rar.html

    Пример работы:

    Параметры генерации:
    Максимальная длинна чарсета
    52
    --------------------------------
    Колличество чарсетов (1-36)
    16
    --------------------------------
    Минимальное матожидание для попадания символа в чарсет в %
    2

    Code:
    D:\Dict\statistic2>cmd /k join.exe
    -------------------------------------------------------------------
    --------------CustomCharSet Mask Generator by -=lebed=--v.03-------
    -------------------------------------------------------------------
    File -> pass.txt, size - 56566 bytes
    Start, wait please...
    Statistics pass.txt  computed...
    Words:10000 Progress:▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100%
    CustomCharsetSet0=aefcd1bjAkphg2SsPi40Mlm675 9KrR
    CustomCharsetSet1=0a1eo32uUirhl7dsAbc95t4n8f6
    CustomCharsetSet2=90anlsro31etim7cd2bN856pgfhk4uj
    CustomCharsetSet3=a1i32eon0cks75lhmtr498d6ugNb
    CustomCharsetSet4=daeo10352yt7nil46sr98pfcYuhmkb
    CustomCharsetSet5=ca17t3er2046895nifslbomRdAuhpkF
    CustomCharsetSet6=3ae102or69n784i5lbtdschRAkf
    CustomCharsetSet7=910n2ae863o4i7r5cmgblstdNuk
    CustomCharsetSet8=41a02356gn78ec9itorspkdlGbAu
    CustomCharsetSet9=9130e25a7l648isokutncdLgrbm
    CustomCharsetSetA=be312709586as4orlindkct
    CustomCharsetSetB=ae132065r987on4silbtdkfcRm
    CustomCharsetSetC=5103ea7492r68bdckfnh
    CustomCharsetSetD=9a21e3047685dfbricn
    CustomCharsetSetE=a310e6d297458bfcrnso
    CustomCharsetSetF=b75490dc12a83e6sfn
    
    D:\Dict\statistic2>
    
    словарик там тестовый вложен (не очищен и не релевантен). ;)

    В текущей разработке: подсчёт примерно общего времени, необходимого на брут по пользовательской маске при опред скорости брута в EGB.
     
    #11 -=lebed=-, 6 Apr 2012
    Last edited: 6 Apr 2012
    2 people like this.
  12. wwalex101

    wwalex101 New Member

    Joined:
    24 Mar 2009
    Messages:
    67
    Likes Received:
    4
    Reputations:
    1
    не много не в тему но все же, я тут подумал а если сравнивать не строки при бруте а байты то есть последовательность бай с последовательностью байт хеша byte[] crak == byte[] hash? на выходе получим конечно крокозябру но впринципе же без разницы что показывает главное что из этого набора байтов получится нужный хеш и тем более геннерировать байт последовательность будет проще чем перебирать слова, или не?
     
  13. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Ни хрена не понял, но если ты про корреляцию между символом (байтом) в пароле, с байтом в его хэше то её нет, она нулевая...
     
  14. wwalex101

    wwalex101 New Member

    Joined:
    24 Mar 2009
    Messages:
    67
    Likes Received:
    4
    Reputations:
    1
    я не про корреляцию а про нахождения набора байт из которого получится искомый хеш
     
  15. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Я не вижу разницы при кодировке ASCII между байтом - кодом символа и самим символом. Набор байт или набор символов - разницы нету, речь сейчас об алгоритме генерации множества слов, подаваемых на вход функции хэширования.
    Либо я не понял чём речь.
     
    #15 -=lebed=-, 6 Apr 2012
    Last edited: 6 Apr 2012
  16. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Добавил параметр скорости брута и вычисление необходмого времени на прохождение маски из пользовательских чарсетов скачать: http://narod.ru/disk/45374533001.b6284348725c1a730ed19b07f8c1610d/statistic5.rar.html

    пример работы:
    Максимальная длинна чарсета
    128
    --------------------------------
    Колличество чарсетов (1-36)
    10
    --------------------------------
    Минимальное матожидание для попадания символа в чарсет в %
    3
    --------------------------------
    скорость брута в Млн. пасс/сек.
    100

    Code:
    D:\Dict\statistic2>cmd /k join.exe
    -------------------------------------------------------------------
    --------------CustomCharSet Mask Generator by -=lebed=--v.03-------
    -------------------------------------------------------------------
    File -> pass.txt, size - 11373399 bytes
    Start, wait please...
    Statistics pass.txt  computed...
    Words:930000 Progress:▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100%
    CustomCharsetSet0=scamplbtdfr1kgwehnji
    CustomCharsetSet1=aoeihurl0123c9
    CustomCharsetSet2=anrelstmoicdpbuhkg
    CustomCharsetSet3=aeiontlsrc1h2kup3dm04
    CustomCharsetSet4=eaoinrlsthm1cyuk2d0
    CustomCharsetSet5=aeniortsl120c3m49h5pu87d6
    CustomCharsetSet6=aeoi1nrslt02ch3mdu98kp4
    CustomCharsetSet7=ea1oni20rl3st985476chm
    CustomCharsetSet8=1ea02oinr3lst987546ch
    CustomCharsetSet9=1e02ao93875i46nrlst
    -------------------------------------------------------------------
    All words:10150018956000, all time hashcrack:2days
    -------------------------------------------------------------------
    
    D:\Dict\statistic2>
    
    Получается для прохождения всех релевантных десятисимвольников требуется 2-е суток на GPU.
     
    #16 -=lebed=-, 6 Apr 2012
    Last edited: 6 Apr 2012
    1 person likes this.
  17. Mayor16

    Mayor16 Member

    Joined:
    23 Oct 2010
    Messages:
    107
    Likes Received:
    24
    Reputations:
    6
    Слу, можно сделать так что бы оно корректировало длину этого чарсета пользовательского добавляя символы в чарсеты пока маска находится в диапазоне по времени заданному.
    Тоесть:
    по длине чарсеты 6х6х6х6х6х6х6х6 (например)
    видим что времени мало занимает, начинаем добавлять:
    7х7х7х6х6х6х6х6
    7х7х7х7х6х6х6х6
    8х7х7х7х7х6х6х6
    и так далее, вы поняли
    Можно для начала сделать брутер на ПХП, коль вы его так любите
    Если испытания успешны -> делаем что то солиднее
     
  18. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Ну ты понял мою идею, я вот сейчас заметил, я сгенерил маски (ну свои по словарику) 512 шт. и поставил на брут, на некоторых выхлоп был малый, но на некоторых полезло очень даже неплохо (1 пасс в сек находится на хэшлисте из 16 млн.), т.е. вот их в первую очередь и надо брутить.

    Ну и собственно дело не в брутере - он есть уже и не один, дело в алгоритме подачи паролей на вход, в зависимости от выхлопа.
    Динамический аддаптивный чарсет - это было бы круто, т.е те символы матожидание которых уменьшается убираем из чарсета, тех что растёт - добавляем!
     
    #18 -=lebed=-, 6 Apr 2012
    Last edited: 6 Apr 2012
  19. Mayor16

    Mayor16 Member

    Joined:
    23 Oct 2010
    Messages:
    107
    Likes Received:
    24
    Reputations:
    6
    Это понятно, но вот ты пишешь что если выхлоп идет плохой, надо переключатся НО сколько было раз когда выхлоп как раз был в конце диапазона маски) жалко пропускать пассы.
     
  20. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Хм.. да теперь у нас маски из пользовательских наборов!, из символов с наибольшим матожиданием, т.е. я сомневаюсь, что в конце когда будут подставлятся символы с наименьшим матожиданием мы увиидим лавину паролей (на самом деле скорее всего тупняк полный). Т.е. алгоритм расчитан как каз на съём большого объёма пассов в начале, а потом уже выхлоп будет идти медленнее и медленее ибо символы в паролях всё более и более редкие будут использоваться!

    Я бручу сейчас не по релевантным пользовательским маскам из пользовательских чарсетов, а просто по маскам из стандартных чарсетов, прохождение каждой из которых не более 2-х часов занимает на GPU.

    вот к примеру:
    - попал на "золотую жилу" на конце z9 - соответственно растёт матожидание z на 9 позиции и 9 на 10-той, логично сделать их фиксацию и пробрутить 8-ми символьники фактически по пользовательской маске. (что собственно и уже происходит автоматом в egb)
     
    #20 -=lebed=-, 6 Apr 2012
    Last edited: 6 Apr 2012