Cum să găsiți ce WAF protejează un site web

[*]

[*]Este întotdeauna o idee bună ca un atacator să știe unde este utilizat în mod obișnuit un WAF într-o rețea înainte de a începe să ia amprenta.

[*]Testerii de penetrare trebuie să fie conștienți de un WAF înainte de a începe o implicare a unei aplicații web, deoarece rezultatul atacurilor lor poate fi afectat.

[*]Dar înainte de asta…

Ce este WAF?

[*]WAF (Firewall aplicație web ) joacă un rol semnificativ în securitatea site-ului web. Ei filtrează și monitorizează traficul. Firewall-urile pentru aplicații web oferă protecție împotriva defectelor majore. Multe organizații își modernizează infrastructura pentru a include firewall-uri pentru aplicații web. Potrivit experților în hacking etic, firewall-urile aplicațiilor web nu pot rezolva singure problemele de securitate; este necesară o configurație adecvată pentru a recunoaște și a bloca amenințările externe.

[*]Un WAF diferă de un firewall tradițional prin faptul că poate filtra conținutul unor aplicații online specifice, în timp ce firewall-urile tradiționale acționează ca o barieră de siguranță între servere.

[*]

[*]O interacțiune HTTP este supusă unui set de reguli. Aceste reguli abordează vulnerabilitățile tipice, cum ar fi scripturile între site-uri și injecția SQL în general.

[*]Există multe instrumente gratuite și open-source pe internet care pot descoperi firewall-urile din spatele aplicațiilor web.

[*]Și în acest articol, ne vom uita la abordările și instrumentele care pot fi folosite pentru a descoperi un WAF.

[*]Vă rugăm să rețineți: în acest tutorial, am folosit propriul meu site pentru a enumera detaliile. Nu efectuați scanare sau alte activități de hacking pe niciun site web fără permisiunea prealabilă a proprietarului.

Descoperire manuală

Detectarea utilizând TELNET

[*]Telnet este utilizat în principal de administratorii de rețea și testerii de penetrare. Telnet vă permite să vă conectați la gazde la distanță prin orice port, așa cum sa menționat anterior.

  • Parametrii HTTP sunt adesea lăsați (sau inserați) în anteturile de răspuns de firewall-urile aplicațiilor web.
  • Telnet poate fi utilizat pentru a obține informații de bază de colectare, cum ar fi serverul și cookie-urile utilizate în amprentarea.
  • Tastați Telnet Targetwebsite.com 80
[email protected]: # telnet Targetwebsite.com 80
Trying 18.166.248.208...
Connected to Targetwebsite.com.
Escape character is '^]'. 

[*]După ce rulați comanda de mai sus, scrieți HEAD / HTTP / 1.1 și apăsați tasta 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.

[*]Indică serverul pe care este găzduit site-ul web și limba de back-end pe care a fost creat după utilizarea telnet pe portul țintă 80.

  Cum să găsiți folderul pierdut în Outlook

[*]Unele sisteme WAF permit modificarea antetului și, de asemenea, pot determina serverul web să trimită răspunsuri HTTP care sunt diferite de cele standard.

[*]După cum se arată în rezultatul de mai sus, serverul web a răspuns solicitării noastre și a dezvăluit că firewall-ul/gateway-ul edge a fost Varnish.

Descoperire automată

#1. Detectarea utilizând NMAP

[*]Nmap, care are un script care poate identifica un firewall de aplicație web, poate fi folosit și în acest scop.

  • Nmap este un instrument de evaluare a securității pe care mulți pen-testeri și administratori de rețea îl folosesc în mod obișnuit.
  • Nmap este folosit pentru a obține informații despre țintă.
  • Scriptul a fost rulat pe aceeași pagină web ca înainte
  • Tastați comanda 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 

[*]După utilizarea comenzii Nmap de mai sus, a fost detectat paravanul de protecție Citrix Netscaler.

#2. Detectarea utilizând Whatwaf

[*]Whatwaf este un instrument de securitate pentru amprentarea aplicațiilor web și detectarea prezenței oricărui WAF. Acest instrument este util pentru a determina dacă o aplicație web este protejată de un WAF în timpul evaluărilor de securitate.

[*]Dacă acesta este cazul, strategiile de ocolire și evitare pot fi utile în testarea ulterioară sau exploatarea aplicației online.

[*]Ocolirea firewall-ului, detectarea aplicațiilor, amprentarea aplicației și identificarea software-ului sunt toate utilizări frecvente pentru WhatWaf. Reţea
Pen-testerii și profesioniștii în securitate sunt utilizatorii vizați ai acestui program.

  8 cele mai bune aplicații de oglindire Fire TV

Cum se instalează WhatWaf?

[*]Instalare pe Kali-Linux

sudo apt install python3-pip

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

cd whatwaf

sudo pip3 install -r requirements.txt

[*]La lansare, fără o versiune Python, putem specifica cu ușurință un fișier executabil:

./whatwaf --help   

[*]Cu toate acestea, deoarece nu am instalat dependențe Python 2, se recomandă să furnizați în mod specific versiunea Python.

python3 ./whatwaf --help

Utilizarea instrumentului

[*]Instrumentul de detectare a firewall-ului Whatwaf este ușor de utilizat! Trebuie doar să executăm următoarea comandă:

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

[*]După cum puteți vedea mai jos, acest instrument a detectat firewall-ul pentru adresa URL a site-ului web furnizată.

[*]Aducere aminte! – Am folosit propriul meu site pentru scanare

┌──(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
------------------------------

[*]După cum se arată în rezultatul de mai sus, serverul web a răspuns solicitării noastre și a dezvăluit că firewall-ul era Apache. De asemenea, putem folosi serviciul tor pentru a scana WAF-ul, dar poate crește latența.

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

[*]Principalul avantaj al instrumentului Whatwaf este că încearcă automat să ofere sarcini utile pentru a ocoli firewall-ul dezvăluit.

#3. Detectarea utilizând Wafw00f

[*]Cel mai cunoscut instrument pentru detectarea firewall-ului aplicației web este Wafw00f. Wafw00f trimite o solicitare HTTP către firewall-ul aplicației web pentru a o identifica. Când trimiterea solicitărilor HTTP eșuează, wafw00f face o solicitare HTTP rău intenționată. Dacă efectuarea unei solicitări HTTP rău intenționate eșuează, wafw00f examinează solicitările HTTP anterioare și folosește un algoritm simplu pentru a determina dacă firewall-ul aplicației web reacționează la atacurile noastre.

  8 platforme pentru a găzdui târguri virtuale de carieră în 2023

[*]Wafw00f nu este preinstalat în distribuțiile Kali Linux.

Cum se instalează Wafw00f?

[*]Pachetul zip este disponibil pentru descărcare din sursa oficială GitHub.

[*]Descărcați instrumentul Wafwoof. De asemenea, puteți folosi clientul git pentru a clona depozitul. Pentru a obține pachetul, executați comenzile:

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

[*]Pentru a descărca instrumentul wafw00f în sistem, navigați la folderul sau directorul wafw00f și executați următoarea comandă.

$ python setup.py install

[*]Fișierul de configurare va fi procesat și wafw00f va fi instalat în sistem.

Utilizarea instrumentului

[*]Pentru a utiliza acest instrument, rulați această comandă.

$ wafw00f <url>

[*]METOARE – Scanați doar site-urile web pe care aveți permisiunea să le testați

┌──(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

[*]Păcat, firewall a fost detectat!

[*]Vom încerca un alt site țintă în scopul discuției.

┌──(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

[*]Nu este detectat niciun firewall de data aceasta.

[*]Și pentru a-l folosi în modul verbose, executați următoarea comandă.

wafw00f  <url> -v 

[*]Puteți vedea câteva capabilități suplimentare ale acestui utilitar executând această comandă.

wafw00f <url> --help 

Încheiere 👨‍💻

[*]În acest articol, am analizat diferite strategii și instrumente pentru detectarea firewall-urilor aplicațiilor web. Aceasta este o activitate importantă care trebuie efectuată în timpul etapei de colectare a informațiilor a fiecărui test de penetrare a aplicației web.

[*]În plus, știind că un WAF este în vigoare, permite testerului de penetrare să încerce diverse abordări pentru a ocoli apărarea și a exploata orice găuri în aplicația online.

[*]Potrivit unui cercetător de hacking etic, deținerea unui firewall pentru aplicații web (WAF) este din ce în ce mai necesară. Analizarea jurnalelor aplicațiilor dvs. web pentru a detecta noi atacuri care apar pe serverul de aplicații web back-end este întotdeauna importantă. Acest lucru vă permite să personalizați regulile în firewall-ul aplicației dvs. web pentru a oferi cel mai înalt nivel de protecție.

[*]Ați putea fi, de asemenea, interesat să citiți: Vulnerabilități folosind Nikto Scanner.