Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-49844 — Сканер и учебное руководство по CVE-2025-49844 (RediShell) — уязвимости use-after-free в Lua-скриптинге Redis. Проверяет Redis-серверы на подверженность уязвимости, предоставляет шаги по устранению и объясняет механику эксплуатации в учебных целях. | Kitploit
Инструменты/GitHubGitHub/angelusrivera/cve-2025-49844
Сканеры уязвимостейАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеОбучение и ОбразованиеRed TeamingБезопасность Баз Данных
GitHubangelusrivera/cve-2025-49844

CVE-2025-49844

Сканер и учебное руководство по CVE-2025-49844 (RediShell) — уязвимости use-after-free в Lua-скриптинге Redis. Проверяет Redis-серверы на подверженность уязвимости, предоставляет шаги по устранению и объясняет механику эксплуатации в учебных целях.

Репозиторий
112211 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

🚨 CVE-2025-49844 (RediShell) — Полное руководство

⚠️ Только для обучения, а не для взлома ;) ⚠️

Привет! Это простой инструмент, который я сделал, чтобы помочь людям проверить, уязвимы ли их Redis-серверы к этой ошибке. Он не предназначен для реальных атак — только для обучения и защиты собственных систем.

О чём это всё?

Итак, мои дорогие, вот один из самых интересных косяков 2025 года — CVE-2025-49844. По сути, если кто-то может выполнять Lua-скрипты на вашем Redis-сервере, он может получить доступ к памяти.

Самое важное

  • Насколько серьёзно?: Критично (9.9/10)
  • Кто затронут: Все, кто использует Redis версии 8.2.1 или старше
  • Что происходит: Выполнение кода
  • Как это делают: Через Lua-скрипты (которые Redis использует для всяких навороченных штук с базами данных)

Давайте начнём!

Шаг 1: Собираем эту штуку

# Сначала подготовим Go
cd scanner
go mod tidy

# Затем соберём сканер
go build -o rscan redis-scanner.go

Шаг 2: Проверяем свои серверы

# Проверка одного сервера
./rscan -host your-server.com -port 6379

# Проверка с паролем (если он есть)
./rscan -host your-server.com -port 6379 -auth yourpassword

# Проверка нескольких серверов сразу
./rscan -host server1.com,server2.com,server3.com

# Или проверка из файла
./rscan -file hosts.txt

Шаг 3: Чиним то, что сломано

# Отключаем Lua-скрипты (это останавливает атаку)
redis-cli ACL SETUSER default -@scripting

# Или просто обновите Redis до последней версии

Что означают результаты?

  • 🚨 ОПАСНОСТЬ! — Ваш Redis уязвим (старая версия + Lua-скрипты работают)
  • 🛡️ Хорошо! — Ваш Redis защищён (Lua отключён или версия новее)
  • ✅ Отлично! — Ваш Redis в безопасности (версия 8.2.2 или новее)
  • ❌ Упс! — Не удалось подключиться или что-то пошло не так

Как работает эта ошибка памяти

Проблема

Это так называемая ошибка «use-after-free» (использование после освобождения). По сути, у Redis есть система управления памятью, которая иногда путается в том, какую память она уже очистила.

Как должно работать:

  1. 📝 Redis создаёт данные в памяти
  2. 🔍 Использует эти данные для чего-то
  3. 🗑️ Очищает память, когда закончил
  4. ✅ Всё безопасно и надёжно

Как это работает на самом деле (ошибка):

  1. 📝 Redis создаёт данные в памяти
  2. 🔍 Использует эти данные для чего-то
  3. 🗑️ Очищает память
  4. 🔍 Пытается снова использовать данные (но их уже нет!)
  5. 💥 Всё ломается, и этим пользуются для развлечения ;)

Как хакеры это используют

  • Что они атакуют: Систему Lua-скриптов Redis
  • Какие команды используют: EVAL и EVALSHA (они выполняют Lua-скрипты)
  • Чего хотят добиться: Перезаписать память и выполнить произвольный код

Как это исправить

Сделайте это прямо сейчас (первые 24 часа)

  1. Найдите все свои Redis-серверы (их может быть больше, чем вы думаете)
  2. Проверьте их версии (всё, что 8.2.1 или старше, — критично, нужно обновляться!)
  3. Отключите Lua-скрипты (это немедленно остановит атаку)
  4. Спланируйте обновление (это настоящее решение)

Быстрое исправление (остановите атаку прямо сейчас!)

# Отключаем Lua-скрипты (это останавливает атаку)
redis-cli ACL SETUSER default -@scripting

# Или отредактируйте файл redis.conf и добавьте эту строку:
disable-commands eval evalsha

# Затем перезапустите Redis
sudo systemctl restart redis

Ограничьте доступ к сети

# Разрешите только определённым IP-адресам подключаться к Redis
iptables -A INPUT -p tcp --dport 6379 -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -p tcp --dport 6379 -j DROP

# Заставьте Redis слушать только определённые сетевые интерфейсы
bind 127.0.0.1 10.0.0.100

Настройте надёжные пароли

# Установите надёжный пароль
redis-cli CONFIG SET requirepass "fuckredis1234ilovehacking!"

# Создайте пользователей с ограниченными правами
redis-cli ACL SETUSER appuser on >password +@read +@write -@scripting
redis-cli ACL SETUSER readonly on >password +@read -@scripting

Обновите Redis (настоящее решение)

# Сначала сделайте резервную копию данных (всегда делайте это!)
sudo cp -r /var/lib/redis /var/lib/redis.backup.$(date +%Y%m%d)

# Обновите Redis до исправленной версии
# На Ubuntu/Debian:
sudo apt update && sudo apt install redis-server=8.2.2*

# На CentOS/RHEL:
sudo yum update redis

# Проверьте, что всё сработало
redis-server --version

Проверьте, что ваше исправление действительно работает

Убедитесь, что скрипты заблокированы

# Эта команда должна завершиться ошибкой, если исправление работает
redis-cli -a "YourPassword" EVAL "return 'test'" 0
# Должно быть: (error) ERR unknown command 'EVAL'

Проверьте сетевую безопасность

# Проверьте, доступен ли Redis из сети
nmap -p 6379 your-redis-server

# Проверьте, требуется ли пароль
redis-cli -h your-redis-server -p 6379 ping
# Должен запросить пароль

Как обнаружить эту атаку

Признаки в вашей сети

  • Увеличение использования Lua-скриптов
  • Кто-то отправляет очень большие или сложные скрипты
  • Много скриптов выполняется очень быстро
  • Скрипты, которые явно выглядят подозрительно

Признаки на вашем сервере

  • Redis постоянно падает или перезапускается
  • Использование памяти скачет вверх и/или вниз
  • Redis устанавливает странные сетевые соединения
  • Обращение к файлам, к которым не должно быть доступа

Проверьте свои журналы

# Ищите подозрительную активность Lua-скриптов
grep -i "eval\|evalsha" /var/log/redis/redis.log

# Проверьте неудачные попытки входа
grep -i "auth" /var/log/redis/redis.log

# Ищите ошибки скриптов
grep -i "script" /var/log/redis/redis.log

Насколько сложно это эксплуатировать?

Это довольно сложно (если вы не понимаете, что происходит)

  • Нужно понимать, как Redis работает внутри
  • Трюки с памятью: Приходится вмешиваться в управление памятью Redis
  • Навыки Lua: Нужно хорошо уметь писать Lua-скрипты
  • Идеальный тайминг: Нужно вызвать ошибку в точно правильный момент

Как выглядят реальные эксплойты

  1. Создание странных паттернов памяти: Написать Lua-скрипты, которые заставляют Redis располагать память определённым образом
  2. Обман процесса очистки: Заставить Redis очищать память в неподходящий момент
  3. Поломка памяти: Вызвать использование Redis уже удалённой памяти
  4. Выполнение своего кода: Использовать сломанную память для выполнения чего угодно

Насколько это на самом деле серьёзно?

Что произойдёт, если вас взломают

  • Полный захват: Хакеры могут выполнять что угодно на вашем сервере
  • Все ваши данные: Они могут увидеть всё в вашей базе данных Redis
  • Распространение на другие серверы: Они могут использовать ваш сервер для атак на другие системы
  • Скрытное присутствие: Они могут сохранить доступ, даже когда вы думаете, что всё исправили

Что это значит для вашего бизнеса

  • Утечка данных: Вся ваша конфиденциальная информация может быть украдена
  • Всё ломается: Ваш сервис Redis может перестать работать
  • Юридические проблемы: Вас могут оштрафовать за недостаточную защиту данных
  • Потеря доверия: Клиенты могут уйти, если узнают об этом

Давайте углубимся в технические детали

Какие части Redis сломаны

  • Движок Lua-скриптов (команды eval и evalsha)
  • Как Redis управляет памятью
  • Система сборки мусора (очищает неиспользуемую память)

Как ломается память

Ошибка возникает, когда:

  • Вы создаёте определённые паттерны объектов в Lua
  • Вы вмешиваетесь в подсчёт ссылок на память в Redis
  • Вы заставляете Redis очищать память в неподходящий момент
  • Вы используете тайминг управления памятью Redis

Какие версии затронуты

  • Redis версии 8.2.1 и старше
  • Любая версия с включёнными Lua-скриптами
  • Эта ошибка существует уже около 13 лет (ой-ой!)

Как выглядят эксплойты (для обучения)

Скачать инструмент