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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2019-1663-Binary-Analysis — # CVE-2019-1663のバイナリ解析と悪用:CiscoルーターのWeb管理におけるバッファオーバーフロー、根本原因、エクスプロイト手順、ROPガジェットの発見を含む | Kitploit
ツール/GitHubGitHub/wolffcorentin/cve-2019-1663-binary-analysis
組み込みシステムセキュリティ脆弱性分析エクスプロイトリバースエンジニアリングバイナリ解析論文と研究学習と教育バイナリエクスプロイト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
wolffcorentin/cve-2019-1663-binary-analysis

CVE-2019-1663-Binary-Analysis

# CVE-2019-1663のバイナリ解析と悪用:CiscoルーターのWeb管理におけるバッファオーバーフロー、根本原因、エクスプロイト手順、ROPガジェットの発見を含む

リポジトリを見る
21年前未レビュー

CVE-2019-1663 のバイナリ解析

著者: Corentin Wolff


脆弱性の起源

脆弱性の原因

脆弱性は関数 0x0002BF64 に起因しており、strcpy 関数を誤って使用しているため、バッファオーバーフロー攻撃を受けやすくなっています。わかりやすくするため、この関数は Login と改名されています。以下は問題を示すコード断片です。

root@kitploit:~
undefined4 Login(char *param_1, char *param_2, char *param_3, int param_4) { ... }

この断片では、strcpy 関数が不適切に使用され、バッファオーバーフローの脆弱性を引き起こしています:

root@kitploit:~
if (param_4 == 0) {  
    iVar2 = strncmp(acStack_fa, "enc=", 4);  
    if (iVar2 != 0) {  
        strcpy(acStack_15e, acStack_fa);  
        strcpy(acStack_1c2, param_2);  
        goto LAB_0002c264;  
    }  
}

ユーザー名の特定

コードのこの部分はユーザー名をチェックしています:

root@kitploit:~
if (iVar2 != 0) {  
    syslog(6, "Web management login failed, user=%s\n", param_1);  
}

パラメータ param_1 はユーザー名フィールドと特定されます。

パスワード検証

同様に、param_2 はパスワードに対応し、param_3 は httpd_user と識別されます。

ログインフラグ

login_flag 変数は接続状態を表します:

root@kitploit:~
0 → ログインエラー
1 → 管理者ログイン成功
2 → 既存セッションにより管理者ログイン拒否
3 → 管理者ログイン強制ログアウト

脆弱性の種類

バッファオーバーフローと strcpy

脆弱性は、strcpy 関数の不適切な使用によるバッファオーバーフローです。

strcpy の失敗点

strcpy 関数は、コピー元の文字列のサイズをコピー先バッファの容量と照合しません。 これにより、隣接するメモリ領域が上書きされる可能性があります。

悪用のコンテキスト

CVE-2019-1663 は、特定の Cisco ルータモデルにおける入力サイズ検証の欠如を悪用します。

悪用のステップ

root@kitploit:~
a. 長さチェックなし:無害化されていないユーザー入力が strcpy に渡される。
b. メモリオーバーフロー:過剰なデータが重要なメモリ領域を上書きする。
c. 任意コード実行:攻撃者が悪意のあるコードを注入し実行する。
d. 悪用の要件:ルータの Web 設定サーバーへのアクセス。
e. 影響:特権アクセスを獲得し、ネットワークスパイ、トラフィック転送、マルウェアインストール、バックドア設置などを可能にする。

脆弱性のリモート悪用

  1. リモート悪用の条件
    悪用にはルータの Web 設定サーバーへのアクセスが必要です。サーバーが WAN に公開されていない場合、悪用は LAN アクセスに限定されます。
  2. 攻撃手順
    アクセスを獲得した後、攻撃者はリクエストを傍受・改変し、以下のような悪意のあるペイロードを付加します:
    root@kitploit:~
    &enc=1&user=cisco&pwd=AAAA...AAAAZZZZ&sel_lang=EN  
    
    これによりセグメンテーションフォールトが発生します。最適なバッファサイズを特定することで、攻撃者は悪意のあるコードを注入・実行できます。

エクスプロイト | ガジェット : Ropper

root@kitploit:~
ibc.so.0/ELF/ARM)> disasm_address 0x00034410
Instructions
============
0x00034410: pop {r0, pc}

(libc.so.0/ELF/ARM)> disasm_address 0x00041304
Instructions
============
0x00041304: mov r2, r0

(libc.so.0/ELF/ARM)> search %mov r2, r0%
[INFO] Searching for gadgets: %mov r2, r0%
[INFO] File: libc.so.0
0x00041304: mov r2, r0; mov r0, sp; blx r2;

参考文献

  1. MITRE CWE-120: 入力サイズをチェックしないバッファコピー
    https://cwe.mitre.org/data/definitions/120.html

  2. MITRE CWE-787: 範囲外書き込み
    https://cwe.mitre.org/data/definitions/787.html

  3. OWASP バッファオーバーフロー概要
    https://owasp.org/www-community/vulnerabilities/Buffer_Overflow

  4. 「バッファオーバーフロー」Microsoft Learn
    https://learn.microsoft.com/ja-jp/cpp/security/security-best-practices-for-c-cpp

  5. CERT セキュアコーディング標準 - STR31-C
    https://wiki.sei.cmu.edu/confluence/display/c/STR31-C.+Guarantee+that+storage+for+strings+has+sufficient+space+for+character+data+and+the+null+terminator

  6. CVE-2019-1663 の悪用 - Quentin Kaiser による解説
    https://quentinkaiser.be/exploitdev/2019/08/30/exploit-cve-2019-1663

ツールをダウンロード