Hvordan finne hvilken WAF som beskytter et nettsted

[*]

[*]Det er alltid en god idé for en angriper å vite hvor en WAF vanligvis brukes på et nettverk før de begynner å ta fingeravtrykk.

[*]Penetrasjonstestere må være klar over en WAF før de starter et nettapplikasjonsengasjement siden utfallet av overgrepene deres kan bli påvirket.

[*]Men før det…

Hva er WAF?

[*]WAF (Brannmur for nettapplikasjoner ) spiller en betydelig rolle i nettstedssikkerhet. De filtrerer og overvåker trafikken. Brannmurer for nettapplikasjoner gir beskyttelse mot store feil. Mange organisasjoner moderniserer sin infrastruktur for å inkludere brannmurer for nettapplikasjoner. Ifølge eksperter på etisk hacking kan ikke brannmurer for nettapplikasjoner fikse sikkerhetsproblemer på egen hånd; tilstrekkelig konfigurasjon er nødvendig for å gjenkjenne og blokkere eksterne trusler.

[*]En WAF skiller seg fra en tradisjonell brannmur ved at den kan filtrere innholdet i spesifikke nettapplikasjoner, mens tradisjonelle brannmurer fungerer som en sikkerhetsbarriere mellom servere.

[*]

[*]En HTTP-interaksjon er underlagt et sett med regler. Disse reglene adresserer typiske sårbarheter som skripting på tvers av nettsteder og SQL-injeksjon generelt.

[*]Det finnes mange gratis og åpen kildekodeverktøy på internett som kan oppdage brannmurene bak nettapplikasjoner.

[*]Og i denne artikkelen skal vi se på tilnærmingene og verktøyene som kan brukes til å oppdage en WAF.

[*]Vennligst merk: I denne opplæringen har jeg brukt mitt eget nettsted for å telle opp detaljene. Ikke utfør skanning eller annen hackingaktivitet på noen nettside uten forhåndstillatelse fra eieren.

Manuell oppdagelse

Oppdager ved hjelp av TELNET

[*]Telnet brukes hovedsakelig av nettverksadministratorer og penetrasjonstestere. Telnet lar deg koble til eksterne verter over hvilken som helst port, som tidligere nevnt.

  • HTTP-parametere blir ofte etterlatt (eller satt inn) i svarhoder av nettapplikasjonsbrannmurer.
  • Telnet kan brukes til å innhente grunnleggende innsamlingsinformasjon som serveren og informasjonskapsler som brukes i fingeravtrykk.
  • Skriv inn Telnet Targetwebsite.com 80
[email protected]: # telnet Targetwebsite.com 80
Trying 18.166.248.208...
Connected to Targetwebsite.com.
Escape character is '^]'. 

[*]Etter å ha kjørt kommandoen ovenfor, skriv HEAD / HTTP / 1.1 og trykk 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.

[*]Den indikerer serveren som nettstedet er vert for og backend-språket det ble opprettet på etter bruk av telnet på målport 80.

  Hvordan beskytte deler av et Word-dokument fra redigering

[*]Noen WAF-systemer lar overskriften endres, og de kan også føre til at webserveren sender HTTP-svar som er forskjellige fra standard.

[*]Som vist i resultatet ovenfor, svarte webserveren på forespørselen vår og avslørte at brannmuren/edge-gatewayen var Varnish.

Automatisert oppdagelse

#1. Oppdager ved hjelp av NMAP

[*]Nmap, som har et skript som kan identifisere en nettapplikasjonsbrannmur, kan også brukes til dette formålet.

  • Nmap er et sikkerhetsvurderingsverktøy som mange pennetestere og nettverksadministratorer vanligvis bruker.
  • Nmap brukes for å få informasjon om målet.
  • Skriptet ble kjørt mot samme nettside som før
  • Skriv inn 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 

[*]Etter å ha brukt Nmap-kommandoen ovenfor, ble Citrix Netscaler-brannmuren oppdaget.

#2. Oppdager ved hjelp av Whatwaf

[*]Whatwaf er et sikkerhetsverktøy for fingeravtrykk av nettapper og oppdage tilstedeværelsen av WAF. Dette verktøyet er nyttig for å avgjøre om en nettapplikasjon er beskyttet av en WAF under sikkerhetsvurderinger.

[*]Hvis dette er tilfelle, kan omgåelses- og unngåelsesstrategier være nyttige for videre testing eller utnyttelse av nettapplikasjonen.

[*]Brannmuromgåelse, applikasjonsdeteksjon, applikasjonsfingeravtrykk og programvareidentifikasjon er alle hyppige bruksområder for WhatWaf. Nettverk
Pen-testere og sikkerhetseksperter er de tiltenkte brukerne av dette programmet.

Hvordan installere WhatWaf?

[*]Installasjon på Kali-Linux

sudo apt install python3-pip

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

cd whatwaf

sudo pip3 install -r requirements.txt

[*]Ved lansering, uten en Python-versjon, kan vi enkelt spesifisere en kjørbar fil:

./whatwaf --help   

[*]Men fordi vi ikke installerte Python 2-avhengigheter, anbefales det at du spesifikt oppgir Python-versjonen.

python3 ./whatwaf --help

Verktøybruk

[*]Whatwaf brannmurdeteksjonsverktøy er enkelt å bruke! Vi trenger bare å utføre følgende kommando:

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

[*]Som du kan se nedenfor, oppdaget dette verktøyet brannmuren for den oppgitte nettadressen.

  5 beste Slack-alternativer med åpen kildekode [2022]

[*]Påminnelse! – Jeg brukte min egen side for skanningen

┌──(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, svarte webserveren på forespørselen vår og avslørte at brannmuren var Apache. Vi kan også bruke tor-tjenesten til å skanne etter WAF, men det kan øke ventetiden.

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

[*]Den største fordelen med Whatwaf-verktøyet er at det automatisk prøver å gi nyttelastene til å omgå den avslørte brannmuren.

#3. Oppdage ved å bruke Wafw00f

[*]Det mest kjente verktøyet for å oppdage nettapplikasjonens brannmur er Wafw00f. Wafw00f sender en HTTP-forespørsel til nettapplikasjonens brannmur for å identifisere den. Når sending av HTTP-forespørsler mislykkes, sender wafw00f en ondsinnet HTTP-forespørsel. Hvis en ondsinnet HTTP-forespørsel mislykkes, undersøker wafw00f tidligere HTTP-forespørsler og bruker en enkel algoritme for å finne ut om nettapplikasjonens brannmur reagerer på angrepene våre.

  Slik selger du Mac-en din

[*]Wafw00f er ikke forhåndsinstallert i Kali Linux-distribusjoner.

Hvordan installere Wafw00f?

[*]Zip-pakken er tilgjengelig for nedlasting fra den offisielle GitHub-kilden.

[*]Last ned Wafwoof-verktøyet. Du kan også bruke git-klienten til å klone depotet. For å få pakken, kjør kommandoene:

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

[*]For å laste ned wafw00f-verktøyet i systemet, naviger til wafw00f-mappen eller katalogen og utfør følgende kommando.

$ python setup.py install

[*]Oppsettfilen vil bli behandlet, og wafw00f vil bli installert i systemet.

Verktøybruk

[*]For å bruke dette verktøyet, kjør denne kommandoen.

$ wafw00f <url>

[*]PÅMINNELSE – Skann kun nettstedene du har tillatelse til å 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

[*]Synd, brannmuren ble oppdaget!

[*]Vi vil prøve et annet målnettsted for diskusjonsformå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

[*]Ingen brannmur oppdages denne gangen.

[*]Og for å bruke den i detaljert modus, kjør følgende kommando.

wafw00f  <url> -v 

[*]Du kan se noen flere funksjoner til dette verktøyet ved å utføre denne kommandoen.

wafw00f <url> --help 

Avslutning 👨‍💻

[*]I denne artikkelen så vi på ulike strategier og verktøy for å oppdage brannmurer for nettapplikasjoner. Dette er en viktig aktivitet som må utføres under informasjonsinnsamlingsstadiet for hver nettapplikasjons penetrasjonstest.

[*]Videre, å vite at en WAF er på plass gjør at penetrasjonstesteren kan prøve ulike tilnærminger for å komme seg rundt forsvaret og utnytte eventuelle hull i nettapplikasjonen.

[*]Ifølge en etisk hackingforsker er det stadig mer nødvendig å ha en brannmur for nettapplikasjoner (WAF). Det er alltid viktig å analysere nettapplikasjonsloggene dine for å oppdage nye angrep som skjer på back-end-nettapplikasjonsserveren. Dette lar deg tilpasse regler i nettapplikasjonens brannmur for å gi det høyeste nivået av beskyttelse.

[*]Du kan også være interessert i å lese: Sårbarheter ved bruk av Nikto Scanner.