14 Ιανουαρίου 2024

Technea.gr

Χρήσιμα νέα τεχνολογίας

Nikto: Πως να βρίσκετε web ευπάθειες με το open source εργαλείο

2 min read
nikto1 | Technea.gr - Χρήσιμα νέα τεχνολογίας

Ένα από τα αρχικά βήματα ενός ethical hacker ή penetration tester κατά τη διάρκεια δοκιμής μιας web εφαρμογής, είναι να εντοπίσει τις ευπάθειες που σχετίζονται με αυτή. Ένα από τα εργαλεία τέτοιου σκοπού είναι το, πολύ γνωστό, Nikto.


Το Nikto είναι ένα πολύ απλό, open source εργαλείο γραμμένο σε γλώσσα Perl και σκοπός του είναι να ελέγχει ένα website (δηλαδή μια web εφαρμογή) για ευπάθειες ασφάλειας. Σαν αποτέλεσμα επιστρέφει τις ευπάθειες που μπορεί να εκμεταλλευτεί ένας επιτιθέμενος και να χακάρει το website.

nikto | Technea.gr - Χρήσιμα νέα τεχνολογίας

Αν και πολύ απλό στη χρήση του, αποτελεί ένα εργαλείο που μπορεί να εντοπιστεί, αφού όποιο website χρησιμοποιεί σύστημα εντοπισμού εισβολών (Intrusion Detection System – IDS) θα μπορέσει να το εντοπίσει.

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

Όπως φαντάζεστε, το Nikto είναι προ-εγκατεστημένο στα Kali Linux άρα δεν θα χρειαστεί να το κατεβάσετε ή να το εγκαταστήσετε. Θα το βρείτε στη κατηγορία “Vulnerability Analysis”.

Ubuntu & Debian

Εγκαταστήστε το Nikto σε Ubuntu, τρέχοντας τις παρακάτω εντολές σε ένα terminal. :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nikto -y

Windows

Ακολουθήστε τη παρακάτω διαδικασία για να εγκαταστήσετε το Nikto σε περιβάλλον Windows:

  1. Εγκαταστήστε τον perl interpreter από εδώ.
  2. Κατεβάστε τον συμπιεσμένο φάκελο του Nikto.
  3. Αποσυμπιέστε το περιεχόμενο του φακέλου από το βήμα 2. στη τοποθεσία της επιλογής σας.
  4. Ανοίξτε ένα command prompt με δικαιώματα διαχειριστή.
  5. Για να ελέγξετε ότι η Perl έχει εγκατασταθεί σωστά, εκτελέστε perl -v

ευπάθειες

  1. Στη συνέχεια περιηγηθείτε στη τοποθεσία του Nikto (Βήμα 3) και
  2. Εκτελέστε την παρακάτω εντολή για να εκκινήσετε το scan: perl nikto.pl -h www.site.com

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

Για να δούμε τις διαθέσιμες παραμέτρους που μπορούμε να χρησιμοποιήσουμε με το Nikto, αρκεί να ανοίξουμε ένα terminal (Linux περιβάλλον) και να πληκτρολογήσουμε nikto –help. To αποτέλεσμα της εντολής φαίνεται παρακάτω:

root@kali:~# nikto –help
Unknown option: help       -config+            Use this config file
       -Display+           Turn on/off display outputs
       -dbcheck            check database and other key files for syntax errors
       -Format+            save file (-o) format
       -Help               Extended help information
       -host+              target host/URL
       -id+                Host authentication to use, format is id:pass or id:pass:realm
       -list-plugins       List all available plugins
       -output+            Write output to this file
       -nossl              Disables using SSL
       -no404              Disables 404 checks
       -Plugins+           List of plugins to run (default: ALL)
       -port+              Port to use (default 80)
       -root+              Prepend root value to all requests, format is /directory
       -ssl                Force ssl mode on port
       -Tuning+            Scan tuning
       -timeout+           Timeout for requests (default 10 seconds)
       -update             Update databases and plugins from CIRT.net
       -Version            Print plugin and database versions
       -vhost+             Virtual host (for Host header)
           + requires a valueNote: This is the short help output. Use -H for full help text.

Στα παραδείγματα που θα δούμε παρακάτω, τρέξαμε Nikto scans σε ένα site που χρησιμοποιούμε για σκοπούς testing (IP: 192.168.142.130).

nikto -h <IP or hostname>

Βλέπουμε τις ευπάθειες που μας επιστρέφει το Nikto στη παρακάτω οθόνη.

Nikto

nikto -h <IP or hostname> -ssl

Στην παραπάνω εντολή επιλέξαμε τη παράμετρο -ssl ώστε να πραγματοποιήσουμε το scan για τη πόρτα 443 (HTTPS).

ευπάθειες

Το Νikto μας δίνει τη δυνατότητα να τρέξουμε scan για να ελέγξουμε για την ύπαρξη συγκεκριμένη ευπάθειας. Τα διαφορετικά είδη ευπάθειας που μπορούμε να συμπεριλάβουμε στους ελέγχους μας είναι:

0 – File Upload

1 – Interesting File / Seen in logs

2 – Misconfiguration / Default File

3 – Information Disclosure

4 – Injection (XSS/Script/HTML)

5 – Remote File Retrieval – Inside Web Root

6 – Denial of Service

7 – Remote File Retrieval – Server Wide

8 – Command Execution / Remote Shell

9 – SQL Injection

a – Authentication Bypass

b – Software Identification

c – Remote Source Inclusion

Η επιλογή Tuning x μας επιτρέπει να αντιστρέψουμε την επιλογή μας και να ελέγξουμε για την ύπαρξη όλων των υπόλοιπων ευπαθειών εκτός από αυτή που θα ορίσουμε. Π.χ.:

nikto -Tuning x 6 <IP or hostname>

Τα διαφορετικά formats που μπορούμε να χρησιμοποιήσουμε για να αποθηκεύσουμε τα αποτελέσματα του scan είναι:

  • csv – Comma-separated-value
  • htm – HTML Format
  • msf+ – Log to Metasploit
  • nbe – Nessus NBE format
  • txt – Plain text (default if not specified)
  • xml – XML Format

Άρα η παρακάτω εντολή θα αποθηκεύσει τα αποτελέσματα του scan μας σε ένα αρχείο xml:

nikto -h <IP or hostname> -o results.xml

Μια ακόμα επιλογή που μπορούμε να χρησιμοποιήσουμε είναι το ανώνυμο scanning. Αυτό θα γίνει ανακατευθύνοντας τη δικτυακή κίνηση ώστε να πραγματοποιείται μέσω proxy. Αρχικά θα πρέπει να τροποποιήσουμε το config αρχείο του nikto τρέχοντας τη παρακάτω εντολή:

Nano /etc/nikto/config.txt

Πηγαίνοντας στις ρυθμίσεις του proxy θα πρέπει να ενημερώσουμε τις τιμές ανάλογα (IP διεύθυνση και πόρτα του proxy):

# Proxy settings — still must be enabled by -useproxy
PROXYHOST=διεύθυνση_IP_proxy
PROXYPORT= νούμερο_πόρτας

Πλέον μπορούμε να τρέξουμε το scan μας ανώνυμα με τη παρακάτω εντολή:

nikto -useproxy -h <IP or hostname>

Πηγή: SecNews.gr

About The Author

0Shares

Δείτε ακομα