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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Cisco-ASA-vulnerability-research — Cisco ASA の lina バイナリを体系的にリバースエンジニアリングし、CVE-2025-20333 および CVE-2025-20362 を含むメモリ破損の脆弱性を発見・分析します。リモートコード実行のプリミティブを見つけることに重点を置いています。 | Kitploit
ツール/GitHubGitHub/cobbbex/cisco-asa-vulnerability-research
脆弱性分析エクスプロイトリバースエンジニアリングウェブセキュリティファジングネットワークセキュリティバイナリ解析
GitHubcobbbex/cisco-asa-vulnerability-research

Cisco-ASA-vulnerability-research

Cisco ASA の lina バイナリを体系的にリバースエンジニアリングし、CVE-2025-20333 および CVE-2025-20362 を含むメモリ破損の脆弱性を発見・分析します。リモートコード実行のプリミティブを見つけることに重点を置いています。

リポジトリを見る
3日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

LINA_FULL_RE — lina の全網羅リバースエンジニアリング

作成: 2026-08-12 対象: lab_asav9-12-4-67/lina (ASAv 9.12(4)67, ELF x86-64, PIE; Ghidra イメージベース 0x100000; 112,687 関数, 約167 MB マップ済み, 642,707 シンボル) トラックの目標: lina バイナリに対する体系的かつ 完全な RE カバレッジ — これまで行われてきた仮説駆動型の対象指定 RE を補完し、ラボが見つけられずにいるプリミティブを探す(20362+20333 での未認証 root RCE は実証済みなので、それは存在する)。


なぜこのトラックが存在するのか

これまでの RE はすべて対象指定(fault-PC 逆コンパイル、文字列アンカー xref 探索、バインディング範囲スイープ)でした。それにより、監査対象となった全スコープ(H4-1/2/3/4、tostring(userdata) リフレクション、SSH/SNMP/IKE %p、代替オーバーフローファミリー、survival oracle)はクローズ済みです — ../RCE_BLOCKERS.md、../NEW_ROADS_TO_CODE_EXECUTION.md を参照。これらのクローズはスコープ単位のものです。112k 関数を持つバイナリのにこそ、APT が見つけられずにいる不足プリミティブが存在するはずです。このトラックは「次の攻撃面を推測する」方式をに置き換えます。

未監査の残り
カバレッジ

クリティカルパス上の位置: 既知のチェーンの主要な関門は依然として P0(ライブリモート情報漏えい) です。CIFS readdir の過剰読み出し(ステップ 19i、4 バイト窓)が唯一の経験的に確認された漏えいであり、前面の実証トラックであり続けます。LINA_FULL_RE は体系的なヘッジです: 未監査コード内でより良い漏えい/プリミティブを見つけるか、存在しないことを証明します。

最初のトリアージ目標(ユーザー選択 2026-08-12)

  1. 漏えいシンク — ネットワーク到達可能で 0x55..(lina)または 0x7f..(libc/heap)の qword を送出できる任意のパス: フォーマット文字列エミッタ(ポインタへの %p/%lx/%x)、過剰読み出し(初期化済みデータによって長さが制限されないもの)、ヒープ残渣のリフレクション、未初期化バッファのエコー。
  2. オーバーフローシンク — 宛先容量によって制限されない攻撃者影響下の長さを持つすべてのコピー(memcpy/memmove/strcpy/strcat/sprintf/vsprintf/gets 系+カスタムコピーループ)、すべてのプロトコル面にわたるもの(すでに使い尽くした WebVPN Lua バインディングだけでなく — ../LINA_ALT_OVERFLOW_FAMILIES_RE.md を参照)。
  3. コールグラフ到達可能性 — すべての外部エントリポイント(WebVPN/HTTPS ディスパッチャ、SSH、SNMP、IKE/ISAKMP、DTLS、ASDM、フェールオーバー csco_config)からの前方コールグラフにより、トリアージヒットを 実際にワイヤから到達可能な ものとしてランク付けできるようにする。

(ユーザーにより延期: CVE-2025-20363 シンク探索 — OSINT によれば、これは 20333 の兄弟である漏えいを 消費する とのこと; ../CVE-2025-20363_OSINT.md を参照。)

方法 — 漏斗方式(112k をまんべんなく読むのではない)

段階内容ツール出力
1. コーパス全 112,687 関数をディスクに一括逆コンパイル。関数ごとに .c ファイル 1 つ、アドレスでシャード化Ghidra run_script_inline(Java、DecompInterface)、チャンク分割+再開可能corpus/<shard>/<addr>.c
2. 機械的トリアージコーパスを ripgrep でシンクパターン(以下の漏えい+オーバーフロークラス)を検索ローカルスクリプト、triage/ヒットテーブル(CSV/MD)
3. 到達可能性フィルタネットワークエントリポイントから到達可能な関数内のヒットのみ保持Ghidra コールグラフ(get_function_call_graph/スクリプト)+エントリポイントシードリストランク付けされたヒットリスト
4. 深掘りランク付けされたヒットの対象指定 RE(既存の ghidra-re サブエージェントパターン)ghidra-mcpこのフォルダ内のファインディング文書

段階 1 は純粋に計算(推定数時間〜数日、無人、再開可能)。段階 2〜3 は安価/ローカル。段階 4 のみが人間/LLM ヘビーな段階であり、漏斗によって制限されます。

フォルダ構成

root@kitploit:~
Research notes/LINA_FULL_RE/
  README.md            — this file (master plan + status)
  TRIAGE.md            — sink-pattern catalog + reachability plan (stage 2/3 spec)
  scripts/             — decompile + triage + driver scripts
  corpus/              — stage-1 output: decompiled functions, sharded (corpus/2c/02c6cc80.c)
    _progress.txt      — resumable progress marker (done count, last address)
    _errors.txt        — per-function decompile failures
  triage/              — stage-2/3 outputs (hit tables, ranked lists)
  findings/            — stage-4 deep-dive writeups (one MD per confirmed candidate)

ステータス

段階ステータス備考
1. コーパス2026-08-12 完了(約 19:03 UTC-4)111,997/111,997 関数、エラー 0、corpus/ 内 548 MB; scripts/decompile_all.py により 26,214 秒(約 7.3 時間)、4.3 関数/秒で完了(GhidraMCP batch_decompile、20 関数/呼び出し上限)
2. トリアージ2026-08-13 完了scripts/triage_stage2.py; クラス別ヒットテーブルは triage/*_hits.csv; ランク結合は triage/RANKED.md
3. 到達可能性2026-08-13 完了(再実行、シード修正済み)コーパスのコール+参照グラフ(エッジ 427,198); 111,997 中 26,291 が到達可能(23.5%) — preauth 26,278 / admin 13 / post20362 0。シード修正: registrar 0317b4e0、session 0317c0a0(旧 030ab4e0/030ac0a0 は関数開始ではなかった)。依然として下限値(vtable あり)。
4. 深掘り進行中 2026-08-17L1 クローズ済み。 L2 C-パス GO(静的): WebVPN UCTE create_type3_message は攻撃者の Type-2 TargetInfo をクランプなしでコピーする; 漏えいは Type-3 Authorization: NTLM に乗って攻撃者の HTTP サーバへ戻る(findings/L2_NTLM_C_PATH_TYPE3.md)。Lua の ntlm.parseType2 は休眠中の双子である。O1/O5 プロトコルパス クローズ済み(静的): IKE/SSH/SNMP/EWS/PDTS のコピーは宛先サイズ指定、送信側、または既知のもの(031af6d0 / 02ff2f30)。O1「その他」725 クローズ済み(静的): スタック/グローバル/param+const フィルタ → 新たな宛先オーバーフロー GO なし; 015a8b30 はクランプなしの addrtype ヘルパーで、呼び出し元は AF サイズ 4/0x10 のみを渡す(findings/O1_OTHER_SWEEP.md)。O2 クローズ済み(静的): 到達可能なコピーループ 605 件; 新たな宛先オーバーフロー GO なし。FUN_02fd7270 = ucte_ntlm_authenticate_connection → L2 C-パス GO と同じ create_type3_message(findings/O2_SWEEP.md)。次: ラボ NTLM プローブ(post-20362)— 0x7f../0x55.. の qword が出てくれば、窓の点で CIFS を上回る。任意の静的解析: O3/O4。

再開/制御: ドライバは出力ファイルが既に存在する関数をスキップします — 続行するにはいつでも python3 scripts/decompile_all.py を再実行してください。グレースフルストップ: touch corpus/STOP。Ghidra または MCP プラグインが再起動した場合も、ドライバを再実行するだけです。

発見されたプラグイン制約(2026-08-12): run_script_inline は無効(GHIDRA_MCP_ALLOW_SCRIPTS 未設定)→ コーパスは HTTP バッチエンドポイントのみを使用; batch_decompile は ?functions=0x..,0x..,.. を GET クエリパラメータとして受け取り(JSON ボディではない)、レスポンスを 20 関数で静かに切り詰める → ドライバのチャンクサイズ = 20。

規約

  • ドキュメント/スクリプト内のすべてのアドレスは lina RVA(リンクベース 0)です。コーパスのファイル名は list_functions が返すままの RVA です(確認済み: corpus/02/02c6cc80.c = luaH_get = RVA 0x2c6cc80)。注: GhidraMCP HTTP プラグインは RVA 形式のアドレスを報告します。Ghidra VA = RVA + 0x100000 ではありません。
  • 新しい証拠なしに既存のクローズと矛盾させないでください。新しい候補がクローズ済みルートと重なる場合は ../RCE_BLOCKERS.md / ../TODO.md を引用してください。
  • 深掘りファインディングでは、到達可能性(pre-auth / post-20362-bypass / admin)、漏えいクラス(0x55.. vs 0x7f.. vs heap)、および信頼性において CIFS readdir プリミティブ(ステップ 19i)を上回るかどうかを必ず記載してください。
ツールをダウンロード