Сейчас на форуме: bartolomeo, -Sanchez-, morgot, sashalogout (+4 невидимых)

 eXeL@B —› Софт, инструменты —› Hex-Rays IDA Pro 7.5
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . >>
Посл.ответ Сообщение


Ранг: 52.0 (постоянный), 146thx
Активность: 0.030.08
Статус: Участник

Создано: 28 сентября 2017 05:38 · Поправил: Модератор
· Личное сообщение · #1

Текущая версия: IDA 7.5 sp1

IDA 7.2

Установщик:
x64_idapronw_hexx64w_181105_de455c480e11ef1ec91473028f4dd175.exe

Пароль для установки:
7JpT48a7Y2fv

Plugins
Полный набор патченных плагинов от IDA 7.0 для IDA 7.2
https://mega.nz/#!kXxnUagZ!eCDn7iNaXTK88R5mdJERAhYF2z8QwIy8g7A4OGAZLdk

IDA Pro 7.0

IDA Pro 7.0.170914 WIN\MAC x64 + Hex-Rays Decompilers (x86, x64, ARM, ARM64)

Год Выпуска: 2017
Версия: 7.0.170914
Разрядность: 64bit

Имена архивов

macOS
- x64_idapronm_hexarm64m_hexarmm_hexx64m_hexx86m_170914_e723c5648dc3f2f588ab8339ccf62ec0.zip

Windows
- x64_idapronw_hexarm64w_hexarmw_hexx64w_hexx86w_170914_e723c5648dc3f2f588ab8339ccf62ec0.exe


Code:
  1. magnet:?xt=urn:btih:169DFE1E10161FFA82B786BF89F05AEA6BCD4510


| Сообщение посчитали полезным: zNob, -=AkaBOSS=-, VodoleY, yashechka, CyberGod, sefkrd, hoyux, TryAga1n, plutos, ClockMan, bbuc, mak, DenCoder, Gideon Vi, Veliant, Medsft, BlackCode, TRPD, Vintersorg, LinXP, mushr00m, kurorolucifer, MacTep, raiser, negoday, Tony_Stark, Apocalypse, ELF_7719116, DICI BF, mkdev, g4bi, AliS S0fT, NoRG, oooirbis, SReg, darsy, tRuNKator, topmo3, Jks111, HandMill, ALSSL, d745150, mohamedhk2, Isaev


Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 23 июня 2019 01:24
· Личное сообщение · #2

fedik пишет:
никто не хоче посортировать 60 гиг стрингов по их хэмминг дистанции?

А чего там брутить загрузи в кота и сам проверь

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 июня 2019 01:43
· Личное сообщение · #3

fedik пишет:
никто не хоче посортировать 60 гиг

pwd_e(C6462A4C) FgVQyXZY2XFk
Code:
  1. format pe console 4.0
  2. include 'win32ax.inc'
  3. entry main
  4.  
  5. macro .printf mask,[arg] {
  6.          common
  7.                  local n
  8.                  n = 0
  9.          forward
  10.                  match any,arg \{ n = n + 1 \}
  11.          common
  12.                  local .len,.size,.part
  13.                  virtual
  14.                         db mask,0
  15.                         .len=$-$$
  16.                         .size=(3+.len)and(not 3)
  17.                  end virtual
  18.                  repeat .size/4
  19.                         virtual
  20.                               db mask,0
  21.                               rb .size-.len
  22.                               load .part DWORD from $-(%*4)
  23.                         end virtual
  24.                         push .part
  25.                  end repeat
  26.          reverse
  27.                  if n <> 0
  28.                         if arg eqtype DWORD[ebp]
  29.                               match a[tail],arg \{
  30.                               match =DWORD,\{
  31.                                    push arg \}
  32.                               match =WORD,\{
  33.                                    movzx eax,arg
  34.                                    push eax \}
  35.                               match =BYTE,\{
  36.                                    movzx eax,arg
  37.                                    push eax \\}
  38.                         else
  39.                               push arg
  40.                         end if
  41.                  end if
  42.          common
  43.                  if n <> 0
  44.                         lea eax,[esp + n*4]
  45.                         push eax
  46.                         lea eax,[szMessage]
  47.                         invoke wsprintfA,eax
  48.                         add esp,2*4 + n*4 + .size
  49.                         lea eax,[szMessage]
  50.                         stdcall write_console,eax
  51.                  else
  52.                         stdcall write_console,esp
  53.                         add esp,.size
  54.                  end if }
  55.  
  56. section '.code' code data readable executable
  57.  
  58. proc main
  59.                         locals
  60.                               fpu_cw                     dw ?
  61.                               nCurrentDigit dd ?
  62.                               seed                  dq ?
  63.                               val                    dd ?
  64.                               pwd_a                        rb 13
  65.                               pwd_b                        rb 13
  66.                               pwd_c                        rb 13
  67.                               pwd_d                        rb 13
  68.                               pwd_e                        rb 13
  69.                               pwd_f                        rb 13
  70.                               szMessage         rb 128
  71.                         endl
  72.                         fstcw [fpu_cw]
  73.                         and [fpu_cw],1111001111111111b
  74.                         or [fpu_cw],0000010000000000b
  75.                         fldcw [fpu_cw]
  76.                         xor ebx,ebx
  77.                         .next_seed:
  78.                         .if ebx <> 0xFFFFFFFF
  79.                               mov ecx,ebx
  80.                               xor edi,edi
  81.                               shld edi,ecx,16
  82.                               mov esi,ebx
  83.                               shl esi,16
  84.                               add esi,0x330E
  85.                               adc edi,0
  86.                               mov [nCurrentDigit],0
  87.                               .next_digit:
  88.                               .if [nCurrentDigit] < 12
  89.                                    imul eax,edi,-0x21131993
  90.                                    mov ecx,esi
  91.                                    lea ecx,[ecx*4+ecx]
  92.                                    add ecx,eax
  93.                                    mov eax,0xDEECE66D
  94.                                    mul esi
  95.                                    add edx,ecx
  96.                                    add eax,0x0B
  97.                                    adc edx,0
  98.                                    movzx edi,dx
  99.                                    mov esi,eax
  100.                                    mov DWORD[seed+00],esi
  101.                                    mov DWORD[seed+04],edi
  102.                                    fild [seed]
  103.                                    fxam
  104.                                    ;fstsw ax
  105.                                    ;shr ax,8
  106.                                    ;and eax,1
  107.                                    ;.if ZERO?
  108.                                    xor eax,eax
  109.                                        fldz
  110.                                        fucomi st,st1
  111.                                        setpo dl
  112.                                        cmove eax,edx
  113.                                        test al,al
  114.                                        .if ~ZERO?
  115.                                           fstp st
  116.                                        .else
  117.                                           fild [.valD0]
  118.                                           fxch st1
  119.                                           fxch st2
  120.                                           fscale
  121.                                           fstp st1
  122.                                           fxam
  123.                                           ;fstsw ax
  124.                                           ;shr ax,8
  125.                                           ;and eax,1
  126.                                           ;.if ZERO?
  127.                                             fucomi st,st1
  128.                                             fstp st1
  129.                                           ;.endif
  130.                                        .endif
  131.                                    ;.endif
  132.                                    fld [.val54]
  133.                                    fmulp st1,st
  134.                                    fistp [val]
  135.                                    mov ecx,[nCurrentDigit]
  136.                                    mov eax,[val]
  137.                                    movzx edx,[.+ eax]
  138.                                    mov [pwd_a + ecx],dl
  139.                                    movzx edx,[.+ eax]
  140.                                    mov [pwd_b + ecx],dl
  141.                                    movzx edx,[.+ eax]
  142.                                    mov [pwd_c + ecx],dl
  143.                                    movzx edx,[.+ eax]
  144.                                    mov [pwd_d + ecx],dl
  145.                                    movzx edx,[.+ eax]
  146.                                    mov [pwd_e + ecx],dl
  147.                                    movzx edx,[.+ eax]
  148.                                    mov [pwd_f + ecx],dl
  149.                                    inc [nCurrentDigit]
  150.                                    jmp .next_digit
  151.                               .endif
  152.                               .if (DWORD[pwd_a+00]='FgVQ' & DWORD[pwd_a+04]='yXZY' & DWORD[pwd_a+08]='2XFk') |\
  153.                                    (DWORD[pwd_a+00]='7ChF' & DWORD[pwd_a+04]='zSbF' & DWORD[pwd_a+08]='4aik') |\
  154.                                    (DWORD[pwd_a+00]='ZFdL' & DWORD[pwd_a+04]='qEM2' & DWORD[pwd_a+08]='QMVe') |\
  155.                                    (DWORD[pwd_a+00]='6VYG' & DWORD[pwd_a+04]='SyLg' & DWORD[pwd_a+08]='uBfi')
  156.                                    mov [pwd_a+12],0
  157.                                    lea ecx,[pwd_a]
  158.                                    .printf 'pwd_a(%.8X) %s'\,13\,10\,0\,0\,0,ebx,ecx
  159.                               .endif
  160.                               .if (DWORD[pwd_b+00]='FgVQ' & DWORD[pwd_b+04]='yXZY' & DWORD[pwd_b+08]='2XFk') |\
  161.                                    (DWORD[pwd_b+00]='7ChF' & DWORD[pwd_b+04]='zSbF' & DWORD[pwd_b+08]='4aik') |\
  162.                                    (DWORD[pwd_b+00]='ZFdL' & DWORD[pwd_b+04]='qEM2' & DWORD[pwd_b+08]='QMVe') |\
  163.                                    (DWORD[pwd_b+00]='6VYG' & DWORD[pwd_b+04]='SyLg' & DWORD[pwd_b+08]='uBfi')
  164.                                    mov [pwd_b+12],0
  165.                                    lea ecx,[pwd_b]
  166.                                    .printf 'pwd_b(%.8X) %s'\,13\,10\,0\,0\,0,ebx,ecx
  167.                               .endif
  168.                               .if (DWORD[pwd_c+00]='FgVQ' & DWORD[pwd_c+04]='yXZY' & DWORD[pwd_c+08]='2XFk') |\
  169.                                    (DWORD[pwd_c+00]='7ChF' & DWORD[pwd_c+04]='zSbF' & DWORD[pwd_c+08]='4aik') |\
  170.                                    (DWORD[pwd_c+00]='ZFdL' & DWORD[pwd_c+04]='qEM2' & DWORD[pwd_c+08]='QMVe') |\
  171.                                    (DWORD[pwd_c+00]='6VYG' & DWORD[pwd_c+04]='SyLg' & DWORD[pwd_c+08]='uBfi')
  172.                                    mov [pwd_c+12],0
  173.                                    lea ecx,[pwd_c]
  174.                                    .printf 'pwd_c(%.8X) %s'\,13\,10\,0\,0\,0,ebx,ecx
  175.                               .endif
  176.                               .if (DWORD[pwd_d+00]='FgVQ' & DWORD[pwd_d+04]='yXZY' & DWORD[pwd_d+08]='2XFk') |\
  177.                                    (DWORD[pwd_d+00]='7ChF' & DWORD[pwd_d+04]='zSbF' & DWORD[pwd_d+08]='4aik') |\
  178.                                    (DWORD[pwd_d+00]='ZFdL' & DWORD[pwd_d+04]='qEM2' & DWORD[pwd_d+08]='QMVe') |\
  179.                                    (DWORD[pwd_d+00]='6VYG' & DWORD[pwd_d+04]='SyLg' & DWORD[pwd_d+08]='uBfi')
  180.                                    mov [pwd_d+12],0
  181.                                    lea ecx,[pwd_d]
  182.                                    .printf 'pwd_d(%.8X) %s'\,13\,10\,0\,0\,0,ebx,ecx
  183.                               .endif
  184.                               .if (DWORD[pwd_e+00]='FgVQ' & DWORD[pwd_e+04]='yXZY' & DWORD[pwd_e+08]='2XFk') |\
  185.                                    (DWORD[pwd_e+00]='7ChF' & DWORD[pwd_e+04]='zSbF' & DWORD[pwd_e+08]='4aik') |\
  186.                                    (DWORD[pwd_e+00]='ZFdL' & DWORD[pwd_e+04]='qEM2' & DWORD[pwd_e+08]='QMVe') |\
  187.                                    (DWORD[pwd_e+00]='6VYG' & DWORD[pwd_e+04]='SyLg' & DWORD[pwd_e+08]='uBfi')
  188.                                    mov [pwd_e+12],0
  189.                                    lea ecx,[pwd_e]
  190.                                    .printf 'pwd_e(%.8X) %s'\,13\,10\,0\,0\,0,ebx,ecx
  191.                               .endif
  192.                               .if (DWORD[pwd_f+00]='FgVQ' & DWORD[pwd_f+04]='yXZY' & DWORD[pwd_f+08]='2XFk') |\
  193.                                    (DWORD[pwd_f+00]='7ChF' & DWORD[pwd_f+04]='zSbF' & DWORD[pwd_f+08]='4aik') |\
  194.                                    (DWORD[pwd_f+00]='ZFdL' & DWORD[pwd_f+04]='qEM2' & DWORD[pwd_f+08]='QMVe') |\
  195.                                    (DWORD[pwd_f+00]='6VYG' & DWORD[pwd_f+04]='SyLg' & DWORD[pwd_f+08]='uBfi')
  196.                                    mov [pwd_f+12],0
  197.                                    lea ecx,[pwd_b]
  198.                                    .printf 'pwd_f(%.8X) %s'\,13\,10\,0\,0\,0,ebx,ecx
  199.                               .endif
  200.                               inc ebx
  201.                               jmp .next_seed
  202.                         .endif
  203.                         ret
  204.          .valD0  dd 0xFFFFFFD0
  205.          .val54  dq 54.0
  206.          .db '23456789ABCDEFGHJKLMPQRSTUVWXYZabcdefghijkmpqrstuvwxyz'
  207.          .db 'ABCDEFGHJKLMPQRSTUVWXYZ23456789abcdefghijkmpqrstuvwxyz'
  208.          .db '23456789abcdefghijkmpqrstuvwxyzABCDEFGHJKLMPQRSTUVWXYZ'
  209.          .db 'abcdefghijkmpqrstuvwxyz23456789ABCDEFGHJKLMPQRSTUVWXYZ'
  210.          .db 'abcdefghijkmpqrstuvwxyzABCDEFGHJKLMPQRSTUVWXYZ23456789'
  211.          .db 'ABCDEFGHJKLMPQRSTUVWXYZabcdefghijkmpqrstuvwxyz23456789'
  212. endp
  213.  
  214. proc write_console pszMessage
  215.                    locals
  216.                      hStdOutput      dd ?
  217.                      nBytesWritten   dd ?
  218.                    endl
  219.                      invoke GetStdHandle,STD_OUTPUT_HANDLE
  220.                      mov [hStdOutput],eax
  221.                      invoke lstrlenA,[pszMessage]
  222.                      invoke WriteFile,[hStdOutput],[pszMessage],eax,addr nBytesWritten,0
  223.                      ret
  224. endp
  225.  
  226. section '.data' data readable writable
  227. data import
  228.          library kernel32,'kernel32.dll',user32,'user32.dll'
  229.          include 'api\kernel32.inc'
  230.          include 'api\user32.inc'
  231. end data

Там кроме первого пароля из списка ничего не налазит, в том числе с другими таблицами.

-----
2 оттенка серого





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 23 июня 2019 01:47
· Личное сообщение · #4

скорее всего чуваки хотели подлизаться
и спецом подобрали так что бы попадал хотя бы один пароль из известного инсталла
интересно как их ильфак заспасибствовал
в багбаунти вроде не попали

| Сообщение посчитали полезным: difexacaw, plutos

Ранг: 3.5 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 23 июня 2019 02:32
· Личное сообщение · #5

ClockMan пишет:
А чего там брутить загрузи в кота и сам проверь

в смысле брутить?
не, вы наверно мега супер сикрит идею не усекли

вон ф13 уже в ту сторону катит
но я его фазмы не осилю
он вабще мозговатый собака, и делать ему нечего на фазмах бруты писать...




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 23 июня 2019 03:47
· Личное сообщение · #6

reversecode пишет:
интересно как их ильфак заспасибствовал в багбаунти вроде не попали


я примерно на это и намекал, когда разместил фото ликующего Ильфака.

-----
Give me a HANDLE and I will move the Earth.




Ранг: 11.9 (новичок), 22thx
Активность: 0.010
Статус: Участник

Создано: 23 июня 2019 06:18 · Поправил: TOM_RUS
· Личное сообщение · #7

Кстати, пасс от IDA 7.0 (qY2jts9hEJGy) генерится на perl 5.18 с сидом 986038939...
Пассы 7ChFzSbF4aik, ZFdLqEM2QMVe, 6VYGSyLguBfi тоже на этой версии perl генерятся нормально...

Но в то же время у меня есть пасс от ида 7.0 для Mac, и его в сгенерированном этой версией perl словаре нет...
Так же ни один пароль не подходит к инсталятору 7.2 (делал перебор по словарям, сгенерированным perl версий 5.18 и 5.30)...

Возможно стоит взять множество разных версий perl, выбрать из них те, который генерят разные пароли для одного и того же seed, сгенерить ими словари, покормить кота...

Так же есть вероятность что perl может генерить разные пароли для одного seed в зависимости от OS...

И не мешало бы проверить не было ли внесено каких либо изменений в сам инсталятор ида 7.2 в плане проверки пароля, а то мало ли...

А еще есть вероятность что в 7.2 уже пофиксили уязвимость, а даты в том блоге специально указали позднее релиза 7.2, чтобы мы думали что еще не пофикшено...
Даты релиза 7.2 и дата репорта бага довольно близки, разница всего каких-то 2 месяца...



Ранг: 397.0 (мудрец), 179thx
Активность: 0.170.1
Статус: Участник

Создано: 23 июня 2019 08:20
· Личное сообщение · #8

TOM_RUS пишет:

Так же есть вероятность что perl может генерить разные пароли для одного seed в зависимости от OS...


ось одна, версии разные ActiveState Perl

12 LXa3kW3q8sjT в версии 5.16
12 FgVQyXZY2XFk в версии 5.28

-----
...или ты работаешь хорошо, или ты работаешь много...




Ранг: 21.0 (новичок), 19thx
Активность: 0.010.03
Статус: Участник

Создано: 23 июня 2019 08:45
· Личное сообщение · #9

Previous to Perl 5.20.0 (May 2014), Perl's rand function will try and call drand48, random or rand from the C library stdlib.h in that order.

Beginning with Perl 5.20.0, a drand48() implementation is built into Perl and used on all platforms. The implementation is from FreeBSD and uses a 48-bit linear congruential generator...

Seeds for drand48 are 32-bit and the initial seed uses 4 bytes of data read from /dev/urandom if possible; a 32-bit mix of various system values otherwise. --> Link <--



Ранг: 397.0 (мудрец), 179thx
Активность: 0.170.1
Статус: Участник

Создано: 23 июня 2019 08:46
· Личное сообщение · #10

soft

TOM_RUS пишет:
Кстати, пасс от IDA 7.0 (qY2jts9hEJGy) генерится на perl 5.18 с сидом 986038939...
Пассы 7ChFzSbF4aik, ZFdLqEM2QMVe, 6VYGSyLguBfi тоже на этой версии perl генерятся нормально...


-----
...или ты работаешь хорошо, или ты работаешь много...





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 июня 2019 09:11
· Личное сообщение · #11

TOM_RUS пишет:
Так же есть вероятность что perl может генерить разные пароли для одного seed в зависимости от OS...

Это разные билды, разыскал 5.18, о котором скорей всего речь, и который выдает qY2jts9hEJGy для 986038939 - там просто гпсч из msvcrt.dll, при этом в свежайшем strawberry 5.30 drand48().

-----
2 оттенка серого




Ранг: 21.0 (новичок), 19thx
Активность: 0.010.03
Статус: Участник

Создано: 23 июня 2019 09:41
· Личное сообщение · #12

старые пасы
Code:
  1. 7ChFzSbF4aik (link)
  2. ZFdLqEM2QMVe (link)
  3. 6VYGSyLguBfi (link) 
на Drand01.
Code:
  1. #include <stdlib.h>   
  2. #include <memory.h>
  3.  
  4. // Rand from strawberry-perl-5.18.4.1-32bit
  5.  
  6. /* Drand01:
  7.  *       This macro is to be used to generate uniformly distributed
  8.  *       random numbers over the range [0., 1.[.  You may have to supply
  9.  *       an 'extern double drand48();' in your program since SunOS 4.1.3
  10.  *       doesn't provide you with anything relevant in its headers.
  11.  *       See HAS_DRAND48_PROTO.
  12.  */
  13. /* Rand_seed_t:
  14.  *       This symbol defines the type of the argument of the
  15.  *       random seed function.
  16.  */
  17. /* seedDrand01:
  18.  *       This symbol defines the macro to be used in seeding the
  19.  *       random number generator (see Drand01).
  20.  */
  21. /* RANDBITS:
  22.  *       This symbol indicates how many bits are produced by the
  23.  *       function used to generate normalized random numbers.
  24.  *       Values include 15, 16, 31, and 48.
  25.  */
  26. #define Drand01()          (rand()/(double)((unsigned)1<<RANDBITS))       /**/
  27. #define Rand_seed_t               unsigned             /**/
  28. #define seedDrand01(x)     srand((Rand_seed_t)x) /**/
  29. #define RANDBITS   15             /**/
  30.  
  31. int _tmain(int argc, _TCHAR* argv[])
  32. {
  33.          const char charset[] = "abcdefghijkmpqrstuvwxyzABCDEFGHJKLMPQRSTUVWXYZ23456789";
  34.          int dic_len = sizeof(charset)-1;
  35.          
  36.          #define MAX_PASSWORDLEN     12
  37.          char pw[MAX_PASSWORDLEN+1] = {0};
  38.  
  39.          // =====================================
  40.          // FgVQyXZY2XFk = 3326487116
  41.          // =====================================
  42.          seedDrand01(3326487116);
  43.          for (int i = 0; i < MAX_PASSWORDLEN; i++)
  44.          { 
  45.                  int key = (int)(Drand01() * dic_len);
  46.                  pw[i] = charset[key];
  47.          } 
  48.          printf("test FgVQyXZY2XFk = %s\r\n", pw);
  49.  
  50.          // =====================================
  51.          // 7ChFzSbF4aik = 1651334142
  52.          // =====================================
  53.          seedDrand01(1651334142);
  54.          memset(pw, 0, MAX_PASSWORDLEN+1);
  55.          for (int i = 0; i < MAX_PASSWORDLEN; i++)
  56.          { 
  57.                  int key = (int)(Drand01() * dic_len);
  58.                  pw[i] = charset[key];
  59.          } 
  60.          printf("test 7ChFzSbF4aik = %s\r\n", pw);
  61.  
  62.          // =====================================
  63.          // ZFdLqEM2QMVe = 804262508
  64.          // =====================================
  65.          seedDrand01(804262508);
  66.          memset(pw, 0, MAX_PASSWORDLEN+1);
  67.          for (int i = 0; i < MAX_PASSWORDLEN; i++)
  68.          { 
  69.                  int key = (int)(Drand01() * dic_len);
  70.                  pw[i] = charset[key];
  71.          } 
  72.          printf("test ZFdLqEM2QMVe = %s\r\n", pw);
  73.  
  74.          // =====================================
  75.          // 6VYGSyLguBfi = 1930891353
  76.          // =====================================
  77.          seedDrand01(1930891353);
  78.          memset(pw, 0, MAX_PASSWORDLEN+1);
  79.          for (int i = 0; i < MAX_PASSWORDLEN; i++)
  80.          { 
  81.                  int key = (int)(Drand01() * dic_len);
  82.                  pw[i] = charset[key];
  83.          } 
  84.          printf("test 6VYGSyLguBfi = %s\r\n", pw);
  85.  
  86.          wprintf(L"Press any key...\r\n");
  87.          getwchar();
  88.          return 0;
  89. }


более свежий пасс FgVQyXZY2XFk на более свежем perl > Perl 5.20.0 (May 2014) где уже drand48().
7.2 походу мимо кассы




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 июня 2019 10:36
· Личное сообщение · #13

Не получается с обоими алгоритмами нужный хеш для 7.2 Генераторы если кому интересно --> Link <--

-----
2 оттенка серого




Ранг: 21.0 (новичок), 19thx
Активность: 0.010.03
Статус: Участник

Создано: 23 июня 2019 10:43
· Личное сообщение · #14

Дернул алго DRAND48 из исходников Perl. Перепроверил 7 версий Perl какой в них алго ГСЧ. Все как и говорилось ранее.

В песочнице отключите USE_DRAND48 для старого ГСЧ.

Code:
  1. #include <stdlib.h>   
  2. #include <memory.h>
  3. #include <math.h>
  4.  
  5.  
  6. #define  USE_DRAND48
  7.  
  8.  
  9. #ifdef USE_DRAND48
  10. // ================================================================
  11. //       DRAND48 for:
  12. //       strawberry-perl-5.20.3.3-32bit  >         randbits='48' / randfunc='Perl_drand48' / randseedtype='U32'
  13. //       strawberry-perl-5.22.3.1-32bit  >         randbits='48' / randfunc='Perl_drand48' / randseedtype='U32'
  14. //       strawberry-perl-5.24.4.1-32bit  >         randbits='48' / randfunc='Perl_drand48' / randseedtype='U32'
  15. //       strawberry-perl-5.26.3.1-32bit  >         randbits='48' / randfunc='Perl_drand48' / randseedtype='U32'
  16. //       strawberry-perl-5.28.2.1-32bit  >         randbits='48' / randfunc='Perl_drand48' / randseedtype='U32'
  17. //       strawberry-perl-5.30.0.1-64bit  >         randbits='48' / randfunc='Perl_drand48' / randseedtype='U32'
  18. // ================================================================
  19.  
  20. // Start DRAND48 ==================================================
  21. #define  IVTYPE       long             /**/
  22. #define  UVTYPE       unsigned long             /**/
  23. #define  I8TYPE       char             /**/
  24. #define  U8TYPE       unsigned char             /**/
  25. #define  I16TYPE     short     /**/
  26. #define  U16TYPE     unsigned short     /**/
  27. #define  I32TYPE     long      /**/
  28. #define  U32TYPE     unsigned long      /**/
  29. #ifdef HAS_QUAD
  30. #define  I64TYPE     long long /**/
  31. #define  U64TYPE     unsigned long long /**/ 
  32. #endif
  33.  
  34. typedef I8TYPE I8;
  35. typedef U8TYPE U8;
  36. typedef I16TYPE I16;
  37. typedef U16TYPE U16;
  38. typedef I32TYPE I32;
  39. typedef U32TYPE U32;
  40. #ifdef PERL_CORE
  41. #   ifdef HAS_QUAD
  42. typedef I64TYPE I64;
  43. typedef U64TYPE U64;
  44. #   endif
  45. #endif /* PERL_CORE */
  46.  
  47. /* outside the core, perl.h undefs HAS_QUAD if IV isn't 64-bit
  48.    We can't swap this to HAS_QUAD, because the logic here affects the type of
  49.    perl_drand48_t below, and that is visible outside of the core.  */
  50. #if defined(U64TYPE) && !defined(USING_MSVC6)
  51. /* use a faster implementation when quads are available,
  52.  * but not with VC6 on Windows */
  53. #    define PERL_DRAND48_QUAD
  54. #endif
  55.  
  56. #ifdef PERL_DRAND48_QUAD
  57.  
  58. /* U64 is only defined under PERL_CORE, but this needs to be visible
  59.  * elsewhere so the definition of PerlInterpreter is complete.
  60.  */
  61. typedef U64TYPE perl_drand48_t;
  62.  
  63. #else
  64.  
  65. struct PERL_DRAND48_T {
  66.     U16 seed[3];
  67. };
  68.  
  69. typedef struct PERL_DRAND48_T perl_drand48_t;
  70.  
  71. #endif
  72.  
  73. #define PL_RANDOM_STATE_TYPE perl_drand48_t
  74.  
  75. // ===============
  76.  
  77. #define FREEBSD_DRAND48_SEED_0   (0x330e)
  78.  
  79. #ifdef PERL_DRAND48_QUAD
  80.  
  81. #define DRAND48_MULT U64_CONST(0x5deece66d)
  82. #define DRAND48_ADD  0xb
  83. #define DRAND48_MASK U64_CONST(0xffffffffffff)
  84.  
  85. #else
  86.  
  87. #define FREEBSD_DRAND48_SEED_1   (0xabcd)
  88. #define FREEBSD_DRAND48_SEED_2   (0x1234)
  89. #define FREEBSD_DRAND48_MULT_0   (0xe66d)
  90. #define FREEBSD_DRAND48_MULT_1   (0xdeec)
  91. #define FREEBSD_DRAND48_MULT_2   (0x0005)
  92. #define FREEBSD_DRAND48_ADD      (0x000b)
  93.  
  94. const unsigned short _rand48_mult[3] = {
  95.          FREEBSD_DRAND48_MULT_0,
  96.          FREEBSD_DRAND48_MULT_1,
  97.          FREEBSD_DRAND48_MULT_2
  98. };
  99. const unsigned short _rand48_add = FREEBSD_DRAND48_ADD;
  100.  
  101. #endif
  102.  
  103. void
  104. Perl_drand48_init_r(perl_drand48_t *random_state, U32 seed)
  105. {
  106.          //PERL_ARGS_ASSERT_DRAND48_INIT_R;
  107.  
  108. #ifdef PERL_DRAND48_QUAD
  109.          *random_state = FREEBSD_DRAND48_SEED_0 + ((U64TYPE)seed << 16);
  110. #else
  111.          random_state->seed[0] = FREEBSD_DRAND48_SEED_0;
  112.          random_state->seed[1] = (U16) seed;
  113.          random_state->seed[2] = (U16) (seed >> 16);
  114. #endif
  115. }
  116.  
  117. double
  118. Perl_drand48_r(perl_drand48_t *random_state)
  119. {
  120.          //PERL_ARGS_ASSERT_DRAND48_R;
  121.  
  122. #ifdef PERL_DRAND48_QUAD
  123.          *random_state = (*random_state * DRAND48_MULT + DRAND48_ADD)
  124.                  & DRAND48_MASK;
  125.  
  126.          return ldexp((double)*random_state, -48);
  127. #else
  128.          {
  129.                  U32 accu;
  130.                  U16 temp[2];
  131.  
  132.                  accu = (U32) _rand48_mult[0] * (U32) random_state->seed[0]
  133.                  + (U32) _rand48_add;
  134.                  temp[0] = (U16) accu; /* lower 16 bits */
  135.                  accu >>= sizeof(U16) * 8;
  136.                  accu += (U32) _rand48_mult[0] * (U32) random_state->seed[1]
  137.                  + (U32) _rand48_mult[1] * (U32) random_state->seed[0];
  138.                  temp[1] = (U16) accu; /* middle 16 bits */
  139.                  accu >>= sizeof(U16) * 8;
  140.                  accu += _rand48_mult[0] * random_state->seed[2]
  141.                  + _rand48_mult[1] * random_state->seed[1]
  142.                  + _rand48_mult[2] * random_state->seed[0];
  143.                  random_state->seed[0] = temp[0];
  144.                  random_state->seed[1] = temp[1];
  145.                  random_state->seed[2] = (U16) accu;
  146.  
  147.                  return ldexp((double) random_state->seed[0], -48) +
  148.                         ldexp((double) random_state->seed[1], -32) +
  149.                         ldexp((double) random_state->seed[2], -16);
  150.          }
  151. #endif
  152. }
  153.  
  154.  
  155. #define PL_RANDOM_STATE_TYPE perl_drand48_t
  156.  
  157. //Copy(&(proto_perl->Irandom_state), &PL_random_state, 1, PL_RANDOM_STATE_TYPE);
  158. PL_RANDOM_STATE_TYPE Irandom_state;
  159.  
  160. //#define PL_random_state   (vTHX->Irandom_state)
  161. #define PL_random_state         (Irandom_state)
  162.  
  163. #define Perl_drand48_init(seed) (Perl_drand48_init_r(&PL_random_state, (seed)))
  164. #define Perl_drand48() (Perl_drand48_r(&PL_random_state))
  165.  
  166. #define Drand01()          Perl_drand48()     
  167. #define Rand_seed_t               U32     
  168. #define seedDrand01(x)     Perl_drand48_init((Rand_seed_t)x)       
  169. #define RANDBITS   48             
  170.  
  171. // End DRAND48 ================================================================
  172.  
  173.  
  174. #else
  175.  
  176. // ================================================================
  177. //       Rand for:
  178. //       strawberry-perl-5.18.4.1-32bit  >         randbits='15' / randfunc='rand' / randseedtype='unsigned'
  179. // ================================================================
  180.  
  181. /* Drand01:
  182.  *       This macro is to be used to generate uniformly distributed
  183.  *       random numbers over the range [0., 1.[.  You may have to supply
  184.  *       an 'extern double drand48();' in your program since SunOS 4.1.3
  185.  *       doesn't provide you with anything relevant in its headers.
  186.  *       See HAS_DRAND48_PROTO.
  187.  */
  188. /* Rand_seed_t:
  189.  *       This symbol defines the type of the argument of the
  190.  *       random seed function.
  191.  */
  192. /* seedDrand01:
  193.  *       This symbol defines the macro to be used in seeding the
  194.  *       random number generator (see Drand01).
  195.  */
  196. /* RANDBITS:
  197.  *       This symbol indicates how many bits are produced by the
  198.  *       function used to generate normalized random numbers.
  199.  *       Values include 15, 16, 31, and 48.
  200.  */
  201.  
  202. #define Drand01()          (rand()/(double)((unsigned)1<<RANDBITS))       
  203. #define Rand_seed_t               unsigned             
  204. #define seedDrand01(x)     srand((Rand_seed_t)x) 
  205. #define RANDBITS   15
  206.  
  207. #endif
  208.  
  209.  
  210. int _tmain(int argc, _TCHAR* argv[])
  211. {
  212.          const char charset[] = "abcdefghijkmpqrstuvwxyzABCDEFGHJKLMPQRSTUVWXYZ23456789";
  213.          int dic_len = sizeof(charset)-1;
  214.          
  215.          #define MAX_PASSWORDLEN     12
  216.          char pw[MAX_PASSWORDLEN+1] = {0};
  217.  
  218.          // =====================================
  219.          // FgVQyXZY2XFk = 3326487116
  220.          // =====================================
  221.          seedDrand01(3326487116);
  222.          for (int i = 0; i < MAX_PASSWORDLEN; i++)
  223.          { 
  224.                  int key = (int)(Drand01() * dic_len);
  225.                  pw[i] = charset[key];
  226.          } 
  227.          printf("test FgVQyXZY2XFk = %s\r\n", pw);
  228.  
  229.          // =====================================
  230.          // 7ChFzSbF4aik = 1651334142
  231.          // =====================================
  232.          seedDrand01(1651334142);
  233.          memset(pw, 0, MAX_PASSWORDLEN+1);
  234.          for (int i = 0; i < MAX_PASSWORDLEN; i++)
  235.          { 
  236.                  int key = (int)(Drand01() * dic_len);
  237.                  pw[i] = charset[key];
  238.          } 
  239.          printf("test 7ChFzSbF4aik = %s\r\n", pw);
  240.  
  241.          // =====================================
  242.          // ZFdLqEM2QMVe = 804262508
  243.          // =====================================
  244.          seedDrand01(804262508);
  245.          memset(pw, 0, MAX_PASSWORDLEN+1);
  246.          for (int i = 0; i < MAX_PASSWORDLEN; i++)
  247.          { 
  248.                  int key = (int)(Drand01() * dic_len);
  249.                  pw[i] = charset[key];
  250.          } 
  251.          printf("test ZFdLqEM2QMVe = %s\r\n", pw);
  252.  
  253.          // =====================================
  254.          // 6VYGSyLguBfi = 1930891353
  255.          // =====================================
  256.          seedDrand01(1930891353);
  257.          memset(pw, 0, MAX_PASSWORDLEN+1);
  258.          for (int i = 0; i < MAX_PASSWORDLEN; i++)
  259.          { 
  260.                  int key = (int)(Drand01() * dic_len);
  261.                  pw[i] = charset[key];
  262.          } 
  263.          printf("test 6VYGSyLguBfi = %s\r\n", pw);
  264.  
  265.          wprintf(L"Press any key...\r\n");
  266.          getwchar();
  267.          return 0;
  268. }


| Сообщение посчитали полезным: mak


Ранг: 251.8 (наставник), 17thx
Активность: 0.120
Статус: Участник
Seeker

Создано: 23 июня 2019 11:03 · Поправил: =TS=
· Личное сообщение · #15

--> коменты к статье<--

-----
DREAMS CALL US





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 23 июня 2019 13:22 · Поправил: reversecode
· Личное сообщение · #16

на 31.10.18 пароли для вин 7.2 ида были все еще 12 символов
на начало февраля 19 года, когда были тест билды все той же 7.2 под xnu дебагинг, уже 14 символов

Добавлено спустя 26 минут
поскольку инсталлер димы всплыл в начале января 19 года, я его issued не помню в ключе когда он был выпущен(кто еще ключ к его иде качал ? посмотрите)
но судя по тому что ссылки експирятся в течении недели-двух
он тоже январский
так что может быть что уже билд димы с исправленной генерацией пароля

| Сообщение посчитали полезным: Public

Ранг: 21.0 (новичок), 19thx
Активность: 0.010.03
Статус: Участник

Создано: 23 июня 2019 13:58
· Личное сообщение · #17

у румына ISSUED_ON 2019-01-05 01:36:27

еще забавно что ключик от 7.0 версии "qY2jts9hEJGy" генерится через rand(), а значит старой версией Perl < 5.20.0
в то время как ключик от 6.8 "FgVQyXZY2XFk" и "PDxD5J82DsFy" генерится через drand48(), а значит более новой версией Perl > 5.20.0



Ранг: 3.5 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 23 июня 2019 14:30 · Поправил: fedik
· Личное сообщение · #18

6.8 пароль генерится старым алго, вместе с FgVQyXZY2XFk

TOM_RUS
показывай сорцы для qY2jts9hEJGy

теперь думаем как изменился билд процесс с приходом 7.2... и кто бы его трогал и зачем
он ведь может и мейлы отсылает автоматом с новыми билдами

// iLfAklU biTVAs - 7.2, unicode installer, x64
// qY2jts 9hEJGy - 7.0 - 5.18 с сидом 986038939, rand
// PDxD5J 82DsFy - 6.8, [ seed: 842411e7, diclen: 0x36 ], drand48
// FgVQyX ZY2XFk - 6.6, [ seed: c6462a4c, diclen: 0x36 ] 2015.04.23, build update, perl 5.2?8, drand48
// ZFdLqE M2QMVe - 6.5, 2015.04.08 - sales@
// 7ChFzS bF4aik - 6.5, 2014.04.03 - support@
// 6VYGSy LguBfi - 6.3, 2012-06-12
// LXa3kW 3q8sjT - в версии 5.16

Давайте соберё версии, посмотрим в чём разница, я вот например 7.0 не могу генерить с сорцами от Унисофт


Моя идея с хэмминг была такова:
Если изменился алфавит немного, то вызовы ранд() подряд меняют пароль или совсем немного, до одного бита, или немного.
Исходя из предположения что изменился алфавит, генерим пароли где есть FgVQyXZY2XFk, и в этом листе уже всё сравниваем с qY2jts9hEJGy. Те варианты шо ближе, берём их сиды, и уже брутим меняя алфавит.

Вот хэмминг побайтно, сравнение листа с уже известным FgVQyXZY2XFk
Hamming <= 11
TrVayXZX2Xgk [ seed: 1c29b861, len: 36 ]
HjRQyZzY2XVi [ seed: 25278eef, len: 36 ]
FsWYxZzY2XDz [ seed: 627b71b7, len: 36 ]
F7VAsXZYRXVg [ seed: 840ed064, len: 36 ]
FcTpyZZA7xFc [ seed: c0f5c40a, len: 36 ]
FgVQyXZY2XFk [ seed: c6462a4c, len: 36 ]

С этих примеров трудно сказать, насколько техника успешна, так как находиться настоящий пароль. А у варианта шо рядом FcTpyZZA7xFc , другой сид, а сиды к паролью относятйя однозначно в них ошибатся нельзя.


TOM_RUS
Как кота заводил?

7.0
Password hash: SHA-1 7ba6f1df9b88a25c6c5da522ccc307248aa0ec62
Password salt: 50617373776f7264436865636b48617368846e85474512dff8 (hex bytes, prepended to password)
Password encoding: MS-ANSI

hashcat64 -m 120 --hex-salt 7ba6f1df9b88a25c6c5da522ccc307248aa0ec62:50617373776f7264436865636b48617368846e85474512dff8 -a 0 pwlist.dict

-m 140 добавлял для 7.2 утф ?

| Сообщение посчитали полезным: mak


Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 23 июня 2019 14:31 · Поправил: ClockMan
· Личное сообщение · #19

У меня версия
hexx64w_181105_de455c480e11ef1ec91473028f4dd175
13.01.2019 14:52


Попробуйте частоту выпадения одинаковых символов ещё прикрутить)

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 3.5 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 23 июня 2019 14:58
· Личное сообщение · #20

ClockMan пишет:
Попробуйте частоту выпадения одинаковых символов ещё прикрутить)

имхо это ничё не даст, я с коллизиями ошибался, у их перл генератора коллизии, если их так можно назвать, только на первой букве, первый срадн+ранд, последушии ранды цепочка уже устойчивого прнг, и даже для не устойчивого 12 символов многовато для коллизий

можно посчитать кол.во первых букв и попробовать сравнить эту тенденцию с чем то известным с целью поиска тенденции сида, но тут проблема с чем сравнивать...

проще ведь всего srand(time), а у них сиды на юникс епох не похожи, видать "урандом"




Ранг: 52.0 (постоянный), 146thx
Активность: 0.030.08
Статус: Участник

Создано: 23 июня 2019 15:01 · Поправил: UniSoft
· Личное сообщение · #21

TOM_RUS пишет:
И не мешало бы проверить не было ли внесено каких либо изменений в сам инсталятор ида 7.2 в плане проверки пароля, а то мало ли...

Нет там никаких изменений, стандартный InnoSetup, правда в отличии от прежних версий, тут уже UNICODE версия.
Пароль в 7.2 должен быть в юникоде, т.е. 2 байта на символ, а в прошлых версиях 1!!!
SHA1("PasswordCheckHash" + C41639792846E456 + UNICODE(password)) == F29F55F07C043AD34B3DE150501535F44424EDAD
Code:
  1. SHA1_Process("PasswordCheckHash", 17);
  2. SHA1_Process("\xC4\x16\x39\x79\x28\x46\xE4\x56", 8);
  3. SHA1_Process(L"0123456789ab", 12 * 2); // <<<--- сам пароль в юникод!!!!!!
  4.  
  5. получаем (если нужно для теста): BEFA1B8DB1414A5F88502578A01EA4C3FFAC09FB
  6. а нам нужно: F29F55F07C043AD34B3DE150501535F44424EDAD





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 23 июня 2019 15:10 · Поправил: ClockMan
· Личное сообщение · #22

Я выше предлогал пойти другим методом
https://imgur.com/fMclbJW

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 23 июня 2019 15:10 · Поправил: mak
· Личное сообщение · #23

soft пишет:

у румына ISSUED_ON 2019-01-05 01:36:27

еще забавно что ключик от 7.0 версии "qY2jts9hEJGy" генерится через rand(), а значит старой версией Perl < 5.20.0
в то время как ключик от 6.8 "FgVQyXZY2XFk" и "PDxD5J82DsFy" генерится через drand48(), а значит более новой версией Perl > 5.20.0


Точно такая же история с версией 7.0(с другими ключами), где для линукс версии drand48() удачно работает, а для виндовс версии нет совпадений в обоих случаях, для версий 7.1 и для линукс и для виндовс нет совпадений в обоих генераторах, но это не значит, что ключи от этой же версии 7.1 но от другого релиза тоже не будут найдены, относится и к 7.2 версии.

Для брута можно адаптировать CUDA-based SHA-1 bruteforce --> Link <--

П.С. Исходник брута от Азиатских коллег


daa8_23.06.2019_EXELAB.rU.tgz - ida-testCN.7z

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 52.0 (постоянный), 146thx
Активность: 0.030.08
Статус: Участник

Создано: 23 июня 2019 15:21
· Личное сообщение · #24

mak пишет:
П.С. Исходник брута от Азиатских коллег

один и тот же косяк на всех форумах!!!
пароль для 7.2 должен быть в UNICODE, т.е. 2 байта на символ,
в то время как во всех прошлых версиях 1 байт

| Сообщение посчитали полезным: mak


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 23 июня 2019 15:31 · Поправил: mak
· Личное сообщение · #25

UniSoft пишет:
mak пишет:
П.С. Исходник брута от Азиатских коллег
один и тот же косяк на всех форумах!!!
пароль для 7.2 должен быть в UNICODE, т.е. 2 байта на символ,
в то время как во всех прошлых версиях 1 байт


Я его не смотрел, спасибо за заметку .. я за Куду Если решить проблему генерации для версий у которых нет совпадений, то можно уже и брут смотреть, а так ..

Dart Raiden пишет:
Инсталляторы версий 6.7 и 7.2, пароль от которых неизвестен
https://yadi.sk/d/dz9S13wCEKDtqg
https://yadi.sk/d/Co3mRKJDc0wqow

можно потренироваться и сделать полезное дело одновременно


Для 6.7 без пароля которая удалось подобрать пароль?! Кто-то пытался? А для Mac OS утечек без пароля не было?!

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 11.9 (новичок), 22thx
Активность: 0.010
Статус: Участник

Создано: 23 июня 2019 15:54 · Поправил: TOM_RUS
· Личное сообщение · #26

mak пишет:
Для 6.7 без пароля которая удалось подобрать пароль?! Кто-то пытался?

Для 6.7 без пароля 137afe87e9104665bd38a95ca3954e8d7eb6d12a:50617373776f7264436865636b48617368aae8123520fa8013:DuTLLYLCj3dU

Там в каментах пишут что для 7.2. надо

i think you need to omit the first rand.
this article doesn't mention this.


Не уверен что именно нужно сделать, 1 вызов rand пропустить или 12 вызовов (т.е. весь первый пароль скипнуть)?


fedik пишет:
-m 140 добавлял для 7.2 утф ?

Да.

TOM_RUS пишет:
Но в то же время у меня есть пасс от ида 7.0 для Mac, и его в сгенерированном этой версией perl словаре нет...

Нет, наврал, генерится этот пасс, но на версии perl 5.30.

| Сообщение посчитали полезным: mak, Dart Raiden

Ранг: 81.6 (постоянный), 102thx
Активность: 0.060.02
Статус: Участник

Создано: 23 июня 2019 17:14 · Поправил: Dart Raiden
· Личное сообщение · #27

mak пишет:
А для Mac OS утечек без пароля не было?!

--> последняя утечка под мак (не смотрел, с паролем или без) <--

| Сообщение посчитали полезным: mak


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 23 июня 2019 18:17 · Поправил: mak
· Личное сообщение · #28

Новая информация, на некоторых паролях выявлена тенденция, что пароль разделяется на две части, первая часть валидная, вторая часть невалидная, есть ли вероятность, что это внутренний цикл?! Статистически это маловероятно, т.к. первичные нулевые сиды относительно основного слишком часто верны. В таком случае это коллизия?! После проверки оказалось, что несколько сидов имеют одинаковую первую валидную часть, эти условия действительны к нескольким ключам.
Это не ошибка в коде, имеются коллизии (Спасибо за инфо поддержку одному из пользователей который остался анонимным)

fedik пишет:
// iLfAklU biTVAs - 7.2, unicode installer, x64
// qY2jts 9hEJGy - 7.0 - 5.18 с сидом 986038939, rand
// PDxD5J 82DsFy - 6.8, [ seed: 842411e7, diclen: 0x36 ], drand48
// FgVQyX ZY2XFk - 6.6, [ seed: c6462a4c, diclen: 0x36 ] 2015.04.23, build update, perl 5.2?8, drand48
// ZFdLqE M2QMVe - 6.5, 2015.04.08 - sales@
// 7ChFzS bF4aik - 6.5, 2014.04.03 - support@
// 6VYGSy LguBfi - 6.3, 2012-06-12
// LXa3kW 3q8sjT - в версии 5.16


iLfAklUbiTVAs - 7.2, unicode installer, x64 = 13 знаков?! Это реальный пароль от 7.2?

TOM_RUS пишет:
mak пишет:
Для 6.7 без пароля которая удалось подобрать пароль?! Кто-то пытался?
Для 6.7 без пароля 137afe87e9104665bd38a95ca3954e8d7eb6d12a:50617373776f7264436865636b48617368aae8123520fa8013:DuTLLYLCj3dU


Маленький успех, Спасибо!

TOM_RUS пишет:
i think you need to omit the first rand.
this article doesn't mention this.

Не уверен что именно нужно сделать, 1 вызов rand пропустить или 12 вызовов (т.е. первый пароль скипнуть)?


Ни одного попадания со сдвигом в 1 на версиях 7.0 и 7.1 и двух генах, у друзей по цеху со сдвигом 12 результатов тоже нет. Хотя это не имеет значения, уже статистически видно, что разброс паролей не зависит от версии иды.

Dart Raiden пишет:
mak пишет:
А для Mac OS утечек без пароля не было?!
--> последняя утечка под мак (не смотрел, с паролем или без) <--

Спасибо! Лайки закончились отмечусь завтра) Осталось выудить пароль.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 июня 2019 18:20
· Личное сообщение · #29

TOM_RUS пишет:
i think you need to omit the first rand

Пропустить и что это даст? Рандом сидом будет назначено второе значение в цепочке, что поменяется, если их все равно все можно перебрать?

-----
2 оттенка серого




Ранг: 11.9 (новичок), 22thx
Активность: 0.010
Статус: Участник

Создано: 23 июня 2019 18:30 · Поправил: TOM_RUS
· Личное сообщение · #30

f13nd пишет:
Пропустить и что это даст?

Ну как что, например был пароль FgVQyXZY2XFk, пропустили 1 rand и он стал gVQyXZY2XFk7, а если пропустить 12 rand то станет 7dxvrtt7m2gc...
Правда откуда эта инфа про то что нужно что-то пропускать не понятно, и правдивость её тоже под вопросом...




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 июня 2019 18:33 · Поправил: f13nd
· Личное сообщение · #31

mak пишет:
Это реальный пароль от 7.2?

Вчитайся в сам пароль.

Добавлено спустя 3 минуты
TOM_RUS пишет:
Ну как что, например был пароль FgVQyXZY2XFk

А до меня доходит медленно, в более новом drand48 random seed 32 бита, но мгновенное значение 48. Для него разница есть.

-----
2 оттенка серого



<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . >>
 eXeL@B —› Софт, инструменты —› Hex-Rays IDA Pro 7.5
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати