Skip to content

Latest commit

 

History

History

07_crypto-symmetric

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Домашнее задание к занятию «3.1. Теоретические основы криптографии, симметричные криптосистемы»

В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте netology.ru.

Общие замечания по безопасности

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

Общие замечания по выполнению ДЗ

Если у вас что-то не получилось, то пишите в канал курса, обязательно указывая:

  1. Номер ДЗ
  2. ОС
  3. На каком шаге остановились
  4. Скриншот ошибки
  5. Краткое описание того, что сделали

Пожалуйста, не пишите сообщения в стиле я всё сделал по инструкции, ничего не работает - это никоим образом не поможет решить проблему.

Работа в терминале

Ознакомьтесь с руководством по работе в терминале для вашей операционной системы.

Задача №1 - HashCat

Справка

hashcat - инструмент восстановления паролей.

Установка

Для установки достаточно скачать архив с официального сайта:

Для счастливых обладателей Mac

Если вам повезло и вы пользователь Mac, то для вас готового hashcat в указанном архиве на официальном сайте нет, поэтому вам будет необходимо установить Homebrew. Для этого небоходимо перейти по адресу https://brew.sh выполнить указанную на главной странице команду в терминале:

После чего в терминале (в любом каталоге) выполнить команду:

brew install hashcat

Индикатором успешности установки будет служить успешное выполнение следующей команды:

hashcat --help

Архив упакован с помощью архиватора 7zip, поэтому, возможно, вам придётся установить и его.

Распакуйте архив в каталог на вашем компьютере и откройте терминал каталоге, в котором расположены файлы hashcat.bin и hashcat.exe (см. руководство по терминалу).

Для Linux необходимо запускать в терминале hashcat командой ./hashcat.bin (находясь в том же каталоге), в Windows командой .\hashcat.exe (находясь в том же каталоге), а в Mac просто hashcat (при этом никакой архив с hashcat вам не нужен).

Далее для простоты мы будем просто писать hashcat, а не ./hashcat.bin или .\hashcat.exe.

Справка

Справка по работе с приложением выводится с помощью флага --help:

hashcat --help

В общем виде hashcat запускается в следующем виде:

hashcat [options] hash [dictionary]

Задание

Каким-то образом у вас оказался хэш пароля. Вот такой: 5693299e0bbe87f327caa802008af432fbe837976b1232f8982d3e101b5b6fab.

Что нужно сделать: вам нужно попробовать по длине хэша угадать его тип (это будет один из тех, что упоминался на лекции, как минимум, в табличке в конце лекции).

Подсказка

Обратите внимание, мы не просто так говорим про длину.

Использование hashcat

Запустить hashcat для подбора пароля можно в следующем формате:

hashcat -m <X> 5693299e0bbe87f327caa802008af432fbe837976b1232f8982d3e101b5b6fab wordlist.txt

Где <X> это тип хэша, в соответствии с таблицей (т.е. для GOST R 34.11-2012 (Streebog) 256-bit, big-endian будет 11700):

# Name Category
900 MD4 Raw Hash
0 MD5 Raw Hash
100 SHA1 Raw Hash
1300 SHA2-224 Raw Hash
1400 SHA2-256 Raw Hash
10800 SHA2-384 Raw Hash
1700 SHA2-512 Raw Hash
11700 GOST R 34.11-2012 (Streebog) 256-bit, big-endian Raw Hash
11800 GOST R 34.11-2012 (Streebog) 512-bit, big-endian Raw Hash
6900 GOST R 34.11-94 Raw Hash

А wordlist.txt - файл с самыми распространёнными паролями. Набор таких файлов вы можете найти по адресу https://github.com/danielmiessler/SecLists/tree/master/Passwords/Common-Credentials.

Т.е. мы собираемся осуществить атаку по словарю.

Мы рекомендуем вам использовать Common-Credentials/10-million-password-list-top-100000.txt.

Проблемы с hashcat?

Для этого случая мы сделали для вас небольшую утилиту, которая также умеет "взламывать" пароли.

Поддерживает она только те, что требуются в рамках данного ДЗ и располагается в каталоге assets:

Как запускать:

  1. Скачиваете исполняемый файл, а также словарь в один каталог, открываете в этом каталоге терминал
  2. Проверяете исполняемый файл на VirusTotal
  3. В терминале запускаете cracker <тип хэша> <хэш> <имя файла словаря>:
    1. Для Win32 CMD: .\cracker-x32.exe 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt
    2. Для Win64 CMD: .\cracker-x64.exe 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt
    3. Для Win32 PowerShell: .\cracker-x32.exe 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt
    4. Для Win64 PowerShell: .\cracker-x64.exe 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt
    5. Для Linux32: chmod +x ./cracker-x32.bin && ./cracker-x32.bin 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt
    6. Для Linux64: chmod +x ./cracker-x64.bin && ./cracker-x64.bin 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt
    7. Для MacOS: chmod +x ./icracker-x64.bin && ./icracker-x64.bin 0 5f4dcc3b5aa765d61d8327deb882cf99 million.txt
  4. Ждёте результата работы программы:
    • Cracked: password (хэш "взломан", password - то, что вам нужно)
    • Not cracked (хэш не "взломан", вы выбрали неверный алгоритм хэширования, ошиблись в написании хэша или файл словаря не содержит нужного слова)

В качестве ответа пришлите название функции хэширования и "угаданный" пароль.

Задача №2 - VeraCrypt

Справка

VeraCrypt - Open Source ПО для шифрования дисков.

Позволяет делать достаточно много вещей, но нас будет интересовать одна ключевая функция: возможность создать виртуальный зашифрованный диск и "подключать" к вашей ОС, при этом все операции чтения/записи с этого диска будут происходить прозрачно для пользователя.

Скачать VeraCrypt можно с официальной страницы (не качайте из неизвестных источников).

Установка

Windows

Для пользователей Windows необходимо скачать файл, соответствующий вашей версии ОС и запустить установку:

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

Linux

Для пользователей Linux (Ubuntu) необходимо скачать файл с расширением deb (GUI-версия), затем открыть терминал в каталоге, в который вы скачали файл и выполнить команду: sudo apt install ./<имя файла>.deb

Mac OS

Для пользователей Mac необходимо скачать OSXFUSE и установочный файл VeraCrypt.

Описание процесса установки

Перед началом установки перейдите в системные настройки:

Выберите Защита и безопасность, нажмите на иконку замка (1) и установите переключатель (2) как на скриншоте:

Первым необходимо установить OSXFUSE. Затем VeraCrypt.

Шаг 1: Кликните два раза на иконку установки:

Шаг 2: Нажмите Продолжить:

Шаг 3: Пройдите по шагам установщика с помощью кнопки Продолжить до пункта Тип установки:

Шаг 4. Убедитесь, что в пункте Тип установки у вас установлены флажки как на скриншоте и продолжите установку:

Шаг 5. При блокировке системного расширения нажмите кнопку Открыть настройки безопасности:

Шаг 6: Нажмите на иконку замка (1), после чего на кнопку Разрешить (2):

Шаг 7: Дождитесь завершения установки и перезагрузите компьютер:

Шаг 8: Запустите на установку VeraCrypt

Шаг 9: Пройдите по шагам мастера установки, оставляя выбранными все значения по умолчанию:

Инструкция

Windows

Описание работы с VeraCrypt
Шаг 1. Запустите исполняемый файл VeraCrypt-x64:

Шаг 2. Нажмите на кнопку Create Volume:

Шаг 3. Оставьте выбранной опцию Create an encrypted file container (1) и нажмите Next (2):

Важно: убедитесь, что вы выбрали именно эту опцию, а не другие (поскольку вы можете зашифровать целый раздел своего диска или системный диск).

Шаг 4. Оставьте выбранной опцию Standard VeraCrypt volume (1) и нажмите Next (2):

Шаг 5. Нажмите Select File для создания файла-контейнера

Шаг 6. Выберите файл-контейнер

Мы выбрали каталог C:\projects, а затем вручную в поле имя файла ввели имя container.

Важно: не выбирайте существующие файлы с данными! VeraCrypt перетрёт данные (не зашифрует, а именно перетрёт).

Шаг 7. Нажмите Next

Шаг 8. Оставьте опции по умолчанию: AES (1) и SHA-512 (2) и нажмите кнопку Next (3):

Шаг 9. Установите размер контейнера равным 5 MB (1) и нажмите на кнопку Next (2):

Шаг 10. Введите пароль (1) и его подтверждение (2) и нажмите на кнопку Next (3):

Используйте сложный пароль: как минимум 20 символов (не забудьте его сохранить).

Обратите внимание: VeraCrypt предупредит вас при попытке использовать простой пароль:

Шаг 11. Перемещайте указатель мыши внутри окна пока индикатор Randomness (1) не станет зелёным, после чего нажмите на кнопку Format (2):

Шаг 12. Завершите создание контейнера, нажав на кнопку Ok:

Шаг 13. Вернитесь в основное окно программы, выберите незанятую букву диска (1), например, V:, выберите файл-контейнера (2) и нажмите на кнопку Mount (3):

Шаг 14. Введите пароль (1) для контейнера (надеемся вы его не забыли) нажмите на кнопку ОК (2):

Шаг 15. Убедитесь, что диск примонтировался

Шаг 16. Создайте на диске текстовый файл, содержащий вашу фамилию:

Шаг 17. Размонтируйте диск с помощью кнопки Dismount:

Шаг 18. Повторите процедуру монтирования, чтобы убедиться, что сохранённые вами данные читаются

Linux

Для Linux процедура полностью аналогична за исключением ряда отличий.

Описание отличий по работе с VeraCrypt

В основном окне у вас будут показываться не диски, а Slot'ы:

А каталог, в которой примонтируется контейнер будет отображаться в столбце Mount Directory:

Mac

Для Mac процедура полностью аналогична за исключением ряда отличий.

Описание отличий по работе с VeraCrypt

В основном окне у вас будут показываться не диски, а Slot'ы:

А каталог, в которой примонтируется контейнер будет отображаться в столбце Mount Directory:

Результаты

Отправьте контейнер и пароль к нему в ЛК пользователя: