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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
zip_smuggling — 追加データを忍ばせておき、後で抽出できるzipファイルを作成するPython3ユーティリティ | Kitploit
ツール/GitHubGitHub/octoberfest7/zip_smuggling
データ流出レッドチーミングペイロード開発敵対的攻撃
GitHuboctoberfest7/zip_smuggling

zip_smuggling

追加データを忍ばせておき、後で抽出できるzipファイルを作成するPython3ユーティリティ

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

人気

すべて見る →

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

すべてのツールを探索

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

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

zip_smuggling

このPythonユーティリティは、ファイル構造内に追加データを埋め込んだzipファイルを作成します。この追加データは、zipを検査または解凍しても表示されませんが、zipファイル内のWindowsショートカットファイル(LNK)を介してPowerShellを使用して取得できます。

使用方法

このスクリプトには、zipファイル/ショートカットファイル/スマイグルするファイルの名前と、スマイグルしたいファイル/データが必要です:

python3 zip_smuggle.py important_data /home/ubuntu/zip_smuggling/testdata.txt

これにより、スクリプトフォルダ内に important_data.zip が生成されます。このzipファイルをWindowsマシンに転送し、zipをダブルクリックして開くか展開して、その中に含まれるショートカットをクリックします。スマイグル用に指定したデータはzipファイルから取得され、ディスクに保存され、テキストファイルとして開かれます。

概要

このプロジェクトは、以前私が作成した lnk_generator を利用しています。これは、プリセットテンプレートを使用して任意のショートカットファイルを作成できるものです。ショートカットファイルの生成に関する詳細や、より完全なスクリプト/メモについては、そのリポジトリを確認してください。

スマイグルされたデータは、アーカイブ内に含まれるファイルのデータと、zipファイルの目次のような役割を果たすアーカイブの中央ディレクトリとの間に配置されます。この中央ディレクトリにはアーカイブ内のファイルのオフセットが含まれているため、注入されたデータはzip内に存在しますが、中央ディレクトリによって追跡または索引付けされず、簡単に表示または抽出できません。Pythonスクリプトはzipファイル内の「End of Central Directory」オフセットを見つけ、スマイグルデータが注入された後の中央ディレクトリの新しい場所にそれを更新します。次の図は、左側にzipの一般的な構造、右側にデータが挿入された場所を示しています:

image

スマイグルされたデータは、PowerShellコマンドを使用して抽出されます:

powershell.exe -w 1 -c "$name = \"testing\";$file = (get-childitem -Pa $Env:USERPROFILE -Re -Inc *$name.zip).fullname;$bytes=[System.IO.File]::ReadAllBytes($file);$size = (0..($bytes.Length - 4) | Where-Object {$bytes[$_] -eq 0x55 -and $bytes[$_+1] -eq 0x55 -and $bytes[$_+2] -eq 0x55 -and $bytes[$_+3] -eq 0x55 })[0] + 4;$length=12;$chunk=$bytes[$size..($size+$length-1)];$out = \"$Env:TEMP\$name.txt\";[System.IO.File]::WriteAllBytes($out,$chunk);Invoke-Item $out"

このコマンド:

  1. ユーザーのホームフォルダ内を再帰的に検索してzipファイルを探します
  2. それをメモリに読み込みます
  3. スマイグルされたデータの開始位置を示すエッグハンターのバイト列(0x55/0x55/0x55/0x55)を見つけます
  4. スマイグルされたデータを payload_name.txt としてディスクに書き込みます
  5. 既定のシステムアプリケーションを使用して.txtファイルを開きます

このPOCはかなり一般的なままにしてあります。他のファイルタイプなどに利用(武器化)する方法は、読者への課題として残されています。

ツールをダウンロード