Jak zjistit, který WAF chrání web

[*]

[*]Pro útočníka je vždy dobré vědět, kde se WAF v síti obvykle používá, než začnou snímat otisky prstů.

[*]Testeři penetrace si musí být vědomi WAF před zahájením zapojení webové aplikace, protože výsledek jejich útoků může být ovlivněn.

[*]Ale předtím…

Co je WAF?

[*]WAF (Firewall webových aplikací ) hraje významnou roli v zabezpečení webových stránek. Filtrují a monitorují provoz. Firewally webových aplikací poskytují ochranu před velkými chybami. Mnoho organizací modernizuje svou infrastrukturu tak, aby zahrnovala firewally webových aplikací. Podle odborníků na etické hackování nemohou firewally webových aplikací samy opravit bezpečnostní problémy; K rozpoznání a blokování externích hrozeb je nutná odpovídající konfigurace.

[*]WAF se liší od tradičního firewallu v tom, že může filtrovat obsah konkrétních online aplikací, zatímco tradiční firewally fungují jako bezpečnostní bariéra mezi servery.

[*]

[*]HTTP interakce podléhá sadě pravidel. Tato pravidla řeší typické chyby zabezpečení, jako je skriptování mezi weby a vkládání SQL obecně.

[*]Na internetu existuje mnoho bezplatných a open source nástrojů, které dokážou objevit brány firewall za webovými aplikacemi.

[*]A v tomto článku se podíváme na přístupy a nástroje, které lze použít k objevení WAF.

[*]Poznámka: V tomto tutoriálu jsem použil svůj vlastní web pro výčet podrobností. Bez předchozího souhlasu vlastníka neprovádějte skenování ani jiné hackerské aktivity na žádné webové stránce.

Manuální zjišťování

Detekce pomocí TELNET

[*]Telnet používají především správci sítí a penetrační testeři. Telnet vám umožňuje připojit se ke vzdáleným hostitelům přes jakýkoli port, jak bylo uvedeno výše.

  • HTTP parametry jsou často ponechány (nebo vloženy) do hlaviček odpovědí firewally webových aplikací.
  • Telnet lze použít k získání základních informací, jako je server a soubory cookie používané při snímání otisků prstů.
  • Zadejte Telnet Targetwebsite.com 80
[email protected]: # telnet Targetwebsite.com 80
Trying 18.166.248.208...
Connected to Targetwebsite.com.
Escape character is '^]'. 

[*]Po spuštění výše uvedeného příkazu napište HEAD / HTTP / 1.1 a stiskněte klávesu 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.

[*]Označuje server, na kterém je webová stránka hostována, a jazyk back-endu, ve kterém byla vytvořena po použití telnetu na cílovém portu 80.

  Jak najít někoho na OnlyFans

[*]Některé systémy WAF umožňují úpravu hlavičky a mohou také způsobit, že webový server bude odesílat odpovědi HTTP, které se liší od standardních.

[*]Jak je ukázáno ve výsledku výše, webový server reagoval na náš požadavek a odhalil, že firewall/edge gateway byl Varnish.

Automatizované zjišťování

#1. Detekce pomocí NMAP

[*]K tomuto účelu lze také použít Nmap, který má skript, který dokáže identifikovat firewall webové aplikace.

  • Nmap je nástroj pro hodnocení bezpečnosti, který běžně používá mnoho perových testerů a správců sítí.
  • Nmap se používá k získání informací o cíli.
  • Skript byl spuštěn na stejné webové stránce jako předtím
  • Zadejte příkaz 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 

[*]Po použití výše uvedeného příkazu Nmap byl detekován firewall Citrix Netscaler.

#2. Detekce pomocí Whatwaf

[*]Whatwaf je bezpečnostní nástroj pro snímání otisků webových aplikací a zjišťování přítomnosti jakéhokoli WAF. Tento nástroj je užitečný pro určení, zda je webová aplikace chráněna WAF během hodnocení zabezpečení.

[*]Pokud je tomu tak, strategie obcházení a vyhýbání se mohou být užitečné při dalším testování nebo využívání online aplikace.

[*]Obcházení brány firewall, detekce aplikací, otisky prstů aplikací a identifikace softwaru – to vše jsou časté způsoby použití WhatWaf. Síť
Zamýšlenými uživateli tohoto programu jsou per testeři a bezpečnostní profesionálové.

Jak nainstalovat WhatWaf?

[*]Instalace na Kali-Linux

sudo apt install python3-pip

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

cd whatwaf

sudo pip3 install -r requirements.txt

[*]Při spuštění, bez verze Pythonu, můžeme snadno určit spustitelný soubor:

./whatwaf --help   

[*]Protože jsme však neinstalovali závislosti Pythonu 2, doporučujeme, abyste poskytli konkrétně verzi Pythonu.

python3 ./whatwaf --help

Použití nástroje

[*]Detekční nástroj brány firewall Whatwaf je přímočarý! Potřebujeme pouze provést následující příkaz:

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

[*]Jak můžete vidět níže, tento nástroj detekoval firewall pro zadanou adresu URL webových stránek.

  7 nejlepších samohoštěných Wiki řešení pro malé a velké podniky

[*]Připomínka! – Ke skenování jsem použil svůj vlastní web

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

[*]Jak je ukázáno ve výsledku výše, webový server reagoval na náš požadavek a odhalil, že firewall byl Apache. Můžeme také použít službu tor ke skenování WAF, ale může to zvýšit latenci.

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

[*]Hlavní výhodou nástroje Whatwaf je, že se automaticky snaží dát užitečné zatížení obejít odhalený firewall.

#3. Detekce pomocí Wafw00f

[*]Nejznámějším nástrojem pro detekci firewallu webové aplikace je Wafw00f. Wafw00f odešle požadavek HTTP do brány firewall webové aplikace, aby jej identifikoval. Když selže odesílání požadavků HTTP, wafw00f vytvoří škodlivý požadavek HTTP. Pokud selže vytvoření škodlivého požadavku HTTP, wafw00f prozkoumá předchozí požadavky HTTP a použije jednoduchý algoritmus k určení, zda firewall webové aplikace reaguje na naše útoky.

  Jak zjistit aktuální uživatelský účet v Linuxu

[*]Wafw00f není v distribucích Kali Linux předinstalován.

Jak nainstalovat Wafw00f?

[*]Balíček zip je k dispozici ke stažení z oficiálního zdroje GitHub.

[*]Stáhněte si nástroj Wafwoof Tool. Ke klonování úložiště můžete také použít klienta git. Chcete-li získat balíček, spusťte příkazy:

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

[*]Chcete-li stáhnout nástroj wafw00f do systému, přejděte do složky nebo adresáře wafw00f a proveďte následující příkaz.

$ python setup.py install

[*]Instalační soubor bude zpracován a wafw00f bude nainstalován do systému.

Použití nástroje

[*]Chcete-li použít tento nástroj, spusťte tento příkaz.

$ wafw00f <url>

[*]PŘIPOMÍNKA – Skenujte pouze webové stránky, které máte povoleno testovat

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

[*]Škoda, byl detekován firewall!

[*]Pro účely diskuze zkusíme jiný cílový web.

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

[*]Tentokrát není detekován žádný firewall.

[*]A chcete-li jej použít v podrobném režimu, spusťte následující příkaz.

wafw00f  <url> -v 

[*]Spuštěním tohoto příkazu můžete vidět několik dalších možností tohoto nástroje.

wafw00f <url> --help 

Zabalení 👨‍💻

[*]V tomto článku jsme se podívali na různé strategie a nástroje pro detekci firewallů webových aplikací. Toto je důležitá činnost, která musí být provedena během fáze sběru informací každého penetračního testu webové aplikace.

[*]Kromě toho vědomí, že je na místě WAF, umožňuje penetračnímu testeru zkoušet různé přístupy, jak obejít obranu a využít jakékoli díry v online aplikaci.

[*]Podle výzkumníka zabývajícího se etikou hackingu je stále potřeba mít webový aplikační firewall (WAF). Analýza protokolů vaší webové aplikace za účelem zjištění nových útoků, ke kterým dochází na serveru back-end webové aplikace, je vždy důležitá. To vám umožní přizpůsobit pravidla ve vašem firewallu webové aplikace tak, aby poskytovala nejvyšší úroveň ochrany.

[*]Také by vás mohlo zajímat čtení: Zranitelnosti pomocí Nikto Scanner.