Найти в Дзене

Решаем криптографическую задачу hashcrack с picoCTF

Capture The Flag (CTF) — это формат соревнований по информационной безопасности, в которых участники решают различные задачи, чтобы получить флаги — специальные строки, подтверждающие успешное выполнение задания. Эти соревнования помогают развивать навыки в области кибербезопасности, программирования, реверс-инжиниринга, криптографии и других смежных областях. Одним из популярных CTF-соревнований является picoCTF, созданный специалистами из Carnegie Mellon University. Оно ориентировано как на новичков, так и на более опытных участников, предлагая задачи разного уровня сложности. В рамках CTF часто встречаются задания из категории Crypto (криптография). Эти задачи связаны с анализом и взломом различных методов шифрования, хеширования и других криптографических механизмов. Участникам предстоит применять как теоретические знания, так и практические навыки, чтобы понять, как работает защита, и найти способ её обойти. В этой статье мы разберём одну из таких задач — hashcrack из picoCTF, и ш
Оглавление

Capture The Flag (CTF) — это формат соревнований по информационной безопасности, в которых участники решают различные задачи, чтобы получить флаги — специальные строки, подтверждающие успешное выполнение задания. Эти соревнования помогают развивать навыки в области кибербезопасности, программирования, реверс-инжиниринга, криптографии и других смежных областях.

Одним из популярных CTF-соревнований является picoCTF, созданный специалистами из Carnegie Mellon University. Оно ориентировано как на новичков, так и на более опытных участников, предлагая задачи разного уровня сложности.

В рамках CTF часто встречаются задания из категории Crypto (криптография). Эти задачи связаны с анализом и взломом различных методов шифрования, хеширования и других криптографических механизмов. Участникам предстоит применять как теоретические знания, так и практические навыки, чтобы понять, как работает защита, и найти способ её обойти.

В этой статье мы разберём одну из таких задач — hashcrack из picoCTF, и шаг за шагом покажем, как можно подойти к её решению.

Подписывайтесь на мой канал в Телеграмм, чтобы ничего не пропустить.

Ну или на канал в VK, если хотите видеть новые статьи у себя в ленте.

Итак, задача:

Author: Nana Ama Atombo-Sackey
Description
A company stored a secret message on a server which got breached due to the admin using weakly hashed passwords. Can you gain access to the secret stored within the server?Access the server using nc verbal-sleep.picoctf.net 51759

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

Подключись к серверу с помощью команды:

nc verbal-sleep.picoctf.net 51759

Поставлю здесь картинку, если сначала хотите решить задачу самостоятельно...

Ну или давайте решать вместе.

Первое, что нужно сделать - это подключиться к серверу.

Если у вас Linux - то ваш терминал по умолчанию подходит как нельзя лучше.

Но если у вас Windows (как у большинства читателей канала (согласно Яндекс метрики)), то подойдет терминал CMD, а вот GIT BASH к сожалению не подойдет. Пароли введенные там, почему то забраковываются.

Итак,

1. Открываем CMD (Win + R → cmd)

и смотрим команду из условия.

nc verbal-sleep.picoctf.net 51759

nc означает что на вашей машине должна быть программа netcat (если не знаете как установить, пишите в комментариях).

2. Перейди в папку с nc.exe, например:

cd C:\Tools\netcat-1.11

3. Итак подключаемся к серверу использую netcat. В Windows команда будет:

nc.exe verbal-sleep.picoctf.net 51759

это будет выглядеть как тот так:

-2

4. Получаем следующее задание:

C:\Tools\netcat-1.11>nc.exe verbal-sleep.picoctf.net 51759
Welcome!! Looking For the Secret?
We have identified a hash: 482c811da5d5b4bc6d497ffa98491e38
Enter the password for identified hash:

Итак по хэшу нужно определить какой пароль.

Можно конечно повыеживаться и по количеству символов сначала определить что за кодировка?

Длина хеша — главный признак

-3

А можно сразу посетить сайт https://crackstation.net/ и раскодировать.

Так и поступим.

Вот (быстро и просто):

-4

5. Что ж, вводим пароль password123

6. Получаем следующее сообщение:

Correct! You've cracked the MD5 hash with no secret found!
Flag is yet to be revealed!! Crack this hash: b7a875fc1ea228b9061041b7cec4bd3c52ab3ce3
Enter the password for the identified hash:

Пойдем сразу по короткому пути и разгадаем пароль:

-5

7. Вводим пароль letmein

8. Идем на следующий шаг:

Correct! You've cracked the SHA-1 hash with no secret found!
Almost there!! Crack this hash: 916e8c4f79b25028c9e467f1eb8eee6d6bbdff965f9928310ad30a8d88697745
Enter the password for the identified hash:

Повторим уже знакомую процедуру:

-6

9. Вводим новый пароль: qwerty098

10. И вуаля. Задание решено:

Correct! You've cracked the SHA-256 hash with a secret found.
The flag is: picoCTF{UseStr0nG_h@shEs_&PaSswDs!_ce730f64}

Ответом на задание будет:
picoCTF{UseStr0nG_h@shEs_&PaSswDs!_ce730f64}

Вот как решение выглядело от начала до конца:

-7

Вместо заключения

Решение задачи hashcrack из picoCTF — отличный пример того, как знания в области криптографии (хотя их тут было немного) и немного практики помогают справляться с реальными CTF-вызовами. Надеюсь, этот разбор был полезен и вдохновит тебя на покорение новых задач! Удачи в следующих битвах за флаг! 🏴‍☠️💻

Если Вам интересно, что еще можно найти на канале QA Helper, прочитайте статью: Вместо оглавления. Что вы найдете на канале QA Helper - справочник тестировщика?

Не забудьте подписаться на канал, чтобы не пропустить полезную информацию: QA Helper - справочник тестировщика

-8