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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
EvilFontTool — レッドチーム、セキュリティ研究、その他あらゆる用途のためのフォントベースの欺瞞ツール。 | Kitploit
ツール/GitHubGitHub/doctoreww/evilfonttool
ソーシャルエンジニアリング学習と教育レッドチーミングAIセキュリティ敵対的攻撃ラボと実践
GitHubdoctoreww/evilfonttool

EvilFontTool

レッドチーム、セキュリティ研究、その他あらゆる用途のためのフォントベースの欺瞞ツール。

リポジトリを見る
2572010日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

EvilFontTool

フォントベースの欺瞞ツール。レッドチーム、セキュリティ研究、その他何にでも。

EvilFontTool は、人間の読者にはまったく異なるテキストを表示しながら、機械可読なテキストを文書内に隠します。これはEvil Fonts(悪意のあるフォント)を使用して実現されます。Evil Fonts とは、コンピューターが解釈する文字とは異なる文字を表示することで意図的に閲覧者を欺くフォントです。フォントのグリフを再マッピングすることで、文書の表示上の文字は人間にはある内容を示し、ターミナル、AI システム、クリップボードへのコピー&ペーストには別の内容が見えます。

Evil Font デモ / ラボ !!お見逃しなく!!

  • デモはこちら →

  • Evil Font ラボはこちら →

ワード文書(docx)のデモは、スマートフォンでのフォント描画方法の関係上、モバイルでは動作しません。


目次

  • インストール
  • 使用上のヒント
  • PDF の悩みの説明
  • 使い方
  • 倫理的な使用と免責事項
  • Evil Fonts から身を守るには
  • コントリビューション
  • 動かないんだけど助けて!

インストール

root@kitploit:~
pip install evilfonttool

ソースから

root@kitploit:~
git clone https://github.com/DoctorEww/EvilFontTool.git
cd EvilFontTool
pip install .

開発用(編集可能インストール)の場合:

root@kitploit:~
pip install -e .

依存関係

pip によって自動的にインストールされます:

  • fonttools — フォントの解析と操作
  • brotli — WOFF2 圧縮(fonttools が使用)
  • python-docx — DOCX 生成
  • reportlab — PDF 生成
  • pdf2image — PDF から画像への変換
  • pdfminer.six — PDF のテキスト/レイアウト抽出
  • Pillow — PDF パイプライン用の画像処理

システム要件(pip ではインストールされません。PATH に含める必要があります):

  • LibreOffice — pdf コマンドに必要です。このコマンドは soffice --headless を呼び出して DOCX を PDF に変換します。pdf コマンドは Windows では実験的であり、意図したとおりに動作しない場合があります。
    • Ubuntu/Debian: sudo apt install libreoffice
    • macOS: brew install --cask libreoffice
    • Windows: インストーラーをダウンロード
  • poppler-utils — pdf コマンドの PDF ページ描画のために pdf2image が必要とします
    • Ubuntu/Debian: sudo apt install poppler-utils
    • macOS: brew install poppler
    • Windows: Windows 用 poppler(Library\bin フォルダーを PATH に追加)または下記を参照。

Poppler インストール Windows 用ヘルパースクリプト

poppler を ~\Documents\poppler にインストールして PATH に追加します。

root@kitploit:~
irm (irm https://api.github.com/repos/oschwartz10612/poppler-windows/releases/latest).assets[0].browser_download_url -OutFile ~\Documents\poppler.zip
Expand-Archive ~\Documents\poppler.zip ~\Documents\poppler -Force
$bin = (gci ~\Documents\poppler -Recurse -Filter pdftotext.exe)[0].DirectoryName
[Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path','User') + ";$bin", 'User'); $env:Path += ";$bin"

使用できるフォントはどこで見つけられますか?

  • Ubuntu: /usr/share/fonts
  • Windows: C:\Windows\Fonts
  • https://fonts.google.com/
  • インターネット??

使用上のヒント

  • フォントと PDF は Linux で生成してください。pdf コマンドは Windows では実験的であり、意図したとおりに動作しない場合があります。
  • pdf コマンドは、段組みなどの複雑なワード文書では動作しません。どうしてもサポートしてほしい機能があれば、遠慮なく issue を開いてください。
  • フォントを埋め込むには、doc --ttf-dir <ttffonts_dir> を使用するか(EvilFontTool が自動的に埋め込みます)、Windows の Word を使用してください。LibreOffice 自体の「フォントを埋め込む」オプションは Evil Fonts では機能しません。

PDF の悩みの説明

pdf コマンドは Evil Fonts にはまったく依存していません。DOCX を画像にレンダリングし(表示されるページがテキストではなく画像になる)、その上に実際のコンピューターテキストを完全に不可視の選択可能なテキストとして描画します。コピー&ペーストやテキスト抽出は、その不可視レイヤーを読み取ります。これができるツールは他にもいくつかありますが、気に入った DOCX がすでにある場合に pdf コマンドほど簡単なものはありません。

本物の Evil Font PDF が必要な場合は、不可視の文字を使わずに Word 文書を作成する必要があります(不可視の文字は PDF 変換後も保持されません)。そこから、Word から直接エクスポートするか、「PDF に印刷」を使用します。これによりすべてが単一レイヤーに保たれ、pdf コマンドが使用する有名な 2 レイヤートリックとは異なる IOC が文書に与えられます。pdf コマンドが存在する理由は、その手動プロセスが面倒で、Word 文書の PDF コピーをすぐに作成したい場合があるからにすぎません。

要約;

  • オプション 1:(簡単な方法)pdf コマンドを使用する → 2 レイヤー PDF。他のツールと同じメカニズム(より有名/検出されやすい)。
  • オプション 2:(本物の Evil Font 方式)不可視フォントを使わずに Word 文書を作成し、「PDF に印刷」で変換する → より手間がかかりますが、オプション 1 とは異なる IOC を生成します。

誰かが不可視の文字を使ったままオプション 2 を実現する方法を編み出したら、ごちそうします。issue を開いてください。README でクレジットします。

使い方

すべての機能は、4 つのサブコマンドを持つ単一の CLI で提供されます。

create — HTML または DOC ファイルで使用するフォントファミリーを生成する

root@kitploit:~
evilfonttool create <reference_font> <output_dir> <font_name>
引数説明
reference_fontソースとなる .ttf または .woff フォントへのパス
output_dirフォントと CSS を書き込むディレクトリ
font_name

例:

root@kitploit:~
evilfonttool create fonts/Arial.ttf output/ 'Arial'

出力:

  • output/fonts/*.woff — 文字ごとの Web フォント
  • output/ttffonts/*.ttf — 文書埋め込み用の TTF フォント
  • output/fonts.css — Web 用の @font-face 宣言

入力ファイル形式

  • プレーンな .txt ファイル。
  • computer_file の各行は、human_file の対応する行以上の長さである必要があります。
  • 行は位置的に照合されます(1 行目と 1 行目、など)。

web — Evil Font HTML ファイルを生成する

root@kitploit:~
evilfonttool web <human_file> <computer_file> <output_file>

HTML ファイルが使用できるように、fonts.css と生成されたフォントが出力ディレクトリにある必要があります(または HTML ファイル内のパスを変更してください)。

引数説明
input_human_file人間の読者に表示されるテキスト。複数行可
input_computer_file機械 / AI に表示されるテキスト。複数行可
output_file生成される HTML ファイルのパス

例:

root@kitploit:~
evilfonttool web human.txt computer.txt output/index.html

doc — Evil Font DOCX ファイルを生成する

root@kitploit:~
evilfonttool doc <human_file> <computer_file> <output_file> <font_name> [--author AUTHOR] [--ttf-dir DIR]

font_name は create ステップで使用した名前と一致している必要があります。TTF フォントは、システムにインストールするか、--ttf-dir で埋め込むか、Word で手動で埋め込む(ファイル -> オプション -> 保存 -> フォントの埋め込み)必要があります。そうしないと、欺瞞が正しくレンダリングされません。

Word 自体の「フォントを埋め込む」保存オプションは正常に機能しますが、LibreOffice のものは機能しません — Evil Fonts を正しく埋め込むことはできませんでした。代わりに --ttf-dir を渡してください。EvilFontTool はフォント自体を .docx に直接埋め込み、Word や LibreOffice の埋め込みには一切依存しません。

例:

root@kitploit:~
evilfonttool doc human.txt computer.txt output/secret.docx MyFont --author "Finance Team" --ttf-dir output/ttffonts

pdf — Evil Font DOCX をコピー&ペースト対応 PDF に変換する

root@kitploit:~
evilfonttool pdf <input_docx> <output_file> [--ttf-dir DIR] [--dpi DPI] [--soffice PATH] [--ink-font FONT] [--title TITLE] [--author AUTHOR] [--subject SUBJECT] [--producer PRODUCER]

LibreOffice で DOCX をレンダリングして PDF が文書と同一に見えるようにし、その上に隠れたペイロードを不可視のコピーレイヤーとして重ねるため、すべてのビューアーでコピー&ペーストしても維持されます。

Windows: このコマンドは Windows では実験的であり、意図したとおりに動作しない場合があります。

LibreOffice(soffice)と poppler-utils が必要です — 依存関係 を参照してください。

例:

root@kitploit:~
evilfonttool pdf output/secret.docx output/secret.pdf --ttf-dir output/fonts/ttffonts --title secret

倫理的な使用と免責事項

このツールの使用方法については、あなたに責任があります。 明示的な許可なくシステムや個人に対してこの手法を展開することは非倫理的であり、違法となる可能性があります。作者は、防御側がこの種の脆弱性を理解しテストするのを支援するためにこのツールを提供しています — 攻撃を可能にするためではありません。


Evil Fonts から身を守るには

このツールは、レッドチーマーがフォントベースの攻撃のリスクを組織に対して検証するのを支援するために作成されました。また、ブルーチーマー、研究者、システム所有者が、ユーザーが提供するフォントを無条件に信頼することによって残されるセキュリティのギャップを理解するのを支援するためにも作成されました。以下は、現代のオペレーティングシステムやアプリケーションにおいてフォントがもたらす問題に対処または緩和するための、個人および業界向けの実用的な推奨事項です。

Evil Fonts に対して何ができますか?

  • 信頼できないソースから提供されたコンテンツを信頼しないでください。メールの送信者とドメイン名を確認してください。
  • 貼り付けた後、実行する前にコマンドを確認してください。
  • 理解できないコマンドを実行しないでください。
  • curl の出力を直接 bash / Invoke-Expression にパイプするコマンドを実行しないでください。攻撃者はダウンロード元の Web サイトを切り替えるのは簡単です。
  • 信頼できないソースからのメール添付ファイルを開かないでください。
  • Evil Fonts は効果を発揮するために閲覧者を欺くことに依存していることを覚えておいてください。Evil Fonts がリスクとなるには、ユーザーが何らかの行動を起こす必要があります。リスクのある行動を取らなければ、Evil Fonts はあなたに影響を与えることはできません。
  • 他人が作成した文書を AI ツールにアップロードしないでください。

業界は Evil Fonts に対してどのような保護策を講じられますか?

  • 保護ビュー(Microsoft Office スイート)でカスタムフォントをレンダリングしないようにしてください。
  • ユーザーがカスタムフォントを持ち込むことを許可しないか、カスタムフォントの数を制限してください。
  • Web ページや Word 文書内の多数のカスタムフォントをマルウェアのシグナルとして扱ってください。
  • Win + R を使用するユーザーに対し、最初に使用するときに「これは非常にリスクが高い」という怖いポップアップで警告してください(なぜこれがまだ実装されていないのか謎ですが...)。
  • AI で文書を処理するときは、文書を画像にレンダリングし、OCR でテキストを抽出してください。これには、テキストを含む画像に対する保護という追加の利点もあります。
  • 脅威モデルでユーザーが提供するフォントを無視しないでください。
  • ユーザーが提供するフォントを、それがあるがままに扱ってください。すなわち、信頼できないユーザー入力です。

コントリビューション

コントリビューションは歓迎します。新しい攻撃面、フォント生成パイプラインの改善、または文書化する価値のある防御手法を見つけた場合は、issue または PR を開いてください。

  1. リポジトリをフォークする
  2. フィーチャーブランチを作成する(git checkout -b feature/my-feature)
  3. 変更をコミットする
  4. 何が変わったのか、なぜ変わったのかを明確に説明したプルリクエストを開く

動かないんだけど助けて!

このツールは、ワード文書、PDF、フォントの複雑さのため、テストが非常に困難です。再現可能な問題を見つけた場合は、GitHub の issue を開いてください。できるだけ早く対応します。

issue には以下を含めてください:

  • OS + LibreOffice のバージョン、およびファイルを表示している場所(Word / LibreOffice / その他)。
  • フォントがインストール済みか埋め込み済みか、そのどちらでもないか。
  • 実行した正確なコマンドと、ターミナル出力(特に mismatch の警告)。
  • 再現できる最小限の .docx / 入力ファイル(共有できる場合)。
  • 問題の原因と考えられるその他の情報。
ツールをダウンロード
生成されたフォントファミリーの内部名プレフィックス
引数説明
input_human_file人間の読者に表示されるテキスト。複数行可
input_computer_file機械 / AI に表示されるテキスト。複数行可
output_file生成される DOCX ファイルのパス
font_nameフォントファミリー名(create ステップと一致させる必要があります)
--authorDOCX 文書の作成者メタデータ(デフォルト: なし)
--ttf-dirEvil Font TTF のディレクトリ(例: <output_dir>/ttffonts)。指定した場合、実際に使用されたフォントが直接 .docx に埋め込まれるため、システム全体にインストールしなくても欺瞞が正しくレンダリングされます。human ファイルに含まれる文字のみが埋め込まれます。
引数説明
input_docxEvil Font DOCX へのパス(doc ステップの出力)
output_file生成される PDF ファイルのパス
--ttf-dirEvil Font TTF のディレクトリ(例: <output_dir>/ttffonts)。LibreOffice に公開され、偽装がレンダリングされます。フォントがシステム全体にインストールされているか、ファイルに埋め込まれている場合のみ省略可能
--dpi可視レイヤーのラスタライズ品質(デフォルト: 200)
--sofficeLibreOffice バイナリへのパス(デフォルト: soffice)
--ink-font不可視コピーレイヤー用の TTF(デフォルト: システムのサンズ系フォント)
--titlePDF 文書タイトルのメタデータ(デフォルト: Untitled)
--authorPDF 文書作成者のメタデータ(デフォルト: なし)
--subjectPDF 文書サブジェクトのメタデータ(デフォルト: なし)
--producerPDF 文書プロデューサーのメタデータ(デフォルト: なし)