Задание 1.1. Тайное слово
Расследуя компьютерный инцидент, эксперт заметил, что в одном из файлов содержится закодированное слово — предположительно, это пароль.
15₁₀, 16₈, 15₁₆, 100001₂, 28₁₀, 10010₂, 24₁₆, 31₈
Взглянув на запись, он сообразил, что буквы можно закодировать по их расположению на клавиатуре. Для этого можно взять стандартную английскую раскладку QWERTY и пронумеровать буквы двузначным кодом: первая цифра — номер ряда клавиатуры (1, 2 или 3), вторая цифра — номер буквы по порядку в этом ряду. Тогда кодировки можно записать в виде таблицы:
Ряд 1 на клавиатуре:
Q | W | E | R | T | Y | U | I | O | P
11 | 12 | 13 | 14 | … | … | … | … | … | …
Ряд 2 на клавиатуре:
A | S | D | F | G | H | J | K | L
21 | 22 | 23 | 24 | … | … | … | … | …
Ряд 3 на клавиатуре:
Z | X | C | V | B | N | M
31 | 32 | 33 | 34 | … | … | …
Но что это за числа, записанные в виде нижних индексов рядом с номерами? Похоже, это основания систем счисления, в которые переведены их десятичные номера. Тогда, чтобы прочесть пароль, нужно перевести имеющиеся значения в десятичную систему счисления, а затем восстановить буквы по их кодам. Сделайте это и восстановите пароль в его исходном виде.
Задание 1.2. Тайное слово
Расследуя компьютерный инцидент, эксперт заметил, что в одном из файлов содержится закодированное слово — предположительно, это пароль.
16₁₆, 44₈, 18₁₀, 11000₂, 30₈, 1101₂, 14₁₀, 16₁₆
Взглянув на запись, он сообразил, что буквы можно закодировать по их расположению на клавиатуре. Для этого можно взять стандартную английскую раскладку QWERTY и пронумеровать буквы двузначным кодом: первая цифра — номер ряда клавиатуры (1, 2 или 3), вторая цифра — номер буквы по порядку в этом ряду. Тогда кодировки можно записать в виде таблицы:
Ряд 1 на клавиатуре:
Q | W | E | R | T | Y | U | I | O | P
11 | 12 | 13 | 14 | … | … | … | … | … | …
Ряд 2 на клавиатуре:
A | S | D | F | G | H | J | K | L
21 | 22 | 23 | 24 | … | … | … | … | …
Ряд 3 на клавиатуре:
Z | X | C | V | B | N | M
31 | 32 | 33 | 34 | … | … | …
Но что это за числа, записанные в виде нижних индексов рядом с номерами? Похоже, это основания систем счисления, в которые переведены их десятичные номера. Тогда, чтобы прочесть пароль, нужно перевести имеющиеся значения в десятичную систему счисления, а затем восстановить буквы по их кодам. Сделайте это и восстановите пароль в его исходном виде.
Задание 1.3. Тайное слово
Расследуя компьютерный инцидент, эксперт заметил, что в одном из файлов содержится закодированное слово — предположительно, это пароль.
100011₂, 15₁₆, 33₁₀, 34₈, 17₁₆, 10011₂, 19₁₀, 16₈
Взглянув на запись, он сообразил, что буквы можно закодировать по их расположению на клавиатуре. Для этого можно взять стандартную английскую раскладку QWERTY и пронумеровать буквы двузначным кодом: первая цифра — номер ряда клавиатуры (1, 2 или 3), вторая цифра — номер буквы по порядку в этом ряду. Тогда кодировки можно записать в виде таблицы:
Ряд 1 на клавиатуре:
Q | W | E | R | T | Y | U | I | O | P
11 | 12 | 13 | 14 | … | … | … | … | … | …
Ряд 2 на клавиатуре:
A | S | D | F | G | H | J | K | L
21 | 22 | 23 | 24 | … | … | … | … | …
Ряд 3 на клавиатуре:
Z | X | C | V | B | N | M
31 | 32 | 33 | 34 | … | … | …
Но что это за числа, записанные в виде нижних индексов рядом с номерами? Похоже, это основания систем счисления, в которые переведены их десятичные номера. Тогда, чтобы прочесть пароль, нужно перевести имеющиеся значения в десятичную систему счисления, а затем восстановить буквы по их кодам. Сделайте это и восстановите пароль в его исходном виде.
Задание 1.4. Тайное слово
Расследуя компьютерный инцидент, эксперт заметил, что в одном из файлов содержится закодированное слово — предположительно, это пароль.
24₁₆, 1101₂, 17₈, 12₁₀, 13₁₆, 1110₂, 34₈, 22₁₀
Взглянув на запись, он сообразил, что буквы можно закодировать по их расположению на клавиатуре. Для этого можно взять стандартную английскую раскладку QWERTY и пронумеровать буквы двузначным кодом: первая цифра — номер ряда клавиатуры (1, 2 или 3), вторая цифра — номер буквы по порядку в этом ряду. Тогда кодировки можно записать в виде таблицы:
Ряд 1 на клавиатуре:
Q | W | E | R | T | Y | U | I | O | P
11 | 12 | 13 | 14 | … | … | … | … | … | …
Ряд 2 на клавиатуре:
A | S | D | F | G | H | J | K | L
21 | 22 | 23 | 24 | … | … | … | … | …
Ряд 3 на клавиатуре:
Z | X | C | V | B | N | M
31 | 32 | 33 | 34 | … | … | …
Но что это за числа, записанные в виде нижних индексов рядом с номерами? Похоже, это основания систем счисления, в которые переведены их десятичные номера. Тогда, чтобы прочесть пароль, нужно перевести имеющиеся значения в десятичную систему счисления, а затем восстановить буквы по их кодам. Сделайте это и восстановите пароль в его исходном виде.
Задание 1.5. Тайное слово
Расследуя компьютерный инцидент, эксперт заметил, что в одном из файлов содержится закодированное слово — предположительно, это пароль.
34₈, 13₁₀, 10₁₆, 100011₂, 13₁₆, 21₁₀, 1110₂, 27₈
Взглянув на запись, он сообразил, что буквы можно закодировать по их расположению на клавиатуре. Для этого можно взять стандартную английскую раскладку QWERTY и пронумеровать буквы двузначным кодом: первая цифра — номер ряда клавиатуры (1, 2 или 3), вторая цифра — номер буквы по порядку в этом ряду. Тогда кодировки можно записать в виде таблицы:
Ряд 1 на клавиатуре:
Q | W | E | R | T | Y | U | I | O | P
11 | 12 | 13 | 14 | … | … | … | … | … | …
Ряд 2 на клавиатуре:
A | S | D | F | G | H | J | K | L
21 | 22 | 23 | 24 | … | … | … | … | …
Ряд 3 на клавиатуре:
Z | X | C | V | B | N | M
31 | 32 | 33 | 34 | … | … | …
Но что это за числа, записанные в виде нижних индексов рядом с номерами? Похоже, это основания систем счисления, в которые переведены их десятичные номера. Тогда, чтобы прочесть пароль, нужно перевести имеющиеся значения в десятичную систему счисления, а затем восстановить буквы по их кодам. Сделайте это и восстановите пароль в его исходном виде.
Задание 1.6. Тайное слово
Расследуя компьютерный инцидент, эксперт заметил, что в одном из файлов содержится закодированное слово — предположительно, это пароль.
1100₂, 32₈, 12₁₆, 15₁₀, 1101₂, 16₁₆, 15₈, 15₁₆
Взглянув на запись, он сообразил, что буквы можно закодировать по их расположению на клавиатуре. Для этого можно взять стандартную английскую раскладку QWERTY и пронумеровать буквы двузначным кодом: первая цифра — номер ряда клавиатуры (1, 2 или 3), вторая цифра — номер буквы по порядку в этом ряду. Тогда кодировки можно записать в виде таблицы:
Ряд 1 на клавиатуре:
Q | W | E | R | T | Y | U | I | O | P
11 | 12 | 13 | 14 | … | … | … | … | … | …
Ряд 2 на клавиатуре:
A | S | D | F | G | H | J | K | L
21 | 22 | 23 | 24 | … | … | … | … | …
Ряд 3 на клавиатуре:
Z | X | C | V | B | N | M
31 | 32 | 33 | 34 | … | … | …
Но что это за числа, записанные в виде нижних индексов рядом с номерами? Похоже, это основания систем счисления, в которые переведены их десятичные номера. Тогда, чтобы прочесть пароль, нужно перевести имеющиеся значения в десятичную систему счисления, а затем восстановить буквы по их кодам. Сделайте это и восстановите пароль в его исходном виде.
Задание 2. Контроль загрузок
Начинающий программист написал функцию, которая должна разрешать загрузку на сайт только файлов с расширениями .jpg, .png или .gif. Все остальные типы (например, исполняемые файлы) функция должна отклонять.
Рассмотрите эту функцию.
1 def is_allowed_extension(filename):
2 ext = filename.split('.')[-1].lower()
3 if ext == "jpg" or "png" or "gif":
4 return True
5 else:
6 return False
7
8 is_allowed_extension(filename)
Проверьте, корректно ли работает программа на следующих файлах:
• «hack.exe»;
• «photo.jpg».
Заполните таблицу.
Файл | Должен ли файл проходить проверку? | Результат работы программы
«hack.exe» | ______ | ______
«photo.jpg» | ______ | ______
Варианты для столбца «Должен ли файл проходить проверку?»: Да; Нет.
Варианты для столбца «Результат работы программы»: True; False.
Есть ли в программе ошибки?
Да
Нет
Если есть, то укажите номер строки с ошибкой. Если ошибок нет, в ответ запишите 0.
Задание 3. Удалённый файл
Рекомендуемые инструменты: текстовый редактор
Файл: processmemory.dmp
Саше удалось получить доступ к секретным данным на компьютере secret-server (ОС Linux). XML-файл с флагом был удалён из файловой системы, но его следы остались в дампе памяти процесса, которым он был прочитан.
XML-файл можно опознать по характерному «прологу» (XML prolog), добавленному в начало файла. Текстовые данные внутри XML преобразованы в экранированные последовательности (HTML entity).
Для решения задания вам может понадобиться таблица ASCII.
Формат ответа: vsosh{xxxxxxxx}. Строка «xxxxxxxx» состоит из цифр и латинских букв в нижнем регистре.
Задание 4. Служебный раздел
Файл: index.html
В исследовательском центре обнаружили проблему с внутренним веб-сайтом. Сотрудники центра используют его для просмотра рабочих материалов, а доступ к служебному разделу должен быть только у администраторов.
Один из специалистов заметил, что система определяет права пользователя неправильно: обычный сотрудник может получить административный доступ, если изменить данные, которые сайт использует для проверки роли.
Вам передали копию веб-сайта для проверки. Найдите способ получить доступ к административному разделу. После успешного получения доступа на странице появится код подтверждения. Запишите этот код подтверждения.
Задание 5. Пропавший контракт
Рекомендуемые инструменты: Wireshark
Файл: challenge.pcap
Продолжая расследование компьютерного инцидента, эксперт изучил запись сетевой активности устройств в локальной сети. Ему стало известно, что один из пользователей скачал файл с важным контрактом, однако теперь все пользователи заявляют, что никто этого не делал.
Через системного администратора он узнал имя скачанного файла: contract.docx.
Определите IP-адрес узла сети, скачавшего данный файл.
Задание 6.1. SupaHash
Файлы: SupaHash_windows.exe, SupaHash_linux
На компьютере одного из пользователей эксперт обнаружил программу, с помощью которой он вычисляет значения хэш-функции. Калькулятор хэш-функций принимает только шестнадцатеричные (HEX) значения (чётное количество символов из набора цифр 0–9 и букв a–f) с приставкой «0x» или без неё (примеры допустимых значений: «ff00», «0xaa55»). Другие символы удаляются из строки.
Прочитав заметки пользователя, эксперт установил, что для доступа к одному из файлов используется проверка: подходит любой пароль, вычисленный с помощью данного калькулятора, хэш от которого имеет вид 1FF.
Подберите подходящий пароль и получите флаг.
В вашем распоряжении имеются реализации программы-калькулятора для ОС Windows и Linux. Количество попыток ввода строк не ограничено. Иногда, вводя разные значения исходного текста и наблюдая за значениями хэш-функции, можно заметить некоторые закономерности.
Формат ответа: vsosh{xxxxxxxx}, где «xxxxxxxx» — любая подходящая HEX-строка (любой длины) в нижнем регистре.
Задание 6.2. SupaHash
Файлы: SupaHash_windows.exe, SupaHash_linux
На компьютере одного из пользователей эксперт обнаружил программу, с помощью которой он вычисляет значения хэш-функции. Калькулятор хэш-функций принимает только шестнадцатеричные (HEX) значения (чётное количество символов из набора цифр 0–9 и букв a–f) с приставкой «0x» или без неё (примеры допустимых значений: «ff00», «0xaa55»). Другие символы удаляются из строки.
Прочитав заметки пользователя, эксперт установил, что для доступа к одному из файлов используется проверка: подходит любой пароль, вычисленный с помощью данного калькулятора, хэш от которого имеет вид 7FF.
Подберите подходящий пароль и получите флаг.
В вашем распоряжении имеются реализации программы-калькулятора для ОС Windows и Linux. Количество попыток ввода строк не ограничено. Иногда, вводя разные значения исходного текста и наблюдая за значениями хэш-функции, можно заметить некоторые закономерности.
Формат ответа: vsosh{xxxxxxxx}, где «xxxxxxxx» — любая подходящая HEX-строка (любой длины) в нижнем регистре.
Задание 6.3. SupaHash
Файлы: SupaHash_windows.exe, SupaHash_linux
На компьютере одного из пользователей эксперт обнаружил программу, с помощью которой он вычисляет значения хэш-функции. Калькулятор хэш-функций принимает только шестнадцатеричные (HEX) значения (чётное количество символов из набора цифр 0–9 и букв a–f) с приставкой «0x» или без неё (примеры допустимых значений: «ff00», «0xaa55»). Другие символы удаляются из строки.
Прочитав заметки пользователя, эксперт установил, что для доступа к одному из файлов используется проверка: подходит любой пароль, вычисленный с помощью данного калькулятора, хэш от которого имеет вид 3F.
Подберите подходящий пароль и получите флаг.
В вашем распоряжении имеются реализации программы-калькулятора для ОС Windows и Linux. Количество попыток ввода строк не ограничено. Иногда, вводя разные значения исходного текста и наблюдая за значениями хэш-функции, можно заметить некоторые закономерности.
Формат ответа: vsosh{xxxxxxxx}, где «xxxxxxxx» — любая подходящая HEX-строка (любой длины) в нижнем регистре.
Задание 6.4. SupaHash
Файлы: SupaHash_windows.exe, SupaHash_linux
На компьютере одного из пользователей эксперт обнаружил программу, с помощью которой он вычисляет значения хэш-функции. Калькулятор хэш-функций принимает только шестнадцатеричные (HEX) значения (чётное количество символов из набора цифр 0–9 и букв a–f) с приставкой «0x» или без неё (примеры допустимых значений: «ff00», «0xaa55»). Другие символы удаляются из строки.
Прочитав заметки пользователя, эксперт установил, что для доступа к одному из файлов используется проверка: подходит любой пароль, вычисленный с помощью данного калькулятора, хэш от которого имеет вид 7F.
Подберите подходящий пароль и получите флаг.
В вашем распоряжении имеются реализации программы-калькулятора для ОС Windows и Linux. Количество попыток ввода строк не ограничено. Иногда, вводя разные значения исходного текста и наблюдая за значениями хэш-функции, можно заметить некоторые закономерности.
Формат ответа: vsosh{xxxxxxxx}, где «xxxxxxxx» — любая подходящая HEX-строка (любой длины) в нижнем регистре.