Πώς να βρείτε ποιο WAF προστατεύει έναν ιστότοπο

[*]

[*]Είναι πάντα καλή ιδέα για έναν εισβολέα να γνωρίζει πού χρησιμοποιείται συνήθως ένα WAF σε ένα δίκτυο προτού ξεκινήσει τη λήψη δακτυλικών αποτυπωμάτων.

[*]Οι ελεγκτές διείσδυσης πρέπει να γνωρίζουν ένα WAF πριν ξεκινήσουν μια δέσμευση διαδικτυακής εφαρμογής, καθώς το αποτέλεσμα των επιθέσεών τους μπορεί να επηρεαστεί.

[*]Πριν από αυτό όμως…

Τι είναι το WAF;

[*]WAF (Τείχος προστασίας εφαρμογών Ιστού ) παίζει σημαντικό ρόλο στην ασφάλεια του ιστότοπου. Φιλτράρουν και παρακολουθούν την κυκλοφορία. Τα τείχη προστασίας εφαρμογών Ιστού παρέχουν προστασία από σημαντικά ελαττώματα. Πολλοί οργανισμοί εκσυγχρονίζουν την υποδομή τους για να περιλαμβάνουν τείχη προστασίας εφαρμογών ιστού. Σύμφωνα με ειδικούς σε θέματα ηθικής πειρατείας, τα τείχη προστασίας εφαρμογών ιστού δεν μπορούν να διορθώσουν από μόνα τους προβλήματα ασφάλειας. Απαιτείται επαρκής διαμόρφωση για την αναγνώριση και τον αποκλεισμό εξωτερικών απειλών.

[*]Ένα WAF διαφέρει από ένα παραδοσιακό τείχος προστασίας στο ότι μπορεί να φιλτράρει το περιεχόμενο συγκεκριμένων διαδικτυακών εφαρμογών, ενώ τα παραδοσιακά τείχη προστασίας λειτουργούν ως φράγμα ασφαλείας μεταξύ των διακομιστών.

[*]

[*]Μια αλληλεπίδραση HTTP υπόκειται σε ένα σύνολο κανόνων. Αυτοί οι κανόνες αντιμετωπίζουν τυπικά τρωτά σημεία όπως η δέσμη ενεργειών μεταξύ τοποθεσιών και η ένεση SQL γενικά.

[*]Υπάρχουν πολλά δωρεάν εργαλεία ανοιχτού κώδικα στο διαδίκτυο που μπορούν να ανακαλύψουν τα τείχη προστασίας πίσω από τις εφαρμογές Ιστού.

[*]Και σε αυτό το άρθρο, θα εξετάσουμε τις προσεγγίσεις και τα εργαλεία που μπορούν να χρησιμοποιηθούν για την ανακάλυψη ενός WAF.

[*]Σημείωση: Σε αυτό το σεμινάριο, χρησιμοποίησα τον δικό μου ιστότοπο για την απαρίθμηση των λεπτομερειών. Μην εκτελείτε σάρωση ή άλλη δραστηριότητα εισβολής σε οποιονδήποτε ιστότοπο χωρίς προηγούμενη άδεια από τον ιδιοκτήτη.

Χειροκίνητη Ανακάλυψη

Ανίχνευση με χρήση TELNET

[*]Telnet χρησιμοποιείται κυρίως από διαχειριστές δικτύου και ελεγκτές διείσδυσης. Το Telnet σάς δίνει τη δυνατότητα να συνδεθείτε σε απομακρυσμένους κεντρικούς υπολογιστές μέσω οποιασδήποτε θύρας, όπως αναφέρθηκε προηγουμένως.

  • Οι παράμετροι HTTP συχνά αφήνονται (ή εισάγονται) στις κεφαλίδες απόκρισης από τα τείχη προστασίας εφαρμογών Ιστού.
  • Το Telnet μπορεί να χρησιμοποιηθεί για τη λήψη βασικών πληροφοριών συλλογής, όπως ο διακομιστής και τα cookies που χρησιμοποιούνται για τη λήψη δακτυλικών αποτυπωμάτων.
  • Πληκτρολογήστε Telnet Targetwebsite.com 80
[email protected]: # telnet Targetwebsite.com 80
Trying 18.166.248.208...
Connected to Targetwebsite.com.
Escape character is '^]'. 

[*]Αφού εκτελέσετε την παραπάνω εντολή, γράψτε HEAD / HTTP / 1.1 και πατήστε το πλήκτρο 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.

[*]Υποδεικνύει τον διακομιστή στον οποίο φιλοξενείται ο ιστότοπος και τη γλώσσα υποστήριξης στην οποία δημιουργήθηκε μετά τη χρήση του telnet στη θύρα προορισμού 80.

  Πώς να παρακολουθείτε τη χρήση του δικτύου στο Dock του Mac σας

[*]Ορισμένα συστήματα WAF επιτρέπουν την τροποποίηση της κεφαλίδας και μπορούν επίσης να αναγκάσουν τον διακομιστή ιστού να στείλει απαντήσεις HTTP που είναι διαφορετικές από τις τυπικές.

[*]Όπως φαίνεται στο παραπάνω αποτέλεσμα, ο διακομιστής ιστού ανταποκρίθηκε στο αίτημά μας και αποκάλυψε ότι το τείχος προστασίας/η πύλη άκρων ήταν το Varnish.

Αυτοματοποιημένη Ανακάλυψη

#1. Ανίχνευση με χρήση NMAP

[*]Το Nmap, το οποίο έχει μια δέσμη ενεργειών που μπορεί να αναγνωρίσει ένα τείχος προστασίας μιας εφαρμογής web, μπορεί επίσης να χρησιμοποιηθεί για αυτό το σκοπό.

  • Το Nmap είναι ένα εργαλείο αξιολόγησης ασφάλειας που χρησιμοποιούν συνήθως πολλοί ελεγκτές στυλό και διαχειριστές δικτύου.
  • Το Nmap χρησιμοποιείται για τη λήψη πληροφοριών σχετικά με τον στόχο.
  • Το σενάριο εκτελέστηκε στην ίδια ιστοσελίδα με πριν
  • Πληκτρολογήστε την εντολή 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 

[*]Μετά τη χρήση της παραπάνω εντολής Nmap, εντοπίστηκε το τείχος προστασίας Citrix Netscaler.

#2. Ανίχνευση με χρήση Whatwaf

[*]Whatwaf είναι ένα εργαλείο ασφαλείας για τη λήψη δακτυλικών αποτυπωμάτων σε εφαρμογές Ιστού και τον εντοπισμό της παρουσίας οποιουδήποτε WAF. Αυτό το εργαλείο είναι χρήσιμο για τον προσδιορισμό του εάν μια εφαρμογή Ιστού προστατεύεται από ένα WAF κατά τις αξιολογήσεις ασφαλείας.

[*]Εάν συμβαίνει αυτό, οι στρατηγικές παράκαμψης και αποφυγής μπορεί να είναι χρήσιμες για τον περαιτέρω έλεγχο ή την εκμετάλλευση της διαδικτυακής εφαρμογής.

[*]Η παράκαμψη τείχους προστασίας, η ανίχνευση εφαρμογών, η λήψη δακτυλικών αποτυπωμάτων εφαρμογών και η αναγνώριση λογισμικού είναι όλες συχνές χρήσεις για το WhatWaf. Δίκτυο
Οι ελεγκτές στυλό και οι επαγγελματίες ασφάλειας είναι οι προβλεπόμενοι χρήστες αυτού του προγράμματος.

  Πώς να δημιουργήσετε μια προσαρμοσμένη διανομή Ubuntu με το Distroshare Ubuntu Imager

Πώς να εγκαταστήσετε το WhatWaf;

[*]Εγκατάσταση σε Kali-Linux

sudo apt install python3-pip

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

cd whatwaf

sudo pip3 install -r requirements.txt

[*]Κατά την εκκίνηση, χωρίς έκδοση Python, μπορούμε εύκολα να καθορίσουμε ένα εκτελέσιμο αρχείο:

./whatwaf --help   

[*]Ωστόσο, επειδή δεν εγκαταστήσαμε εξαρτήσεις Python 2, συνιστάται να παρέχετε συγκεκριμένα την έκδοση Python.

python3 ./whatwaf --help

Χρήση εργαλείου

[*]Το εργαλείο ανίχνευσης τείχους προστασίας Whatwaf είναι απλό στη χρήση! Απλά πρέπει να εκτελέσουμε την ακόλουθη εντολή:

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

[*]Όπως μπορείτε να δείτε παρακάτω, αυτό το εργαλείο εντόπισε το τείχος προστασίας για την παρεχόμενη διεύθυνση URL του ιστότοπου.

[*]Υπενθύμιση! – Χρησιμοποίησα τον δικό μου ιστότοπο για τη σάρωση

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

[*]Όπως φαίνεται στο παραπάνω αποτέλεσμα, ο webserver ανταποκρίθηκε στο αίτημά μας και αποκάλυψε ότι το τείχος προστασίας ήταν Apache. Μπορούμε επίσης να χρησιμοποιήσουμε την υπηρεσία tor για σάρωση για το WAF, αλλά μπορεί να αυξήσει τον λανθάνοντα χρόνο.

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

[*]Το κύριο πλεονέκτημα του εργαλείου Whatwaf είναι ότι προσπαθεί αυτόματα να δώσει στα ωφέλιμα φορτία να παρακάμψουν το αποκαλυπτόμενο τείχος προστασίας.

#3. Ανίχνευση με χρήση Wafw00f

[*]Το πιο γνωστό εργαλείο για τον εντοπισμό του τείχους προστασίας της διαδικτυακής εφαρμογής είναι Wafw00f. Το Wafw00f στέλνει ένα αίτημα HTTP στο τείχος προστασίας της εφαρμογής web για να το αναγνωρίσει. Όταν η αποστολή αιτημάτων HTTP αποτυγχάνει, το wafw00f κάνει ένα κακόβουλο αίτημα HTTP. Εάν η υποβολή ενός κακόβουλου αιτήματος HTTP αποτύχει, το wafw00f εξετάζει προηγούμενα αιτήματα HTTP και χρησιμοποιεί έναν απλό αλγόριθμο για να προσδιορίσει εάν το τείχος προστασίας της εφαρμογής Ιστού αντιδρά στις επιθέσεις μας.

  Πώς να ρυθμίσετε τοποθεσίες WordPress με γρήγορη φόρτωση στο DigitalOcean;

[*]Το Wafw00f δεν είναι προεγκατεστημένο σε διανομές Kali Linux.

Πώς να εγκαταστήσετε το Wafw00f;

[*]Το πακέτο zip είναι διαθέσιμο για λήψη από την επίσημη πηγή GitHub.

[*]Κατεβάστε το εργαλείο Wafwoof. Μπορείτε επίσης να χρησιμοποιήσετε τον πελάτη git για να κλωνοποιήσετε το αποθετήριο. Για να λάβετε το πακέτο, εκτελέστε τις εντολές:

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

[*]Για να κάνετε λήψη του εργαλείου wafw00f στο σύστημα, μεταβείτε στον φάκελο ή τον κατάλογο wafw00f και εκτελέστε την ακόλουθη εντολή.

$ python setup.py install

[*]Το αρχείο εγκατάστασης θα υποβληθεί σε επεξεργασία και το wafw00f θα εγκατασταθεί στο σύστημα.

Χρήση εργαλείου

[*]Για να χρησιμοποιήσετε αυτό το εργαλείο, εκτελέστε αυτήν την εντολή.

$ wafw00f <url>

[*]ΥΠΕΝΘΥΜΙΣΗ – Σαρώστε μόνο τους ιστότοπους που επιτρέπεται να δοκιμάσετε

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

[*]Κρίμα, εντοπίστηκε τείχος προστασίας!

[*]Θα δοκιμάσουμε έναν διαφορετικό ιστότοπο στόχο για το σκοπό της συζήτησης.

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

[*]Δεν ανιχνεύεται τείχος προστασίας αυτή τη φορά.

[*]Και για να το χρησιμοποιήσετε σε αναλυτική λειτουργία, εκτελέστε την ακόλουθη εντολή.

wafw00f  <url> -v 

[*]Μπορείτε να δείτε μερικές πρόσθετες δυνατότητες αυτού του βοηθητικού προγράμματος εκτελώντας αυτήν την εντολή.

wafw00f <url> --help 

Τελειώνοντας 👨‍💻

[*]Σε αυτό το άρθρο, εξετάσαμε διάφορες στρατηγικές και εργαλεία για την ανίχνευση τείχους προστασίας εφαρμογών ιστού. Αυτή είναι μια σημαντική δραστηριότητα που πρέπει να εκτελείται κατά το στάδιο συλλογής πληροφοριών κάθε δοκιμής διείσδυσης εφαρμογών web.

[*]Επιπλέον, γνωρίζοντας ότι υπάρχει ένα WAF επιτρέπει στον ελεγκτή διείσδυσης να δοκιμάσει διάφορες προσεγγίσεις για να ξεπεράσει τις άμυνες και να εκμεταλλευτεί τυχόν τρύπες στην ηλεκτρονική εφαρμογή.

[*]Σύμφωνα με έναν ερευνητή ηθικής πειρατείας, η ύπαρξη τείχους προστασίας εφαρμογών ιστού (WAF) είναι όλο και πιο απαραίτητη. Η ανάλυση των αρχείων καταγραφής των εφαρμογών ιστού για τον εντοπισμό νέων επιθέσεων που συμβαίνουν στον διακομιστή εφαρμογών web του back-end είναι πάντα σημαντική. Αυτό σας επιτρέπει να προσαρμόσετε κανόνες στο τείχος προστασίας της εφαρμογής Ιστού για να παρέχετε το υψηλότερο επίπεδο προστασίας.

[*]Μπορεί επίσης να σας ενδιαφέρει να διαβάσετε: Ευπάθειες χρησιμοποιώντας το Nikto Scanner.