Алгоритм хеширования паролей в линукс

Discussion in 'Криптография, расшифровка хешей' started by aCommonPerson, 24 Feb 2020.

  1. aCommonPerson

    aCommonPerson New Member

    Joined:
    23 Apr 2019
    Messages:
    24
    Likes Received:
    1
    Reputations:
    0
    Приветствую. Выше есть тема, про подбор паролей md5. Иногда я её просматриваю. И кое-что мне не ясно. Вот пример хеша из shadow: $1$RR3MmUwi$O1f.TdhS1C7BB635sPjHn0:18315:0:99999:7:::
    Согласно манам в сети, видно что хеш - md5 т.к. $1$. Дальше соль до $ и сам хеш. Мне не ясно, почему в хеше мд5 присутствует "." и почему в нём символы разного регистра.
     
  2. fandor9

    fandor9 Reservists Of Antichat

    Joined:
    16 Nov 2018
    Messages:
    630
    Likes Received:
    1,050
    Reputations:
    47
    Да обычно хэш выдаётся в hex формате. Но тут используется для хранения немного видоизменёнaя кодировка base64 (символы './0-9A-Za-z'), вместо символа + (base64-encoding) используется . (shadow-encoding). И к тому же символы сдвинуты, что-бы получить нормальный base64(символы 'A-Za-z0-9+/'), вам нужно задать команду
    Code:
    echo 'O1f.TdhS1C7BB635sPjHn0' | tr ./0-9A-Za-z A-Za-z0-9+/ -> aDrAfpteDOJNNIFH4bvTzC 
    и к этой строке добавить два символа "=" как паддинг (количество символов для base64 должно быть кратным 4). Тоесть в конце выходит 'aDrAfpteDOJNNIFH4bvTzC==', который вы уже можете декодировать простым base64-декодером и с помощью команды xxd получить MD5-хэш в hex формате
    Code:
    echo 'aDrAfpteDOJNNIFH4bvTzC==' | base64 -d | xxd -ps -> 683ac07e9b5e0ce24d348147e1bbd3cc 
     
    xxxsert and aCommonPerson like this.
  3. aCommonPerson

    aCommonPerson New Member

    Joined:
    23 Apr 2019
    Messages:
    24
    Likes Received:
    1
    Reputations:
    0
    Спасибо за разъяснение. Нигде нормально не находил. Соль тоже так зашифрована (мд5 и бэйс), или в открытом виде лежит?
     
  4. fandor9

    fandor9 Reservists Of Antichat

    Joined:
    16 Nov 2018
    Messages:
    630
    Likes Received:
    1,050
    Reputations:
    47
    Соль не зашифрованна, а так-же в этом же формате base64
    Code:
    echo 'RR3MmUwi' | tr ./0-9A-Za-z A-Za-z0-9+/ | base64 -d | xxd -ps -> 75d158ca0f2e 
     
    aCommonPerson likes this.
Loading...