Sådan finder du hvilken WAF der beskytter et websted

[*]

[*]Det er altid en god idé for en angriber at vide, hvor en WAF typisk bruges på et netværk, før de begynder at tage fingeraftryk.

[*]Penetrationstestere skal være opmærksomme på en WAF, før de påbegynder et webapplikationengagement, da resultatet af deres overgreb kan blive påvirket.

[*]Men før det…

Hvad er WAF?

[*]WAF (Web Application Firewall ) spiller en væsentlig rolle i webstedets sikkerhed. De filtrerer og overvåger trafikken. Web Application Firewalls giver beskyttelse mod større fejl. Mange organisationer moderniserer deres infrastruktur til at inkludere webapplikationsfirewalls. Ifølge etiske hackingeksperter kan webapplikationsfirewalls ikke løse sikkerhedsproblemer på egen hånd; tilstrækkelig konfiguration er påkrævet for at genkende og blokere eksterne trusler.

[*]En WAF adskiller sig fra en traditionel firewall ved, at den kan filtrere indholdet af specifikke online applikationer, hvorimod traditionelle firewalls fungerer som en sikkerhedsbarriere mellem servere.

[*]

[*]En HTTP-interaktion er underlagt et sæt regler. Disse regler adresserer typiske sårbarheder som cross-site scripting og SQL-injektion generelt.

[*]Der er mange gratis og open source-værktøjer på internettet, der kan opdage firewalls bag webapplikationer.

[*]Og i denne artikel vil vi se på de tilgange og værktøjer, der kan bruges til at opdage en WAF.

[*]Bemærk venligst: I denne tutorial har jeg brugt mit eget websted til at opregne detaljerne. Udfør ikke scanning eller anden hackingaktivitet på nogen hjemmeside uden forudgående tilladelse fra ejeren.

Manuel opdagelse

Registrering ved hjælp af TELNET

[*]Telnet bruges hovedsageligt af netværksadministratorer og penetrationstestere. Telnet giver dig mulighed for at oprette forbindelse til fjernværter over enhver port, som tidligere nævnt.

  • HTTP-parametre efterlades (eller indsættes) ofte i svarheadere af webapplikationsfirewalls.
  • Telnet kan bruges til at indhente grundlæggende indsamlingsoplysninger såsom serveren og cookies, der bruges til fingeraftryk.
  • Skriv Telnet Targetwebsite.com 80
[email protected]: # telnet Targetwebsite.com 80
Trying 18.166.248.208...
Connected to Targetwebsite.com.
Escape character is '^]'. 

[*]Efter at have kørt kommandoen ovenfor, skriv HEAD / HTTP / 1.1 og tryk på enter-tasten.

[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.

[*]Det angiver den server, som webstedet er hostet på, og det backend-sprog, som det blev oprettet på efter brug af telnet på målport 80.

  Sådan aktiveres virtuelle skrivebordsbevægelser på Chrome OS

[*]Nogle WAF-systemer tillader, at headeren ændres, og de kan også få webserveren til at sende HTTP-svar, der er forskellige fra standardsvarene.

[*]Som vist i resultatet ovenfor, reagerede webserveren på vores anmodning og afslørede, at firewallen/edge-gatewayen var Varnish.

Automatiseret opdagelse

#1. Registrering ved hjælp af NMAP

[*]Nmap, som har et script, der kan identificere en webapplikations firewall, kan også bruges til dette formål.

  • Nmap er et sikkerhedsvurderingsværktøj, som mange pen-testere og netværksadministratorer almindeligvis bruger.
  • Nmap bruges til at få information om målet.
  • Scriptet blev kørt mod den samme webside som før
  • Indtast kommandoen 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 

[*]Efter at have brugt ovenstående Nmap-kommando blev Citrix Netscaler-firewallen registreret.

#2. Registrering ved hjælp af Whatwaf

[*]Whatwaf er et sikkerhedsværktøj til fingeraftryk af webapps og detektering af tilstedeværelsen af ​​enhver WAF. Dette værktøj er nyttigt til at afgøre, om en webapplikation er beskyttet af en WAF under sikkerhedsvurderinger.

[*]Hvis dette er tilfældet, kan omgåelses- og undgåelsesstrategier være nyttige til yderligere test eller udnyttelse af onlineapplikationen.

[*]Firewall-omgåelse, applikationsdetektion, applikationsfingeraftryk og softwareidentifikation er alle hyppige anvendelser af WhatWaf. Netværk
Pen-testere og sikkerhedsprofessionelle er de tilsigtede brugere af dette program.

Hvordan installerer man WhatWaf?

[*]Installation på Kali-Linux

sudo apt install python3-pip

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

cd whatwaf

sudo pip3 install -r requirements.txt

[*]Ved lanceringen, uden en Python-version, kan vi nemt angive en eksekverbar fil:

./whatwaf --help   

[*]Men fordi vi ikke installerede Python 2-afhængigheder, anbefales det, at du specifikt leverer Python-versionen.

python3 ./whatwaf --help

Brug af værktøj

[*]Whatwaf firewall-detektionsværktøj er ligetil at bruge! Vi skal bare udføre følgende kommando:

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

[*]Som du kan se nedenfor, har dette værktøj registreret firewallen for den angivne websteds-URL.

  Sådan åbner du en Apple Maps-placering i Google Maps

[*]Påmindelse! – Jeg brugte mit eget websted til scanningen

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

[*]Som vist i resultatet ovenfor reagerede webserveren på vores anmodning og afslørede, at firewallen var Apache. Vi kan også bruge tor-tjenesten til at scanne efter WAF, men det kan øge latensen.

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

[*]Den største fordel ved Whatwaf-værktøjet er, at det automatisk forsøger at give nyttelasterne til at omgå den afslørede firewall.

#3. Registrering ved hjælp af Wafw00f

[*]Det mest kendte værktøj til at opdage webapplikationens firewall er Wafw00f. Wafw00f sender en HTTP-anmodning til webapplikationens firewall for at identificere den. Når afsendelse af HTTP-anmodninger mislykkes, laver wafw00f en ondsindet HTTP-anmodning. Hvis det mislykkes at lave en ondsindet HTTP-anmodning, undersøger wafw00f tidligere HTTP-anmodninger og anvender en simpel algoritme til at bestemme, om webapplikationens firewall reagerer på vores angreb.

  Sådan beskytter du apps med adgangskode på din Mac

[*]Wafw00f er ikke forudinstalleret i Kali Linux-distributioner.

Hvordan installerer man Wafw00f?

[*]Zip-pakken er tilgængelig til download fra den officielle GitHub-kilde.

[*]Download Wafwoof-værktøjet. Du kan også bruge git-klienten til at klone depotet. For at få pakken skal du køre kommandoerne:

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

[*]For at downloade wafw00f-værktøjet i systemet skal du navigere til mappen wafw00f eller mappen og udføre følgende kommando.

$ python setup.py install

[*]Opsætningsfilen vil blive behandlet, og wafw00f vil blive installeret i systemet.

Brug af værktøj

[*]For at bruge dette værktøj skal du køre denne kommando.

$ wafw00f <url>

[*]PÅMINKELSE – Scan kun de websteder, som du har tilladelse til at teste

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

[*]Ærgerligt, firewall blev fundet!

[*]Vi vil prøve et andet målwebsted til diskussionsformålet.

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

[*]Der er ikke fundet nogen firewall denne gang.

[*]Og for at bruge det i verbose tilstand, kør følgende kommando.

wafw00f  <url> -v 

[*]Du kan se et par ekstra funktioner i dette værktøj ved at udføre denne kommando.

wafw00f <url> --help 

Afslutning 👨‍💻

[*]I denne artikel har vi set på forskellige strategier og værktøjer til at opdage webapplikationsfirewalls. Dette er en vigtig aktivitet, der skal udføres i informationsindsamlingsfasen for hver webapplikations penetrationstest.

[*]Ved at vide, at en WAF er på plads, tillader penetrationstesteren desuden at prøve forskellige tilgange til at komme rundt om forsvaret og udnytte eventuelle huller i onlineapplikationen.

[*]Ifølge en etisk hackingforsker er det i stigende grad nødvendigt at have en webapplikationsfirewall (WAF). Det er altid vigtigt at analysere dine webapplikationslogfiler for at opdage nye angreb, der forekommer på backend-webapplikationsserveren. Dette giver dig mulighed for at tilpasse regler i din webapplikations firewall for at give det højeste niveau af beskyttelse.

[*]Du kan også være interesseret i at læse: Sårbarheder ved hjælp af Nikto Scanner.