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…
Innholdsfortegnelse
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.
[*]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.
[*]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.
[*]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.