Как стать автором
Поиск
Написать публикацию
Обновить

HackTheBox Labs (Starting Point) — Redeemer

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров457

Доброго времени суток!

Продолжаем цикл статей по Starting Point платформы HTB Labs. Тут мы поговорим про такую базу данных, как Redis.

Внимание!!!
Я настоятельно рекомендую сначала попробовать решить задачу самостоятельно, а в случае затруднений обратиться к подробному пошаговому руководству. Это позволит вам лучше понять процесс и развить собственные навыки. Также вы можете изучить различные подходы к решению и логику мышления.

Ссылки на предыдущие статьи в серии:
1. HackTheBox Labs (Starting Point) - Meow
2. HackTheBox Labs (Starting Point) - Fawn
3. HackTheBox Labs (Starting Point) - Dancing

1. Какой TCP порт открыт на машине?

Начнем со сканирования портов Nmap:

sudo nmap -sS 10.129.136.187 -n -Pn --disable-arp-ping
sudo nmap -sS 10.129.136.187 -n -Pn --disable-arp-ping
  • -sS - Используем для поиска открытых портов из топ 1000;

  • -n - Отключаем разрешения DNS;

  • -Pn - Отключаем запросы ICMP Echo.

  • --disable-arp-ping - Отключает ARP-пинг

Запустив сканирование на 1000 самых популярных портах, мы не обнаружили отрытых портов. Попробуем запустить сканирование по всем портам - какой-то порт точно должен быть открыт:

sudo nmap -sS 10.129.136.187 -n -Pn --disable-arp-ping -p-
sudo nmap -sS 10.129.136.187 -n -Pn --disable-arp-ping -p-
  • -p- - Запускает сканирование всех 65535 портов.

Вот мы и нашли открытый порт - 6379.

Ответ: 6379

2. Какая служба работает на порту, открытом на компьютере?

Поискав в интернете, можно найти, что на порту 6379 работает база данных Redis.
Простыми словами, Redis — система хранения данных в виде структур. Это
нереляционная СУБД с открытым исходным кодом, организованная по принципу «ключ – значение». Она является вспомогательной и выполняет функцию хранилища (Redis storage) и кеша для основной, центральной базы данных. В качестве последних могут использоваться, например, PostgreSQL или
MySQL.

Ответ: Redis

3. Какой тип базы данных Redis? Выберите из следующих вариантов: 1) In-memory Database; 2) Traditional Database?

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

  • Данные, которые редко меняются, к которым часто обращается приложение.

  • Данные, не относящиеся к критически важным, которые часто меняются.

Ответ: In-memory Database

4. Какая утилита командной строки используется для взаимодействия с сервером Redis? Введите имя программы, которое вы бы ввели в терминал без каких-либо аргументов.

Для работы с Redis применяется утилита redis-cli.

Ответ: redis-cli

5. Какой аргумент используется в утилите командной строки Redis для указания имени хоста?

Для подключения используется аргумент -h с указанием целевого IP-адреса:

redis-cli -h 10.129.136.187
redis-cli -h 10.129.136.187
  • -h - Используется для указания хоста (IP-адреса или доменного имени) сервера, к которому нужно подключиться

Ответ: -h

6. Какая команда используется для получения информации и статистики о сервере Redis после подключения к нему?

После подключения, необходимо ввести команду INFO, и после выведется вся информация о сервере Redis:

INFO
INFO

Ответ: INFO

7. Какая версия сервера Redis используется на целевой машине?

По скриншоту в прошлом задании видно, что версия БД 5.0.7.

Ответ: 5.0.7

8. Какая команда используется для выбора нужной базы данных в Redis?

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

INFO keyspace
INFO keyspace

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

SELECT 0
SELECT 0

Ответ: SELECT

9. Сколько ключей присутствует в базе данных с индексом 0?

Выполнив в прошлом задании команду INFO keyspace, мы узнали, что эта БД имеет 4 ключа. Также можно выполнить команду:

KEYS *
KEYS *

Она также позволяет получить количество ключей.

Ответ: 4

10. Какая команда используется для получения всех ключей в базе данных?

В прошлом задании мы рассмотрели команду KEYS * для получения всех ключей.

Ответ: KEYS *

11. Получение финального флага

Что бы вытянуть значение из ключа, необходимо использовать команду get:

get flag
get flag

Заключение

В этой статье мы рассмотрели основные моменты работы с базой данных Redis, включая ее функциональность, типы данных и команды для взаимодействия с сервером. Понимание особенностей баз данных важно, так как она может быть уязвима для атак, таких как несанкционированный доступ и неправильная конфигурация.

Если у вас остались вопросы или вы хотите что-то подробно обсудить, не стесняйтесь делиться своими мыслями в комментариях!

Теги:
Хабы:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Публикации

Ближайшие события