ΑρχικήsecurityWPScan: Πως να εντοπίσετε τις ευπάθειες του Wordpress website σας

WPScan: Πως να εντοπίσετε τις ευπάθειες του WordPress website σας

WPScan: Εκατομμύρια websites σε όλο το κόσμο έχουν δημιουργηθεί από το πολύ γνωστό CMS εργαλείο που ονομάζεται WordPress. Αν το website σας είναι ένα από αυτά, γνωρίζετε για τις ευπάθειές του και πιο συγκεκριμένα για αυτές που σχετίζονται με το WordPress; Αν θέλετε να μάθετε πως μπορείτε να κρατήσετε ασφαλές το website σας από τέτοιες επιθέσεις, συνεχίστε να διαβάζετε.

Tο πιο δημοφιλές εργαλείο εύρεσης ευπαθειών που σχετίζονται με το WordPress, ονομάζεται WPScan και είναι ένα open source εργαλείο γραμμένο σε Ruby. Μπορείτε να το χρησιμοποιήσετε για να σκανάρετε το webiste σας για ευπάθειες που αφορούν την core WordPress έκδοση, τα plugins αλλά και τα themes που χρησιμοποιείτε. Επίσης, μπορείτε να εντοπίσετε αδύναμους κωδικούς πρόσβασης, χρήστες και θέματα παραμετροποιήσεων ασφαλείας. Η βάση δεδομένων που χρησιμοποιεί το WPScan με σκοπό την εύρεση των παραπάνω βρίσκεται στο πολύ γνωστό site wpvulndb.com και ανανεώνεται συνεχώς.

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

Το WPScan βρίσκεται προ-εγκατεστημένο στα παρακάτω Linux distos:

Linux Ubuntu

Για την εγκατάσταση σε περιβάλλον Ubuntu αρχικά εγκαταστήστε τα απαραίτητα dependencies:

sudo apt install libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev build-essential libgmp-dev zlib1g-dev

Στη συνέχεια – αν δεν υπάρχει ήδη εγκατεστημένο – εγκαταστήστε το git με σκοπό να κάνετε clone το git repository του WPScan:

sudo apt install git
git clone https://github.com/wpscanteam/wpscan.git

Ολοκληρώστε την εγκατάσταση με τις παρακάτω εντολές:

cd wpscan
sudo gem install bundler
bundle install –without test development

Linux Debian

Σε περιβάλλον debian, εγκαταστήστε τα απαραίτητα dependencies, κάντε clone το git repository του WPScan και στη συνέχεια εγκαταστήστε το:

sudo apt install git ruby ruby-dev libcurl4-openssl-dev make zlib1g-dev
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler
bundle install –without test development

 Windows

Αν επιθυμείτε να εγκαταστήσετε το WPScan σε περιβάλλον windows θα πρέπει να ακολουθήσετε τα παρακάτω βήματα:

  1. Εγκατάσταση Ruby
    1. Κατεβάστε το zip αρχείο που περιέχει τον installer της Ruby.
    2. Αποσυμπιέστε το φάκελο και εκτελέστε το αρχείο
    3. Διαλέξτε την επιθυμητή γλώσα και αποδεχτείτε το License Agreement.
    4. Διαλέξτε το φάκελο εγκατάστασης (ιδανικά στο path C:\Ruby**)
  2. Εγκατάσταση DevKit
    1. Κατεβάστε το DevKit για χρήση με Ruby έκδοσης 2.0 και μεγαλύτερη.
    2. Αποσυμπιέστε το φάκελο και εκτελέστε το αρχείο (αλλάξτε το default path σε C:\DevKit)
    3. Ανοίξτε command prompt με δικαιώματα διαχειριστή
    4. Περιηγηθείτε στο φάκελο εγκατάστασης χρησιμοποιώντας την εντολή cd C:\DevKit και στη συνέχεια εκτελέστε τις παρακάτω εντολές για να ολοκληρώσετε το binding του DevKit με τη Ruby:
ruby dk.rb init
ruby dk.rb install
  1. Εγκατάσταση cURL
    1. Κατεβάστε το εργαλείο cURL από εδώ και εκτελέστε τον wizard εγκατάστασης.
    2. Βεβαιωθείτε ότι κατά το setup έχετε επιλέξει για εγκατάσταση C headers, αρχεία lib και dll.

WPScan WordPress

    1. Η εγκατάσταση πρέπει να γίνει στο filepath C:\Program Files (x86)\cURL.
    2. Ελέγξτε ότι το αρχείο libcurl.dll εγκαταστάθηκε επιτυχώς εδώ: C:\Program Files (x86)\cURL\dlls
  1. Εγκατάσταση WPScan
    1. Κατεβάστε το zip αρχείο που περιέχει τον installer από εδώ.
    2. Αποσυμπιέστε το φάκελο και εκτελέστε το αρχείο
    3. Διαλέξτε το φάκελο εγκατάστασης (C:\wpscan)
    4. Αποσυμπιέστε το data.zip στο φάκελο C:\wpscan με σκοπό να δημιουργηθεί το C:\wpscan\data
    5. Αντιγράψτε το libvurl.dll αρχείο στο filepath C:\Ruby22\bin
  2. Εγκατάσταση Ruby Gems
    1. Ανοίξτε command prompt
    2. Περιηγηθείτε στο C:\wpscan και
    3. Εκτελέστε τις παρακάτω εντολές:
gem install bundler
gem install typhoeus
gem install rspec-its
gem install ruby-progressbar
gem install nokogiri
gem install terminal-table
gem install webmock
gem install simplecov
gem install rspec
gem install xml-simple
gem install yajl-ruby
gem install bundler && bundle install –without test

Για να εκκινήσετε το WPScan, ενώ βρίσκεται στο φάκελο C:\wpscan εκτελέστε τη παρακάτω εντολή:

ruby wpscan.rb

Πως να το χρησιμοποιήσετε

Ας δούμε τώρα μερικές από τις εντολές που μπορούμε να χρησιμοποιήσουμε με το WPScan.

Αρχικά μπορούμε να δούμε όλες τις δυνατές επιλογές που έχουμε εκτελώντας wpscan –help

root@kali-elena:~# wpscan --help
_______________________________________________________________
        __          _______   _____
        \ \        / /  __ \ / ____|
         \ \  /\  / /| |__) | (___   ___  __ _ _ __ (r)
          \ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
           \  /\  /  | |     ____) | (__| (_| | | | |
            \/  \/   |_|    |_____/ \___|\__,_|_| |_|

        WordPress Security Scanner by the WPScan Team
                       Version 3.6.3
          Sponsored by Sucuri - https://sucuri.net
      @_WPScan_, @ethicalhack3r, @erwan_lr, @_FireFart_
_______________________________________________________________

Usage: wpscan [options]
        --url URL                                 The URL of the blog to scan
                                                  Allowed Protocols: http, https
                                                  Default Protocol if none provided: http
                                                  This option is mandatory unless update or help or hh or version is/are supplied
    -h, --help                                    Display the simple help and exit
        --hh                                      Display the full help and exit
        --version                                 Display the version and exit
    -v, --verbose                                 Verbose mode
        --[no-]banner                             Whether or not to display the banner
                                                  Default: true
    -o, --output FILE                             Output to FILE
    -f, --format FORMAT                           Output results in the format supplied
                                                  Available choices: cli-no-colour, cli-no-color, cli, json
        --detection-mode MODE                     Default: mixed
                                                  Available choices: mixed, passive, aggressive
        --user-agent, --ua VALUE
        --random-user-agent, --rua                Use a random user-agent for each scan
        --http-auth login:password
    -t, --max-threads VALUE                       The max threads to use
                                                  Default: 5
        --throttle MilliSeconds                   Milliseconds to wait before doing another web request. If used, the max threads will be set to 1.
        --request-timeout SECONDS                 The request timeout in seconds
                                                  Default: 60
        --connect-timeout SECONDS                 The connection timeout in seconds
                                                  Default: 30
        --disable-tls-checks                      Disables SSL/TLS certificate verification
        --proxy protocol://IP:port                Supported protocols depend on the cURL installed
        --proxy-auth login:password
        --cookie-string COOKIE                    Cookie string to use in requests, format: cookie1=value1[; cookie2=value2]
        --cookie-jar FILE-PATH                    File to read and write cookies
                                                  Default: /tmp/wpscan/cookie_jar.txt
        --force                                   Do not check if the target is running WordPress
        --[no-]update                             Whether or not to update the Database
        --wp-content-dir DIR                      The wp-content directory if custom or not detected, such as "wp-content"
        --wp-plugins-dir DIR                      The plugins directory if custom or not detected, such as "wp-content/plugins"
    -e, --enumerate [OPTS]                        Enumeration Process
                                                  Available Choices:
                                                   vp   Vulnerable plugins
                                                   ap   All plugins
                                                   p    Plugins
                                                   vt   Vulnerable themes
                                                   at   All themes
                                                   t    Themes
                                                   tt   Timthumbs
                                                   cb   Config backups
                                                   dbe  Db exports
                                                   u    User IDs range. e.g: u1-5
                                                        Range separator to use: '-'
                                                        Value if no argument supplied: 1-10
                                                   m    Media IDs range. e.g m1-15
                                                        Note: Permalink setting must be set to "Plain" for those to be detected
                                                        Range separator to use: '-'
                                                        Value if no argument supplied: 1-100
                                                  Separator to use between the values: ','
                                                  Default: All Plugins, Config Backups
                                                  Value if no argument supplied: vp,vt,tt,cb,dbe,u,m
                                                  Incompatible choices (only one of each group/s can be used):
                                                   - vp, ap, p
                                                   - vt, at, t
        --exclude-content-based REGEXP_OR_STRING  Exclude all responses matching the Regexp (case insensitive) during parts of the enumeration.
                                                  Both the headers and body are checked. Regexp delimiters are not required.
        --plugins-detection MODE                  Use the supplied mode to enumerate Plugins, instead of the global (--detection-mode) mode.
                                                  Default: passive
                                                  Available choices: mixed, passive, aggressive
        --plugins-version-detection MODE          Use the supplied mode to check plugins versions instead of the --detection-mode or --plugins-detection modes.
                                                  Default: mixed
                                                  Available choices: mixed, passive, aggressive
        --plugins-threshold THRESHOLD             Raise an error when the number of detected plugins via known locations reaches the threshold. Set to 0 to ignore the threshold.
                                                  Default: 100
        --themes-threshold THRESHOLD              Raise an error when the number of detected themes via known locations reaches the threshold. Set to 0 to ignore the threshold.
                                                  Default: 20
    -P, --passwords FILE-PATH                     List of passwords to use during the password attack.
                                                  If no --username/s option supplied, user enumeration will be run.
    -U, --usernames LIST                          List of usernames to use during the password attack.
                                                  Examples: 'a1', 'a1,a2,a3', '/tmp/a.txt'
        --multicall-max-passwords MAX_PWD         Maximum number of passwords to send by request with XMLRPC multicall
                                                  Default: 500
        --password-attack ATTACK                  Force the supplied attack to be used rather than automatically determining one.
                                                  Available choices: wp-login, xmlrpc, xmlrpc-multicall
        --stealthy                                Alias for --random-user-agent --detection-mode passive --plugins-version-detection passive

[!] To see full list of options use --hh.

Η παρακάτω εντολή θα μας επιτρέψει να σκανάρουμε το website μας για ευπάθειες

wpscan –url www.mysite.gr

website WordPress

 Αν θέλουμε να ελέγξουμε το site μας για ευπαθή plugin τότε πρέπει να χρησιμοποιήσουμε την παράμετρο –enumerate vp

wpscan –url www.mysite.gr –enumerate vp

Από τα αποτελέσματα θα δούμε αρκετές πληροφορίες και σε περίπτωση που υπάρχει κάποιο ευπαθές plugin θα το δούμε δίπλα από ένα κόκκινο θαυμαστικό. Σε μια τέτοια περίπτωση θα πρέπει να προχωρήσουμε σε άμεσο update.

Αν θέλουμε να ελέγξουμε για ευπαθή themes, η παράμετρος –enumerate vt θα μας βοηθήσει.

wpscan –url www.mysite.gr –enumerate vt

Επίσης, μπορούμε να δούμε τη λίστα με τους χρήστες και τα δικαιώματά τους χρησιμοποιώντας τη παράμετρο enumerate -u

wpscan –url www.mysite.gr –enumerate u 

WPScan WordPress

Περιμένουμε τα σχόλιά σας. Πως σας φάνηκες το WΡScan; Θα το χρησιμοποιήσετε;

 

Stormi
Stormi
Here’s to the crazy ones, the misfits, the rebels, the troublemakers...

Εγγραφή στο Newsletter

* indicates required

FOLLOW US

LIVE NEWS