Httprint – webserver fingerprinting

***

Ciao a tutti,

eccoci di nuovo tornati a parlare di Finferprinting e questa volta lo faremo a riguardo di un tool molto particolare …l’ HTTPrint.

Httprint è un tool per l’information-gathering di web servers sviluppato dal team Net-Square.

In BackTrack-3.Final è preinstallata la versione 301, in modalità GUI e da linea di comando (le due ovviamente svolgono le stesse funzioni).

Httprint utilizza le caratteristiche dei web servers per identificarli, e tenta di farlo nonostante offuscamenti vari o mediante l’utilizzo di plugins come mod_security o servermask (che servono appunto a mascherare il  web-server in questione).

Il tool, per adempiere a ciò, utilizza delle stringhe di testo che vengono confrontate con le stringhe di risposta ottenute in rete, da ciò scaturisce il risultato; è inoltre molto semplice aggiungere altre stringhe al database predefinito di Httprint modificando il file di testo apposito o utlizzando un database più aggiornato.

***

Per utilizzare il tool in modalità CLI dobbiamo selezionare dal menu Backtrack>Network Mapping>Service Fingerprinting>Httprint
oppure da shell:

______________________________________________________

#cd /pentest/enumeration/www/httprint_301/linux
# httprint

______________________________________________________

Per utilizzare invece la modalità GUI del tool dobbiamo selezionarlo dal percorso:

______________________________________________________

Backtrack –>Network Mapping –> Service Fingerprinting –> Httprint_GUI,

______________________________________________________

Per comodità useremo per il nostro test l’ interfaccia grafica.
La prima cosa che si consiglia di fare prima di utilizzare il tool è di aggiornare il database delle signatures sovrascrivendolo con quello più recente.

Il database lo troviamo nella directory:

/pentest/enumeration/www/httprint_301/linux/

il nome è “signatures.txt”
Scarichiamo il file aggiornato da questo indirizzo: http://www.net-square.com/httprint/signatures.txt
e sovrascriviamolo a quello più datato.
Ora dobbiamo creare il nostro file di input nel quale specificheremo gli obbiettivi che il tool dovrà analizzare.

Il file di input , (input.txt) , si trova nella stessa destinazione di signatures.txt dunque:

/pentest/enumeration/www/httprint_301/linux

Apriamo il file input.txt con l’editor e dovrebbe apparire qualcosa del genere:

***

# inputs for httprint can be:
# – individual IP addresses (default port 80)
# – http://servername:%5Bport%5D/
# – https://servername:%5Bport%5D/
# – IP ranges xx.xx.xx.xx-yy.yy.yy.yy
#
http://www.apache.org/

***

Come possiamo vedere da questo file HTTPrint accetta diversi tipi di input i quali, qualora fossero più di uno, potrebbero essere anche analizzati contemporaneamente dato che ha la possibilità di lavorare su più bersagli in modo parallelo.

Noi faremo delle prove su un solo bersaglio.

L’host da voi designato dunque dovrà essere sovrascritto al posto di http://www.apache.org, noi useremo google.com e apache.org.
Non ci resta che aprire Httprint_GUI. Fatto ciò possiamo notare che Httprint non accetta come input solo files .txt ma anche files di tipo .xml creati dal famoso tool nmap, [(1) – (2)] , è infatti selezionabile questa opzione nella finestra principale; in seguito proveremo anche questa possibilità.
Diamo uno sguardo ora alla parte centrale della GUI dove possiamo osservare le seguenti voci:
Host ; Port ; Banner-Reported ; Banner-Deduced ; Confidence
La prima voce è Host: questa ci darà naturalmente google.com o apache.org, in seguito abbiamo la porta (se non la impostiamo nel nostro file di input manualmente quella di default rimarrà la 80), l’ultima voce sarà il tasso di affidabilità (confidence rating), in questo momento ci indicherà 0 -zero- , perchè ancora non abbiamo iniziato la scansione.
Per iniziare dobbiamo schiacciare il tasto verde nella parte bassa della GUI, ciò farà partire il processo di raccolta informazioni.
Nota: Se hai selezionato bersagli multipli dovrai aspettare un bel pò , ma se vuoi interrompere il processo puoi sempre utilizzare il tasto stop.
Una volta completato dovremmo vedere utilizzati i campi che prima erano vuoti e una finestra popup ci dovrebbe anche informare che il processo è terminato.

Ora dovremmo avere informazioni molto importanti sul nostro bersaglio. Dovremmo avere informazioni sul banner ricevuto , e sul webserver che Httprint ritiene sia il più probabile infine anche qualche info relative all’SSL (se utilizzato).

***

Iniziamo:
Settiamo l’ input file:      z:\pentest\enumeration\www\httprint_301\linux\input.txt
signature file:              z:\pentest\enumeration\www\httprint_301\linux\signatures.txt
e ora il percorso in cui vogliamo salvare il nostro file di report:
z:\root\Desktop\httprintoutput.html
io lo salvo sul desktop.

***

***

Diamo l’avvio col tasto verde
Ecco i risultati:
Banner reported: Apache/2.2.9(Unix)
Banner deduced:  Apache/2.0.x

con una confidence rating del del 78,31%, quindi abbastanza alta.
Dunque le informazioni ricevute direttamente dal server web ci dicono che esso è un Apache 2.2.9 mentre il nostro Httprint  in base al confronto fra le stringhe di testo ricevute e quelle presenti nel suo database ci dice che il server è un  Apache 2.0.x. Risultato soddisfacente considerando l’alto tasso di confidence rating, l’unica divergenza è la versione che oscilla tra la 2.0 e la 2.2, cosa del tutto naturale considerando che quando si fa un fingerprinting è quasi impossibile avere la certezza matematica di ciò con cui si ha a che fare.
Questo è il report file:

***

***

Ora facciamo una prova utilizzando un file di output di nmap:
Il comando di input che darò a nmap sarà il seguente:

#nmap http://www.google.com -p 80 -oX /root/aaa.xml

L’ host che utilizzeremo sarà: http://www.google.com , la porta sarà la 80, il file creato si chiamerà aaa.xml e la sua destinazione sarà nella cartella root/

***

***

Apriamo a questo punto Httprint_GUI e selezioniamo “nmap nella parte dedicata all’input file, premiamo il tasto sfoglia e selezioniamo il file aaa.xml , infine col tasto “load” lo carichiamo.

L’unica cosa da fare a questo punto sarà premere il tasto verde di avvio.
Una volta terminato possiamo constatare che , mettendo in correlazione la stringa catturata e quelle del nostro database, Httprint ipotizza che il web-server da noi analizzato possa essere un WebSitePro/2.3.18 , con un tasso di affidabilità del 39,76% , dunque non molto affidabile.

Solo al secondo posto troviamo come risultato gws , (google web server) , cioè l’informazione che abbiamo ottenuto direttamente dal server che stavamo analizzando (come si può vedere dalla foto in basso).

In questo caso credo che il secondo sia il risultato più accreditabile dato che tutti sanno che google.com utilizza web-server del tipo gws (web-server particolari per far fronte all’enorme traffico di cui è oggetto).

***

***

Possiamo aprire a questo punto il “Report File” che dovrebbe fornirci qualche info in più.
Alla prossima.

SinFP -alternative OS fingerprinting-

***

Ciao a tutti , ecocci di nuovo a scrivere su un altro tool in BackTrack , il SinFP. utilizzato per il Network Mapping.

SinFP è un tool scritto in PERL utilizzato per l’OS fingerprinting, sia attivo che passivo.

In pratica , per coloro che ancora devono avvicinarsi alle caratteristiche di un programma come quello che stiamo per descrivervi , SinFP è uno di quei programmi inseriti in BackTrack che serve per ottenere informazioni su di un determinato host , più precisamente ci mette in condizioni di sapere il tipo di sistema operativo che gira sull’ host che si va a “scannerizzare”.

È importante dire che ci sono 2 tipi di Fingerprinting , il fingerprinting attivo , ovvero quello che viene fatto durante l’ attivita del sistema preso come esempio… …ed il fingerprinting passivo , quello che viene fatto per capire il sistema operativo di un determinato host , mentre lo stesso non è in attività , infatti , come anche in quest’ esempio fatto tramite Wireshark , ci si serve di un file catturato precedentemente con un programma di sniffing.

Secondo i fautori del tool , questo sarebbe in grado di bypassare le limitazioni del più famoso e utilizzato Nmap. Come tutti sappiamo Nmap è stato utilizzato per questo scopo da anni in modo efficiente ma , oramai, con con la presenza sempre più assidua di dispositivi di filtraggio , configurazioni PAT/NAT e altre strategie utilizzate, l’approccio utilizzato dal famoso tool nel fare OS fingerprinting sta diventando obsoleto. Dunque, detto questo, SinFP basa la sua filosofia proprio su queste limitazioni e quindi getta tra le sue basi proprio il fatto di fare OS fingerprinting in modo dissimile da Nmap e altri.

Il tool richiede dunque soltanto una porta TCP aperta che sarà l’unica responsabile del risultato ottenuto dalla scansione; SinFP invia dei pacchetti TCP standard e limita i test effettuati sul sistema da scansionare a 2-3, anche se secondo lo sviluppatore SinFP sarebbe in grado di riconoscere il sistema già al primo responso dei pacchetti TCP inviati.
Di seguito stiliamo una lista di varie caratteristiche della versione 2 del tool, molte di queste caratteristiche sono viste come confronto alla versione 1 dello stesso.
-completamente riscritto (rispetto alla 1);
-sinfp.db completamente rielaborato;
-nuovi metodi basati sul confronto tra l’invio di pacchetti e la risposta ottenuta;
-nuovi algoritmi di confronto che lavorano come un motore di ricerca;
-possibilità di cambiare un algoritmo di confronto passando al tool manualmente una
“matching mask”;
-passive OS fingerprinting molto accurato grazie ai nuovi algoritmi;
-Possibilità di inviare pacchetti P1P2P3, o solamente P1P2 o ancora solo P2;
-consente di utilizzare l’IPv6 mentre la versione 1 non lo consentiva;
-cambiamenti all’ API, non compatibili con la versione precedente;
-cambiamenti allo schema del DB, anche questa incompatibile con la versione precedente;
-Molti bug corretti;

***

La sintassi utilizzata per il corretto funzionamento del tool è la seguente:

/usr/local/sinfp/bin/sinfp.pl -i <targetIp> -p <openTcpPort>

dove:
-i istruisce il programma che in seguito sarà riportato un indirizzo ip, mentre
-p indica al tool quale porta tcp aperta utilizzare per portare a termine il fingerprinting.

Vediamo ora le opzioni che possono essere utilizzate con questo tool:
-3 -> quello di default, invia 3 pacchetti;
-2 -> invia soltanto 2 pacchetti (P1 e P2) (modo silenzioso);
-1 -> invia soltanto un pacchetto (P2) (modalità molto silenziosa);
-v -> è il verbose mode cioè il tool ci informa in tempo reale su cosa sta lavorando;
-s <file> -> è il signature file da usare;
-C -> Stampa tutte le info possibili sul sistema “vittima”;
-O -> Ci mostra invece soltanto il sistema operativo;
-V -> Ci stampa il sistema operativo e a quale famiglia appartiene la sua versione;
-H -> usa masks HEURISTIC2 per abbinare le signature (indicato per utenti avanzati)
-A <mask1,mask2,…> -> permette di utilizzare una lista personalizzata di masks
per il confronto (anche questo indicato per utenti avanzati).
Parametri specifici per modalità online:
-k -> conserva il file pcap generato;
-a -> non generare una traccia anonima del file pcap;
Parametri specifici per modalità offline:
-f <file> -> nome del file pcap da analizzare
Parametri specifici per IPv6:
-6 -> utilizza il fingerprinting IPv6 invece dell’ IPv4
-M <mac> -> MAC address sorgente da utilizzare;
-m <mac> -> MAC address vittima da utilizzare;
-4 -> questa opzione ci permette di utilizzare l’IPv4 se non va a buon fine quello
con IPv6;
Parametri specifici della modalità “attivo”:
-r <N> -> numero di prove da effettuare per ogni test (3 di default);
-t <N> -> timeout prima di considerare perduto un pacchetto (3 di default);
Parametri specifici della modalità “passivo”:
-P -> istruisce il tool di effettuare un fingerprinting passivo;
-F <filter> -> filtro pcap;

***

Vediamo ora un esempio di OS fingerprinting attivo utilizzando un ip che presenta la porta tcp 80 aperta (scan eseguito con nmap -> status open)…

bt sinfp # /usr/local/sinfp/bin/sinfp.pl -i 78.13.252.72 -p 80

P1: B11113 F0x12 W16616 O0204ffff M1412
P2: B11113 F0x12 W16944 O0204ffff010303000101080a000000000000000001010402 M1412
P3: B11021 F0x04 W0 O0 M0
IPv4: BH0FH0WH1OH0MH1/P1P2P3: Windows: Windows: 2000
IPv4: BH0FH0WH1OH0MH1/P1P2P3: Windows: Windows: XP

*** File [sinfp4-127.0.0.1.anon.pcap] generation done.
*** Please send it to sinfp@gomor.org if you think this is not
*** the good identification, or if it is a new signature.
*** In this last case, please specify `uname -a’ (or equivalent)
*** from the target host.

Come possiamo leggere dal risultato riportatoci dal nostro tool abbiamo inviato 3 pacchetti e cioè P1,P2 e P3 (come di default per giunta) e abbiamo ricevuto dunque in base a questi pacchetti 3 risposte che il tool ci ha anche stampato. Dunque in base all’abbinamento fatto da SinFP confrontando le risposte con i dati contenuti nel suo database è giunto alla conclusione che la “vittima” è dotata di un sistema della famiglia windows e. in particolare possiede o windows 2000 o windows XP.

Ora eseguiamo un’altra prova su un ip che che presenta la porta 22 aperta (come l’esempio di prima anche questo fingerprinting è di tipo attivo).

bt sinfp # /usr/local/sinfp/bin/sinfp.pl -1 -v -O -i 78.14.40.211 -p 22
DEBUG: using db: /usr/local/sinfp/bin/../db/sinfp.db
DEBUG: DescL3: dev: [ppp0]
DEBUG: DescL3: ip: [79.9.159.145]
DEBUG: DescL3: mac: [ff:ff:ff:ff:ff:ff]
DEBUG: DescL3: ip6: [::1]
DEBUG: DescL3: gatewayIp: [0.0.0.0]
DEBUG: Frame: DescL3 object created
DEBUG: Dump: will run in mode: 0
DEBUG: Dump: dev: [ppp0]
DEBUG: Dump: file: [sinfp4-78.14.40.211.22.pcap]
DEBUG: Dump: filter: [host 78.14.40.211 and host 79.9.159.145 and tcp and port 22 and (port 41568)]
DEBUG: Frame: send: l3: protocol:6, size:60, 79.9.159.145 => 78.14.40.211
DEBUG: Frame: send: l4: TCP, 41568 => 22
DEBUG: Frame: Reply received
P2: B10113 F0x12 W5792 O0204ffff0402080affffffff4445414401030300 M1412
IPv4: Linux
DEBUG: Dump: will run in mode: 1
DEBUG: Dump: will run in mode: 2

*** File [sinfp4-127.0.0.1.anon.pcap] generation done.
*** Please send it to sinfp@gomor.org if you think this is not
*** the good identification, or if it is a new signature.
*** In this last case, please specify `uname -a’ (or equivalent)
*** from the target host.
DEBUG: Dump: Frames received : 6
DEBUG: Dump: Frames dropped : 0
DEBUG: Dump: Frames if dropped: 0
DEBUG: Dump: sinfp4-78.14.40.211.22.pcap removed

In questo caso per dimostrare la funzionalità del tool abbiamo aggiunto altre opzioni nella nostra ricerca.
Cioè SinFP invierà un solo pacchetto (1), attiverà il verbose mode (-v) e ci dirà soltanto il sistema operativo identificato (-O).
Dunque leggiamo il risultato:
La porta utilizzata è la 22, il pacchetto inviato è il P2, la risposta è stampata e dunque il nostro tool l’ha associata a un sistema operativo linux (stampato alla 16° riga).

Eseguiamo una nuova prova utilizzando questa volta la tecnica del OSfingerprinting passivo e cioè mediante un file di sniffing. Il file in questione è stato editato da WireShark , tool che sicuramente molti di voi conosceranno; è bene che sappiate che quando salvate il file da Wireshark selezionate il tipo “modified tcpdump/libcap”, o almeno così ho fatto io, altrimenti il nostro tool SinFP potrebbe non leggerlo correttamente e non prenderlo come input valido.

bt sinfp # /usr/local/sinfp/bin/sinfp.pl -P -f /root/Desktop/capture.pcap

209.85.135.147:80 > 79.9.159.145:53224 [SYN|ACK]
P2: B11011 F0x12 W5672 O0204ffff0402080affffffffffffffff01030306 M1412
IPv4: BH1FH0WH1OH0MH1/P2: GNU/Linux: Linux: 2.6.x

209.85.135.147:80 > 79.9.159.145:53225 [SYN|ACK]
P2: B11011 F0x12 W5672 O0204ffff0402080affffffffffffffff01030306 M1412
IPv4: BH1FH0WH1OH0MH1/P2: GNU/Linux: Linux: 2.6.x

209.85.135.147:80 > 79.9.159.145:53226 [SYN|ACK]
P2: B11011 F0x12 W5672 O0204ffff0402080affffffffffffffff01030306 M1412
IPv4: BH1FH0WH1OH0MH1/P2: GNU/Linux: Linux: 2.6.x

209.85.135.147:80 > 79.9.159.145:53227 [SYN|ACK]
P2: B11011 F0x12 W5672 O0204ffff0402080affffffffffffffff01030306 M1412
IPv4: BH1FH0WH1OH0MH1/P2: GNU/Linux: Linux: 2.6.x

209.85.135.147:80 > 79.9.159.145:53228 [SYN|ACK]
P2: B11011 F0x12 W5672 O0204ffff0402080affffffffffffffff01030306 M1412
IPv4: BH1FH0WH1OH0MH1/P2: GNU/Linux: Linux: 2.6.x

Vediamo che il nostro tool confrontando le varie risposte con il database in suo possesso è riuscito a capire che in questo specifico caso ha avuto a che fare con sistemi dotati di distribuzioni linux e con il kernel 2.6 .

Per concludere facciamo una ulteriore prova per verificare se il nostro tool sia in grado di riconoscere sistemi della famiglia FreeBSD (visto che i riconoscimenti di linux e windows sono stati portati a termine con successo), per fare ciò utilizziamo il sito di FreeBSD e cioè http://www.freebsdfoundation.org.

Il fingerprinting che utilizzeremo sarà di tipo passivo e il file catturato è stato creato come prima da WireShark.

bt sinfp # /usr/local/sinfp/bin/sinfp.pl -P -f /root/Desktop/capture.pcap

87.13.247.89:57951 > 69.147.83.42:80 [SYN]
P2: B11110 F0x12 W5808 O0204ffff0402080affffffff0000000001030305 M1452
IPv4: unknown

69.147.83.42:80 > 87.13.247.89:57951 [SYN|ACK]
P2: B11111 F0x12 W65535 O0204ffff010303010101080affffffffffffffff04020000 M1412
IPv4: BH0FH0WH0OH0MH1/P2: BSD: FreeBSD: 6.0
IPv4: BH0FH0WH0OH0MH1/P2: BSD: FreeBSD: 6.1
IPv4: BH0FH0WH0OH0MH1/P2: BSD: FreeBSD: 6.2

87.13.247.89:60373 > 64.147.173.80:80 [SYN]
P2: B11110 F0x12 W5808 O0204ffff0402080affffffff0000000001030305 M1452
IPv4: unknown

87.13.247.89:55535 > 66.249.91.115:443 [SYN]
P2: B11110 F0x12 W5808 O0204ffff0402080affffffff0000000001030305 M1452
IPv4: unknown

64.147.173.80:80 > 87.13.247.89:60373 [SYN|ACK]
P2: B11111 F0x12 W65535 O0204ffff010303000101080a000000000000000001010402 M1300
IPv4: BH0FH0WH0OH0MH1/P2: Windows: Windows: 2000
IPv4: BH0FH0WH0OH0MH1/P2: Windows: Windows: XP

87.13.247.89:41187 > 66.211.168.209:443 [SYN]
P2: B11110 F0x12 W5808 O0204ffff0402080affffffff0000000001030305 M1452
IPv4: unknown

66.249.91.115:443 > 87.13.247.89:55535 [SYN|ACK]
P2: B11011 F0x12 W5672 O0204ffff0402080affffffffffffffff01030306 M1412
IPv4: BH1FH0WH1OH0MH1/P2: GNU/Linux: Linux: 2.6.x

66.211.168.209:443 > 87.13.247.89:41187 [SYN|ACK]
*** WARNING: not enough TCP options for P2 reply, result may be false
P2: B11011 F0x12 W8190 O0204ffff M1380
IPv4: BH0FH0WH0OH0MH1/P2: Unknown: GoogleOS: unknown

E’ chiaro che SinFP ha riconosciuto anche sistemi operativi del tipo FreeBSD e ci dice che il sistema con cui abbiamo avuto a che fare è dotato di una delle 3 versioni stampate. Gli altri risultati presenti nel report sono altri dati raccolti dallo sniffing e li ho voluti riportare perchè ho pensato sarebbe stato più opportuno pubblicare il risultato integralmente.

Come possiamo vedereSinFP ha fatto il proprio dovere davvero bene e secondo il mio modestissimo parere non è secondo davvero a nessuno, infatti SinFP in tutte le circostanze si è comportato egregiamente non manifestando alcun tipo di problema.

Ciao a tutti e alla prossima.

AutoScan -your network monitor-

z

***

Ciao a tutti,

come potete vedere dall’immagine il tutorial di oggi riguarderà Autoscan, un tool multifunzione , potente e facile da gestire , inserito in BackTrack nella sezione del Network Mapping.

Perchè multifunzione?

Il fatto è il seguente…

In BackTrack a menochè non ci si crei un utente dopo l installazione , ci si “logga” come utente amministratore… …root , questa è una caratteristica che può causare vari problemi se si fanno degli errori , ma oltre a questo si è vulnerabili a livello di sicurezza.

Fermorestando che rimango sempre dell’opinione che la cosa migliore da fare sia crearsi un utente supplementare , Autoscan può risolvere , (almeno in parte) , anche la questione sicurezza , fungendo quindi , se impostato in maniera corretta , come un vero e proprio firewall.

Le molte funzionalità che contraddistinguono Autoscan lo inseriscono tra i livelli piu alti tra tutti i tool della sua categoria , infatti solo per aggiungere la caratteristica principale del programma , Autoscan è famoso per avere la possibilità di controllare il proprio network non solo in locale , ma anche a distanza… …anche più di un network , con predisposizione a molti apparati hardware.

Le caratteristiche di Autoscan sono molte , diamo solo per iniziare uno sguardo all’ interfaccia grafica…

***

null

***

Autoscan può controllare tutti i tipi di reti , anche quelle , naturalmente dopo una propria configurazione , protette da firewall.

Elenchiamo ora alcune principali caratteristiche di Autoscan:

–> scansione della rete in multi-thread;
–> esplorazione automatica della rete;
–> nessun sovraccarico di rete dovuto al tool;
–> utilizzo di user “agents”;

inoltre:

–>analisi automatica della rete;
–>supervisione dei dispositivi (router, server, firewall, ….)
–>supervisione dei vari servizi di rete (smtp, http, pop, …)
–>riconoscimento automatico dei vari dispositivi; è possibile aggiungere nel database , dispositivi che il tool non riconosce;
–>lo schema della scansione della rete può essere salvato in un file XML;
–>riconoscimento di vari intrusioni nella rete , (in “intruders detection mode” tutti i nuovi dispositivi aggiunti saranno considerati intrusi);
–>esplorazione del file sharing;
–>client telnet;
–>client nessus;
–>funzione “wake on” su lan;
–>non sono richiesti privilegi di root;

[COME SI PRESENTA]


L’applicazione è composta principalmente da due parti:

–> Una parte grafica che stampa i risultati e dà l’accesso all’operatore a tutte le funzionalità.
–> La parte che scansiona la rete e supervisiona i dispositivi

L’interfaccia grafica è in grado di connettere uno o più agents , (in locale o remoto) , per supervisionare contemporaneamente più reti remote , (viene impiegato un agent per ogni rete supervisionata).

[PER AGGIUNGERE NUOVE RETI]

Nella prima pagina del wizard è possibile inserire una nuova rete o riprendere la configurazione di una rete già salvata.
Creazione di una nuova rete:
-Mettere innanzitutto la spunta su “new“;
-Immettere il nome della rete nel campo apposito (siate sicuri di avere nomi differenti per ognuna delle reti da supervisionare);
-scegliere un’icona per la propria rete , tenendo in considerazione le icone adatte al tipo do rete.
-Nel campo “Private subnet” ci sono le varie reti private che in seguito saranno scansionate con Autoscan (lasciare le impostazioni di default);
-nel campo più in basso scegliere il nome dell’SNMP (se siete indecisi
lasciate quello di default);
-L’opzione riguardante “Dynamic IP” informa l’agent di
prendersi cura di eventuali cambi di IP (è quindi consigliabile
lasciare la spunta).
Per quanto riguarda invece l’utilizzo di una rete già creata in
precedenza:
-Mettete la spunta su “restore” invece che su “new”;
-Aprite il file XML salvato della vostra rete.

Nella pagina successiva si può scegliere quale rete si vuole scansionare.
-Mettete la spunta su “localhost” se state effettuando la scansione
mediante “l’agent” locale;
-Mettete invece la spunta a “connect to host” se volete connettere la
vostra macchina ad un agent remoto, in questo caso aggiungete le
informazioni nei vari campi per connettervi alla macchina remota in
cui vi sarà in esecuzione ‘autoscan-network-daemon’.

***

null

***

Nella terza pagina si potrà scegliere l’interfaccia di rete,
e in caso voi stiate eseguendo autoscan su una macchina remota, è proprio
durante questo passaggio che la vostra macchina scambia
informazioni con quella remota, in seguito a questa operazione
potrete scegliere l’interfaccia di rete

***

null

***

L’ultima pagina è soltanto un sommario dei dati inseriti dunque
cliccate su avanti.

Se volete inserire una ulteriore rete basta che clicchiate su
“add a network” e si avvierà di nuovo un wizard come quello precedente..

COME AGISCE: Autoscan scansiona permanentemente la rete , cercando nuovi dispositivi. Quando ne viene inserito uno, Autoscan identifica il dispositivo e il modello (alcuni tra i dispositivi compatibili sono: notepad,desktop, servers, switch, router, video games, telefoni su IP, telecamere di sorveglianza, fax…..) L’identificazione di un dispositivo è basata sul riconoscimento di pacchetti, infatti ogni tipo di dispositivo ha una propria caratteristica nei pacchetti e Autoscan esegue un fingerprint confrontando i dati del dispositivo con quelli contenuti nel suo database. I dispositivi che non vengono riconosciuti vengono immessi in una lista separata. L’utente dunque può aggiungere al database i propri dispositivi non riconosciuti cliccando sul dispositivo non riconosciuto e seguendo l’apposito wizard. L’utente può addirittura aggiungere icone all’interno del tool , basta che copi i file desiderati in:
/opt/AutoScan/usr/share/pixmaps/autoscan-network/Equipment/

Questo per fare in modo che tutti coloro che hanno da monitorare più reti e diverse tra loro possano facilmente conraddistinguerle.

[L’INTERFACCIA]
Durante l’analisi della rete, i dispositivi sono rappresentati nella parte sinistra della finestra. Cliccando su uno di questi dispositivi, si visualizzano le informazioni relative al dispositivo stesso e precisamente queste informazioni vengono visualizzate nella parte destra dello schermo.
Le informazioni visualizzate riguardano:

IP Address
MAC Address
marca modello e chipset del network adapter
Open ports


ed altre informazioni a carattere personale , (in cui ognuno può mettere le informazioni che vuole ad es. email, proprio nome…..).

Nella maggior parte dei casi vengono anche individuati i servizi che ascoltano sulle porte indicate, e viene riportato uno schema grafico nella finestra di destra, sotto quella con le informazioni.
La barra situata nell’angolo sinistro ci mostra la progressione della scansione in corso, inoltre essa ci mostra:

-Il numero dei dispositivi trovati;
-Il numero dei dispositivi analizzati;
-Il numero dei dispositivi che saranno scansionati;
-Percentuale della scansione corrente visualizzata nella barra di progressione.

Lo schema della nostra rete può essere visualizzato in due modi; è possibile cambiare la visualizzazione cliccando con il tasto destro del mouse sulla lista dei dispositivi.

Questi sono solo alcuni screenshot che mostrano come Autoscan monitorizzi due reti diverse , quella sul mio laptop e quella sul mio Server , dove nel primo caso ho inserito l’intrusion detection , essendo in BackTrack e non avendo ancora creato il mio secondo utente , mentre sul server è in esecuzione come monitor di rete dei servizi che vedete tramite le icone.

questi screenshot mostrano la possibilita , con un account Nessus , di testare eventualmente la rete, possibile anche comunicare tramite il protocolo Telnet ed usufruire di tool come nMap e Ping per controllare appunto le porte in modo rapido ed efficace.

nullnull

nullnull

Dalla penultima immagine potete vedere come io stia monitorando senza alcun intervento il mio laptop , il mio server e tutta la subnet ad esso collegata…

Dall’ultimo screenshot invece potete vedere come AutoScan , sempre tenendo conto di una configurazione della subnet adeguata , o come in questo caso di una possibilità di comunicazione con il server principale , ci dia la possibilità di connetterci utilizzando i tool gia presenti nel sistema , in questo caso la nostra BackTrack , che avendo Konqueror e Firefox di prima installazione , ci permette di accedere a Fpt con gli stessi tool , facendo apparire un’ opzione al passaggio del mouse.

Bene , questo è tutto , abbiamo fatto , almeno lo speriamo , una sufficiente descrizione di un ottimo programma , che permette a tutti coloro che devono garantirsi una certa sicurezza di tenere sotto controllo la prorpia rete , monitorandola con AutoScan , saremo avvertiti in tempo reale di tutto ciò di cui abbiamo bisogno.

Per riprendere il discorso dell’inizio tutorial e dell’uso in BackTrack di AutoScan come Firewall , aggiungo anche che usando AutoScan insieme a KsysGuard configurato per il network-monitoring , si ottiene un’ottima soluzione che è una barriera davvero potente e considerando l’azione che svolgono anche non invadente.

Ciao a tutti e alla prossima.

RedBaron con la partecipazione di ^RuNNeR^ e brigante~

aMap -Service Fingerprinting-

loginhelp.gif

Ciao a tutti,

eccoci arrivati a fare una buona descrizione di un altro tool della nostra BackTrack , tool che riguarda il portscanning , e tra i più innovativi in circolazione… …stiamo parlando di aMap , ovvero un altro degli ottimi prodotti inseriti in BackTrack creato dal team di The Hacker’s Choise , di cui i più assidui lettori del nostro blog hanno già letto spesso.

AMap è un portscan di nuova generazione, il suo ruolo è principalmente quello di supporto al penetration-testing.

La caratteristica principale di AMap è quella di assumere specifiche tecniche di scanning che ci permettono di venire a conoscenza se su di un determinato host ci sono delle applicazioni che lavorano su determinate porte , anche se le porte non sono quelle che le applicazioni supportano per default.

AMap è infatti considerato tra i migliori Service Fingerprinting in circolazione.

Il Service Fingerprinting è di fondamentale importanza per una distro dedicata al pentesting come BackTrack , fate ad esempio il caso che si debba testare la sicurezza di un determinato host , su cui girano delle specifiche applicazioni , e noi ci troviamo di fronte alla scelta del “come iniziare a testare la sicurezza dell’ host” , e prendiamo come riferimento iniziale del nostro pentesting il Metasploit Framework , ma possiamo iniziare direttamente con Metasploit?

La risposta ovviamente è no , prima di passare alla decisione di usare Metasploit dovremmo capire cosa gira sull’ host , e quali sono le falle , le vulnerabilità di cui l’ host è afflitto , ed è in questi casi che aMap si rivela una soluzione eccezionale.
Oggigiorno i 2 tool più utilizzati per lo scanning sono: AMap e NMap. Entrambi hanno propri punti di forza e punti di debolezza dato che utilizzano tecniche differenti ma è consigliabile utilizzarli entrambi congiuntamente per ottenere il massimo dei risultati e dell’ affidabilità. Tutto questo naturalmente lo dovremmo fare sapendo che l’ utilizo di aMap è fatto per rivolgere l’ attenzione più che altro verso le applicazioni , nMap invece viene utilizzato per tutto il rimanente , ed è per questo che un utilizzo combinato potrebbe rivelarsi preziosissimo.

Senza database con i dati necessari , (invio / richieste dati) , il tool non avrebbe alcun valore , proprio per questo gli sviluppatori richiedono agli utenti un supporto inviando le proprie informazioni , per rendere il tool quanto più completo possibile.
Vediamo in che modo agisce AMap:

Come tutti gli scanning , aMap ottiene informazioni , attraverso l’ invio e la ricezione di segnali , pacchetti , al momento in cui amap ottiene le risposte , queste vengono confronate con liste di stringhe ed in base al risultato di questo confronto viene stabilito il programma in esecuzione , servendoci quindi le informazioni che noi richiediamo… …ad esempio con AMap si può identificare un server SSL in esecuzione sulla porta 3442 come anche un Oracle listener in esecuzione sulla porta 23.

Per ottenere tutte le opzioni possibili con AMap basta digitare amap -h da shell ed è questo il suo output:

[root@bt bin]$ amap -h
amap v5.2 (c) 2005 by van Hauser <amap-dev@thc.org> http://www.thc.org/thc-amap
Syntax: amap [-A|-B|-P|-W] [-1buSRHUdqv] [[-m] -o <file>] [-D <file>] [-t/-T sec] [-c cons] [-C retries] [-p proto] [-i <file>] [target port [port] …]
Modes:
-A Map applications: send triggers and analyse responses (default)
-B Just grab banners, do not send triggers
-P No banner or application stuff – be a (full connect) port scanner
-W Web Update – online update the application fingerprint database!
Options:
-1 Only send triggers to a port until 1st identification. Speeeeed!
-6 Use IPv6 instead of IPv4
-b Print ascii banner of responses
-i FILE Nmap machine readable outputfile to read ports from
-u Ports specified on commandline are UDP (default is TCP)
-R / -S Do NOT identify RPC / SSL services
-H Do NOT send application triggers marked as potentially harmful
-U Do NOT dump unrecognised responses (better for scripting)
-d Dump all responses
-v Verbose mode, use twice (or more!) for debug (not recommended 🙂
-q Do not report closed ports, and do not print them as unidentified
-o FILE [-m] Write output to file FILE, -m creates machine readable output
-c CONS Amount of parallel connections to make (default 32, max 256)
-C RETRIES Number of reconnects on connect timeouts (see -T) (default 3)
-T SEC Connect timeout on connection attempts in seconds (default 5)
-t SEC Response wait timeout in seconds (default 5)
-p PROTO Only send triggers for this protocol (e.g. ftp)
TARGET PORT The target address and port(s) to scan (additional to -i)
amap is a tool to identify application protocols on target ports.
Usage hint: Options “-bqv” are recommended, add “-1” for fast/rush checks.

AMap accetta come input anche i files -oM , ovvero quei files che Nmap restituisce come output.
Per eseguire una scansione si può digitare l’ indirizzo IP di un solo host , si possono specificare delle porte , ma visto che abbiamo accennato all’ utilizzo combinato di aMap con nMap facciamone un esempio.
Innanzitutto eseguiamo una scansione con Nmap digitando i comandi sotto riportati dopo aver
aperto AMap , eccovi l’ esempio:
nmap -sS -oM results.nmap -p 1-100 87.11.159.117

dove:

-sS –> è il tipo di scansione
-oM results.nmap –> salva l’output nel file results.nmap
-p 1-100 –> è l’intervallo delle porte da scansionare
87.11.159.117 –> è l’indirizzo ip della vittima


Questo l’ output restituito:

***


bt bin # nmap -sS -oM results.nmap -p 1-100 87.11.159.117

Starting Nmap 4.50 ( http://insecure.org ) at 2008-03-13 23:47 GMT
Interesting ports on host117-159-dynamic.11-87-r.retail.telecomitalia.it (87.11.159.117):
Not shown: 99 filtered ports
PORT STATE SERVICE
80/tcp open http

Nmap done: 1 IP address (1 host up) scanned in 4.797 seconds

***

Dall’output possiamo ben capire che abbiamo trovato una porta aperta nell’intervallo che va da 1 a 100 sull’ host della nostra potenziale vittima.

Ora possiamo avviare la nostra scansione con AMap.
Per eseguire la scansione con aMap ed ottenere il massimo dei risultati , ci affidiamo all’ utilizzo di aMap , sfruttando l’ output che in precedenza ci ha restituito nMap

…Quindi:
bt~# amap -i results.nmap -o results.amap -m


Dove:
-i –> dice ad AMap che utilizzeremo un file di output di nMap
results.nmap –> è il nome del file di output di nMap
-o e -m –> sono opzioni che riguardano la creazione di un file di output di AMap
results.amap –> è il nome del file di output che verrà prodotto da AMap


Questo è l’output:

***

bt bin # amap -i results.nmap -o results.amap -m
Warning: output file already exists. Moving to results.amap.old
amap v5.2 (www.thc.org/thc-amap) started at 2008-03-13 23:48:12 – MAPPING mode

Protocol on 87.11.159.117:80/tcp matches http
Protocol on 87.11.159.117:80/tcp matches webmin

Unidentified ports: none

amap v5.2 finished at 2008-03-13 23:48:21

***

Come possiamo vedere dall’output che AMap ci ha fornito , notiamo in esecuzione sul’ip della
vittima “http” e “webmin” entrambi sulla porta 80.

Solo tool come aMap avrebbero potuto rivelarciinfomazioni del genere , metterci al corrente della presenza di webmin è importante perché durante un attività di pentesting avremmo potuto ad esempio decidere di analizzare ed utilizzare un exploit dedicato appunto al webmin.

Ma torniamo al nostro aMap…

Naturalmente è possibile utilizzare AMap anche soltanto indicando l’host o l’ip vittima come in
questo caso:
%amap 87.11.159.117 80
Con questo comando diciamo ad AMap di scansionare la porta 80 sull’ip 87.11.159.117
L’output sarà il seguente:

bt bin # amap 87.11.159.117 80
amap v5.2 (www.thc.org/thc-amap) started at 2008-03-14 00:05:36 – MAPPING mode

Protocol on 87.11.159.117:80/tcp matches http
Protocol on 87.11.159.117:80/tcp matches webmin

Unidentified ports: none.

amap v5.2 finished at 2008-03-14 00:05:45

Si può naturalmente effettuare una scansione prendendo in considerazione un range di porte , come in questo caso in cui l’intervallo è rappresenatto da 50-100:
bt~# amap 87.11.159.117 50-100

Eccovi ora alcuni consigli a riguardo di qualche opzione…

Attivando:
-1 avrete una scanione molto veloce;
-q nasconde i messaggi riguardanti le porte chiuse;
-v (verbose) , ovvero la modalità verbose , ossia ottenere le informazioni live , subito , nella shell

Per fare una scansione delle porte davvero veloce , (ma che va a discapito della qualità delle informazioni che si ricevono) , e sapere il banner in ascolto sulla porta basta digitare:
bt~# amap -qbp http TARGET 1-65535

Quest’altro dà output migliori per quanto riguarda il banner in ascolto sulla porta:
bt~# amap -B -q TARGET 1-65535

Infine volevo dirvi che per chiunque volesse provare la beta di aMap è sufficiente mandare una mail di
richiesta a: amap-subscribe@thc.org. Se invece volete aiutare gli sviluppatori per la scoperta di applicazioni sconosciute ed inefficienza dei pacchetti vi basterà inviare l’ inizio dei pacchetti mandati e ricevuti con il nome e la versione dei software utilizzati a: amap-dev@thc.org.

Credo sia tutto e spero che questo sia bastato a farvi capire quanto sia importante l’interazione tra 2 tool importantissimi come nMap e aMap per la scansione di un host e la scoperta di applicazioni eventualmente presenti su di esso

Ciao a tutti e alla prossima da RedBaron

Google Gruppi
backtrack-it
Visita questo gruppo

nMap -Network Mapping-

Con quest’ articolo introduciamo nel blog una nuova sezione , che anche se non del primo argomento si tratta , oggi vede la sua prima definizione vera.

La sezione di cui parlo è quella del Network Mapping , fondamentale per tutti coloro che conoscono e usano la BackTrack , e che racchiude in se , come tutte le altre sezioni del resto , molti tool , e di varia natura.

Con quest’ articolo non vogliamo introdurre e chiudere subito tutta la sezione del Network Mapping , abbiamo intenzione di trattare tutti gli argomenti , uno ad uno , e oggi iniziamo con il tool più famoso ed utilizzato….. l’ nMap.

insecurelogo-eye-90x168.gif

L’ nMap , è lo scanning forse più famoso , (a merito) , della rete.

Iniziamo con una intro generale e di definizione.

L’ nMap , ovvero “network Mapping” , è un prodotto del lavoro del gruppo di Insecure.org , che ha attraversato molti livelli , (intesi come versioni , attualmente alla 4.50) , ed è sempre stato giustamente considerato tra i migliori portscanner in circolazione.

L’ nMap è disponibile in vari formati , dall’ utilizzo tramite riga di comando , (più raccomandato ed utilizzato ovviamente) , in konsole , fino ad arrivare all’ interfccia grafica. È disponibile per tutte le distro GNU/Linux fino ad arrivare a MacHintosh e M$ Windows. Noi quì ovviamente faremo riferimento alle versioni attualmente in uso in BackTrack.

In BackTrack infatti l’ nMap è disponibile tramite konsole , dove basta digitare il comando nmap seguito dalle opzioni e dall’ indirizzo IP del target , e tramite interfaccia grafica , disponibile in KdeMenuStart–>BackTrack–>NetworkMapping–>All–>nMapFE

L’ nMap è uno scanner potentissimo , ed a renderlo tale è la sua affidabilità , la sua versatilità e la grande quantità di opzioni a disposizione , che mettono l’utente in condizioni tali da avere a disposizione uno strumento potente , all’ avanguardia e leggerissimo.

A testimonia della leggerezza e affidabilità dell’ nMap è già il fatto che lo stesso è inserito , proprio perché leggero , all’interno di altri programmi che necessitano di scanning , come ad esempio il Metasploit Framework.

Se si vuole una documentazione dettagliata sull’ nMap , vi basta digitare da konsole il comando:

nmap -h

in questo modo vi verranno elencate tutte le opzioni di cui l’ nMap gode.

Giusto per fare un esempio , passiamo ora ad una descrizione di uso dell’ nMap.

Lo scanning di rete può essere fatto in vari modi , a seconda delle nostre necessità effettueremo o meno determinate operazioni , elencare tutte le opzioni dell’ nMap sarebbe inutile , (chi vuole da konsole digiti: “nmap -h”) , siamo in BackTrack , e di conseguenza esamineremo l’utilizzo dell’ nMap durante una fase di attacco , e cioé:

come ottenere determinate informazioni utili al nostro attacco.

nmap_bnr_kyra2.gif

Gli attacchi che possiamo prendere come esempio sono molteplici , dal voler entrare abusivamente all’ interno di un server al voler violare la privacy di un normale utente , ricordando ovviamente che questo è come sempre un tutorial di prevenzione contro coloro che queste cose le fanno , e che quindi stiamo trattando un argomento che và preso come sempre per penetration test , (e non per lamer-test).

I siti che si trovano in giro per la rete sono sempre diversi tra loro , e per poterne attaccare uno , abbiamo bisogno di venire in nostro possesso di informazioni che possono permetterci di attaccare il sito in questione. La cosa che per prima ci serve è sapere ad esempio quali porte il sito ha aperte , oppure che tipo di O.S. usa , ed è quì che ci serviremo dell’ nMap.

Analizziamo però le opzioni necessarie al nostro scopo:

da konsole , dopo il comando nmap dobbiamo inserire delle opzioni , dopo o a seconda del caso , prima delle stesse opzioni , va inserito l’ IP dell’ host da esaminare/attacare , e possiamo farlo inserendo solo l’ IP del target oppure inserendo il percorso del file *.txt , di nome hosts.txt posizionato nel nostro Desktop e che contiene una serie di host da scannerizzare , inseriti nel file di testo uno sotto l’ altro come una wordlist e inserita nella konsole dopo l’ opzione -iL , come ad esempio nel seguente comando:

nmap -iL /root/Desktop/hosts.txt

il comando e le opzioni descritte con la riga sopra , diono all’ nMap di eseguire una normale scansione di tutti gli host contenuti nel file di nome host.txt , file che ripeto , è posizionato nel nostro Desktop.

Ed è solo la descrizione dello scanning ottenuto con l’ opzione -iL ,(alla lettera inputList), che fa parte di quelle opzioni del TARGET SPECIFICATION , ossia tutte quelle opzioni che servono all’ nMap per gestire i target , gli indirizzi IP da scannerizzare e le loro specifiche. Eccovi un esempio , (eseguito in locale sulla mia LAN):

***

brigante ~HaCkLaB.WiFu # nmap -iL /root/Desktop/hosts.txt

Starting Nmap 4.50 ( http://insecure.org ) at 2008-02-10 15:40 GMT
Interesting ports on XX.XXX.X.XX:
Not shown: 1704 closed ports
PORT STATE SERVICE
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
902/tcp open iss-realsecure-sensor
2049/tcp open nfs
5900/tcp open vnc
MAC Address: 00:02:72:61:7B:52 (CC&C Technologies)

All 1711 scanned ports on XX.XXX.7.XXare closed

Interesting ports on XX.XXX.XX.XXX:
Not shown: 1708 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 00:19:3E:A0:D8:25 (Pirelli Broadband Solutions)

Interesting ports on 29.XXX.7.XX:
Not shown: 1709 closed ports
PORT STATE SERVICE
23/tcp open telnet
646/tcp open unknown
MAC Address: 00:90:1A:42:19:10 (Unisphere Solutions)

Nmap done: 4 IP addresses (4 hosts up) scanned in 10.486 seconds

***

L’nMap , in questo caso , ci elenca tutte le scansioni una dopo l’ altra , e nella mia Lan essendoci connessi 4 macchine , ecco il risultato.

Come per la serie di opzioni che riguardano l’ host detection ci sono altre che riguardano il PORT DETECTION , che ovviamente possono ritornarci utili nel momento in cui siamo già a conoscenza di determinate informazioni.

Un’ opzione può essere ad esempio -r , ovvero la – randomize ,(in questo caso il trattino “-” sta a significare il segno meno , della sottrazione), che farà in modo che l’ nMap esegua una scansione di porte in modo ricorsivo , una porta dopo l’altra in ordine numerico. Oppure è degna di nota anche l’ opzione -p , che permette all’ nMap di eseguire una scansione di determinate porte , senza andare quindi a scannerizzare porte a noi non necessarie , ma ripeto che sono sempre informazioni che la maggiorparte delle volte viene usata perché si è già a conoscenza di informazioni di scanning già effettuati e poi in tutti i casi l’ nMap è sempre stato molto veloce come scanning , e a meno che non si debbano scavlcare firewall e altre cosette , sono opzioni poco usate.

Una semplice e veloce scansione può essere però effettuata anche senza apporre delle opzioni , scrivendo quindi dopo il comando nmap l’ IP target , come nel seguente esempio , (sempre in locale sulla mia LAN):

***

brigante ~HaCkLaB.WiFu # nmap 29.XXX.6.XX

Starting Nmap 4.50 ( http://insecure.org ) at 2008-02-10 15:27 GMT
Interesting ports on XX.XXX.7.XX:
Not shown: 1708 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 00:X9:XX:A0XX:25 (Pirelli Broadband Solutions)

***

 

L’ nMap agisce tramite delle vere e proprie tecniche di scanning ,(SCAN TECHNIQUES), tecniche che possiamo scegliere tramite altre opzioni da apporre alla riga sempre prima dell’ indirizzo IP del nostro target , prima perché appunto descrivono la tecnica da applicare alla scansione del target. Un esempio possiamo farlo con l’ opzione -sS.

L’opzione -sS , è tra le più usate , per il semplice fatto che in pochi secondi fa eseguire all’ nMap una scansione accurata di migliaia di porte , anche su più network.

Una serie di opzioni che caratterizza l’ nMap , e che è a mio avviso decisiva per il pentesting è la serie di opzioni dedicate all’ OS DETECTION , ovvero la scoperta dei sistemi operativi che sono attualmente in uso su di un determinato server , e capirete bene voi se è o no essenziale per un attacco.

La stessa scansione che ho effettuato sulla mia rete Lan prima , la ripeto ora con l’opzione appena descritta per l’ OS detection , quindi:

***

brigante ~HaCkLaB.WiFu # nmap -O 29.XXX.6.XX


Starting Nmap 4.50 ( http://insecure.org ) at 2008-02-10 21:18 GMT
Interesting ports on 29.XXX.6.XX:
Not shown: 1709 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
MAC Address: 00:02:72:61:7B:52 (CC&C Technologies)
Device type: general purpose
Running: Microsoft Windows XP|2003
OS details: Microsoft Windows XP SP2 or Windows Server 2003 SP0/SP1
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.477 seconds

***
Un’ altra opzione importante per quanto riguarda la serie “detection”, può essere quella del detection OS & Versione , dell’ opzione -A , ho fatto un esempio , come viene consigliato per fare delle prove dagli stessi developper dell’ nMap , sul loro host e questo è stato il risultato:
***
brigante ~HaCkLaB.WiFu # nmap -v -A scanme.nmap.org

Starting Nmap 4.50 ( http://insecure.org ) at 2008-02-10 22:10 GMT
Initiating Ping Scan at 22:10
Scanning 205.217.153.62 [2 ports]
Completed Ping Scan at 22:10, 0.08s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 22:10
Completed Parallel DNS resolution of 1 host. at 22:10, 0.36s elapsed
Initiating SYN Stealth Scan at 22:10
Scanning scanme.nmap.org (205.217.153.62) [1711 ports]
Discovered open port 53/tcp on 205.217.153.62
Discovered open port 80/tcp on 205.217.153.62
Discovered open port 22/tcp on 205.217.153.62
SYN Stealth Scan Timing: About 13.62% done; ETC: 22:14 (0:03:12 remaining)
Increasing send delay for 205.217.153.62 from 0 to 5 due to 11 out of 20 dropped probes since last increase.
Completed SYN Stealth Scan at 22:12, 144.43s elapsed (1711 total ports)
Initiating Service scan at 22:12
Scanning 3 services on scanme.nmap.org (205.217.153.62)
Completed Service scan at 22:13, 5.01s elapsed (3 services on 1 host)
Initiating OS detection (try #1) against scanme.nmap.org (205.217.153.62)
Retrying OS detection (try #2) against scanme.nmap.org (205.217.153.62)
Initiating Traceroute at 22:13
205.217.153.62: guessing hop distance at 14
Completed Traceroute at 22:13, 30.72s elapsed
Initiating Parallel DNS resolution of 38 hosts. at 22:13
Completed Parallel DNS resolution of 38 hosts. at 22:13, 2.71s elapsed
SCRIPT ENGINE: Initiating script scanning.
Initiating SCRIPT ENGINE at 22:13
Completed SCRIPT ENGINE at 22:14, 46.77s elapsed
Host scanme.nmap.org (205.217.153.62) appears to be up … good.
Interesting ports on scanme.nmap.org (205.217.153.62):
Not shown: 1707 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh?
25/tcp closed smtp
53/tcp open domain?
80/tcp open http?
|_ HTML title: Authentication required!
| HTTP Auth: HTTP Service requires authentication
|_ Auth type: Basic, realm = Nmap-Writers Content
Device type: specialized
Running (JUST GUESSING) : Raritan embedded (85%)
Aggressive OS guesses: Raritan Dominion KX II KVM switch (85%)
No exact OS matches for host (test conditions non-ideal).
Uptime: 6.732 days (since Mon Feb 4 04:39:56 2008)
TCP Sequence Prediction: Difficulty=198 (Good luck!)
IP ID Sequence Generation: All zeros
TRACEROUTE (using port 22/tcp)
HOP RTT ADDRESS
1 37.87 29.230.0.1
2 39.12 10.5.105.138
3 39.14 10.251.155.201
4 39.22 10.251.150.22
5 38.38 10.251.151.1
6 38.35 10.251.155.186
7 39.04 10.5.4.25
8 38.88 10.254.2.13
9 38.45 10.254.2.74
10 39.84 10.254.1.121
11 42.06 10.254.9.17
12 42.78 10.254.9.198
13 45.92 89.96.200.158
14 76.75 26.26.27.17
15 68.74 26.26.27.25
16 69.67 26.26.27.6
17 67.95 89.96.200.13
18 69.80 81-208-50-114.ip.fastwebnet.it (81.208.50.114)
19 80.71 po0-0.core01.str01.atlas.cogentco.com (130.117.1.113)
20 82.01 po3-0.core01.fra03.atlas.cogentco.com (130.117.0.217)
21 172.87 po15-0.core01.par02.atlas.cogentco.com (130.117.0.18)
22 184.90 po13-0.core01.par01.atlas.cogentco.com (130.117.1.137)
23 171.89 te2-3.mpd02.par01.atlas.cogentco.com (130.117.2.50)
24 …
25 170.33 te8-1.ccr02.dca01.atlas.cogentco.com (154.54.2.194)
26 169.95 gi1-0-0.core01.dca01.atlas.cogentco.com (154.54.3.157)
27 167.81 po15-0.core02.dca01.atlas.cogentco.com (66.28.4.22)
28 166.68 po6-0.core01.jfk02.atlas.cogentco.com (66.28.4.82)
29 174.13 po15-0.core02.jfk02.atlas.cogentco.com (66.28.4.14)
30 210.83 po12-0.core01.mci01.atlas.cogentco.com (154.54.3.202)
31 305.93 po5-0.core01.den01.atlas.cogentco.com (66.28.4.29)
32 234.94 po14-0.core01.smf01.atlas.cogentco.com (66.28.4.130)
33 242.31 po4-0.core02.sfo01.atlas.cogentco.com (154.54.1.253)
34 237.00 po15-0.core01.sfo01.atlas.cogentco.com (66.28.4.69)
35 241.11 po4-0.core01.sjc01.atlas.cogentco.com (66.28.4.94)
36 243.87 vl3523.na01.b020462-1.sjc01.atlas.cogentco.com (38.112.39.114)
37 271.89 silicon-valley-colo.demarc.cogentco.com (38.104.134.30)
38 269.40 64.13.128.194
39 265.54 scanme.nmap.org (205.217.153.62)
Read data files from: /usr/local/share/nmap
OS and Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 240.123 seconds
Raw packets sent: 3533 (159.002KB) | Rcvd: 882 (67.125KB)
***
Dall’ enorme quantità di informazioni possiamo vedre che l’ opzione -A , è un’ opzione un pò particolare infatti la A stà per Aggressive , (MISC options), che esegue appunto una scansione aggressiva dell’ host , e lo fà abilitando con una sola opzione -A , l’ OS detection (-O), il version scanning (-sV), e lo script scanning (-sC) ainsieme al traceroute (--traceroute), capirete quindi voi l’importanza di questa opzione che ne racchiude ben 4.
Come possiamo vedere dalle diversità , le scansioni hanno dato risultati ben diversi , e per effettuare , giusto per fare un esempio , un attacco con il framework Metasploit , possiamo vedere l’ importanza dell’ opzione -O da aggiungere alla riga dell’ nMap , che ci ha restituito dettagliatamente l’ O.S. che usa il nostro target.
Un’ altra serie di opzioni molto importante in alcuni casi è quella del FIREWALL/IDS EVASION AND SPOOFING , che come potete capire dalle parole che la compongono , è una serie di opzioni di cui l’ nMap gode e che ci permette di evadere ai controlli di firewall che sono installati sugli O.S. di siti o target in genere. Le opzioni che la compongono sono una decina , elenchiamone solo qualcuna:
********
-S , che fa lo spoofing dell’ IP sorgente (che effettua lo scanning)
-f , che effettua uno scanning con pacchetti fragmentati che rendono il ping quindi frammentato
-spoof-mac , che effettua lo spoofing del nostro MACaddress
********
Queste sono tutte opzioni che ricordo sono elencate , sezione per sezione , dal comando nmap -h.Una categoria che equipggia il nostro scanning di altre opzioni importanti è l HOST DISCOVERY , che ci mette al corrente di tutte le informazioni riguardanti gli host target , le opzioni sono 9 e prendiamo come esempio l’ opzione -sP , ovvero l’opzione del Ping Scan , che ci rileva tutti gli host che sno online , attivi.Dopo che si conoscono alcune delle opzioni , che sono ognuna specifica e determinata per ogni tipo di attacco o scanning , si può cominciare a vedere come ottimizzare la risposta in konsole dell’ nMap , ovvero come ottenere i risultati in maniera visibile , ovvero ancora la sezione delle opzioni detta di OUTPUT dell’ nMap….A cosa può esserci utile una determinata opzione di output rispetto ad un’altra oppure al non usarle? Le opzioni di output , già dalla parola , non riguardano lo scanning e le sue tecniche , ma solo l’output , e quindi il modo in cui il nostro tool ci informa della scansione e dei suoi risultati , ma facciamo anche quì un esempio apponendo alla nostra riga di comando l’ opzione -v , ovvero rendiamo verbose l’ output dell’nMap:
***
brigante ~HaCkLaB.WiFu # nmap -v 29.XXX.6.XX
Starting Nmap 4.50 ( http://insecure.org ) at 2008-02-10 21:40 GMT
Initiating ARP Ping Scan at 21:40
Scanning 29.XXX.6.XX [1 port]
Completed ARP Ping Scan at 21:40, 0.02s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 21:40
Completed Parallel DNS resolution of 1 host. at 21:40, 0.15s elapsed
Initiating SYN Stealth Scan at 21:40
Scanning 29.XXX.6.XX [1711 ports]
Discovered open port 135/tcp on 29.XXX.6.XX
Discovered open port 139/tcp on 29.XXX.6.XX
Completed SYN Stealth Scan at 21:40, 4.53s elapsed (1711 total ports)
Host 29.XXX.6.XX appears to be up … good.
Interesting ports on 29.XXX.6.XX:
Not shown: 1709 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
MAC Address: 00:02:72:61:7B:52 (CC&C Technologies)
Read data files from: /usr/local/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 4.864 seconds
Raw packets sent: 1724 (75.854KB) | Rcvd: 1716 (68.650KB)

***

Ora la grande quantità di informazioni ottenute , non è data dalla maggiore o più approfondita scansione , ma solo dal fatto che l’ nMap ci ha restituito il risultato dello scanning in maniera Live , e cioé ci h restituito un risultato appena lo ha trovato , in modalità verbose.

La modalità verbose , proprio come le altre , può essere aggiunta tutte le volte che noi la richiediamo , un esempio può essere il seguente dove la uso assuieme all’ opzione -sV , che mi restituirà lo scanning delle porte TCP e , qualora ce ne fossero aperte , lo farà associando ad ogni porta il software per il quale la porta è in uso e la versione dello stesso…

***

brigante ~HaCkLaB.WiFu # nmap -v -sV 29.XXX.6.XX

Starting Nmap 4.50 ( http://insecure.org ) at 2008-02-13 22:18 GMT
Initiating ARP Ping Scan at 22:18
Scanning 29.XXX.6.XX [1 port]
Completed ARP Ping Scan at 22:18, 0.05s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 22:18
Completed Parallel DNS resolution of 1 host. at 22:18, 0.09s elapsed
Initiating SYN Stealth Scan at 22:18
Scanning 29.230.6.73 [1711 ports]
Discovered open port 902/tcp on
29.XXX.6.XX
Discovered open port 2049/tcp on 29.XXX.6.XX
Discovered open port 445/tcp on 29.XXX.6.XX
Discovered open port 631/tcp on 29.XXX.6.XX
Discovered open port 139/tcp on 29.XXX.6.XX
Discovered open port 4662/tcp on 29.XXX.6.XX
Discovered open port 111/tcp on 29.XXX.6.XX
Discovered open port 5900/tcp on 29.XXX.6.XX
Completed SYN Stealth Scan at 22:18, 2.21s elapsed (1711 total ports)
Initiating Service scan at 22:18
Scanning 8 services on
29.XXX.6.XX
Completed Service scan at 22:19, 56.52s elapsed (8 services on 1 host)
Initiating RPCGrind Scan against
29.XXX.6.XX at 22:19
Completed RPCGrind Scan against
29.XXX.6.XX at 22:19, 0.02s elapsed (2 ports)
SCRIPT ENGINE: Initiating script scanning.
Initiating SCRIPT ENGINE at 22:19
Completed SCRIPT ENGINE at 22:19, 0.43s elapsed
Host
29.XXX.6.XX appears to be up … good.
Interesting ports on
29.XXX.6.XX
Not shown: 1703 closed ports
PORT STATE SERVICE VERSION
111/tcp open rpcbind 2 (rpc #100000)
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: HACKLAB-WG)
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: HACKLAB-WG)
631/tcp open ipp CUPS 1.2
902/tcp open ssl/vmware-auth VMware GSX Authentication Daemon 1.10 (Uses VNC)
2049/tcp open nfs 2-4 (rpc #100003)
4662/tcp open edonkey?
5900/tcp open vnc VNC (protocol 3.7)
MAC Address: 00:13:8F:EB:1D:DD (Asiarock Incorporation)

Host script results:
|_ Discover OS Version over NetBIOS and SMB: Unix

Read data files from: /usr/local/share/nmap
Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 59.804 seconds
Raw packets sent: 1762 (77.526KB) | Rcvd: 1712 (78.748KB)


Un’ altra opzione della serie OUTPUT può essere quella che ci permette di avere la risposta , il risultato dello scanning , in un file di testo che conterrà tutto il risultato dello scanning e che potremo di conseguenza consultare ogni volta che ne avremo bisogno , perché se ad esempio abbiamo una vittima precisa , possono a seconda del caso cambiare le porte aperte , ma l’ OS vittima raramente può cambiare e quindi sarà un informazione che sarà sempre in nostro possesso , perché appunto nel file di testo salvato dall’ nMap.

esempio:

nmap -v 29.XXX.6.XX > brigante.txt

l’nMap in questo caso eseguirà lo scanning dell’ IP inb maniera invisibile , (se così possiamo dire), e tutto il risultato verrà salvatonel file di testo chiamato da noi brigante.txt ed automaticamente salvato in /root

Potete dalle informazioni sopra descritte capire l’ importanza di un tool come l’ nMap , è praticamente essenziale ad ogni occasione , e data la sua natura leggera , multipiattaforma , semplice e soprattutto opensource è praticamente essenziale ed irrinunciabile.

per una descrizione accurata , anche se in inglese , potete sempre recarvi sul sito ufficiale di insecure.org dove troverete tutte le opzioni , una ad una , con relativa descrizione…

Quì di seguito vi mostro un’ immagine dell’interfaccia grafica di cui l’ nMap gode in BackTrack
nmap1.png

Tramite l’interfaccia grafica , ovvero l’ nMapFE , è possibile effettuare tutte le operazioni che possono essere fatte con la konsole , ovviamente si hanno i privilegi e gli inconvenienti che una GUI può avere a confronto di un uso tramite riga di comando , ma il tool ha dato prova anche nei casi sopra descritti di grande stabilità.Le opzioni dell’ nMapFE vanno settate tramite 5 linguette , poste in alto nella finestra , subito sotto la casella dove andremo ad inserie la stringa contenente l’indirizzo IP del nostro target e nelle varie linguette possiamo selezionare , sezione per sezione tutte le opzioni , tutte le nostre scelte che facciamo , possiamo controllarle ,(proprio come per l’ Hydra-Gtk ) , tramite la riga di caratteri posti nella parte bassa della finestra.Dire altro sull’ nMap , significherebbe dover stare quì ad elencare tutte le opzioni possibili ed immaginabili , vi ho più volte ripetuto che basta dare il comando nmap -h , da konsole che vi verranno elencate tutte le opzioni sezione per sezione quindi chi vuole oltre che recarsi al sito di insecure.org , può studiarsi il tool dal proprio pc.Lo consiglio vivamente , anche se personalmente ho imparato molto sull’ nMap proprio facendo gli scanning , notando le differenze e provando sempre opzioni nuove.

Ciao a tutti e alla prossima.

nmapbnrmatrixiainqz0.gif