Crypto 200_Шаблон - 4izhik/Team8CTF_Write-up GitHub Wiki

Шаблон (200)

Я знаю, что умеешь работать по шаблону, прогони как этот.

Дан хинт:

vim TheFlag.txt

cat TheFlag.txt | xxd -E -b | tac > Text1.txt

cat Text1.txt

cat Text1.txt | base64 -w8 | tr a-zA-Z0-9 0-9a-zA-Z >

Text2.txt

И приложен конечный текстовый файл: Text2.txt


На самом деле как по мнению организаторов можно было додуматься до такой цепочки шифрования остаётся только догадываться. Так или иначе у нас есть хинт и почему бы им не воспользоваться.

Как получить из Text2.txt -> Text1.txt, конечно же инвертировать команды.

tr - утилита транслитеризации. В нашем случае заменяет символы из 1 набора на символы второго набора. Для обратного действия надо поменять наборы местами.

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

Первый текстовый файл получили. Едем дальше.

tac - выводит текст в обратном порядке. Используем её в том же виде.

xxd - аналог HexDump. Проблема в том, что он использовался с ключами -E (меняет кодировку символов в правом столбце с ASCII на EBCDIC, но не меняет hex, что хорошо и не мешает нам) и ключом -b (переключение на биты, вместо hex) Проблема в том, что xxd не умеет делать bits->hex, а также менять кодировку в правом столбце с EBCDIC на ASCII, что и было бы нам нужно.

Не беда, воспользуемся аналогом в сети, который переведет нам биты в ASCII сразу.

Итоговая команда, результат которой будем декодировать онлайн выглядит так: cat Text2.txt | tr 0-9a-zA-Z a-zA-Z0-9 | base64 -d | tac

А теперь переведём наши байты в ASCII символы.


Флаг: team8{Hello_3ay_Its_FlaaaaaaaaaaaGGGGGGggggggg}