Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-49844 — CVE-2025-49844(RediShell)のスキャナーおよび教育用ガイド。Redis Luaスクリプティングのuse-after-free脆弱性です。Redisサーバーの露出をチェックし、修復手順を提供し、学習目的でエクスプロイトの仕組みを解説します。 | Kitploit
ツール/GitHubGitHub/angelusrivera/cve-2025-49844
脆弱性スキャナー脆弱性分析エクスプロイトペネトレーションテスト学習と教育レッドチーミングデータベースセキュリティ
GitHubangelusrivera/cve-2025-49844

CVE-2025-49844

CVE-2025-49844(RediShell)のスキャナーおよび教育用ガイド。Redis Luaスクリプティングのuse-after-free脆弱性です。Redisサーバーの露出をチェックし、修復手順を提供し、学習目的でエクスプロイトの仕組みを解説します。

リポジトリを見る
1110ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

🚨 CVE-2025-49844(RediShell)- 完全ガイド

⚠️ 学習目的のみ、ハッキング用ではありません ;) ⚠️

やあ!これは、自分のRedisサーバーがこのバグに対して脆弱かどうかを確認するために作ったシンプルなツールです。実際の攻撃用ではなく、学習と自分の環境を守るためのものです。

これは何について?

さて、親愛なる皆さん、2025年で最も興味深い失敗の一つ、CVE-2025-49844についてです。基本的に、誰かがあなたのRedisサーバーでLuaスクリプトを実行できる場合、メモリへのアクセスを獲得できる可能性があります。

重要なポイント

  • 深刻度: 致命的(9.9/10)
  • 影響を受ける対象: Redisバージョン8.2.1以前を使用しているすべての人
  • 発生する事象: コード実行
  • 攻撃方法: Luaスクリプティング(Redisが高度なデータベース処理に使用するもの)

始めましょう!

ステップ1: このツールをビルドする

root@kitploit:~
# まず、Goの環境を準備します
cd scanner
go mod tidy

# 次にスキャナーをビルドします
go build -o rscan redis-scanner.go

ステップ2: サーバーを確認する

root@kitploit:~
# 1台のサーバーを確認
./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: 問題を修正する

root@kitploit:~
# 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. 💥 すべてが壊れる そして、これは楽しみのために悪用されます ;)

ハッカーはこれをどう利用するか

  • 攻撃対象: RedisのLuaスクリプティングシステム
  • 使用するコマンド: EVAL と EVALSHA(Luaスクリプトを実行するもの)
  • 目的: メモリを上書きし、任意のコードを実行すること

修正方法

今すぐ実行すること(最初の24時間)

  1. すべてのRedisサーバーを見つける(思っているより多くあるかもしれません)
  2. バージョンを確認する(8.2.1以前はすべて危険です。更新が必要です!)
  3. Luaスクリプトを無効化する(これで攻撃を即座に防げます)
  4. アップグレードを計画する(これが本当の修正です)

緊急修正(今すぐ攻撃を止める!)

root@kitploit:~
# Luaスクリプトを無効化(これで攻撃を防げます)
redis-cli ACL SETUSER default -@scripting

# またはredis.confファイルを編集して、この行を追加します:
disable-commands eval evalsha

# その後、Redisを再起動
sudo systemctl restart redis

ネットワークをロックダウンする

root@kitploit:~
# Redisへの接続を特定のIPのみに許可
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

適切なパスワードを設定する

root@kitploit:~
# 強力なパスワードを設定
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を更新する(本当の修正)

root@kitploit:~
# まずデータをバックアップ(常に実行!)
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

修正が実際に機能するかテストする

スクリプトがブロックされていることを確認

root@kitploit:~
# 修正が機能していれば、これは失敗するはずです
redis-cli -a "YourPassword" EVAL "return 'test'" 0
# 表示されるはず: (error) ERR unknown command 'EVAL'

ネットワークセキュリティを確認

root@kitploit:~
# Redisがネットワークからアクセス可能か確認
nmap -p 6379 your-redis-server

# パスワードが必要かテスト
redis-cli -h your-redis-server -p 6379 ping
# パスワードを要求されるはず

この攻撃を検出する方法

ネットワーク内の兆候

  • Luaスクリプト使用パターンの増加
  • 非常に大きな、または複雑なスクリプトを送信する人
  • 非常に高速に実行される多数のスクリプト
  • 明らかに疑わしいスクリプト

サーバー上の兆候

  • Redisが頻繁にクラッシュまたは再起動する
  • メモリ使用量が上下に急変する
  • Redisが不審なネットワーク接続を行う
  • アクセスされるべきでないファイルがアクセスされる

ログを確認する

root@kitploit:~
# 不審な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. 奇妙なメモリパターンを作成: Redisがメモリを特定の方法で配置するLuaスクリプトを作成
  2. クリーンアッププロセスを欺く: Redisが間違ったタイミングでメモリをクリーンアップさせる
  3. メモリを破壊: すでに削除されたメモリをRedisに使用させる
  4. コードを実行: 破壊されたメモリを使用して、任意のコードを実行

これは実際にどれほど深刻か?

ハッキングされた場合の影響

  • 完全な乗っ取り: ハッカーはサーバー上で任意の操作を実行可能
  • すべてのデータ: Redisデータベース内のすべてを閲覧可能
  • 他のサーバーへの拡散: あなたのサーバーを使用して他のシステムを攻撃する可能性
  • 潜伏: 修正したと思っても、アクセスを維持し続ける可能性

ビジネスへの影響

  • データ漏洩: すべての機密情報が盗まれる可能性
  • すべてが停止: Redisサービスが動作しなくなる可能性
  • 法的問題: データ保護義務違反で罰金が科される可能性
  • 信頼の喪失: 顧客が知った場合、離れていく可能性

技術的な詳細

Redisのどの部分が壊れているか

  • Luaスクリプティングエンジン(eval と evalsha コマンド)
  • Redisのメモリ管理方法
  • ガベージコレクションシステム(未使用メモリのクリーンアップ)

メモリがどのように破壊されるか

バグは以下の場合に発生します:

  • Luaで特定のパターンのオブジェクトを作成する
  • Redisのメモリ参照カウントを操作する
  • 間違ったタイミングでRedisにメモリクリーンアップを強制する
  • Redisのメモリ管理タイミングを悪用する

影響を受けるバージョン

  • Redisバージョン8.2.1以前
  • Luaスクリプティングが有効なすべてのバージョン
  • このバグは約13年間存在しています(うわっ!)

エクスプロイトの例(学習用)

基本構造(これは実際には動作しません)

root@kitploit:~
-- これは構造を示すためのものです
local function create_memory_pattern()
    -- Redisのメモリクリーンアップを妨害するオブジェクトを作成
    local objects = {}
    for i = 1, 1000 do
        objects[i] = {data = "pattern_" .. i}
    end
    return objects
end

local function trigger_gc()
    -- 間違ったタイミングでRedisにメモリクリーンアップを強制
    collectgarbage("collect")
    -- ここでメモリバグが発生します
end

-- メインの攻撃構造
local objects = create_memory_pattern()
-- メモリ参照を操作
-- ガベージコレクションを強制
-- 破壊されたメモリを使用してコードを実行

自分を守る方法

ネットワークをロックダウンする

  • ファイアウォールルールを設定
  • Redisをインターネット全体に公開しない
  • ネットワークトラフィックを監視
  • ロギングを有効化

アクセスを制御する

  • 強力なパスワードを使用
  • ユーザー権限(ACL)を設定
  • 必要なアクセス権のみを付与
  • アクセス権を定期的に確認

問題を監視する

  • ログを確認
  • Redisのパフォーマンスを監視
  • 不審な動作を監視
  • 問題発生時の対応計画を準備

安全にテストしたいですか?

実際の環境を壊さずに動作を確認したい場合は、Dockerを使用できます:

root@kitploit:~
# テスト用Redisを起動(これは脆弱なバージョン)
docker run -d --name redis-test -p 6379:6379 redis:6.0

# テストする
cd scanner
./rscan -host localhost -port 6379

# 脆弱なものを停止し、修正済みのものを起動
docker stop redis-test
docker run -d --name redis-fixed -p 6379:6379 redis:6.0 redis-server --rename-command EVAL "" --rename-command EVALSHA ""
./rscan -host localhost -port 6379

# 終了したらクリーンアップ
docker stop redis-fixed && docker rm redis-fixed

高度な機能(必要な場合)

すべてのオプション

root@kitploit:~
cd scanner
./rscan --help

複数サーバーのスキャン

hosts.txt ファイルを次のように作成します:

root@kitploit:~
# ここにサーバーを記入
server1.com
server2.com:6380
192.168.1.100
redis.example.com:6379

高速化する

root@kitploit:~
# より多くのワーカーを使用して高速スキャン(サーバーが多い場合)
./rscan -host server1.com,server2.com -workers 20

必要なもの

  • Go 1.21+(スキャナーのビルド用)
  • redis-cli(Redisへの接続用)
  • Docker(任意、安全なテスト用)

アップグレードで問題が発生した場合

root@kitploit:~
# バックアップにロールバック
sudo systemctl stop redis
sudo rm -rf /var/lib/redis
sudo cp -r /var/lib/redis.backup.$(date +%Y%m%d) /var/lib/redis
sudo systemctl start redis

法的注意事項

これは学習と自分の環境を保護するためのものです。他人のサーバーをハッキングするために使用しないでください。それは違法です。バカなことはしないでください。

情報源 !!

  • 公式CVEページ
  • Wiz Researchブログ
  • Redisセキュリティドキュメント
  • CVE詳細
ツールをダウンロード