Scanare Nikto este cea mai critică parte a oricărui site web este serverul său web. Serverul web este responsabil pentru acceptarea cererilor de la vizitatorii dvs., înțelegerea acestora și oferirea vizitatorilor site-ului dvs. web răspunsuri la solicitările acestora.
În consecință, serverul dvs. web este și prima componentă a site-ului dvs. în linia de atac. Acest lucru se datorează faptului că atacatorii vizează serverul dvs. web pentru a găsi orice vulnerabilități, erori legate de configurare și probleme de securitate legate de certificatul SSL.
Ca parte a seriei de bloguri SecurityTrails care evidențiază atât instrumentele de scanare a vulnerabilităților online, cât și utilitarele de colectare a informațiilor, astăzi vom explora un instrument axat pe scanarea serverelor web numit Nikto. Let’s learn more about Nikto and how to use it to scan your web server.
Ce este Nikto?
Nikto, cunoscut și sub numele de Nikto2, este un scaner de server web cu sursă deschisă (GPL) și gratuit, care efectuează scanarea vulnerabilităților împotriva serverelor web pentru mai multe elemente, inclusiv fișiere și programe periculoase și verifică dacă există versiuni învechite ale software-ului serverului web. De asemenea, verifică erorile de configurare a serverului și eventualele vulnerabilități pe care le-ar fi putut introduce.
Caracteristici principale:
- Nikto este gratuit de utilizat, open source și actualizat frecvent
- Poate fi folosit pentru a scana orice server web (Apache, Nginx, Lighttpd, Litespeed etc.)
- Scanează împotriva a peste 6.700 de vulnerabilități cunoscute și verificările versiunilor pentru peste 1.250 de servere web (și în creștere)
- Scanează pentru probleme legate de configurare, cum ar fi directoarele cu index deschis
- Scanare certificat SSL
- Abilitatea de a scana mai multe porturi pe un server cu mai multe servere web care rulează
- Abilitatea de a scana printr-un proxy și cu autentificare http
- Posibilitatea de a specifica timpul maxim de scanare, de a exclude anumite tipuri de scanări și antete neobișnuite ale rapoartelor văzute, de asemenea

Instalare Nikto
Scanerul de vulnerabilități Nikto poate fi instalat în mai multe moduri atât pe sisteme bazate pe Windows, cât și pe Linux. Este disponibil în format de pachet pe Linux pentru o instalare ușoară printr-un manager de pachete (apt, yum, etc.) și, de asemenea, disponibil prin GitHub pentru a fi instalat sau rulat direct din sursa proiectului.
Instalare bazată pe GitHub
În timp ce scanerul web Nikto poate fi instalat din depozitele de software ale majorității sistemelor de operare, instalarea din GitHub vă va asigura întotdeauna că aveți cea mai recentă versiune de Nikto care funcționează cu sistemul dumneavoastră. Acest lucru este important pentru orice instrument de analiză de securitate, asigurându-vă că căutarea vulnerabilităților funcționează cu cele mai actuale informații posibile.
Metoda de instalare bazată pe GitHub este, de asemenea, ideală pentru distribuțiile Linux care nu au Nikto în depozitele lor de software, ceea ce face posibilă instalarea Nikto pe aproape fiecare distribuție/platformă Linux.
Pentru a începe instalarea din GitHub, clonați depozitul git:
1 2 | git clone https://github.com/sullo/nikto cd nikto/program |
Acum puteți utiliza scanerul de vulnerabilități Nikto pentru a scana orice site web sau adresă IP. Pur și simplu înlocuiți „http://www.example.com” cu orice domeniu sau adresă IP pe care doriți să o scanați:
1 2 3 4 5 | ./nikto.pl -h http://www.example.com sau perl nikto.pl -h http://www.example.com |
Instalare bazată pe Kali Linux
Kali Linux este distribuția Linux preferată pentru utilizatorii care sunt interesați de pentesting și analiză de securitate. Și adăugarea scanerului de vulnerabilități Nikto la instrumentul dvs. de analiză de securitate setat pe Kali Linux poate fi realizat cu doar câteva comenzi, așa cum se arată mai jos.
1 2 | sudo apt-get update && sudo apt-get upgrade sudo apt-get install nikto -y |
Pentru a verifica dacă scanerul de vulnerabilități a site-ului web Nikto este instalat și gata de utilizare, executați comanda:
1 | nikto |
Comenzi Nikto pentru a efectua scanarea vulnerabilităților
Executarea unei scanări de bază a site-ului web
Cel mai elementar mod de a scana o gazdă cu Nikto este să utilizați steag-ul -h cu comanda nikto:
1 | nikto -h example.com |
Rezultatul ar trebui să arate astfel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | root@home:~# nikto -h example.com - Nikto v2.1.5 --------------------------------------------------------------------------- + Target IP: X.X.X.X + Target Hostname: example.com + Target Port: 80 + Start Time: 2020-11-09 14:26:17 (GMT0) --------------------------------------------------------------------------- + Server: Apache/2.4.41 (Ubuntu) + The anti-clickjacking X-Frame-Options header is not present. + No CGI Directories found (use '-C all' to force check all possible dirs) + Server leaks inodes via ETags, header found with file /, fields: 0x0 0x556193b323e4d + OSVDB-3931: /myphpnuke/links.php?op=search&query=[script]alert('Vulnerable);[/script]?query=: myphpnuke is vulnerable to Cross Site Scripting (XSS). http://www.cert.org/advisories/CA-2000-02.html. + OSVDB-3931: /myphpnuke/links.php?op=MostPopular&ratenum=[script]alert(document.cookie);[/script]&ratetype=percent: myphpnuke is vulnerable to Cross Site Scripting (XSS). http://www.cert.org/advisories/CA-2000-02.html. + /modules.php?letter=%22%3E%3Cimg%20src=javascript:alert(document.cookie);%3E&op=modload&name=Members_List&file=index: Post Nuke 0.7.2.3-Phoenix is vulnerable to Cross Site Scripting (XSS). http://www.cert.org/advisories/CA-2000-02.html. + 6544 items checked: 0 error(s) and 5 item(s) reported on remote host + End Time: 2020-11-17 16:16:36 (GMT0) (95 seconds) --------------------------------------------------------------------------- + 1 host(s) tested |
Executarea unei scanări pe un site web cu SSL
Nikto are, de asemenea, un mod de scanare SSL, pentru certificatele SSL instalate pe un site web. Cu aceasta puteți obține cifrul SSL și informații despre emitent.
Pentru a rula o scanare SSL a site-ului web, rulați:
1 | nikto -h example.com -ssl |
Exemplu de rezultat:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | root@home:~# nikto -h example.com -ssl - Nikto v2.1.5 --------------------------------------------------------------------------- + Target IP: X.X.X.X + Target Hostname: example.com + Target Port: 443 --------------------------------------------------------------------------- + SSL Info: Subject: /C=US/ST=California/L=Los Angeles/O=Internet Corporation for Assigned Names and Numbers/OU=Technology/CN=www.example.org Ciphers: TLS_AES_256_GCM_SHA384 Issuer: /C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA + Start Time: 2020-11-17 13:46:06 (GMT0) --------------------------------------------------------------------------- + Server: Apache/2.4.46 (Ubuntu) + Server: Apache/2.4.41 (Ubuntu) + The anti-clickjacking X-Frame-Options header is not present. + Hostname 'example.com' does not match certificate's CN 'example.com' + Uncommon header 'link' found, with contents: <https://example.com/wp-json/>; rel="https://api.w.org/" + DEBUG HTTP verb may show server debugging information. See http://msdn.microsoft.com/en-us/library/e8z01xdh%28VS.80%29.aspx for details. + OSVDB-3092: /scripts/: This might be interesting... possibly a system shell found. + OSVDB-3268: /images/: Directory indexing found. + OSVDB-3268: /images/?pattern=/etc/*&sort=name: Directory indexing found. + OSVDB-5292: /?_CONFIG[files][functions_page]=http://cirt.net/rfiinc.txt?: RFI from RSnake's list (http://ha.ckers.org/weird/rfi-locations.dat) or from http://osvdb.org/ + OSVDB-5292: /?npage=-1&content_dir=http://cirt.net/rfiinc.txt?%00&cmd=ls: RFI from RSnake's list (http://ha.ckers.org/weird/rfi-locations.dat) or from http://osvdb.org/ + OSVDB-5292: /?npage=1&content_dir=http://cirt.net/rfiinc.txt?%00&cmd=ls: RFI from RSnake's list (http://ha.ckers.org/weird/rfi-locations.dat) or from http://osvdb.org/ + OSVDB-5292: /?show=http://cirt.net/rfiinc.txt??: RFI from RSnake's list (http://ha.ckers.org/weird/rfi-locations.dat) or from http://osvdb.org/ Unmatched [ in regex; marked by <-- HERE in m//index.php?_REQUEST=&_REQUEST[option]=com_content&_REQUEST[ <-- HERE Itemid=1&GLOBALS=&mosConfig_absolute_path=http://cirt.net/rfiinc.txt?/ at /var/lib/nikto/plugins/nikto_core.plugin line 371. |
Dezactivează memoria cache de răspuns
Serverele web moderne memorează adesea în cache site-urile web pentru a economisi performanța procesorului, precum și pentru a servi site-urile mai rapid. Acesta este motivul pentru care este posibil să obțineți o versiune „în cache” a site-ului web atunci când încercați o scanare.
Este posibil ca acest site web stocat în cache să nu aibă toate vulnerabilitățile prezente sau poate avea în continuare vulnerabilități care au fost stocate în cache, așa că este important să ștergeți memoria cache și să utilizați indicatorul -nocache pentru a scana o versiune care nu este stocată în cache.
1 | nikto -h example.com -nocache |
Update Nikto
Menținerea unei baze de date actualizate sau a unei liste de vulnerabilități de verificat este foarte importantă. Cu noi vulnerabilități descoperite aproape în fiecare zi, este esențial să păstrați Nikto la curent cu cele mai recente vulnerabilități de verificat ori de câte ori executați o scanare.
Actualizarea Nikto se realizează prin rularea comenzii:
1 | nikto -update |