Как да разберете кой WAF защитава уебсайт

[*]

[*]Винаги е добра идея нападателят да знае къде обикновено се използва WAF в мрежата, преди да започне да снема пръстови отпечатъци.

[*]Тестерите за проникване трябва да са наясно с WAF, преди да започнат ангажиране с уеб приложение, тъй като резултатът от техните атаки може да бъде повлиян.

[*]Но преди това…

Какво е WAF?

[*]WAF (Защитна стена за уеб приложения ) играе важна роля за сигурността на уебсайта. Те филтрират и следят трафика. Защитните стени на уеб приложения осигуряват защита срещу големи пропуски. Много организации модернизират инфраструктурата си, за да включат защитни стени за уеб приложения. Според експертите по етично хакерство защитните стени на уеб приложенията не могат сами да решат проблемите със сигурността; необходима е адекватна конфигурация за разпознаване и блокиране на външни заплахи.

[*]WAF се различава от традиционната защитна стена по това, че може да филтрира съдържанието на конкретни онлайн приложения, докато традиционните защитни стени действат като защитна бариера между сървърите.

[*]

[*]HTTP взаимодействието се подчинява на набор от правила. Тези правила адресират типични уязвимости като междусайтови скриптове и SQL инжектиране като цяло.

[*]В интернет има много безплатни инструменти с отворен код, които могат да открият защитните стени зад уеб приложенията.

[*]И в тази статия ще разгледаме подходите и инструментите, които могат да се използват за откриване на WAF.

[*]Моля, обърнете внимание: В този урок използвах собствения си сайт за изброяване на подробностите. Не извършвайте сканиране или друга хакерска дейност на който и да е уебсайт без предварително разрешение от собственика.

Ръчно откриване

Откриване с помощта на TELNET

[*]Telnet се използва главно от мрежови администратори и тестери за проникване. Telnet ви позволява да се свързвате с отдалечени хостове през всеки порт, както беше посочено по-горе.

  • HTTP параметрите често се оставят (или вмъкват) в заглавките на отговора от защитните стени на уеб приложенията.
  • Telnet може да се използва за получаване на основна информация за събиране, като сървъра и бисквитките, използвани при пръстови отпечатъци.
  • Въведете Telnet Targetwebsite.com 80
[email protected]: # telnet Targetwebsite.com 80
Trying 18.166.248.208...
Connected to Targetwebsite.com.
Escape character is '^]'. 

[*]След като изпълните командата по-горе, напишете HEAD / HTTP / 1.1 и натиснете клавиша enter.

[email protected]: # 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.

[*]Той показва сървъра, на който се хоства уебсайтът, и езика на задния край, на който е създаден след използване на telnet на целевия порт 80.

  Как да размразите Afterpay акаунт

[*]Някои WAF системи позволяват заглавката да бъде модифицирана и могат също така да накарат уеб сървъра да изпраща HTTP отговори, които са различни от стандартните.

[*]Както е показано в резултата по-горе, уеб сървърът отговори на нашата заявка и разкри, че защитната стена/крайният шлюз е Varnish.

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

#1. Откриване с помощта на NMAP

[*]Nmap, който има скрипт, който може да идентифицира защитна стена на уеб приложение, също може да се използва за тази цел.

  • Nmap е инструмент за оценка на сигурността, който много тестери и мрежови администратори често използват.
  • Nmap се използва за получаване на информация за целта.
  • Скриптът беше стартиран срещу същата уеб страница, както преди
  • Въведете командата nmap –script=http-waf-fingerprint targetweb.com
[email protected]:# 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. мрежа
Писалките и специалистите по сигурността са предвидените потребители на тази програма.

  Колко обратно съвместима е PlayStation 5?

Как да инсталирам 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   

[*]Тъй като обаче не сме инсталирали зависимости на Python 2, препоръчваме ви да предоставите конкретно версията на Python.

python3 ./whatwaf --help

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

[*]Инструментът за откриване на защитна стена Whatwaf е лесен за използване! Просто трябва да изпълним следната команда:

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

[*]Както можете да видите по-долу, този инструмент откри защитната стена за предоставения URL адрес на уебсайта.

[*]Напомняне! – Използвах собствен сайт за сканиране

┌──(root💀kali)-[/home/writer/WhatWaf]
└─# ./whatwaf -u https://www.renjith.org

                                  ,------.
                                 '  .--.  '
        ,--.   .--.   ,--.   .--.|  |  |  |
        |  |   |  |   |  |   |  |'--'  |  |
        |  |   |  |   |  |   |  |    __.  |
        |  |.'.|  |   |  |.'.|  |   |   .'
        |         |   |         |   |___|
        |   ,'.   |hat|   ,'.   |af .---.
        '--'   '--'   '--'   '--'   '---'
/><script>alert("WhatWaf?<|>v2.0.3($dev)");</script>%00

[11:12:34][ERROR] you must install psutil first `pip install psutil` to start mining XMR
[11:12:34][INFO] checking for updates
[11:12:34][WARN] it is highly advised to use a proxy when using WhatWaf. do so by passing the proxy flag (IE `--proxy http://127.0.0.1:9050`) or by passing the Tor flag (IE `--tor`)
[11:12:34][INFO] using User-Agent 'whatwaf/2.0.3 (Language=2.7.18; Platform=Linux)'
[11:12:34][INFO] using default payloads
[11:12:34][INFO] testing connection to target URL before starting attack 
[11:12:35][SUCCESS] connection succeeded, continuing
[11:12:35][INFO] running single web application 'https://www.renjith.org'
[11:12:35][WARN] URL does not appear to have a query (parameter), this may interfere with the detection results
[11:12:35][INFO] request type: GET
[11:12:35][INFO] gathering HTTP responses
[11:12:42][INFO] gathering normal response to compare against
[11:12:42][INFO] loading firewall detection scripts
[11:12:42][INFO] running firewall detection checks
[11:12:44][FIREWALL] detected website protection identified as 'Apache Generic'
[11:12:44][INFO] starting bypass analysis
[11:12:44][INFO] loading payload tampering scripts
[11:12:45][INFO] running tampering bypass checks
[11:19:09][SUCCESS] apparent working tampers for target:
------------------------------
(#1) description: tamper payload by changing characters into a wildcard
example: '/bin/cat /et?/?asswd'
load path: content.tampers.randomwildcard
------------------------------

[*]Както е показано в резултата по-горе, уеб сървърът отговори на нашата заявка и разкри, че защитната стена е Apache. Можем също да използваме услугата tor за сканиране за WAF, но това може да увеличи латентността.

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

[*]Основното предимство на инструмента Whatwaf е, че той автоматично се опитва да даде на полезните товари да заобиколят разкритата защитна стена.

#3. Откриване с помощта на Wafw00f

[*]Най-известният инструмент за откриване на защитната стена на уеб приложенията е Wafw00f. Wafw00f изпраща HTTP заявка до защитната стена на уеб приложението, за да го идентифицира. Когато изпращането на HTTP заявки е неуспешно, wafw00f прави злонамерена HTTP заявка. Ако извършването на злонамерена HTTP заявка е неуспешно, wafw00f проверява предишни HTTP заявки и използва прост алгоритъм, за да определи дали защитната стена на уеб приложението реагира на нашите атаки.

  5G теории на конспирацията: Най-лудите имейли, които сме получавали

[*]Wafw00f не е предварително инсталиран в дистрибуциите на Kali Linux.

Как да инсталирам Wafw00f?

[*]Zip пакетът е достъпен за изтегляне от официалния източник на GitHub.

[*]Изтеглете инструмента Wafwoof. Можете също да използвате git клиента, за да клонирате хранилището. За да получите пакета, изпълнете командите:

$ git clone https://github.com/EnableSecurity/wafw00f.git

[*]За да изтеглите инструмента wafw00f в системата, отидете до папката или директорията wafw00f и изпълнете следната команда.

$ python setup.py install

[*]Инсталационният файл ще бъде обработен и wafw00f ще бъде инсталиран в системата.

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

[*]За да използвате този инструмент, изпълнете тази команда.

$ wafw00f <url>

[*]НАПОМНЯНЕ – Сканирайте само уебсайтовете, които имате право да тествате

┌──(root💀kali)-[/home/writer/wafw00f]
└─# wafw00f https://webhashes.com 

                   ______
                  /                                   
                 (  Woof! )                            
                    ____/                      )      
                  ,,                           ) (_    
             .-. -    _______                 ( |__|   
            ()``; |==|_______)                .)|__|   
            / ('        /|                  (  |__|   
        (  /  )        / |                   . |__|   
         (_)_))      /  |                     |__|   

                    ~ WAFW00F : v2.1.0 ~
    The Web Application Firewall Fingerprinting Toolkit                                                                 
                                                                                                                        
[*] Checking https://whatismyip.com
[+] The site https://whatismyip.com is behind Cloudflare (Cloudflare Inc.) WAF.
[~] Number of requests : 2

[*]Жалко, защитната стена беше открита!

[*]Ще опитаме друг целеви уебсайт за целите на дискусията.

┌──(root💀kali)-[/home/writer/wafw00f]
└─# wafw00f https://renjith.org

                   ______
                  /                                                                                                    
                 (  Woof! )                                                                                             
                    ____/                      )                                                                       
                  ,,                           ) (_                                                                     
             .-. -    _______                 ( |__|                                                                    
            ()``; |==|_______)                .)|__|                                                                    
            / ('        /|                  (  |__|                                                                    
        (  /  )        / |                   . |__|                                                                    
         (_)_))      /  |                     |__|                                                                    

                    ~ WAFW00F : v2.1.0 ~
    The Web Application Firewall Fingerprinting Toolkit                                                                 
                                                                                                                        
[*] Checking https://renjith.org
[+] Generic Detection results:
[-] No WAF detected by the generic detection
[~] Number of requests: 7

[*]Този път не е открита защитна стена.

[*]И за да го използвате в подробен режим, изпълнете следната команда.

wafw00f  <url> -v 

[*]Можете да видите няколко допълнителни възможности на тази помощна програма, като изпълните тази команда.

wafw00f <url> --help 

Приключване 👨‍💻

[*]В тази статия разгледахме различни стратегии и инструменти за откриване на защитни стени на уеб приложения. Това е важна дейност, която трябва да се извърши по време на етапа на събиране на информация на всеки тест за проникване на уеб приложение.

[*]Освен това, знаейки, че WAF е налице, позволява на тестера за проникване да изпробва различни подходи, за да заобиколи защитите и да използва всякакви дупки в онлайн приложението.

[*]Според изследовател на етичното хакване наличието на защитна стена за уеб приложения (WAF) е все по-необходимо. Винаги е важно да анализирате регистрационните файлове на вашето уеб приложение, за да откриете нови атаки, възникващи на задния сървър на уеб приложение. Това ви позволява да персонализирате правилата в защитната стена на вашето уеб приложение, за да осигурите най-високо ниво на защита.

[*]Може също да ви е интересно да прочетете: Уязвимости с помощта на Nikto Scanner.