🛡️ Как определить, какой WAF защищает веб-сайт или приложение?

Мануал

Атакующему всегда полезно знать, где в сети обычно используется WAF, прежде чем приступать к сбору информации.

Пентестеры должны знать о WAF до начала работы с веб-приложениями, поскольку это может повлиять на результаты их атак.

Что такое WAF?

WAF (Web Application Firewall) играет важную роль в обеспечении безопасности веб-сайта.

Они фильтруют и контролируют трафик.

Брандмауэры веб-приложений обеспечивают защиту от основных недостатков.

Многие организации модернизируют свою инфраструктуру, чтобы включить в нее брандмауэры веб-приложений.

По мнению экспертов по этическому взлому, брандмауэры веб-приложений не могут самостоятельно решить проблемы безопасности; для распознавания и блокирования внешних угроз требуется соответствующая настройка.

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

HTTP-взаимодействие подчиняется набору правил.

Эти правила касаются типичных уязвимостей, таких как межсайтовый скриптинг и SQL-инъекции т.д.

В интернете существует множество бесплатных инструментов с открытым исходным кодом, которые могут обнаружить брандмауэры, стоящие за веб-приложениями.

В этой статье мы рассмотрим подходы и инструменты, которые можно использовать для обнаружения WAF.

Обратите внимание: в этом руководстве я использовал свой собственный сайт для перечисления деталей.

Не проводите сканирование или другие хакерские действия на любом сайте без предварительного разрешения владельца.

Обнаружение вручную

Обнаружение с помощью TELNET

Telnet в основном используется сетевыми администраторами и специалистами по тестированию на проникновение.

Telnet позволяет подключаться к удаленным узлам через любой порт, как уже говорилось ранее.

  • Параметры HTTP часто оставляются (или вставляются) в заголовки ответов брандмауэрами веб-приложений.
  • Telnet можно использовать для получения основной информации, такой как сервер и cookies
  • Введите
    Telnet Targetwebsite.com 80 
telnet Targetwebsite.com 80
Trying 18.166.248.208...
Connected to Targetwebsite.com.
Escape character is '^]'. 

После выполнения приведенной выше команды напишите HEAD / HTTP / 1.1 и нажмите клавишу ввода.

# telnet 18.166.248.208  80 
Trying 18.166.248.208... 
Connected to 18.166.248.208. 
Escape character is '^]'. 
HEAD / HTTP/1.1 
Host: 18.166.248.208

HTTP/1.1 200 OK 
Date: SUN, 10 Oct 2021 05:08:03 IST 
Server: Apache X-Powered-By: PHP/5.3.5 ZendServer/5.0 
Set-Cookie: SESSIONID VULN SITE=t25put8gliicvqf62u3ctgjm21; path=/ 
Expires: Thu, 19 Nov 1981 08:52:00 IST
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
X-Varnish: 4723782781
Age: 0
Via: 1.1 varnish
Connection: close 
Content-Type: text/html

Connection closed by foreign host.

Он указывает сервер, на котором размещен веб-сайт, и язык back-end, на котором он был создан после использования telnet на целевом порту 80.

Некоторые системы WAF позволяют изменять этот заголовок, а также могут заставить веб-сервер отправлять HTTP-ответы, отличающиеся от стандартных.

Как показано в приведенном выше результате, веб-сервер ответил на наш запрос и показал, что межсетевым экраном/пограничным шлюзом является Varnish.

Автоматизированная разведка

#1. Обнаружение с помощью NMAP

Для этой цели также можно использовать Nmap, в котором есть скрипт, способный определить брандмауэр веб-приложения.

🥽 Перечислите общие ресурсы NetBIOS с помощью NBTScan и Nmap Scripting Engine

  • Nmap – это инструмент оценки безопасности, который обычно используют многие пен-тестеры и сетевые администраторы.
  • Nmap используется для получения информации о цели.
  • Скрипт был запущен на ту же веб-страницу, что и раньше
  • Введите команду nmap -script=http-waf-fingerprint targetweb.com
nmap --script=http-waf-fingerprint targetwebsite.com
Starting Nmap 7.90 ( https://nmap.org ) at 2021-10-10 07:58 IST
Nmap scan report for targetsite.com (18.166.248.208)
 Host is up (0.24s latency).
Not shown: 982filtered ports
PORT STATE SERVICE
53/tcp    open   domain
80/tcp open http
| http-waf-fingerprint:
| Detected WAF
| Citrix Netscaler
443/tcp open https
5432/tcp  closed postgresql
8080/tcp closed http-proxy

Nmap done: 1 IP address (1 host up) scanned in 25.46 seconds 

После использования приведенной выше команды Nmap был обнаружен брандмауэр Citrix Netscaler.

#2. Обнаружение с помощью Whatwaf

Whatwaf – это инструмент безопасности для информации веб-приложений и выявления наличия любого WAF.

Этот инструмент полезен для определения того, защищено ли веб-приложение WAF во время оценки безопасности.

Если это так, стратегии обхода и предотвращения могут быть полезны при дальнейшем тестировании или эксплуатации веб-приложения.

Как установить WhatWaf?

Установка на Kali-Linux:

sudo apt install python3-pip

git clone https://github.com/ekultek/whatwaf

cd whatwaf

sudo pip3 install -r requirements.txt

При запуске, не имея версии Python, мы можем легко указать исполняемый файл:

./whatwaf --help   

Использование инструмента

Инструмент для обнаружения брандмауэра Whatwaf прост в использовании!

Нам просто нужно выполнить следующую команду:

./whatwaf -u https://www.targetsite.com

Как вы можете видеть ниже, этот инструмент обнаружил брандмауэр для предоставленного URL веб-сайта.

Напоминание! – Для сканирования используете собственный сайт!

Как показано в результате выше, веб-сервер ответил на наш запрос и показал, что является брандмауэром.

Мы также можем использовать службу tor для сканирования WAF, но это может увеличить задержку.

👻 Анонимизация трафика Linux с помощью ProxyChains и Tor

./whatwaf -u https://www.targetsite.com --tor

Основное преимущество инструмента Whatwaf заключается в том, что он автоматически пытается передать полезную нагрузку в обход выявленного брандмауэра.

#3. Обнаружение с помощью Wafw00f

Наиболее известным инструментом для обнаружения брандмауэра веб-приложений является Wafw00f.

Wafw00f отправляет HTTP-запрос к брандмауэру веб-приложений для его идентификации.

Если отправка HTTP-запроса не удается, wafw00f делает вредоносный HTTP-запрос.

Если отправка вредоносного HTTP-запроса не удается, wafw00f изучает предыдущие HTTP-запросы и использует простой алгоритм, чтобы определить, реагирует ли брандмауэр веб-приложения на наши атаки.

Ранее уже рассмотрели:

Обнаружение брандмауэра веб-приложений с использованием Kali Linux-WAFW00F

Заключение

В этой статье мы рассмотрели различные стратегии и инструменты для обнаружения брандмауэров веб-приложений.

Это важное действие, которое должно выполняться на этапе сбора информации в каждом тесте на проникновение веб-приложения.

Более того, знание о наличии WAF позволяет тестеру проникновения попробовать различные подходы, чтобы обойти защиту и использовать любые дыры в онлайн-приложении.

По мнению исследователя этичного взлома, наличие брандмауэра веб-приложений (WAF) становится все более необходимым.

Анализ логов веб-приложений для обнаружения новых атак, происходящих на внутреннем сервере веб-приложений, всегда важен.

Это позволит вам настроить правила в брандмауэре веб-приложений для обеспечения максимального уровня защиты.

 

Добавить комментарий