Nikto pamati iesācējiem — tīmekļa serveru skenēšana ar vienu komandu
Ja Nmap atbild uz jautājumu “kas tīklā ir pieejams?”, tad Nikto atbild uz nākamo: “kādas problēmas ir šajā tīmekļa serverī?” Tas ir viens no pirmajiem rīkiem, ko kiberdrošības speciālisti palaiž pret tīmekļa serveri, un labi, ka tas ir brīvi pieejams ikvienam, kurš vēlas saprast, kā tīmekļa drošības pārbaude izskatās praksē.
Šajā rakstā apgūsi Nikto no pirmās instalācijas līdz jēgpilnai izvades lasīšanai.
Kas ir Nikto?
Nikto ir atvērtā pirmkoda tīmekļa serveru drošības skeneris, ko 2001. gadā izstrādāja Kriss Sulo (Chris Sullo). Šobrīd projekts tiek uzturēts vietnē GitHub un aktīvi izmantots iespiešanās testēšanā, CTF sacensībās un tīmekļa drošības auditos.
Nikto automātiski pārbauda tīmekļa serveri pret datubāzi ar vairāk nekā 6 700 potenciāli bīstamiem failiem un konfigurācijām, tostarp:
- Novecojušu serveru programmatūru — Apache, Nginx, IIS versijas ar zināmām ievainojamībām
- Bīstamus failus un direktorijus — atstāti testēšanas faili, atklātas admin paneļa adreses, atklāti
.gitrepozitoriji - Nepareizas HTTP galvenes — trūkstošas drošības galvenes, kas atvieglo uzbrukumus
- Noklusējuma konfigurācijas — standarta paroles, noklusējuma pieteikšanās lapas, diagnostikas lapas
- Sīkdatņu problēmas — sīkdatnes bez
HttpOnlyvaiSecurekarodziņiem
Nikto nav “stealth” rīks — tas necentīsies paslēpties. Tas ir ātrs, trokšņains un paredzēts situācijām, kad tev ir atļauja skenēt mērķi.
Pirms sāc — juridisks brīdinājums
Tas pats noteikums, kas attiecas uz Nmap, attiecas uz Nikto — un uz jebkuru drošības skenēšanas rīku.
Nikto skenēšana pret serveri bez īpašnieka atļaujas Latvijā ir pretlikumīga. Krimināllikuma 241. pants paredz atbildību par neautorizētu piekļuvi datorsistēmām un datortīkliem. Pat tad, ja tu tikai “paskaties”, nekas nemainās — skenēšana bez atļaujas ir pārkāpums.
Likumīgi skenēt drīkst tikai:
- Sev piederošus serverus un vietnes
- Uzņēmuma infrastruktūru ar rakstisku vadības atļauju
- Speciāli drošības mācībām paredzētas platformas (TryHackMe, HackTheBox)
- Lokāli uzstādītas mācību vides (DVWA, Metasploitable, WebGoat)
Visi piemēri šajā rakstā tiek vērsti pret lokālu mācību vidi vai tev pašam piederošiem resursiem. Ja tev tādas nav — šī raksta beigās ir norādīts, kā to ātri izveidot.
Uzstādīšana
Linux (Debian / Ubuntu)
sudo apt update && sudo apt install nikto
Linux (Fedora / RHEL / AlmaLinux)
sudo dnf install nikto
macOS
Nepieciešams Homebrew:
brew install nikto
Windows
Nikto ir rakstīts Perl valodā, tāpēc Windows gadījumā nepieciešams vispirms uzstādīt Strawberry Perl vai izmantot WSL (Windows Subsystem for Linux). Iesācējiem ieteicamākais variants ir WSL ar Ubuntu — uzstādīšana notiek tāpat kā uz Linux.
Alternatīva: izmanto gatavu virtuālo mašīnu ar Kali Linux, kurā Nikto jau ir iekļauts pēc noklusējuma.
Pārbaudi uzstādīšanu:
nikto -Version
Kā Nikto darbojas?
Nikto sūta HTTP un HTTPS pieprasījumus pret norādīto serveri un salīdzina atbildes ar savu iekšējo datubāzi. Tā darbību var iedomāties kā automātisku pārbaudītāju, kas:
- Lūdz serveri atvērt tūkstošiem dažādu URL
- Analizē servera atbildes — statusa kodus, saturu, HTTP galvenes
- Salīdzina ar zināmiem bīstamiem failiem un konfigurācijām
- Ziņo par katru aizdomīgu atradumu
Atšķirībā no Nmap, Nikto strādā HTTP/HTTPS protokola līmenī — tas “redz” to pašu, ko serverim redzētu jebkurš pārlūkprogrammas lietotājs vai uzbrucējs.
Pirmā skenēšana
Vienkāršākā Nikto komanda — norādi mērķa serveri ar -h (no angļu host):
nikto -h http://192.168.1.100
Vai arī ar domēna vārdu:
nikto -h http://localhost
Tipiska izvade izskatās šādi:
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP: 192.168.1.100
+ Target Hostname: 192.168.1.100
+ Target Port: 80
+ Start Time: 2026-03-05 10:14:22 (GMT+2)
---------------------------------------------------------------------------
+ Server: Apache/2.4.29 (Ubuntu)
+ Server may leak inodes via ETags, header found with file /, inode: 2aa6, size: 1a4, mtime: Mon Mar 2 10:00:00 2026
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined.
+ The X-Content-Type-Options header is not set.
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ OSVDB-3233: /icons/README: Apache default file found.
+ OSVDB-3268: /test/: Directory indexing found.
+ /phpmyadmin/: phpMyAdmin directory found
+ 8135 requests: 0 error(s) and 7 item(s) reported
+ End Time: 2026-03-05 10:16:44 (GMT+2) (142 seconds)
Ko redzam?
- Servera versija: Apache 2.4.29 — vecāka versija ar zināmām ievainojamībām
- Trūkst trīs svarīgas drošības HTTP galvenes
- Atrasts phpMyAdmin direktorijs — datubāzes pārvaldības panelis, kas nedrīkstētu būt publiski pieejams
- Pieejams testēšanas katalogs ar failu sarakstu
Katrs šāds atradums praksē nozīmē darbu drošības speciālistam — jāsaprot risks un jānovērš problēma.
Galvenie parametri
Mērķa norādīšana (-h)
# IP adrese
nikto -h 192.168.1.100
# Domēna vārds
nikto -h example.local
# Pilna URL ar ceļu
nikto -h http://192.168.1.100/webapp/
Porta norādīšana (-p)
Pēc noklusējuma Nikto skenē 80. portu. Ja serveris klausās citā portā:
# Nestandarta HTTP ports
nikto -h 192.168.1.100 -p 8080
# Vairāki porti uzreiz
nikto -h 192.168.1.100 -p 80,8080,8443
HTTPS skenēšana (-ssl)
Ja mērķis izmanto HTTPS:
nikto -h 192.168.1.100 -ssl
Vai norādi https:// tieši URL:
nikto -h https://192.168.1.100
Skenēšanas apjoma vadība (-Tuning)
Nikto ļauj izvēlēties, ko tieši pārbaudīt. Šis ir noderīgi, ja vajag ātru pārbaudi vai konkrētu kategoriju:
| Parametrs | Ko pārbauda |
|---|---|
-Tuning 1 | Interesanti faili un atrasti direktoriji |
-Tuning 2 | Noklusējuma faili |
-Tuning 3 | Informācijas atklāšana |
-Tuning 4 | Ievadīšanas ievainojamības (XSS, SQLi sākotnējā pārbaude) |
-Tuning 6 | Nedrošas HTTP metodes |
-Tuning 9 | SQL injekcija |
-Tuning x | Viss iepriekšminētais (pilna skenēšana) |
Piemērs — pārbaudīt tikai HTTP galvenes un informācijas atklāšanu:
nikto -h 192.168.1.100 -Tuning 3
Autentifikācija (-id)
Ja serverim nepieciešama pamata HTTP autentifikācija:
nikto -h 192.168.1.100 -id lietotajs:parole
Pielāgots User-Agent (-useragent)
Nikto pēc noklusējuma identificē sevi kā skeneri. Dažās mācību vidēs noderīgi nomainīt:
nikto -h 192.168.1.100 -useragent "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
Izvades saglabāšana
Nikto atbalsta vairākus izvades formātus ziņojumu sagatavošanai:
# Teksta formāts (cilvēkam lasāms)
nikto -h 192.168.1.100 -o rezultats.txt -Format txt
# HTML ziņojums (ērti skatīt pārlūkprogrammā)
nikto -h 192.168.1.100 -o rezultats.html -Format htm
# XML formāts (integrācijai ar citiem rīkiem)
nikto -h 192.168.1.100 -o rezultats.xml -Format xml
# CSV formāts (analīzei izklājlapā)
nikto -h 192.168.1.100 -o rezultats.csv -Format csv
Laba prakse nosaka, ka drošības audita laikā vienmēr jāsaglabā rezultāti — tie veido dokumentāciju atrastajām problēmām.
Kā lasīt Nikto izvadi
Nikto katru atradumu atzīmē ar prefiksu +. Dažiem atradumiem priekšā ir OSVDB numurs — tas ir references numurs no Open Source Vulnerability Database, kas palīdz atrast papildu informāciju par konkrēto problēmu.
Svarīgāko atradumu veidi:
Trūkstošas drošības galvenes — bieži pirmais saraksts jebkurā skenēšanā:
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-Content-Type-Options header is not set.
+ The X-XSS-Protection header is not defined.
Šīs galvenes aizsargā pārlūkprogrammas lietotājus pret dažādiem uzbrukumu veidiem. To trūkums ne vienmēr nozīmē tiešu ievainojamību, bet gan vāju drošības konfigurāciju.
Noklusējuma vai atstāti faili — bīstamāks atradums:
+ /admin/: This might be interesting.
+ /backup/: Directory indexing found.
+ /.git/: Git repository found.
Atklāts .git direktorijs nozīmē, ka uzbrucējs var lejupielādēt visu pirmkodu. Atklāts backup/ direktorijs var saturēt vecas datubāzes kopijas ar lietotāju datiem.
Novecojuša servera versija:
+ Server: Apache/2.2.14 (Ubuntu)
Apache 2.2.x satur desmitiem zināmu ievainojamību. Šāds atradums ziņojumā nozīmē steidzamu atjaunināšanu.
Mācību vides izveide
Nikto trenēšanai nevajag skenēt reālus serverus. Šeit ir trīs labākās iespējas:
DVWA (Damn Vulnerable Web Application)
Speciāli ievainojama tīmekļa aplikācija mācībām. Var uzstādīt ar Docker:
docker run --rm -it -p 80:80 vulnerables/web-dvwa
Pēc uzstādīšanas:
nikto -h http://localhost
Metasploitable 2 vai 3
Speciāli ievainojama virtuālā mašīna, kas satur desmitiem reālu drošības problēmu. Lejupielādē kā VirtualBox vai VMware attēlu un skenē lokālajā tīklā.
TryHackMe
Pārlūkprogrammā bāzēta mācību platforma ar gatavām mērķa mašīnām. Izveido kontu, pievienojies OpenVPN tīklam un skenē norādīto IP — pilnīgi legāli un droši.
Nikto un Nmap kopā
Praksē Nikto un Nmap papildina viens otru. Tipiska secība:
1. solis — Nmap atklāj tīkla ainavu:
nmap -sV -p 80,443,8080 192.168.1.0/24
Noskaidro, kuri serveri tīklā darbojas un uz kuriem portiem.
2. solis — Nikto padziļināti pārbauda tīmekļa serverus:
nikto -h 192.168.1.105 -p 80,8080 -ssl
Uz katru atrasto tīmekļa serveri palaiž Nikto.
Šī kombinācija — tīkla skeneris + tīmekļa servera skeneris — ir pamats gandrīz katram iespiešanās testam.
Bieži lietotu komandu apkopojums
# Pamata skenēšana
nikto -h http://192.168.1.100
# HTTPS serveris
nikto -h https://192.168.1.100
# Nestandarta ports
nikto -h 192.168.1.100 -p 8080
# Pilna skenēšana ar visām kategorijām
nikto -h 192.168.1.100 -Tuning x
# Skenēšana ar rezultātu saglabāšanu HTML formātā
nikto -h 192.168.1.100 -o atskaite.html -Format htm
# Skenēšana ar autentifikāciju
nikto -h 192.168.1.100 -id admin:admin
# Vairāki porti vienlaikus
nikto -h 192.168.1.100 -p 80,443,8080,8443
# Lēnāka skenēšana (mazāk trokšņaina)
nikto -h 192.168.1.100 -Pause 1
Nikto ir rīks, kurš iesācējam bieži atver acis uz kādu svarīgu atziņu: lielākā daļa tīmekļa serveru reālajā pasaulē ir nepareizi konfigurēti. Atstāti faili, trūkstošas drošības galvenes, novecojušas programmatūras versijas — tas nav izņēmums, tas ir norma.
Mācoties lasīt un saprast Nikto izvadi, tu apgūsti to, ko drošības speciālists redz pirmajās minūtēs, aplūkojot jebkuru tīmekļa serveri.
Nākamais solis: apgūt Burp Suite — rīku, kas ļauj ne tikai atklāt problēmas, bet arī interaktīvi testēt tīmekļa aplikācijas HTTP pieprasījumu līmenī. Nikto ir automātisks skeneris, Burp Suite — manuālās analīzes instruments.
Vēlies apgūt Nikto, Burp Suite un tīmekļa drošības testēšanu strukturētā kursā ar praktisku laboratoriju vidi? Apskati mūsu Tīmekļa Drošības moduli — kompakts, praktiski orientēts kurss latviešu valodā ar reāliem uzbrukumu scenārijiem.