Hogyan lehet megállapítani, hogy melyik WAF véd egy webhelyet

[*]

[*]Mindig jó ötlet, ha a támadó az ujjlenyomatvétel megkezdése előtt tudja, hogy a WAF-ot általában hol használják a hálózaton.

[*]A penetrációs tesztelőknek ismerniük kell a WAF-ot, mielőtt elkezdenének egy webalkalmazási tevékenységet, mivel ez befolyásolhatja támadásaik kimenetelét.

[*]De előtte…

Mi az a WAF?

[*]WAF (Webes alkalmazások tűzfala ) jelentős szerepet játszik a webhely biztonságában. Szűrik és figyelik a forgalmat. A webalkalmazások tűzfalai védelmet nyújtanak a nagyobb hibák ellen. Sok szervezet modernizálja infrastruktúráját a webalkalmazások tűzfalainak beépítése érdekében. Az etikus hackelési szakértők szerint a webalkalmazások tűzfalai önmagukban nem tudják megoldani a biztonsági problémákat; megfelelő konfiguráció szükséges a külső fenyegetések felismeréséhez és blokkolásához.

[*]A WAF abban különbözik a hagyományos tűzfaltól, hogy bizonyos online alkalmazások tartalmát szűrheti, míg a hagyományos tűzfalak biztonsági korlátként működnek a szerverek között.

[*]

[*]A HTTP-interakciót szabályoknak kell alávetni. Ezek a szabályok az olyan tipikus sebezhetőségeket kezelik, mint a helyek közötti parancsfájlok és általában az SQL-befecskendezés.

[*]Az interneten számos ingyenes és nyílt forráskódú eszköz található, amelyek felfedezhetik a webalkalmazások mögötti tűzfalakat.

[*]Ebben a cikkben pedig megvizsgáljuk azokat a megközelítéseket és eszközöket, amelyek segítségével felfedezhető a WAF.

[*]Megjegyzés: Ebben az oktatóanyagban a saját webhelyemet használtam a részletek felsorolására. A tulajdonos előzetes engedélye nélkül ne végezzen szkennelést vagy más feltörési tevékenységet egyetlen webhelyen sem.

Manuális felfedezés

Észlelés TELNET segítségével

[*]Telnet főként hálózati rendszergazdák és penetrációs tesztelők használják. A Telnet lehetővé teszi a távoli gazdagépekhez való csatlakozást bármely porton keresztül, amint azt korábban említettük.

  • A webalkalmazások tűzfalai gyakran hagyják (vagy beillesztik) a HTTP-paramétereket a válaszfejlécekbe.
  • A Telnet segítségével olyan alapvető gyűjtőinformációkat szerezhet be, mint a szerver és az ujjlenyomat-vételhez használt cookie-k.
  • Írja be: Telnet Targetwebsite.com 80
[email protected]: # telnet Targetwebsite.com 80
Trying 18.166.248.208...
Connected to Targetwebsite.com.
Escape character is '^]'. 

[*]A fenti parancs futtatása után írja be a HEAD / HTTP / 1.1 parancsot, és nyomja meg az enter billentyűt.

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

[*]Jelzi a kiszolgálót, amelyen a webhely tárolva van, és azt a háttérnyelvet, amelyen a 80-as célporton a Telnet használata után létrehozták.

  Hogyan illesszünk be PDF-et Excelbe

[*]Egyes WAF-rendszerek lehetővé teszik a fejléc módosítását, és a webszerver a szabványostól eltérő HTTP-válaszokat is küldhet.

[*]Ahogy a fenti eredmény is mutatja, a webszerver válaszolt kérésünkre, és felfedte, hogy a tűzfal/edge gateway Varnish.

Automatizált felfedezés

#1. Észlelés NMAP használatával

[*]Erre a célra az Nmap is használható, amely rendelkezik egy olyan szkripttel, amely képes azonosítani a webalkalmazások tűzfalát.

  • Az Nmap egy biztonsági értékelő eszköz, amelyet sok tolltesztelő és hálózati rendszergazda gyakran használ.
  • Az Nmap a céllal kapcsolatos információk beszerzésére szolgál.
  • A szkript ugyanazon a weboldalon futott, mint korábban
  • Írja be az nmap –script=http-waf-fingerprint targetweb.com parancsot
[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 

[*]A fenti Nmap parancs használata után a rendszer a Citrix Netscaler tűzfalat észlelte.

#2. Észlelés Whatwaf használatával

[*]Whatwaf egy biztonsági eszköz a webalkalmazások ujjlenyomatának vételére és a WAF jelenlétének észlelésére. Ez az eszköz hasznos annak meghatározására, hogy egy webalkalmazást WAF véd-e a biztonsági felmérések során.

[*]Ha ez a helyzet, a megkerülési és elkerülési stratégiák hasznosak lehetnek az online alkalmazás további tesztelésében vagy kihasználásában.

[*]A WhatWaf gyakran használja a tűzfal megkerülését, az alkalmazásészlelést, az alkalmazás ujjlenyomatát és a szoftver azonosítását. Hálózat
A program tervezett felhasználói a tolltesztelők és a biztonsági szakemberek.

Hogyan kell telepíteni a WhatWaf-ot?

[*]Telepítés Kali-Linuxra

sudo apt install python3-pip

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

cd whatwaf

sudo pip3 install -r requirements.txt

[*]Indításkor Python verzió nélkül könnyen megadhatunk egy futtatható fájlt:

./whatwaf --help   

[*]Mivel azonban nem telepítettük a Python 2-függőségeket, javasoljuk, hogy kifejezetten a Python verziót adja meg.

python3 ./whatwaf --help

Eszközhasználat

[*]A Whatwaf tűzfalészlelő eszköz használata egyszerű! Csak a következő parancsot kell végrehajtanunk:

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

[*]Amint az alábbiakban látható, ez az eszköz észlelte a tűzfalat a megadott webhely URL-címéhez.

  Indítsa el a műveleteket több alkalmazásban, hogy automatizálja munkafolyamatait a Zapierrel

[*]Emlékeztető! – A szkenneléshez a saját oldalamat használtam

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

[*]Ahogy a fenti eredmény is mutatja, a webszerver válaszolt kérésünkre, és felfedte, hogy a tűzfal Apache. A tor szolgáltatást is használhatjuk a WAF keresésére, de ez növelheti a késleltetést.

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

[*]A Whatwaf eszköz fő előnye, hogy automatikusan megpróbálja átadni a hasznos terheket a felfedett tűzfal megkerülésére.

#3. Érzékelés a Wafw00f használatával

[*]A webalkalmazások tűzfalának észlelésének legismertebb eszköze az Wafw00f. A Wafw00f HTTP-kérést küld a webalkalmazás tűzfalának az azonosítás céljából. Ha a HTTP-kérések küldése sikertelen, a wafw00f rosszindulatú HTTP-kérést küld. Ha a rosszindulatú HTTP-kérés sikertelen, a wafw00f megvizsgálja a korábbi HTTP-kéréseket, és egy egyszerű algoritmust alkalmaz annak megállapítására, hogy a webalkalmazás tűzfala reagál-e a támadásainkra.

  Indítsa el online vállalkozását INGYENESEN a Sylius segítségével (nyílt forráskódú e-kereskedelmi platform)

[*]A Wafw00f nincs előre telepítve a Kali Linux disztribúciókban.

Hogyan kell telepíteni a Wafw00f-et?

[*]A zip-csomag letölthető a hivatalos GitHub-forrásból.

[*]Töltse le a Wafwoof eszközt. A tár klónozásához a git klienst is használhatja. A csomag beszerzéséhez futtassa a következő parancsokat:

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

[*]A wafw00f eszköz rendszerben történő letöltéséhez lépjen a wafw00f mappába vagy könyvtárba, és hajtsa végre a következő parancsot.

$ python setup.py install

[*]A telepítőfájl feldolgozásra kerül, és a wafw00f telepítésre kerül a rendszerbe.

Eszközhasználat

[*]Az eszköz használatához futtassa ezt a parancsot.

$ wafw00f <url>

[*]EMLÉKEZTETŐ – Csak azokat a webhelyeket ellenőrizze, amelyek tesztelésére jogosult

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

[*]Kár, de tűzfalat észleltünk!

[*]Megpróbálunk egy másik célwebhelyet a vita céljából.

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

[*]Ezúttal nem észlelhető tűzfal.

[*]Ha részletes módban szeretné használni, futtassa a következő parancsot.

wafw00f  <url> -v 

[*]A parancs végrehajtásával megtekintheti a segédprogram néhány további funkcióját.

wafw00f <url> --help 

Befejezés 👨‍💻

[*]Ebben a cikkben különböző stratégiákat és eszközöket vizsgáltunk meg a webalkalmazások tűzfalainak észlelésére. Ez egy fontos tevékenység, amelyet minden webalkalmazás-penetrációs teszt információgyűjtési szakaszában el kell végezni.

[*]Ezen túlmenően a WAF használatának ismerete lehetővé teszi a penetrációs tesztelő számára, hogy különféle megközelítéseket próbáljon ki a védelmek megkerülésére, és kihasználja az online alkalmazás esetleges hiányosságait.

[*]Egy etikus hackerkutató szerint egyre nagyobb szükség van egy webalkalmazás-tűzfalra (WAF). Mindig fontos elemezni a webalkalmazás-naplókat a háttér webalkalmazás-kiszolgálón előforduló új támadások észlelése érdekében. Ez lehetővé teszi a szabályok testreszabását a webalkalmazás tűzfalában a legmagasabb szintű védelem biztosítása érdekében.

[*]Érdekelheti a következőt is: Sebezhetőségek a Nikto Scanner használatával.