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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
wafaray — WAF + YARA (WAFARAY) でマルウェア検出を強化しましょう | Kitploit
ツール/GitHubGitHub/alt3kx/wafaray
防御ツールWAFバイパスウェブセキュリティマルウェア分析ペネトレーションテスト脅威インテリジェンスラボと実践
GitHubalt3kx/wafaray

wafaray

WAF + YARA (WAFARAY) でマルウェア検出を強化しましょう

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

人気

すべて見る →

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

すべてのツールを探索

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

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

WAF + YARA (WAFARAY) でマルウェア検出を強化

wafaray

WAFARAY は、Debian 11.3.0 (安定版) x64 をベースにしたラボ環境のデプロイメントであり、WAF + YARA という2つの主要要素を組み合わせて、通常は Web 機能(ファイルアップロード)を介して悪意のあるファイル(例:ウェブシェル、ウイルス、マルウェア、バイナリ)を検出します。

made-with-python made-with-bash GitHub Linux

目的

基本的なアイデアは、WAF + YARA(YARA を右から左に読むと ARAY)を使用して、WAF がファイルをバックエンドに転送する前に、WAF レベルで悪意のあるファイルを検出することです。例:Web 機能を介してアップロードされたファイル。参照:https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload

Web ページがファイルのアップロードを許可する場合、ほとんどの WAF はファイルをバックエンドに送信する前に検査しません。WAF + YARA を実装すると、WAF がファイルをバックエンドに転送する前にマルウェア検出を提供できます。

WAF によるマルウェア検出?

はい、1つの解決策は ModSecurity + Clamav を使用することです。ほとんどのページは ClamAV をデーモンではなくプロセスとして呼び出します。この場合、ファイルの分析に1ファイルあたり50秒以上かかる可能性があります。参照:https://kifarunix.com/intercept-malicious-file-upload-with-modsecurity-and-clamav/

WAF + YARA によるマルウェア検出?

:- (いくつかの手がかりはこちら Black Hat Asia 2019 引き続きお読みいただき、以下のクイック LAB デプロイメントをご覧ください。

WAFARAY: どのように動作するか?

基本的には、クイックデプロイメントです。(1) カスタムルールを使用して ModSecurity (WAF) 経由で事前にコンパイルされたすぐに使える YARA ルールを用意し、(2) このカスタムルールが悪意のあるコードを含む可能性のあるファイルの検査と検出を実行し、(3) 通常は Web 機能(ファイルアップロード)で、ファイルが疑わしい場合は ModSecurity によって 403 Forbidden コードで拒否されます。

wafaray

✔️ YaraCompile.py はすべての yara ルールをコンパイルします。(Python3 コード)
✔️ test.conf は mod security ルールを含む仮想ホストです。(ModSecurity コード)
✔️ ModSecurity ルールは、アップロードしようとしているファイルを検査するために modsec_yara.py を呼び出します。(Python3 コード)
✔️ Yara は 2 つのオプション 1 (200 OK) または 0 (403 Forbidden) を返します。

主要パス:

  • Yara Compiled rules: /YaraRules/Compiled
  • Yara Default rules: /YaraRules/rules
  • Yara Scripts: /YaraRules/YaraScripts
  • Apache vhosts: /etc/apache2/sites-enabled
  • Temporal Files: /temporal

アプローチ

  • Blueteamers: ルールの適用、最適なアラート、Web 機能を介してアップロードされたファイルのマルウェア検出。
  • Redteamers/pentesters: グレーボックススコープ、悪意のあるファイルのアップロードとバイパス、ルールの適用。
  • Security Officers: アラートの維持、脅威ハンティング。
  • SOC: 悪意のあるファイルに関する最適な監視。
  • CERT: マルウェア分析、新しい IOC の決定。

検出ラボの構築

概念実証は Debian 11.3.0 (安定版) x64 OS システム、OWASP CRC v3.3.2、Yara 4.0.5 に基づいています。自動インストールスクリプトは wafaray_install.sh にあり、オプションの手動インストールガイドは manual_instructions.txt にあります。また、WAF + YARA を使用した悪意のあるファイルの相互作用と検出を観察するための「モック」として PHP ページが作成されています。

シェルスクリプトによるインストール (推奨)

✔️ ステップ 1: Debian 11.3.0 をダウンロード: https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.3.0-amd64-DVD-1.iso
✔️ ステップ 2: VMware または VirtualBox を使用してデプロイ
✔️ ステップ 3: インストールが完了したら、以下の手順に従ってください:

root@kitploit:~
alex@waf-labs:~$ su root 
root@waf-labs:/home/alex#

# Remember to change YOUR_USER by your username (e.g waf)
root@waf-labs:/home/alex# sed -i 's/^\(# User privi.*\)/\1\nalex ALL=(ALL) NOPASSWD:ALL/g' /etc/sudoers
root@waf-labs:/home/alex# exit
alex@waf-labs:~$ sudo sed -i 's/^\(deb cdrom.*\)/#\1/g' /etc/apt/sources.list
alex@waf-labs:~$ sudo sed -i 's/^# \(deb\-src http.*\)/ \1/g' /etc/apt/sources.list
alex@waf-labs:~$ sudo sed -i 's/^# \(deb http.*\)/ \1/g' /etc/apt/sources.list
alex@waf-labs:~$ echo -ne "\n\ndeb http://deb.debian.org/debian/ bullseye main\ndeb-src http://deb.debian.org/debian/ bullseye main\n" | sudo tee -a  /etc/apt/sources.list
alex@waf-labs:~$ sudo apt-get update
alex@waf-labs:~$ sudo apt-get install sudo -y
alex@waf-labs:~$ sudo apt-get install git vim dos2unix net-tools -y
alex@waf-labs:~$ git clone https://github.com/alt3kx/wafaray
alex@waf-labs:~$ cd wafaray
alex@waf-labs:~$ dos2unix wafaray_install.sh
alex@waf-labs:~$ chmod +x wafaray_install.sh
alex@waf-labs:~$ sudo ./wafaray_install.sh >> log_install.log

# Test your LAB environment 
alex@waf-labs:~$ firefox localhost:8080/upload.php

wafaray

Yara ルール

Yara ルールがダウンロードされ、コンパイルされたら。

ModSecurity をデプロイするのと同様に、適用する必要のあるルールの種類をカスタマイズする必要があります。 以下のログは、Web アプリケーションファイアウォール + Yara が悪意のあるファイルを検出した例です。この場合、eicar が検出されました。

root@kitploit:~
Message: Access denied with code 403 (phase 2). File "/temporal/20220812-184146-YvbXKilOKdNkDfySME10ywAAAAA-file-Wx1hQA" rejected by 
the approver script "/YaraRules/YaraScripts/modsec_yara.py": 0 SUSPECTED [YaraSignature: eicar] 
[file "/etc/apache2/sites-enabled/test.conf"] [line "56"] [id "500002"] 
[msg "Suspected File Upload:eicar.com.txt -> /temporal/20220812-184146-YvbXKilOKdNkDfySME10ywAAAAA-file-Wx1hQA - URI: /upload.php"]

WAFARAY のテスト... 出来上がり...

ModSecurity の停止/起動

root@kitploit:~
$ sudo service apache2 stop
$ sudo service apache2 start

Apache ログ

root@kitploit:~
$ cd /var/log
$ sudo tail -f apache2/test_access.log apache2/test_audit.log apache2/test_error.log

デモ

⚠️ テストには注意してください。以下のデモは隔離された仮想マシンでテストされました。 ⚠️

デモ 1 - EICAR

悪意のあるファイルがアップロードされ、ファイルが少なくとも1つの Yara ルールに一致した場合、ModSecurity ルールと Yara はバックエンドへのファイルアップロードを拒否します。(マルウェアの例: https://secure.eicar.org/eicar.com.txt) ファイルを実行しないでください。

wafaray

デモ 2 - WebShell.php

このデモでは、Yara ルールを検証するためにルール 933110 - PHP Inject Attack を無効にします。 悪意のあるファイルがアップロードされ、ファイルが少なくとも1つの Yara ルールに一致した場合、ModSecurity ルールと Yara はバックエンドへのファイルアップロードを拒否します。(WebShell PHP の例: https://github.com/drag0s/php-webshell) ファイルを実行しないでください。

wafaray

デモ 3 - Malware Bazaar (RecordBreaker) 公開日: 2022-08-13

悪意のあるファイルがアップロードされ、ファイルが少なくとも1つの Yara ルールに一致した場合、ModSecurity ルールと Yara はバックエンドへのファイルアップロードを拒否します。(Malware Bazaar (RecordBreaker) の例: https://bazaar.abuse.ch/sample/94ffc1624939c5eaa4ed32d19f82c369333b45afbbd9d053fa82fe8f05d91ac2/) ファイルを実行しないでください。

wafaray

YARA ルールのソース

さらに yara ルールをダウンロードしたい場合は、以下のリポジトリを参照してください。

  • Yara Signatures コンパイル済み - https://github.com/Yara-Rules/rules
  • YARAHub - https://yaraify.abuse.ch/
  • Awesome Yara Rules - https://github.com/InQuest/awesome-yara#rules
  • Advanced Threat Research Yara Rules - https://github.com/advanced-threat-research/Yara-Rules
  • Icewater - https://github.com/SupportIntelligence/Icewater
  • Open Source Yara Rules - https://github.com/mikesxrs/Open-Source-YARA-rules
  • Bartblaza Yara Rules - https://github.com/bartblaze/Yara-rules
  • Cobalstrike - https://github.com/Te-k/cobaltstrike
  • Yara Forensic - https://github.com/Xumeiquer/yara-forensics
  • Loki - https://github.com/Neo23x0/Loki
  • YarGen - https://github.com/Neo23x0/yarGen
  • YarAnalyzer - https://github.com/Neo23x0/yarAnalyzer/
  • Valhalla - https://www.nextron-systems.com/valhalla/, https://valhalla.nextron-systems.com/
  • AlienVault - https://otx.alienvault.com/ (アカウントを作成)

参考文献

  • https://portswigger.net/daily-swig/waf-reloaded-modsecurity-3-1-showcased-at-black-hat-asia
  • https://yara.readthedocs.io/en/latest/gettingstarted.html
  • https://yara.readthedocs.io/en/v3.4.0/yarapython.html
  • https://virustotal.github.io/yara/
  • https://www.tutorialspoint.com/perl/perl_introduction.htm
  • https://malware.expert/scan-every-file-clam-antivirus-scanner-modsecurity/
  • https://xael.org/pages/pyclamd-en.html
  • https://docs.clamav.net/
  • https://www.decalage.info/en/python/pyclamd
  • https://opensource.apple.com/source/clamav/clamav-116.2/clamav.Conf/clamd.conf.auto.html
  • https://c99.sh/hunting-0days-with-yara-rules/
  • https://github.com/claroty/arya
  • https://isc.sans.edu/diary/YARA%27s+Console+Module/28288

次期リリースまでのロードマップ

  • マルウェアハッシュデータベース (MLDBM)。データベースは、ファイルが疑わしいと検出された MD5 または SHA1 を保存します。
  • テスト予定 CRS Modsecurity v.3.3.3 新しいルール
  • ModSecurity ルールの改善によるデータベースを使用したマルウェア検出。
  • MD5 または SHA1 に関連するブラックリストとホワイトリストの作成予定。
  • テスト予定: Yara 分析に3秒以上かかる場合、バックグラウンドで実行。
  • テスト予定: 新しいペイロード、例: Powershell 難読化 (WebShells)
  • ライブ環境向けの注意事項。(WAF AWS, WAF GCP, ...)

著者

Alex Hernandez 別名 (@_alt3kx_)
Jesus Huerta 別名 @mindhack03d

貢献者

Israel Zeron Medina 別名 @spk085

ツールをダウンロード