Kali Tools #008|PDFiD:PDFに潜む悪性コードを高速スキャンする解析ツール

PDFファイルは便利ですが、悪意のあるコードが埋め込まれている可能性もあり、セキュリティ上のリスクとなります。そこで今回は、PDFiDというツールをご紹介します。

PDFiDは、PDFファイル内の特定のキーワードをスキャンし、潜在的な脅威を素早く検出するツールです。 JavaScriptを含むPDFや、開いたときにアクションを実行するPDFなど、危険なファイルを見つけ出すことができます。

PDFiDの特長

  • 軽量でシンプルな設計
  • 高速なスキャン
  • 難読化されたファイル名にも対応
  • 疑わしいファイルのみを詳細な解析に送ることで、時間を節約

使い方

  • aptコマンドでインストールします。

    sudo apt install pdfid

  • 使い方
root@kali:~# pdfid -h
Usage: pdfid [options] [pdf-file|zip-file|url|@file] ...
Tool to test a PDF file

Arguments:
pdf-file and zip-file can be a single file, several files, and/or @file
@file: run PDFiD on each file listed in the text file specified
wildcards are supported

Source code put in the public domain by Didier Stevens, no Copyright
Use at your own risk
https://DidierStevens.com

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -s, --scan            scan the given directory
  -a, --all             display all the names
  -e, --extra           display extra data, like dates
  -f, --force           force the scan of the file, even without proper %PDF
                        header
  -d, --disarm          disable JavaScript and auto launch
  -p PLUGINS, --plugins=PLUGINS
                        plugins to load (separate plugins with a comma , ;
                        @file supported)
  -c, --csv             output csv data when using plugins
  -m MINIMUMSCORE, --minimumscore=MINIMUMSCORE
                        minimum score for plugin results output
  -v, --verbose         verbose (will also raise catched exceptions)
  -S SELECT, --select=SELECT
                        selection expression
  -n, --nozero          supress output for counts equal to zero
  -o OUTPUT, --output=OUTPUT
                        output to log file
  --pluginoptions=PLUGINOPTIONS
                        options for the plugin
  -l, --literalfilenames
                        take filenames literally, no wildcard matching
  --recursedir          Recurse directories (wildcards and here files (@...)
                        allowed)
  • 実行例
root@kali:~# pdfid /usr/share/doc/texmf/fonts/lm/lm-info.pdf
PDFiD 0.0.12 /usr/share/doc/texmf/fonts/lm/lm-info.pdf
 PDF Header: %PDF-1.4
 obj                  526
 endobj               526
 stream               151
 endstream            151
 xref                   1
 trailer                1
 startxref              1
 /Page                 26
 /Encrypt               0
 /ObjStm                0
 /JS                    0
 /JavaScript            0
 /AA                    0
 /OpenAction            0
 /AcroForm              0
 /JBIG2Decode           0
 /RichMedia             0
 /Launch                0
 /EmbeddedFile          0
 /Colors > 2^24         0

PDFiDとpdf-parser.pyの使い分け

PDFiDは、PDFファイルの迅速なトリアージに最適です。疑わしいファイルが見つかった場合は、pdf-parser.pyなどの詳細な解析ツールを使ってさらに詳しく調べることをおすすめします。

PDFiDは、セキュリティ意識の高いすべてのユーザーにおすすめのツールです。 ぜひダウンロードして、あなたの大切なデータを悪意のある攻撃から守ってください。

出典①:MalDoc in PDF - 検知回避を狙って悪性なWordファイルをPDFファイルへ埋め込む手法 -アーカイブ

出典②:pdfid | Kali Linux Tools

Kali Tools #007|SET(Social-Engineer Toolkit)徹底解説|ソーシャルエンジニアリングの検証ツール

※本記事は学習用途・自己所有環境のみを対象とし、他者環境への無断スキャンは不正アクセス禁止法に該当します。

Social-Engineer Toolkit(SET)は、人間要因のセキュリティを検証するためのフレームワークです。

Kali Linux に標準搭載されており、フィッシング模擬演習、偽サイト生成、メールシナリオ作成など、ソーシャルエンジニアリングに関する多くの検証機能を備えています。

SET は David Kennedy(ReL1K)氏によって開発され、現在もコミュニティの協力により継続的に改善されています。

通常のペネトレーションテストではサーバー側の脆弱性に注目することが多いですが、実際のインシデントでは利用者(クライアント側)の認証情報窃取や操作誘導が大きな割合を占めます。

そのため、ソーシャルエンジニアリングのシナリオを理解し、リスクを把握することは非常に重要です。


SET の代表的な機能

SET にはさまざまな検証機能がありますが、代表的なものは以下の通りです。

  • Credential Harvester(認証情報の収集)

  • 偽ログインページのクローン生成(Site Cloner)

  • フィッシングメールの模擬送信

  • ブラウザやプラグインの脆弱性を検証する機能

今回は、もっとも分かりやすい「Credential Harvester」を使い、クローンサイトで入力された認証情報がどのように収集されるのかを見ていきます。


1. SET の起動

ルート端末で次のコマンドを実行します。

sudo setoolkit

メニューが表示されるので、以下の順で選択します。

  1. Social-Engineering Attacks

  2. Web Site Attack Vectors

  3. Credential Harvester Attack Method

  4. Site Cloner


2. Harvester の設定

■ ① 受信先 IP アドレスの入力

「POSTデータの送信先 IP」を聞かれるので、Kali ホストの IP アドレスを入力します。
例: 192.168.56.1


■ ② クローンする対象 URL を入力

ログインフォームを持つ URL を指定します。
例:

http://192.168.56.102/peruggia/index.php?action=login


■ ③ Apache を起動する

Apache を使ってページを公開するので「Yes(y)」を選択します。


3. クローンされたページの確認

ブラウザで以下にアクセスします。

http://192.168.56.1/

元のログインページと同じ見た目の画面が表示され、入力内容は Kali 側に転送されます。
試しに以下を入力してみます。

  • ユーザー名:harvester

  • パスワード:test

ログインボタンを押すと、元のログインページにリダイレクトされます。


4. 収集されたデータの確認

Kali の /var/www/html/ ディレクトリに戻り、生成されたファイルを確認します。

cd /var/www/html

harvester_日付.txt というファイルが生成されており、入力した情報が記録されています。

cat harvester_2025-11-22_23:16:24.txt

入力したユーザー名・パスワードがここに保存されます。


5. SET の動作原理

SET がサイトをクローンする際、以下の3ファイルを生成します。

● 1)index.html

元のログイン画面そのものをコピーしたファイル。

● 2)post.php

POSTされたデータを受信し、日時入りファイルに書き込む処理を行う小さなPHPスクリプト。
利用者の入力を保存したあと、メタタグで元のログインページへリダイレクトします。

● 3)harvester_日時.txt

実際に入力された認証情報が保存されるテキストファイル。

この仕組みにより、ユーザーは「パスワードを間違えた」と思い、気づかないまま再度入力を行うケースもあります。


🔚 まとめ

SET(Social-Engineer Toolkit)は、人間要因の脆弱性を理解するための非常に重要な検証ツールです。

クローンサイトの動作や認証情報の処理フローを把握することで、実際のフィッシング手口や誘導の仕組みを学び、防御に役立てることができます。


Kali Tools #006|Weevely:軽量Webシェルでリモート操作を自動化するツール


※本記事は学習用途・自己所有環境のみを対象とし、他者環境への無断スキャンは不正アクセス禁止法に該当します。

Weevelyは、Kali Linuxに標準搭載されている 軽量PHP Webシェル生成ツールです。
一見するとシンプルなPHPファイルですが、攻撃者が好んで使う“ステルス性の高いバックドア”として知られています。

Weevely を使うと、侵入後のサーバーに対して コマンド実行・ファイル操作・接続情報の取得 といった操作を、あたかも telnet や SSH に近い感覚 で行うことができます。
そのため、正規の管理者が利用するケースは少ないものの、攻撃手法を理解する目的で学習しておく価値の高いツールといえます。



🔍 ポイントを整理すると

  • PHPで書かれたWebシェルを生成

  • 見た目は軽量だが、内部には多くの“武器”を搭載

  • ステルス性が高いためログに残りづらい

  • **侵入後の操作自動化(Post-Exploitation)**が得意

  • リモートファイル管理・コマンド実行など多機能

  • Kali Linux に標準収録されており、学習しやすい


【参考】

Kali Tools #005|urlcrazy:そっくりドメイン・タイポスクワッティングを高速チェック


※本記事は学習用途・自己所有環境のみを対象とし、他者環境への無断スキャンは不正アクセス禁止法に該当します。

urlcrazyは、ターゲットの「そっくりドメイン(類似ドメイン)」を大量に自動生成して、
それらが 実際に登録されているか/稼働しているか/危険な用途に使われていないか を調査できるOSINTツールです。

フィッシング、タイポスクワッティング、ブランドなりすまし対策、CSIRT業務などで広く利用されており、
“正規ドメインの影で何が起きているのか” を素早く把握することができます。



🔍 urlcrazyで分かること

  • タイポミスを利用した 偽ドメイン(typosquatting)

  • 使用されている IPアドレス・NS・MX

  • どの国のサーバで稼働しているか

  • 有効/無効のドメイン判定

  • バリエーション生成(ドメイン permutation)

  • フィッシング・ブランド悪用の可能性

シンプルな操作で危険ドメインの洗い出しを自動化できます。


🧩 主な特徴

  • 15種類のドメインバリエーションを自動生成

  • 8,000件以上の一般的なスペルミスに対応

  • **宇宙線によるビット反転(bit flipping)**などの特殊パターンに対応

  • 複数キーボードレイアウト(qwerty / azerty / qwertz / dvorak)に対応

  • 生成されたドメインの

    • 有効性

    • 稼働状況

    • NS・MXの取得

    • 人気度
      を自動チェック

コンパクトなツールながら、偽ドメイン調査では強力な性能を持ちます。


🖥️ 実行例(b-son.netを調査)

$ urlcrazy b-son.net
Warning. File descriptor limit may be too low. Check with `ulimit -a` and change with `ulimit -n 10000`

URLCrazy Domain Report
Domain    : b-son.net
Keyboard  : qwerty
At        : 2025-11-24 15:49:11 +0900
# Please wait. 2008 hostnames to process

Typo Type              Typo Domain                     IP              Country             NameServer                MailServer                   
------------------------------------------------------------------------------------------------------------------------------------------------------
Original               b-son.net                       216.239.32.21   UNITED STATES (US)  dns3.name-services.com.   alt2.aspmx.l.google.com.     
Character Omission     b-on.net                                                                                                                   
Character Omission     b-sn.net                                                                                                                   
Character Omission     b-so.net                        217.160.0.172   GERMANY (DE)        ns1087.ui-dns.de.         mx00.ionos.fr.               
Character Omission     b-son.ne                                                                                                                   
Character Omission     bson.net                        104.21.96.10    UNITED STATES (US)  dee.ns.cloudflare.com.    alt1.aspmx.l.google.com.     
Character Repeat       b--son.net                                                                                                                 
Character Repeat       b-sonn.net                                                                                                                 
Character Repeat       b-soon.net                                                                                                                 
Character Repeat       b-sson.net                                                                                                                 
Character Repeat       bb-son.net                                                                                                                 
Character Swap         -bson.net                                                                                                                  
Character Swap         b-osn.net             

大量の類似ドメインが生成され、実際に稼働しているもの/NSやMXが設定されているもの を簡単に把握できます。


📌 まとめ

urlcrazyは、偽サイト対策やブランド保護を行う上で非常に有用なツールです。
特に 企業名・サービス名のドメインが狙われやすいケース では、定期的に調査することでリスクを早期に把握できます。

Kali Tools #004|Maltego:企業調査・ドメイン分析に使える可視化OSINTツール

※本記事は学習用途・自己所有環境のみを対象とし、他者環境への無断スキャンは不正アクセス禁止法に該当します。 

Maltego は、企業調査やドメイン分析において “関連情報をまとめて可視化できる” OSINTツールです。

公開情報を自動で収集し、人物・企業・ドメイン・SNS・IPアドレスなどの関係性をグラフ化して示してくれます。

たとえば、

  • 企業と関連ドメイン

  • ドメインに紐づくIPアドレスやDNS情報

  • メールアドレスやSNSアカウント

  • 文書・ファイルに含まれるメタデータ
    など、調査対象の周辺情報を一つの画面にまとめ、どこが“攻撃対象領域”になり得るかを視覚的に把握できます。

MaltegoはJava製のため、Windows / macOS / Linux のいずれでも利用可能です。GUIが優れており、ノードをクリックするだけで「2〜4段階先」の関連性までたどれるのが強みです。

また、Maltegoは 高度にカスタマイズ可能なフレームワーク を備えており、必要に応じて独自のTransform(自動調査モジュール)を追加できます。

調査対象に応じて拡張することで、企業内部の資産構造や外部公開領域の洗い出しにも応用できます。



🔍 Maltegoでできること(例)

  • 企業・組織の外部公開資産の可視化

  • ドメインに関連するDNS・IPアドレスの調査

  • メールアドレスに紐づくSNSアカウント探索

  • 文書ファイルに含まれるメタデータ解析

  • 情報同士の関係性マッピング(人物–企業–サイトなど)

情報収集フェーズ全体を効率化し、漏れなく網羅できる のがMaltegoの最大のメリットです。


🖼️ 実行イメージ


Kali Tools #003|Fierce:ドメインに紐づくIPアドレスを効率的に収集する



※本記事は学習用途・自己所有環境のみを対象とし、他者環境への無断スキャンは不正アクセス禁止法に該当します。


Fierce は、Perlで書かれたシンプルながら強力な DNS・IP 情報収集ツールで、
特定のドメインに紐づくサブドメインやIPアドレスを効率的に洗い出す ために利用されます。

もともとは RSnake 氏によって開発され、
http://ha.ckers.org/(現在は閉鎖)のセキュリティ研究コミュニティでも使用されていました。

企業ネットワークのリコン(情報収集)に使われる“古典的ツール”のひとつです。


Fierceの特徴

  • 🔍 DNSベースのリコンに特化した軽量ツール

  • 🌐 サブドメイン列挙 → IP探索 → 範囲スキャン を自動的に実施

  • 🗺️ ネットワークの“つながり”を粗く把握しやすい

  • ⚠️ ゾーン転送の誤設定やワイルドカード設定のミスも検出

シンプルですが、
「対象ドメインのネットワーク構造をざっくり把握する」ための最初のステップ
として依然人気があります。


実行すると何が分かる?

Fierceは以下の情報をまとめて取得します:

  • 対象ドメインのネームサーバ(NS)

  • SOAレコード情報

  • ゾーン転送の可否

  • ワイルドカードDNSの有無

  • 既知のサブドメイン → IPアドレス

  • ネットワーク範囲に存在するホスト

いわゆる OSINT やペネトレーションテスト前の 一次スキャン に最適です。



使い方(例:b-son.net)

$ fierce --domain b-son.net
NS: dns5.name-services.com. dns1.name-services.com. dns4.name-services.com. dns2.name-services.com. dns3.name-services.com.
SOA: dns1.name-services.com. (64.98.148.137)
Zone: failure
Wildcard: failure
Found: blog.b-son.net. (142.250.207.19)


どんな用途で使う?

  • 自社ドメインのセキュリティ確認

  • ペンテストのリコン段階

  • 企業ネットワークの見逃しポイント(Shadow IT)調査

  • 古い設定を洗い出して棚卸し

  • OSINT調査の初期ステップ


注意点

Fierceは“スキャンツール”ではなく
DNS問い合わせベースの情報収集ツール なので負荷は大きくありません。

ただし、以下は遵守が必要です:

  • 自分が許可を持つドメイン以外への大量スキャンはNG

  • ペンテスト用途は必ず許可を取得

  • 公開DNSの設定ミス(ゾーン転送)を不用意に試すのは避ける


まとめ

Fierceは軽量で扱いやすく、
「ドメイン周辺の構造をざっくり把握」するのに最適な古典的DNSリコンツール です。

Kali Tools #002|dnsmapでサブドメインを一括探索する基本



#本記事は学習用途・自己所有環境のみを対象とし、他者環境への無断スキャンは不正アクセス禁止法に該当します。

サイバー攻撃の入口として最も狙われやすいのは、実は「会社が気づいていないサブドメイン」です。

表向きのホームページとは別に、テスト環境や運用用にひっそり残された“裏口”のようなサブドメインが存在し、攻撃者はまずそれを探し当てます。

そこで役に立つのが、Kali Linux に標準搭載されている dnsmap。
ドメイン名を渡すだけで、関連するサブドメインを一括で探索してくれる、情報収集フェーズの定番ツールです。

本記事では、dnsmap の基本的な仕組みから、実際の使い方、結果の見方までをわかりやすく整理します。

“攻撃者が最初に見るポイント” を知ることで、自分の環境を守る視点も得られるはずです。


🧭 dnsmapとは?

dnsmap は 指定したドメインのサブドメインを自動で探し出すツール です。
Webサイトには、公開ページとは別に運用用・テスト用のサブドメインが隠れていることがあり、攻撃者はまずそれを探します。

例:

  • admin.example.com

  • dev.example.com

  • staging.example.com

これらを見つけることで、 潜在的な弱点を洗い出す ことが可能になります。

⚠️ 注意:自分が管理していないドメインに対して無断で実行することは禁止されています。


🛠️ dnsmapを使うタイミング

セキュリティ診断の最初期である 情報収集(Enumeration)フェーズ で利用します。

サブドメイン列挙にはいくつか方法がありますが、

  • DNSゾーン転送

  • OSINT検索(VirusTotal、crt.shなど)

が失敗した場合の“次の一手”として ブルートフォース型のdnsmap が有効です。

特に、ゾーン転送がほとんど許可されなくなった現代では、dnsmap が安定的に使える手法 です。


💡 基本的な使い方

非常にシンプルで、以下のようにドメインを渡すだけです。

dnsmap example.com

dnsmap には内部ワードリストが含まれており、その単語を組み合わせてサブドメインを自動探索します。




📌 実行例:b-son.net のサブドメイン探索

$ dnsmap b-son.net
dnsmap 0.36 - DNS Network Mapper

[+] searching (sub)domains for b-son.net using built-in wordlist
[+] using maximum random delay of 10 millisecond(s) between requests

blog.b-son.net
IPv6 address #1: 2404:6800:4004:820::2013

blog.b-son.net
IP address #1: 142.250.207.19

[+] 1 (sub)domains and 2 IP address(es) found
[+] completion time: 220 second(s)

🔍 結果の読み方

  • blog.b-son.net
    → 発見されたサブドメイン

  • 142.250.207.19
    → そのサブドメインが解決するIPアドレス

  • 1 (sub)domains found
    → 見つかった数

  • completion time
    → 実行時間(ワードリスト数と遅延設定で変動)

dnsmap はブルートフォース型なので、対象によっては 数分〜数十分かかる こともあります。


⚙️ 実務でのポイント

  • Wordlist を拡張すると精度が上がる

  • 遅延(–d)を加えて負荷を下げられる

  • 発見したサブドメインを Nmap や ffuf に渡して深堀りできる

dnsmap 単体では“発見”までですが、ここから 脆弱性スキャンやポートスキャンに繋げる流れ を押さえておくと理解が深まります。


📝 まとめ

  • dnsmap は サブドメイン探索専用の軽量ツール

  • ゾーン転送が使えない環境で特に有効

  • 実行はシンプル、結果の読み取りも直感的

  • Wordlist のカスタムで精度向上

  • 自分の管理ドメインに対してのみ使うこと

Kali Tools #001|OWASP ZAPでWeb脆弱性を自動診断する基本

※ 本記事では、ZAPを学習目的・自己管理下の環境のみで使用する方法を解説します。
他者サイトへの無断スキャンは不正アクセス禁止法に抵触する可能性があります。

サイバーセキュリティの話を一般の人に説明する際、よく「身近なもの」に例えることがあります。

インシデントレスポンスは消防に例えられるように、セキュリティ担当者のキャリアも医者にたとえると分かりやすいかもしれません。

医者には大学病院で高度な設備を使う医師もいれば、地方総合病院の医師、町医者もいるように、
セキュリティ担当者も**専門ベンダー(大学病院級)→ 有償ツールで高度分析する層(総合病院級)→ 無償ツールで最低限を押さえる層(町医者級)**といった段階があります。

今日は、この「町医者クラス」で最低限の診断を行うために欠かせないツールを紹介します。

🛠️ OWASP Zed Attack Proxy(ZAP)とは?

OWASP ZAPは、OWASP(Open Web Application Security Project)が開発する無料のWeb脆弱性スキャンツールです。

Linux・Windows両方で動作し、Kali Linuxには標準搭載されています。
日本語版もあり、無料ツールの中では特に使いやすく、初心者でも扱いやすいのが特徴です。


🔍 OWASP ZAPでできること

ZAPは「自動スキャン」を押すだけで、対象サイトの脆弱性を一気にチェックできます。
一般的に、次のような用途で使われます。

  • Webサイトの脆弱性スキャン

  • 通信内容の可視化(プロキシとして動作)

  • 手動による詳細な脆弱性調査

  • HTML形式のレポート出力

無料ツールの中では珍しくGUIを備えているため、コマンドが苦手な人でも安心です。


🧪 ZAPが向いている「町医者クラス」の診断

有償の診断ツールに比べれば、ZAPの精度や検出範囲は限界があります。
しかし、次の用途では非常に効果的です。

  • 社内の簡易スクリーニング

  • 個人ブログやWebアプリのセルフチェック

  • OSINT調査の延長でのURL確認

  • 「そもそも何が弱点になりやすいか」の理解

“無料でここまでできる”という点では最強クラスのツールです。


🚀 Kali LinuxでのZAPの起動

Kaliではメニューから起動できます。

Kali メニュー → Vulnerability Analysis → OWASP ZAP

または端末で

zap

と入力するだけです。

GUIが開いたら、中央にある「Quick Start」からテストURLを入力することでスキャンが始まります。


📝 まとめ

  • ZAPは初心者〜町医者クラスのセキュリティ担当が使える無料の脆弱性スキャナー

  • Kali Linuxに標準搭載され、GUIで簡単に操作できる

  • 自動スキャンからプロキシまで幅広く対応

  • 「まずは無料で弱点チェックしたい」人には最適なツール


【参考】
OWASP ZAPの基本的な使い方
脆弱性診断研究会(Security Testing Workshop)
IPA安全なウェブサイトの作り方
OWASPWebシステム/Webアプリケーションセキュリティ要件書