Connect with us




Riepilogo laboratorio di pentest.  

Pagina 3 / 3 Precedente
  RSS

Whistler
(@whistler)
Eminent Member
Registrato: 7 mesi  fa
Post: 41
15/07/2018 4:05 pm  

6.4 IL PROTOCOLLO IP.

Passiamo ora a studiare più nel dettaglio lo strato di livello network, cliccando sulla freccetta a sinistra della riga corrispondente all'internet protocol, esplodendo i contenuti dell'header.
Questi sono divisi in due parti, ovvero l'header (con le informazioni di controllo), e il body (che veicola i dati all'interno del pacchetto IP).
La rivista si sofferma dunque sui seguenti campi:

>>Version: indica la versione di IP utilizzata che in questo caso è l'Ipv4;

>>Identificativo: 0x1fa8 che identifica in modo univoco ciascun frammento in cui si può suddividere un pacchetto IP;

>>Flags: settato a "Don't fragment" (DF), con lo scopo di impedire la frammentazione;

>>Fragment: poiché il campo precedente è settato a DF, questo campo vale 0, ma in caso di frammentazione esso costituisce un numero d'ordine che permette di riassemblare il pacchetto originario;

>>Time-to-live: limita la vita utile del pacchetto decrementandosi ad ogni salto (in questo caso vale 64);

>>Checksum: per consentire al destinatario di accertarsi dell'integrità dei dati ricevuti;

>>Indirizzi IP: ovvero gli IP di mittente (210.100.1.1) e destinatario(212.100.1.2);

>>Protocol: stabilisce il protocollo di livello superiore veicolato nel body del pacchetto.


RispondiQuota
Whistler
(@whistler)
Eminent Member
Registrato: 7 mesi  fa
Post: 41
15/07/2018 4:07 pm  

6.5 IL PROTOCOLLO TCP.

Una volta giunto al destinatario, l'header IP viene esaminato dallo stack TCP/IP del sistema operativo e separato dal body dove sono contenuti i dati del protocollo da analizzare a loro volta.
Sempre utilizzando Whireshark analizziamo le informazioni contenute nell'header:

>>Porta di origine: fondamentale per consentire al destinatario di rispondere (41164 in questo caso);

>>Porta di destinazione: essendo una comunicazione HTTP coincide con la porta 80 sulla quale è posta in ascolto la maggior parte dei siti web;

>>Sequence number: nel nostro caso è 1, valore relativo da utilizzare insieme al campo length nella risposta del destinatario per confermare la ricezione;

>>Acknowledgment Number: Anch'esso pari a 1, conferma la ricezione dei pacchetti fin qui giunti dal mittente;

>>Flag: qui settati i bit PSH e ACK, rivestono un conpito fondamentale nelle fasi di creazione e chiusura della connessione (tra i bit non usati esistenti si citano anche i bit URG, RST, SYN, FIN);

>>Checksum del pacchetto: svolge lo stesso ruolo di verifica di integrità dei dati visto nell'header IP.


RispondiQuota
Whistler
(@whistler)
Eminent Member
Registrato: 7 mesi  fa
Post: 41
01/10/2018 3:51 pm  

7.0 CREATORI DI PACCHETTI.

Salve a tutti e bentornati, chiedo scusa per il ritardo con la guida riepilogativa ma riprendo subito a scrivere per dare una mano a chiunque fosse in difficoltà con il laboratorio virtuale o anche solo per fornire un manuale riassuntivo online ai lettori.
Per ovvi motivi i riassunti li carico dopo un mese dall'uscita della rivista corrispondente.

In questo laboratorio la rivista ci insegna l'utilizzo dello strumento hping3 al fine di creare e inviare pacchetti nella nostra rete con il pieno controllo di tutti i campi inerenti i protocolli IP, UDP e TCP.
Questa caratteristica ci consentirà sia di aggirare il firewall perimetrale (in quanto possiamo instradare i pacchetti alle porte autorizzate) sia di comprendere meglio il funzionamento dei vari protocolli di rete.


RispondiQuota
Whistler
(@whistler)
Eminent Member
Registrato: 7 mesi  fa
Post: 41
01/10/2018 3:51 pm  

7.1 TORNIAMO ALLA SHELL: HPING3.

Apriamo un prompt dei comandi e lanciamo subito il comando:

#hping3 -S -p 80 -c 1 212.100.1.2

Così facendo si invierà un pacchetto (opzione "-c 1") con flag SYN attivo (opzione "-S") verso la porta 80 (opzione "-p 80") alla macchina virtuale "Server web" (con IP 212.100.1.2).
Come si può notare la risposta al nostro pacchetto fornisce informazioni riguardo gli header IP (ovvero l'IP della macchina destinataria del pacchetto, il flag DF, l'ID e il campo TTL) e TCP(lunghezza, porta sorgente, numero di sequenza e i diversi flag TCP).

Nel comando precendente abbiamo inviato un pacchetto (opzione -c1) con flag SYN attivo (opzione -S) alla porta 80 della VM "Server web" (opzione -p 80 e ovviamente l'argomento 212.100.1.2).
Non mi soffermo troppo sul tree way handshake ma come potrete notare la risposta del server web avrà naturalmente i flag SYN/ACK attivi in quanto abbiamo inviato un pacchetto con flag SYN attivo.

L'obbiettivo di questa guida e mostrare come si modificano ad arte i pacchetti da inviare tramite questo comando e la documentazione completa del comando è consultabile attraverso il manuale (#man hping3).
I prossimi comandi saranno molto simili al primo che abbiamo lanciato con l'aggiunta di alcune opzioni per modificare il campo TTL (Time to live) simulando il funzionamento di tracroute, un tool che ormai conosciamo bene (se non lo conoscete le riviste e le guide precedenti lo descrivono a dovere).

Lanciamo il comando..

#hping3 -t 1 -S -p 80 -c 1 212.100.1.2

L'opzione -t 1 va a settare il campo TTL del protocollo TCP a 1, comportando il drop del pacchetto dopo un solo salto all'interno della rete e facendoci avere una risposta dalla macchina "Backbone".
Lanciamo l'ultimo comando che andrà a compiere le stesse operazioni del comando traceroute:

#hping3 -t --tr-stop -S -p 80 -c 1 212.100.1.2

L'opzione --tr-stop fermerà il processo appena ottenuta una risposta dall'IP di destinazione mentre l'opzione -t senza argomenti provvederà a inviare pacchetti con campo TTL via via incrementati di 1.

Questa introduzione al comando hping3 ovviamente non sarà esaustiva ma fornisce una buona base per imparare a usare questo strumento e sperimentare il funzionamento dei protocolli di rete all'interno del nostro laboratrio virtuale.


RispondiQuota
Whistler
(@whistler)
Eminent Member
Registrato: 7 mesi  fa
Post: 41
02/10/2018 11:33 am  

8.0 PUNTI DI ACCESSO.

Dopo aver preso confidenza con hping3, in questa guida si analizzano le risposte della VM "Server web" all'invio di pacchetti con flag SYN inviati prima sulla porta 80, ovvero una porta aperta, e successivamente sulla porta 79, vale a dire una porta chiusa.
Prima di far ciò sarà necessario disabilitare il firewall al fine di analizzare le risposte (che altrimenti non potremmo ricevere dalla porta 79, non autorizzata dal firewall così come configurato nelle guide precedenti).

8.1 DISABILITARE IL FIREWALL.

>>Apriamo il nostro browser e digitiamo sulla barra degli indirizzi http://192.168.0.75;

>>Inseriamo le credenziali "admin" come username e "zeroshell" come password;

>>Nella voce "Firewall", raggiungete la chain "Forward" e cambiate la policy da "DROP" a "ACCEPT".

8.2 ANALISI CON HPING3.

Lanciamo il comando

#hping3 -S -p 80 -c 1 212.100.1.2

Grazie alla guida precedente non dovrebbe essere difficile comprendere cosa stiamo facendo (mandiamo un pacchetto [-c 1] con flag SYN [-S] sulla porta 80 [-p] verso l'IP 212.100.1.2).
Analizzandone l'output possiamo osservare come la macchina "Web Server" ci abbia risposto con un pacchetto del quale al momento ci basta soffermarci sui flag SYN/ACK attivi (la scritta "flags=SA").

Proviamo ora a lanciare lo stesso comando su una porta diversa che sappiamo essere chiusa:

#hping3 -S -p 79 -c 1 212.100.1.2

Questa volta otterremo un output differente con flag RST/ACK attivi (la scritta "flags=RA").

Questi test sono importanti perché mettono in evidenza quale risposta ci viene data quando inviamo un pacchetto SYN ad una porta aperta rispetto ad una porta chiusa.


RispondiQuota
Whistler
(@whistler)
Eminent Member
Registrato: 7 mesi  fa
Post: 41
02/10/2018 11:34 am  

8.3 IL PORT SCANNER NMAP.

L'utilizzo di hping3 fa da preludio per imparare il funzionamento di un altro strumento molto potente per un penetration tester: nmap.
Questo tool è in grado di automatizzare il processo di invio di pacchetti come abbiamo fatto con hping3 su tutte le porte di uno o più sistemi nella rete.

Iniziamo subito con il comando:

#nmap -sS -n 212.100.1.2

Il port scanner invierà pacchetti con flag SYN attivo (opzione -sS), senza risolvere il nome del dominio (opzione -n) sulla macchina 212.100.1.2.
Sulla base delle risposte per ciascun pacchetto nmap sarà in grado di elencarci le porte chiuse e le porte aperte sulla macchina target.
Questo tipo di scansione è definita "half-open" in quanto non completa l'handshake della connessione.
È possibile effettuare una scansione che completa l'handshake, chiamata "full-open", lanciando il comando:

#nmap -sT -n 212.100.1.2

Come si può notare l'output è lo stesso ma con un procedimento diverso.

8.4 SCANSIONI AVANZATE.

A questo punto si passa a scansioni più complesse imparando nuove opzioni del comando che andranno ad arricchire con maggiori informazioni l'output:

#nmap -sS -n 212.100.1.2 -p 1-65535
^
per scansionare tutte le 65536 porte del target;

#nmap -sS -n 212.100.1.1-3 -p 1-65535
^
per scansionare tutte le 65536 porte dell'intera rete target;

#nmap -sS -sV -n 212.100.1.1-3 -p 1-65535
^
per aggiungere informazioni riguardo i servizi in esecuzione e le relative versioni;

#nmap -O -n 212.100.1.1-3
^
per conoscere l'OS e relativa versione delle VM sulla rete target.

8.5 CONCLUSIONI.

Naturalmente nmap è uno strumento molto complesso ed è bene approfondire ulteriormente il suo funzionamento.
Per questo oltre al manuale consultabile con #man nmap vorrei consigliare di visitare il sito web ufficiale per guide ed esempi da poter mettere in pratica sul laboratorio virtuale.

link-----> https://nmap.org/


RispondiQuota
Pagina 3 / 3 Precedente
Share:

IN EDICOLA

  
Working

Please Login or Registrazione