Прохождение квеста "Эпоха Цифры"

A

am29f010b

Write-up по этому квесту.

Структура квеста

Шаги
  • Квест содержит 39 последовательно/параллельных шагов.
Основные задачи - 5 (не считая субзадач):
  • Прохождение заградительного барьера (защита квеста от «посторонних»).
  • Взлом приватного pgp-ключа (стандарт OpenPGP).
  • Эксплуатация уязвимости в мессенджере Android-Telegram (атака «хищения ключей»).
  • Обнаружение и вскрытие скрытого тома VeraCrypt (шифрование каскадное: SHA512/AES/Twofish).
  • Восстановление данных (ИМХО, «самое-самое» в этом квесте!).
Рекомендуемый софт для прохождения квеста
  • Архиватор - Winrar или Engrampa (GUI/Mate).
  • Работа с метаданными - mat2, exiftool или Металит (Windows).
  • Декодер - Text Converter Encoder Decoder ST (Android).
  • Работа с QR-кодами QtQr (GUI).
  • Сравнение содержимого файлов - Meld (GUI), или Double Commander (GUI).
  • Инструмент стеганографии - Stegosuite (GUI).
  • Модифицированный инструмент детектирования стеги - stegdetect.
  • Взломщики паролей - John The Ripper (расширенная версия 1.8.0.х-jumbo-1-bleeding); Hashcat.
  • Восстановление данных - R-studio и Titanium backup (Android).
  • Редактор изображений - GIMP/Photoshop.
  • Калькулятор - Mathcad или apcalc (bash).
  • Текстовый редактор - Pluma/nano.
  • Криптографическое ПО - Kleopatra (KDE); Seahorse; VeraCrypt.
  • Web-Браузер.
  • Виртуальная машина - Android-6 на VirtualBox (опционально).
  • Расширенный текстовый редактор Emacs (опционально).
  • Оффис - LibreOffice Writer (опционально).
Прохождение


Task №1. Прохождение заградительного барьера

1) Читаем квест, находим все ссылки по тексту:
[ ; ; ; ] - итого обнаруживаем 4 ссылки.
Скачиваем (первой по тексту ссылке) публичные ключи am29f010b, заверяем их для себя в любом PGP софте, чтобы иметь возможность проверять все подписи (например, в Kleopatra).

2) Скачиваем А1.rar (второй по тексту ссылке), декодируем архивный комментарий, кодировка текста в Base32: [NB2HI4DTHIXS6ZLOFZ3WS23JOBSWI2LBFZXXEZZPO5UWW2JPKJXW63K7GQYA====], получаем на статью из Wikipedia о криптографическом подразделении прошлого века «Room 40». «комната 40» - пароль для открытия А1.rar

28710


3) В А1.rar находится cypherpunk.jpg и cypherpunk.jpg.sig (все подписи проверяйте/важно!) в картинке информация: в метаданных. Смотрим метаданные cypherpunk.jpg, например, в mat2/exiftool/металит. Понимаем, что квест надо проходить сверху вниз, но не всегда слева направо. Видим из метаданных еще и рекомендуемое ПО-Android: декодер (для работы с кодировками - CODEC, не обязательно использовать это ПО, но удобно). Кстати, на фото cypherpunk.jpg информация о поддерживаемых форматах JtR-ом минус субформаты.

Код:
$mat2 -s cypherpunk.jpg
[+] Metadata for cypherpunk.jpg:
    DocumentID: квест проходить сверху вниз, но не всегда слева направо
    ExifByteOrder: Big-endian (Motorola, MM)
    Software: Text Converter Encoder Decoder ST
    XMPToolkit: Image::ExifTool 11.16
    YCbCrPositioning: Centered

4) Открываем cypherpunk.jpg в GIMP цвет-разобрать на слои RGB (убираем красный и зеленый цвета, оставляем «синий»), увеличиваем уровни если лучше увидеть хотим и видим [хэш:1ETMgEDMxASNwEDI5kDIxATMgITMxASNxEDIyMDI5ATMgcTMxACNxEDIxATMgQTMxAiMzAiNxEDIwETMgcTMxASNxEDIyMDI1ETMgEDMxASO5AyN5ACOwEDI4ATMgcTOgAzN] (Аналогично можно увидеть хэш в Фотошопе: изображение-коррекция-уровни RGB выделяем синий уровень).

28711


5) Набиваем руками хэш [1ETMgEDMxASNwEDI5kDIxATMgITMxASNxEDIyMDI5ATMgcTMxACNxEDIxATMgQTMxAiMzAiNxEDIwETMgcTMxASNxEDIyMDI1ETMgEDMxASO5AyN5ACOwEDI4ATMgcTOgAzN] в CODEC, применяем операцию reverser (то есть инверсия, подсказка из метаданных cypherpunk.jpg «квест проходить не всегда слева направо»), и получаем кодировку base64:
[NzAgOTcgMTA4IDEwOCA5NyA5OSAxMDEgMTE1IDMyIDExNSAxMTcgMTEwIDExNiAzMiAxMTQgMTAxIDExNCAxMTcgMTA5IDMyIDExNSAxMTIgMTAxIDk5IDEwNSAxMDEgMTE1].

6) Декодируем base64, получаем 70 97 108 108 97 99 101 115 32 115 117 110 116 32 114 101 114 117 109 32 115 112 101 99 105 101 115 - похоже на «ascii»

7) Декодируем ascii и получаем фразу [Fallaces sunt rerum species], что на латыни означает: «не все то, чем кажется» и это нам ничего не даёт.

8) Фраза, полученная из ascii "не все то, чем кажется" - употребляется в буквальном смысле, то есть, значения не надо в ascii декодировать. А может их перемножить? Перемножаем все значения ascii между собой (обычный калькулятор не справится. Маткад в помощь, или в bash [apcalc], или что-то подобное) [70*97*108*108*97*99*101*115*32*115*117*110*116*32*114*101*114*117*109*32*115*112*101*99*105*101*115] и получаем результат=130сексдециллионов=[130662848111607518666927168176410991444057128960000000] - это пароль от архива А2.rar

28712



Task №2. Взлом приватного pgp-ключа

9) Скачиваем A2.rar. В архивном комментарии видим в url-кодировке
«% D0% 9F% D0% B0% D1% 80% D0% BE% D0% BB% D1% 8C% 20% D1% 83% D0% B7% D0% BD% D0% B0% D0% B5% D1% 88 % D1% 8C% 20% D0% B8% D0% B7% 20% D0% 901.rar»
Что в декодированном виде означает: «Пароль узнаешь из А1.rar» (Примечание - из-за пробелов между символами, кодировку распарсит не всякое ПО).

В архиве А2.rar находятся 4 файла (два файла и их подписи).
Проверим, что за файл такой KQEN, набиваем команду
Код:
$ file KQEN
KQEN: PGP\011Secret Key - 2048b created on Thu Feb 28 17:45:36 2019 - RSA (Encrypt or Sign) e=65537 hashed AES with 128-bit key Salted&Iterated S2K SHA-1
file думает, что [KQEN] - это приватный pgp-ключ 2048 бит, импортируем его в Kleopatra. После успешного импорта ключа в криптографическое ПО, в мини «отчёте» нам сообщают, что это не публичный ключ, а приватный персональный КлючКвестЭпохаЦифры! В дополнительной информации видим почту [ehpoha-cifry@yandex.ru].

28713


Продолжаем работать дальше с тем, что имеем: в A2.rar видим файл со странным именем [J̸̲̲͕̖̣̼̈́͜ơ̵͓̰h̴̢͖̹̿͌̌ǹ̸̢̧̛̮͓̯̣̠͙͚͂̂̈́͊̐], что с обфусцирует для глаз слово «John».
[J̸̲̲͕̖̣̼̈́͜ơ̵͓̰h̴̢͖̹̿͌̌ǹ̸̢̧̛̮͓̯̣̠͙͚͂̂̈́͊̐] не имеет расширения, поэтому на всякий случай чекаем этот файл командой «file». Да, это обычный текстовый документ в кодировке UTF-8.

28714


Внутри файла «John» завуалированный текст, или «какое-то словоблудие»:
# ̷̢̟̰̻͍̓̇̄̌́͒̃̈̊̆̃́̈͋́͂͘̕R̶̛͉̞̹͇̝͑̾͆̎̽̊͋͘͝u̵̞͗̆̾̉̒̔̾̅̓̌̉̕͝͝ĺ̷̢̰̫̖̭̉̉͑͌͛͆̕͘̚͝͠e̸̯̱͉͈̅̿̎̍́͑̀̈̆͌̈́͊̂̑͜͝ ̸͔͕͆̔͐͒̑̅̄J̸̛̛͈̈́̀̃̈́̿̐̋̆͋̈͂̀̔͝ơ̴̢̙̦̭̘̮͖̦̖͚̠̼̲͉̬͙̈́̊͆̓͊̍̃͑͐̎́̒̀͜͝͝ḩ̷̣̱̼̼̮̱̤͓̙̩́ͅn̸̡̰̟͉͕͍͔̪̠̜͔̞̺̿̀͑̉̿̂ͅ ̵̦̩͉̰̐́͊̐͋̇̑̌̈́͗̄̆̒͑̂̕̚͝͝K̴̹̀̌̒͋̅͂̌̏̕Q̴̗͎̜̜̪̥̮͕͊́̍̐̃̈̒͆͋̀́͘̕̕E̴̡͍̞̝̲͍͓̠̐́͑̔͗́̇̒͆̉̉̽̌͌̄͘͝Ṅ̸̨̢̘̘̮͍̫̳̠̿̆̌̓́́̇͌͛̾͌̔͊̓͗͑
[リスト。ルール:KQEN]
r
Первая строка обфусцирована генератором Zalgo [# Rule John KQEN](если скопировать текст, например в Libreoffice Writer, изменить шрифт на рукописный и увеличить его кегль, то строка станет легко читаемой для глаз).
Вторая строка - смесь японского и латиницы, переводчик выдаст [List.Rules:KQEN].
Третья строка [r] - латиница.
Итого: получаем «неискаженную» информацию следующего содержания:
# Rule John KQEN
[List.Rules:KQEN]
r

Да, как заметил один из юзеров портала Codeby - это секция john.conf софта взломщика паролей John The Ripper-а, и создание пользовательского правила KQEN с реверсом слова: например, Fred > derF (Примечание - этот же юзер верно подметил перевод заглавных букв KQEN, те. это не какая-нибудь варварская).

10) При любой отправке письма на почту [ehpoha-cifry@yandex.ru], приходит автоответ: ссылка на скачивание архива [А3.rar].

11) Скачиваем А3.rar, извлекаем файлы из архива, видим всего два файла: А3.rar.pgp и его подпись. И все это зашифровано с помощью какого-то приватного pgp-ключа.

12) Проверяем подпись А3.rar.pgp в Kleopatra/Seahorse, и видим, что файл A3.rar.pgp зашифрован и подписан подписью KQEN, а не подписью am20f010b. Это может значить только одно: KQEN надо взломать, чтобы получить доступ к внутренностям A3.rar.pgp.

13) Цель: взломать приватный pgp-ключ [KQEN]. Но где брать входные данные для JtR-a?
Пробуем прогнать вариации/тождества на тему KQEN/почту и КлючКвестЭпохаЦифры через JtR. Вот незадача, не вышло!
Тупичок? Обращаемся к подсказке/фразе в теме квеста:
«Если вы оказались в тупике, ... Ответы ищите в теме сюжета (в этой статье)».
Ладно, попробуем поискать «...» в теме сюжета: «Пройди квест "наблюдение против свободы" и захвати трофеи», может что-то и выйдет из этого целесообразное.

14) Правильнее сделать было бы так: подготовив словарь для атаки из цитаты «А. Чубарьян Хакеры Basic 2011г.», замаскированной в описании квеста. Но мы этого не знаем, поэтому создаем словарь для брутфорс атаки из всего описания квеста.
Копируем статью [Пройди квест "наблюдение против свободы" и захвати трофеи] в текстовый редактор Pluma. ЛКМ-поиск-заменить [пробел] на [\n], получаем каждое слово в отдельной строке. Сохраняем в файл словарьX.txt и применяем sort -u (отсеяв дубли и пустые строки, тем самым сократив словарь с 1823 до 1275 слов).

28715


$ sort -u '/словарьX.txt' > словарь.txt && cat словарь.txt | wc -l #1275 слов.

15) Для красноглазиков любителей CLI делаем словарь по другому:
$ sed -e s/\[[:space:]]/\\n/g ~/текст.txt | grep -v "^$" | sort -u > словарь.txt #где
sed... - разбиваем строки на слова в столбец;
grep... - удаляем пустые строки;
sort... - сортируем слова и удаляем дубликаты.

28716


16)
Код:
[List.Rules:KQEN]
r
Добавляем эту секцию две строчки в файл ~/John/run/john.conf (GNU/Linux). Словарь и правило (r - слова) для Джоновского препроцессора готовы!

17) Запускаем: $ ~/John/run/gpg2john KQEN > хэш #извлекаем хэш pgp ключа для JtR-а.

18) Взламываем хэш pgp-ключа, используя наш словарь.txt и правило: $ john –w=~/словарь.txt --rules=KQEN --internal-codepage=koi8-r хэш #получаем (менее чем за минуту) пароль от секретного ключа KQEN: [оговотчоп]. Вспомнилась еще разок подсказка из метаданных cypherpunk.jpg:
«не всегда слева на право».

28718

50с. и Done!

Так же обратите внимание на флаг в JtR «--internal-codepage=koi8-r» - это флаг из скрытых возможностей ПО JtR. Он устанавливает кириллическую кодировку. Если этого флага не будет в синтаксисе команды, то JtR, используя правило, будет думать, что символы в словаре 1-байтовые/латиница, и вы никогда не вскроете пароль, те. после инверсии слова получите на выходе абракадабру, например вместо оговотчоп > A�A�A��Aê и тд.

Кстати, здесь можно было применить хитрость и не связываться с правилом [r] в JtR. Например, сделать предварительную инверсию словаря через команду «rev», и пустить (инверсионный) словарь на вход JtR, не применяя правило [r], и не связываться с изменением кодировки на многобайтовую.
$ cat '/словарь.txt' | rev | john2 хэш --stdin --progress-every=1 #, где
Cat - читаем словарь;
rev - инвертируем все слова в словаре;
john2 хэш --stdin --progress-every=1 - работаем с файлом «хэш»;
--stdin - сообщаем JtR-у, что данные будут генерироваться на лету и поступать ему на вход;
--progress-every=1 - выводим статусную строку в автоматическом режиме, как можно чаще.

28719

При флаге «--stdin» статусная строка не выводится, не выводится она и по нажатию любой клавиши, как это делается в «обычном режиме» JtR. Из-за «--stdin» неизвестно сколько будет длиться взлом.

Для вывода статусной строки (так заложен алгоритм работы JtR при «--stdin») можно открыть второе окно терминала и послать разными (тремя) способами сигнал sigusr1 процессу JtR-у, и получить вывод статусной строки, но это хлопотно, поэтому проще добавить флаг «--progress-every=N». А еще проще создать инверсионный словарь и просто подать его JtR-у через флаг -w=словарь.txt, не связываясь с «--stdin».

--progress-every=1 - этот флаг означает, что JtR-у (во время взлома) нужно пытаться автоматически выводить статусную строку каждую 1 секунду, но так как данный хэш относится к медленным хэшем, то JtR не может выводить статус чаще, чем один раз в семь секунд.


Task №3. Эксплуатация уязвимости в Android-Telegram

19) Возвращаемся к А3.rar.pgp, который теперь можем расшифровать захваченным/cracker приватным ключом KQEN.

Расшифровываем. Получаем 8 файлов. 4-и файла и 4-е подписи: 1.Картинка; 2.Хакеры Basic.txt; 3.TBTelegramБэкап; 4.звук.mp3 и их подписи. Проверяем все подписи, успех! Значит файлы не повреждены, но файл «Titanium backup Telegram.rar.rar» подписан ключом KQEN, все остальные подписаны ключом Am29f010b, ладно...

Пройдемся по файлам, что к чему.

  • [Звук.mp3] - файл формата mp3 (приятный на слух голос!), я предоставляю читателям самим догадаться что это/о чем?
  • [Titanium backup Telegram.rar.rar] - rar архив, в котором лежит бэкап учетки Telegram, зашифрованный с помощью Android-приложения TB. Имеем на руках Android с root доступом, попытаемся восстановить приложение Telegram - неуспешно. Чёрт возьми, зашифровано и здесь. TB - требует пароль для восстановления данных (Примечание - из документации TB: - само приложение .apk не шифруется и в этом нет смысла, шифруется только кэш и внешние данные). Будем искать/вычислять/взламывать пароль от TB.
А если нет у нас Android-a в принципе? (не страшно...).

28720


  • [картинка0.jpg] - картинка с изображением какой-то пост обработки/фильтра.
28721


Быстренько проверим данную картинку на артефакты с помощью нескольких инструментов (mat2 && file && binwalk && ls && stegdetect):

28722


[Mat2] в картинке не обнаружил каких-либо аспектов метаданных. [Binwalk и file] тоже ничего не сыскали интересного в изображении, а [ls и stegdetect] дали пищу для размышления. Наблюдаем стеганографию/алгоритм «f5». Дата создания файла «19 сентября 2011г.» По дефолту дата, извлеченных файлов, обычно перезаписывается после разархивирования файлов на текущую, но тут явно 2011г, а сейчас на календаре 2019г. Значит архив А3.rar был создан намеренно таким образом, чтобы сохранить дату модификации файла (картинки) - интересно.

Какой софт использует алгоритм [f5]? (все;)) Может эта работа Pixelknot? Нет, эта стега совершенно точно не Pixelknot. Во-первых, об этом предположил binwalk, а во-вторых, картинка с откинутым расширением успешно открывается в Gimp-e (Примечание - подробнее об атаке на Pixelknot в статье от Am29f010b).

Попробуем провести брутфорс атаку на эту стегакартинку с помощью ранее подготовленного словаря и stegcracker-а (Примечание - использовать для брутфорс атаки словарь.txt, с помощью которого взломали приватный pgp ключ, и предполагаем, что стега - Steghide).

28723

< 10 секунд перебор по всему словарю, но пароль не найден (кстати, хэш тоже из разряда небыстрых).

Загружаем картинку в любой поисковик: Яндекс/Гугл. Поиск по картинке вывел нас на оригинал обложки книги «Хакеры basic».

28724


Лицо! Вспоминаем, в который раз подсказку:
«Если вы оказались в тупике, ... Ответы ищите в теме сюжета (в этой статье)».
В описании квеста было упоминание киберпанков и их продукта [Searchface] (поиск страничек в соцсети ВК по лицу). Наверное нам попадется какая-нибудь левая страничка ВК с токен-паролем. «Вырезаем лицо» с обложки книги и загружаем в searchface.ru (Примечание - на данный момент ).

Художники постарались на славу. Увы, ни единого совпадения...

28725


Пробуем узнать что-либо по дате модификации стегакартинки, а задачка-то оказалась не из простых. Все электронные версии книги «Хакеры basic», сайты подобные «Fantlab.ru» и ISBN дают информацию с аннотации книги, где нет информации по тиражу. Но в конечном итоге (OSINT), на сайте издательства узнаем дату последнего тиража «Хакеры basic» = «19.09.2011г» = «дате модификации стеги» (Примечание - забегая вперёд, эта дата и другие даты-артефакты, которые еще встретятся в прохождении квеста, будут иметь лишь смысл в финальном задании, как очень ценная подсказка).

Сама картинка вещает нам о книге А. Чубарьяна Хакеры basic, в архиве A3.rar был приложен текстовый файл из этой же книги и 1:1, совпадающий с цитатой в описании квеста «Эпоха Цифры», из которого еще и пароль подошел к pgp-ключу. Попробуем поискать какую-нибудь корреляцию разнокалиберность между цитатами.

20) [Хакеры Basic.txt] - текстовый файл, в котором на первый взгляд, та же глава из хакеров, что и в статье к описанию квеста.
Копируем цитату с форума codeby.net (главу цитату из хакеров) в Хакеры.txt. Сравниваем с помощью [Meld] два файла (эти цитаты): Хакеры basic.txt и Хакеры.txt. Невероятно, но это оказалось годное решение! Видим подсвеченные различия в одинаковых файлах: гласные буквы кириллицы заменены на латиницу, а для глаза их написание конечно одинаково (гласные с ru в en). Вот шайтан-азбука...

Смотрим различия в [Meld] сверху вниз, последовательно и слева направо - это и есть пароль к стегакартинке [aooeao].

28726


21) Расшифровываем Стегакартинку в [Stegosuite] [aooeao - пароль]. Видим текстовую информацию:

28727


«Titanium backup Telegram.rar - архив, в нем запароленный Бэкап учетки Telegram Android (пароль от Бэкапа TB: «Криптономикон», это пароль для TB!) Автосинхр выкл.

Задание: «Взломать секретный чат Telegram» и получить секретные сведения, для последующего прохождения пути квеста.

Telegram массовый мессенджер, и поэтому должен обеспечивать защиту конфиденциальности пользователя на всех уровнях. Но шифропанков не волнует «нравится или нет Вам ихнее ПО».
Мессенджер Telegram уязвим к двум атакам: «хищения ключей», используй любую из них.
Полное раскрытие (продемонстрированные мной уязвимости) – используй эти знания! Удачи!
ps/ Если у Вас нет Андроид-устройства, или Вы проходите квест в 20XX году (в далеком будущем, с момента публикации положения о квесте), когда Архитектура и ПО сильно изменились, или не хватает опыта, используйте это [1977 1987 1989 1991 1993 1998 1998 2000] для А3-1.rar

Из вскрытого тайного послания мы узнаем многое: во-первых, открытый пароль от TB «Криптономикон» (Примечание - роман « » сильный роман в жанре киберпанк со множеством технических деталей (шифры/коды), созданный писателем программистом); во-вторых, получаем задание - взломать учётку Telegram; а в-третьих, информацию, как это сделать, чтобы вскрыть секретный чат в Android-Telegram.

22) Восстанавливаем Бэкап учетки Telegram. С помощью JtR-а взламываем локальный pin; или атакой отпечатком пальца обходим защиту local code Android-Telegram; или атакуем c программной помощью эмулятора Android 6 на VB.

А) Для тех, у кого имеется Root/Android/устройство отпечатка пальца.

Задание, как два байта переслать. С помощью TB восстанавливаем учётку Telegram (пароль «Криптономикон»). После успешного восстановления внешних данных Telegram, заходим в тележку, но доступ к криптоконтейнеру защищен локальным кодом доступом (подробнее об этой уязвимости писал здесь), на вопрос ввода pin/pass прикладываем свой палец, и бинго! Учётка разблокировалась с помощью чужого (вашего) отпечатка пальца. Переписка секретного чата - стала доступна.

В решении этой task-и заложены два подвоха:
  • восстановление нужно делать в оффлайн режиме - иначе неуспех (тк. после бэкапа учётка Telegram была уничтожена - намеренно);
  • восстанавливать необходимо только «внешние данные», то есть накатывать восстановление на чистое приложение Android-Telegram, скачанное из GP для вашей модели гаджета (само приложение.apk восстанавливать не нужно, оно не подойдет на вашу модель девайса, но в архиве лежит намеренно).
Б) Для тех, у кого имеется Root/Android.
  • Восстанавливаем учётку аналогичным, вышеописанным способом, но если у нас нет устройства отпечатка пальца, то для того чтобы добраться до святая святых в Telegram, взламываем local code (Примечание - подробнее писал об этом здесь).
  • С помощью telegram2john.py вытягиваем хэш из файла /data/data/org.telegram.messenger/shared_prefs/userconfing.xml
  • И скармливаем это цифровое блюдо, разбирающемся в цифровой кухне, Джону Райперу.
28728

Менее 1с. и Done! (pin учётки Telegram 7512)

В) Для тех, у кого нет в наличии Android-a, или нет Root-прав, или для тех, кто квест проходит в 20хх году.

Переводим своё внимание (в расшифрованном тайном послании стеги) на следующий абзац:
ps/ Если у Вас нет Андроид-устройства, или Вы проходите квест в 20XX году (в далеком будущем, с момента публикации положения о квесте), когда Архитектура и ПО сильно изменились, или не хватет опыта, используйте это [1977 1987 1989 1991 1993 1998 1998 2000] для А3-1.rar

Если гуглить, гуглить и гуглить, то узнаем очередной дата-артефакт, но не более того: 1977..2000 - в эти года были созданы симметричные алгоритмы шифрования [DES, AES, ГОСТ 28147-89, Camellia, Twofish, Blowfish, IDEA, RC4].

Воспользовавшись редактором [nano] (ctrl+c), или редактором [Emacs-gtk] (ctr+u 1977 ctr+f;) парсим пароль из цитаты «Хакеры basic» без какого-либо смещения (например без смещения, шифра Цезаря, или программного смещения в nano и тд.) позиции символа. 1977, 1987, 1989, 1991, 1993, 1998, 1998, 2000 [мормаллж] - пароль от Архива A3-1.rar. (Примечание - Vim (переход к позиции нужному № символу) не справится с задачей, причина та же: символы кириллицы не однобайтовые).

28729

nano считает букву «м» 1976 символом, но он начинает отчет не с единицы, а с нуля (не учитываем программное смещение позиции символа).

[A3-1.rar] содержит ПО, чтобы распарсить Telegram, не имея Anroid-девайса: образ виртуальной машины Android 6; TB и его аддон. Скачиваем и разархивируем архив (пароль - «мормаллж»). Разворачиваем Android 6 на VirtualBox, и восстанавливаем Telegram, в том числе и само apk-приложение из бэкапа, так как сам бэкап этой учётки Telegram был создан на этой (версии образа Android-6) виртуальной машине. Далее, запускаем JTR, и взламываем pin-code (дергаем хэш userconfing.xml), pin «7512».

Задачку с A3-1.rar так же можно было обойти стороной, перейдя по ссылке, и скачав данный архив, пароль можно было и не вычислять от этого контейнера - «мормаллж». Имена файлов не были зашифрованы в A3-1.rar - намеренно, можно было прочитать имена файлов в архиве и скачать с официальных ресурсов образ VM Android 6 и TB.

23) Вскрываем секретный чат в Telegram: заходим в тележку, введя pin-code "7512", или применяем атаку «отпечатком пальца» и видим в секретном чате два сообщения.

«Секретное сообщение #1 [
«Секретное сообщение #2 13722»

По первому сообщению по ссылке находится картинка и ее подпись. По второму сообщению пока не ясно. Так же в облаке Telegram имелась (в избранном) информация:
«Эта учетка была зарегана на виртуальный номер, после обмена секретными сообщениями удалена».

24) Скачиваем картинку, проверяем подпись (подпись верна, значит повреждений у файла нет, хорошо). Картинка - фраза «Tu prope, uti maps», что на латыни означает «Ты близок к цели, воспользуйся любой картой»

28730


Проверим картинку на предмет метаданных.

28731


Обнаруживаем GPS-координаты [39.108846 -76.771339] + в метаданных еще комментарий: [IV/XI-52].

25) «Ты близок к цели, воспользуйся любой картой» и [39.108846 -76.771339] вынуждают нас на прямое геодействие. Вводим эти координаты в любой картографии, например, в карте OSM. По заданным координатам находится здание разведчиков . Заглянув в Wiki, понимаем, что комментарий из метаданных [IV/XI-52] - это очередной дата-артефакт, записанный в советском стиле: дата создания подразделения министерства обороны США - АНБ.

28732


26) Возвращаемся на портал codeby.net, скачиваем А4.rar. Пароль для извлечения файлов из архива: дата-артефакт - [IV/XI-52].


Task №4. Обнаружение и вскрытие скрытого тома VeraСrypt


27) В архиве два файла: [file v1.23] и его подпись. Чекаем связку: подпись + file v1.23, все хорошо.

С помощью [file+binwalk+mat2+ls] проверяем на артефакты, что за файл такой «file v1.23».

28733


Метаданных нет, сигнатур нет, почти ничего, кроме, подозрительного размера файла = 1мБ и даты (Примечание - дата модификации файла после разархивирования снова сохранена и явно, снова, намеренно. К тому же квест свежий, а значит дата файла была модифицирована специально).
На всём протяжении квеста встречались даты-артефакты, не исключено, что и этот файл имеет какое-то отношение к 22 июня 2013г. Гуглим. В конечном итоге натыкаемся на дату создания криптографического ПО VeraCrypt.

28734


Дата вывела нас на ПО VeraCrypt, а имя файла [file v1.23] - это версия самой криптопроги и размер файла ровно в 1мБ - настраиваемый. Эврика! Перед нами контейнер VeraCrypt. Пробуем открыть «file v1.23» с помощью ПО VeraCrypt и пароля «13722» (Примечание - вспоминаем СЧ Telegram «Секретное сообщение #2 13722». Увы не открывается ни при обычном монтировании, ни при скрытом монтировании тома.

Вскрываем контейнер VeraCrypt. Монтируем, как обычный том VeraCrypt «file v1.23» пароль [National Security Agency] (Примечание - оставлю «решение» для Вас, благодаря чему «всё» указывает на [National Security Agency].

В криптоконтейнере оказался один файл: «финальный скрин победителя, но он неподписанный, а по условиям конкурса Цитата:
«выложить Подписанный скрин финалиста (подпись+скрин) ключом 8820 0CD0 63DF 20D1 75B0 4B38 FB5A 4FFD 6DC1 D671».

28735

Расшифровка QR-кода с картинки нам никакой полезной информации не даёт, кроме инструкции по корректному завершению конкурса.

Проверяем контейнер на скрытые файлы (Примечание - включаем в своей ОС (если ОС Windows) «просмотр скрытых файлов и папок»), находим еще два файла: admonitio.txt и его подпись.

28) В admonitio.txt послание/напоминание - «13722» (Примечание - те же цифры, что и во втором секретном сообщении Telegram). Если мы работаем с томами VeraCrypt, то существует вероятность в наличии дополнительного скрытого криптоконтейнера.

Из open source ПО только Hashcat умеет взламывать контейнеры VeraCrypt, посмотрим информацию в Hashcat --help

28736


Становится ясно что это такое «13722» - это режим атаки на хэш тома VeraCrypt с параметрами: sha512/каскад например.

29 Извлекаем хэш пароля скрытого тома VeraCrypt: извлекаем 512 байт со смещением, характерным для скрытого контейнера VeraCrypt.
dd if='~/file v1.23' of='~/vera.hash' bs=1 skip=65536 count=512
(Примечание - а для брутфорс-атаки на обычный том VeraCrypt в Hashcat, необходимо извлекать первые 512 байт криптоконтейнера).

30) Взламываем пароль скрытого криптоконтейнера VeraCrypt в Hashcat:
$ hashcat -a 3 -m 13722 '~/vera.hash' 'словарь.txt' --force, пароль найден [чип]. (Примечание - пароль находился в замаскированной цитате из книги Панова в описании квеста).

28737

(Примечание - Хэш тома VeraCrypt, к тому же каскад, относится к очень медленным хэшам, атака затянется на минуты. Поэтому для speed/crack на скрине пароль из словаря в одно слово, а по легенде вы должны использовать тот же словарь, что и для прошлой атаки на pgp-ключ).

31) Монтируем том VeraCrypt [file v1.23] с опцией «скрытый том», вводим другой пароль «чип», который раздобыли с помощью Hashcat. В контейнере находим подпись. Ура! Проверяем её принадлежность к финальному скрину - провал! Обнаруженная подпись, оказалась не подписью финального скрина, это - подпись самого приватного/трофейного ключа am29f010b, которого у нас еще даже нет).


Task № 5. Восстановление данных

32) Запускаем средство восстановления файлов R-studio (Test disk не справится, те. ничего не обнаружит), натравляем на криптоконтейнер и мгновенно находим удалённый файл: секретный/трофейный pgp-ключ am29f010b. Сохраняем его и его подпись в каталог C:\”Эпоха Цифры”.

28738


33) Подключаем снова обычный том VeraCrypt file v1.23. Запускаем средство восстановления файлов R-studio, находим удаленный файл [p/?] и его подпись.

28739


34) Восстанавливаем этот удаленный файл в каталог: C:\” Эпоха Цифры” и туда же копируем скрин финалиста/остальные файлы с криптоконтейнеров (подписи).

35) файл: [p] содержит внутри [91 107 118 101 115 116 99 111 100 101 98 121 93 32 45 1055 1072 1088 1086 1083 1100 32 1086 1090 32 1087 1088 1080 1074 1072 1090 1085 1086 1075 1086 32 1082 1083 1102 1095 1072 32 65 77 50 57 102 48 49 48 98 32 91 56 56 50 48 32 48 67 68 48 32 54 51 68 70 32 50 48 68 49 32 55 53 66 48 32 52 66 51 56 32 70 66 53 65 32 52 70 70 68 32 54 68 67 49 32 68 54 55 49 93 32 40 1042 1072 1096 32 1090 1088 1086 1092 1077 1081 41] - декодируем это в Android приложении CODEC (кодировка ascii) и получаем текст: «[kvestcodeby] -Пароль от приватного ключа AM29f010b-2 [8820 0CD0 63DF 20D1 75B0 4B38 FB5A 4FFD 6DC1 D671] (Ваш трофей)».

28740


(Примечание - в любом другом онлайн декодере ascii, ru символы видоизменяются, и получаем «[kvestcodeby] -0@>;L >B ?@820B=>3> :;NG0 AM29f010b [8820 0CD0 63DF 20D1 75B0 4B38 FB5A 4FFD 6DC1 D671] (0H B@>D59)»)

36) Чекаем связку 2-х файлов каталога: C:\” Эпоха Цифры” (трофейного ключа+подпись), убеждаемся, что файлы не повреждены, а сама подпись ликвидная и (самого главного ключа am29f010b) подтверждает секретный трофейный ключ am29f010b.

37) На фото видим QR-код, читаем его в QtQr, и видим информацию:
«тут моя почта:
Квест "Эпоха цифры":
BODY:Поздравляю! Вы успешно справились с заданием. Выложите эту картинку и подпись в облако, ссылку из облака выложите в теме квеста на форуме codeby.net (если он существует), и пришлите картинку и подпись мне на почту.;»

38) Но у нас всё еще нет подписи финального скрина, он не подписан, а значит является «пустышкой», но есть сам трофейный, приватный, подписанный pgp-ключ и пароль от него (который был в ascii). Сами подписываем этим трофейным секретным ключом [скрин финалиста], и условие (подпись+скрин) становится выполненным.

39) Отправляем письмо со скрином на почту am29f010b, выкладываем на форум и на любой файлообменник секретное фото и его валидную подпись. Забираем призы!

Примечание - табличка file v1.23
Обычный том VeraCryptСкрытый том VeraCrypt
существует скрин и напоминание "13722"существует подпись ключа (am29f010b)
удален пароль от ключа (ascii) [p]удален приватный ключ.

Квест завершён.
 

Вложения

  • 18.png
    18.png
    56,1 КБ · Просмотры: 606
Последнее редактирование модератором:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!