
フォレンジックトリアージによるレガシーハードウェアにおけるDNSキャッシュポイズニング。839バイトの未承諾レコードインジェクションのPCAP解析、CVE-2025-40778のマッピング、およびArch Linux上の強化されたUnbound(DoT)による修復を含む。
Arch Linuxワークステーション上で実施された、教育用パケット解析とリゾルバ強化演習です。
Scope: このリポジトリは学習プロジェクトです。含まれているキャプチャはDNSおよびARPインスペクションの練習に有用ですが、それ自体がアクティブなキャッシュポイズニング攻撃、悪意のあるハードウェア、特定のCVEの悪用、またはNetworkManagerルーティングメトリックへの因果関係を証明するものではありません。
最初の文書では、いくつかの観測を確定した原因として扱っていました。それは過剰でした。839バイトのDNSフレームは自動的に不正形式や悪意があるわけではなく、DNS-over-TLSは設定されたアップストリームリゾルバへのDNSトラフィックを保護しますが、ARPスプーフィングやすべてのレイヤ2/3攻撃を止めるわけではありません。
改訂版では、ラボの有用な部分を維持しつつ、以下を分離しています:
その区別は、適切なインシデント対応の一部です。証拠が支持する以上を主張するよりも、結論を絞り込む方がよいです。
tsharkを使用してDNSおよびARPトラフィックを検査する。tsharkdigラボを再実行する際には、正確なパッケージバージョンを記録する必要があります。現在のリポジトリには、トラフィックを製品の脆弱性に帰属させるのに十分なバージョンメタデータが含まれていません。
sha256sum evidence/incident_triage_snippet.pcap
capinfos evidence/incident_triage_snippet.pcap
ハッシュとキャプチャメタデータをノートとともに保存します。キャプチャを「完全なインシデント証拠」と呼んではいけません。それはスニペットです。
tshark -r evidence/incident_triage_snippet.pcap -Y arp \
-T fields -e frame.number -e frame.time_relative \
-e arp.opcode -e arp.src.proto_ipv4 -e arp.src.hw_mac \
-e arp.dst.proto_ipv4 -e arp.dst.hw_mac
繰り返し発生する、または競合するIP-to-MACの主張を探します。競合は調査すべき手がかりであり、攻撃者の自動的な証明ではありません。アドレスが合成ラボ値であるか、デバイスが正当に変更されたか、タイミングが仮説を支持するかを確認します。
tshark -r evidence/incident_triage_snippet.pcap -Y dns \
-T fields -e frame.number -e frame.time_relative \
-e ip.src -e ip.dst -e udp.srcport -e udp.dstport \
-e dns.id -e dns.flags.response -e dns.qry.name \
-e dns.count.answers -e frame.len
有用なフォローアップフィルター:
dns && frame.len == 839
dns.flags.response == 1
dns.qry.name == "."
arp.duplicate-address-detected || arp.duplicate-address-frame
パケットサイズだけでは判断できません。DNS応答サイズは、レコード数、EDNS、DNSSEC、トランスポート動作によって異なる場合があります。デコードされたレコードを検査し、既知の良好なベースラインと比較します。
chmod +x scripts/checkdns.sh
./scripts/checkdns.sh example.com
このスクリプトは、dig @1.1.1.1 の直接クエリをポート53上の平文DNSとして正しくラベル付けします。kdig が利用可能な場合、別途TLSテストも実行します。
configs/unbound.confを確認し、証明書パスをローカルシステムに適応させ、使用前に検証します:
sudo unbound-checkconf configs/unbound.conf
sudo ss -tnp | grep ':853'
dig @127.0.0.1 example.com
成功したクエリとTCP/853への確立された接続は、UnboundがTLSを介して設定されたアップストリームに転送しているという、より狭い結論を支持します。無関係なARPやルーティングの問題が排除されたことを証明するものではありません。
パケットキャプチャおよびネットワークテストツールは、所有しているかテストを許可されているシステムとネットワークでのみ使用してください。公開する前に、キャプチャ内のプライベートアドレス、ホスト名、トークン、認証情報、個人情報を確認してください。
| パス | 目的 |
|---|
evidence/incident_triage_snippet.pcap | DNS/ARPインスペクションに使用される小さなパケットキャプチャサンプル |
evidence/wireshark_anomoly.png | リポジトリの履歴のために保持されたレガシースクリーンショットファイル名; anomaly が正しい綴り |
reports/ANALYSIS.md | 証拠に基づくレビューと制限 |
scripts/checkdns.sh | リゾルバ出力を比較し、トランスポートを明確にラベル付けする |
configs/unbound.conf | DNS-over-TLSを使用したUnbound転送設定の例 |
logs/remediation_validation.txt | 修正された結論を含む検証出力の例 |
CVE_RESEARCH.md | 利用可能な証拠がCVE帰属を支持しない理由を説明 |