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 (stable) x64, созданное и «приготовленное» из двух основных ингредиентов: WAF + YARA для обнаружения вредоносных файлов (например, веб-шеллов, вирусов, вредоносных программ, бинарников), обычно через веб-функции (загрузка файлов).

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

Назначение

По сути, основная идея заключалась в использовании WAF + YARA (YARA справа налево = ARAY) для обнаружения вредоносных файлов на уровне WAF до того, как WAF сможет передать их на серверную часть, например, файлы, загружаемые через веб-функции, см.: https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload

Когда веб-страница позволяет загружать файлы, большинство WAF не проверяют файлы перед отправкой на сервер. Внедрение WAF + YARA может обеспечить обнаружение вредоносных программ до того, как WAF перешлёт файлы на сервер.

Обнаружение вредоносных программ через WAF?

Да, одно из решений — использовать ModSecurity + ClamAV. Большинство страниц вызывают ClamAV как процесс, а не как демон, и в этом случае анализ файла может занять более 50 секунд на файл. См. этот ресурс: https://kifarunix.com/intercept-malicious-file-upload-with-modsecurity-and-clamav/

Обнаружение вредоносных программ через WAF + YARA?

:-( Несколько подсказок здесь: Black Hat Asia 2019. Пожалуйста, продолжайте чтение и смотрите наше быстрое лабораторное развертывание ниже.

WAFARAY: как это работает?

По сути, это быстрое развертывание (1) с предварительно скомпилированными и готовыми к использованию правилами YARA через ModSecurity (WAF) с использованием пользовательского правила; (2) это пользовательское правило выполняет проверку и обнаружение файлов, которые могут содержать вредоносный код; (3) как правило, если файл подозрителен, веб-функции (загрузка файлов) отклоняют его, получая код 403 Forbidden от ModSecurity.

wafaray

✔️ YaraCompile.py компилирует все правила yara. (Код Python3)
✔️ test.conf — это виртуальный хост, содержащий правила mod security. (Код ModSecurity)
✔️ Правила ModSecurity вызывают modsec_yara.py для проверки файла, который пытаются загрузить. (Код Python3)
✔️ Yara возвращает два варианта: 1 (200 OK) или 0 (403 Forbidden)

Основные пути:

  • Скомпилированные правила Yara: /YaraRules/Compiled
  • Правила Yara по умолчанию: /YaraRules/rules
  • Скрипты Yara: /YaraRules/YaraScripts
  • Виртуальные хосты Apache: /etc/apache2/sites-enabled
  • Временные файлы: /temporal

Подход

  • Blueteamers: Применение правил, лучшее оповещение, обнаружение вредоносных программ в файлах, загружаемых через веб-функции.
  • Redteamers/пентестеры: Область GreyBox, загрузка и обход с вредоносным файлом, применение правил.
  • Специалисты по безопасности: Постоянное оповещение, охота за угрозами.
  • SOC: Лучший мониторинг вредоносных файлов.
  • CERT: Анализ вредоносного ПО, определение новых индикаторов компрометации (IOC).

Построение лаборатории обнаружения

Концептуальное доказательство основано на Debian 11.3.0 (stable) x64, OWASP CRC v3.3.2 и Yara 4.0.5. Вы найдете скрипт автоматической установки здесь: wafaray_install.sh, а дополнительное руководство по ручной установке можно найти здесь: manual_instructions.txt. Также была создана PHP-страница в качестве «заглушки» для наблюдения за взаимодействием и обнаружением вредоносных файлов с помощью WAF + YARA.

Установка (рекомендуемая) с помощью shell-скриптов

✔️ Шаг 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: необходимо настроить, какие правила применять. Следующий журнал — пример того, как межсетевой экран веб-приложений + 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

Загружается вредоносный файл, и правила ModSecurity вместе с Yara отказывают в загрузке файла на сервер, если файл совпадает хотя бы с одним правилом Yara. (Пример вредоносного ПО: https://secure.eicar.org/eicar.com.txt) НЕ ЗАПУСКАЙТЕ ФАЙЛ.

wafaray

Демо 2 – WebShell.php

Для этой демонстрации мы отключаем правило 933110 - PHP Inject Attack, чтобы проверить правила Yara. Загружается вредоносный файл, и правила ModSecurity вместе с Yara отказывают в загрузке файла на сервер, если файл совпадает хотя бы с одним правилом Yara. (Пример веб-шелла PHP: https://github.com/drag0s/php-webshell) НЕ ЗАПУСКАЙТЕ ФАЙЛ.

wafaray

Демо 3 – Malware Bazaar (RecordBreaker) Опубликовано: 13.08.2022

Загружается вредоносный файл, и правила ModSecurity вместе с Yara отказывают в загрузке файла на сервер, если файл совпадает хотя бы с одним правилом Yara. (Пример Malware Bazaar (RecordBreaker): https://bazaar.abuse.ch/sample/94ffc1624939c5eaa4ed32d19f82c369333b45afbbd9d053fa82fe8f05d91ac2/) НЕ ЗАПУСКАЙТЕ ФАЙЛ.

wafaray

Источники правил YARA

Если вы хотите загрузить больше правил yara, вы можете обратиться к следующим репозиториям:

  • Yara Signatures Compiled - 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 (веб-шеллы).
  • Замечания для рабочих сред (WAF AWS, WAF GCP, ...)

Авторы

Alex Hernandez aka (@_alt3kx_)
Jesus Huerta aka @mindhack03d

Контрибьюторы

Israel Zeron Medina aka @spk085

Скачать инструмент