Connect with us




Riepilogo laboratorio di pentest.  

Pagina 3 / 4 Precedente Avanti
  RSS

Whistler
(@whistler)
Trusted Member
Registrato: 9 mesi fa
Post: 50
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)
Trusted Member
Registrato: 9 mesi fa
Post: 50
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)
Trusted Member
Registrato: 9 mesi fa
Post: 50
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)
Trusted Member
Registrato: 9 mesi fa
Post: 50
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)
Trusted Member
Registrato: 9 mesi fa
Post: 50
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)
Trusted Member
Registrato: 9 mesi fa
Post: 50
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
Whistler
(@whistler)
Trusted Member
Registrato: 9 mesi fa
Post: 50
26/10/2018 7:16 pm  

9.0 SCANSIONI UDP CON NMAP.

In questa guida la rivista ci insegnerà i comandi e gli strumenti per effettuare scanzioni UDP, consentendoci di avere maggiori informazionu sui sevizi attivi che si affidato a questo protocollo.

9.1 SCANSIONI CON NMAP.

Per prima cosa ci viene insegnato come effettuare scansioni UDP con nmap:

#nmap -n -sU -sV 212.100.1.2

le cui opzioni indicano nell'ordine di non effettuare la risoluzione dns dell'indirizzo ip, di effettuare una scansione UDP e infine di elencare le versioni dei servizi attivi sulla macchina "Server Web".

Successivamente si lancia la scansione a tutti gli host sulla rete (e nel fare ciò la sintassi è simile alle altre scansioni descritte nell'uscita precedente)

#nmap -n -sU -sV 212.100.1.1-3

tali scansioni restano limitate alle well known ports, ovvero le porte dalla numero 1 alla 1024.
Come per le scansioni tcp, tale limite si può estendere con l'opzione -p come segue nell'ultimo comando con nmap in questo numero:

#nmap -n -sU -sV 212.100.1.1-3 -p 1-65535

queste scansioni (specialmente l'ultima) richiederanno diverso tempo per il loro completamento e per controllare lo stato di avanzamento basterà premere INVIO.


RispondiQuota
Whistler
(@whistler)
Trusted Member
Registrato: 9 mesi fa
Post: 50
26/10/2018 7:18 pm  

9.2 CONSIDERAZIONI SULLE SCANSIONI UDP.

A differenza delle scansioni sulle porte TCP (che in caso di porta aperte ritornano un pacchetto SYN/ACK, o RST se chiusa), le porte UDP aperte non sempre inviano pacchetti di risposta, mentre quelle chiuse inviano un pacchetto ICMP di errore che spesso viene filtrato dai dispositivi perimetrali o generato ad una velocità ridotta.
È per tale motivo che in queste scansioni si potrebbe addirittura incorrere in falsi positivi o falsi negativi e come se non bastasse i tempi di esecuzione sono molto lunghi.

9.3 SCANSIONI CON UNICORNSCAN.

Per ottenere scansioni UDP più rapide la rivista ci illustra uno strumento alternativo: unicornscan.
Tale strumento è particolarmente adatto alle scansioni UDP e viene utilizzato subito con il comando:

#unicornscan -mU 212.100.1.2 -p 1-65535

Per avere aggiornamenti sull'avanzamento della scansione basta aggiungere l'opzione -I alla fine del comando

#unicornscan -mU 212.100.1.2 -p 1-65535 -I

mentre per controllare la frequenza di invio di pacchetti al secondo viene infine aggiunta l'opzione -r

#unicornscan -mU 212.100.1.2 -p 1-65535 -r 200 -I

che andrà a ordinare l'invio di 200 pacchetti al secondo.

Su quest'ultima opzione viene evidenziato che non esiste un parametro fisso consigliato e che la sceelta dovrà dipendere da vari fattori quali le risorse computazionali delle due macchine, la qualità della connessione, la velocitàdi connessione e così via, dovendo tener presente che un valore troppo basso allungherebbe i tempi della scansione mentre un valore troppo alto renderebbe la scansione inaffidabile.


RispondiQuota
Whistler
(@whistler)
Trusted Member
Registrato: 9 mesi fa
Post: 50
25/11/2018 12:59 pm  

10.0 LOGIN CRAKING.

In questa guida ci verrà insegnato come craccare il protocollo ftp attivo sulla macchina virtuale "Server Web", tramite l'utilizzo di hydra, un tool di login cracking presente nella VM "Pentester".

10.1 HYDRA: ATTACCO CON DIZIONARIO.

Il seguente attacco consiste nel trovare le credenziali della macchina vittima andando a immettere tutte le possibili combinazioni username/password da due differenti file (detti appunto dizionari).
I dizionari utilizzati saranno presi da quelli già presenti su Kali Linux, /usr/share/wordlists/metasploit/http_default_user.txt per gli username e /usr/share/wordlists/metasploit/http_default_userpass.txt per le password.
Lanciamo il comando:

#hydra -t 32 -L /usr/share/wordlists/metasploit/http_default_user.txt -P /usr/share/wordlists/metasploit/http_default_userpass.txt -vV 212.100.1.2 -f -s 21 ftp

Rispettivamente ciascuna opzione indica al programma di eseguire 32 thread contemporanei nell'attacco, il percorso del dizionario per gli username, il percorso del dizionario per le password, di fermarsi alla prima coppia di credenziali trovata e quale servizio (porta e nome) attaccare.

Dall'output otterremo la coppia di credenziali "user" "user" che ci darà accesso al server FTP della VM "Server Web".

Inserendo il seguente indirizzo sulla barra di ricerca del browser otteniamo l'accesso inserendo la password quando richiesta:

ftp://[email protected]


RispondiQuota
Whistler
(@whistler)
Trusted Member
Registrato: 9 mesi fa
Post: 50
25/11/2018 1:02 pm  

10.2 SCELTA DEI DIZIONARI.

Dopo l'ultimo test non abbiano ottenuto granché riguardo a file da sottrarre però la rivista ci insegna a estrapolare un'informazione molto importante data dall'output precedente: le credenziali utilizzate avevano username e password identiche.
Da quest'osservazione apparentemente banale un pentester esperto può giungere a effettuare un secondo attacco con un dizionario di utenti standard Unix (poiché dalle scansioni precedenti abbiamo individuato tipo e versione del sistema operativo) e con lo stesso dizionario cercare anche la password con l'aggiunta del flag "-e nsr" che andrà a dire al tool di usare lo stesso dizionario, con password vuote e con l'inverso dell'username.

#hydra -t 32 -L /usr/share/wordlists/metasploit/unix_users.txt -e nsr 212.100.1.2 -f -s 21 ftp

Adesso hydra non si fermerà alla prima coppia di credenziali trovata, ma elencherà tutte quelle corrispondenti con i dizionari.
L'output ci restituirà 6 profili e le rispettive credenziali.
Dopo quest'ultimo comando ci viene predetto che più avanti nelle prossime guide si vedrà come riorganizzare tutti i dati raccolti fin qui per proseguire con i nostri test di sicurezza, nonché come ottenere i privilegi di root grazie a falle di sicurezza della macchina vittima


RispondiQuota
occhiolino
(@occhiolino)
New Member
Registrato: 2 settimane fa
Post: 3
03/12/2018 4:49 pm  

Salve a tutti e grazie per questa guida.
Ho da poco iniziato a seguire HJ. Essendo interessato all'articolo sul pentesting ho scaricato
gli arretrati cosi da poter cominciare a configurare le varie macchine. Purtroppo mi sono dovuto fermare poichè alcune di queste non riesco a farle comunicare. Premetto che ho letto i post sul forum relativi al n.216 e 217 ed ho riconfigurato le macchine seguendo le varie indicazioni ma purtroppo sono fermo. Al momento, per praticità, ho realizzato e configurato solo tre macchine, quelle appartenenti alla rete target, su Windows 10 con Oracle VirtualBox:

[ SERVER FTP ] (Damn Small Linux - Linux - Linux 2.4 a 32 bit - RAM 64 Mb - 1 scheda di rete connessa rete interna con nome intnet2)
#ifconfig eth0 up
#ifconfig eth0 212.100.1.3 netmask 255.255.255.0
#route add default gw 212.100.1.1

[ SERVER WEB ] (Metasploitable - Linux - Other Linux a 64 bit - RAM 256 Mb - 1 scheda di rete connessa rete interna con nome intnet2)
#sudo ifconfig eth0 212.100.1.2 255.255.255.0
#sudo route add default gw 212.100.1.1

[ ROUTER ] (ZeroShell - Linux - Other Linux a 32 bit - RAM 256 Mb - 2 schede di rete connesse rete interna, una cn nome intnet1 e l'atra intnet2)
#ifconfig ETH00:00 211.100.1.2/24
#ifconfig ETH01 212.100.1.17/24
#route add -net 210.100.1.0/24 gw 211.100.1.1

Riesco a pingare tra di loro i due SERVER ma non riesco invece a pingare dal ROUTER ogni SERVER e viceversa.

Ho anche riconfigurato le macchine sostituendo la parte #ifconfig ETH01 212.100.1.17/24 del ROUTER con #ifconfig ETH01 212.100.1.1/24 ma il problema resta.

Tra l'altro ho cercato, inutilmente, di riconfigurare anche la parte generale di VirtualBox relativa al menù Preferenze-> Reti -> Reti solo host (NON C'E') seguendo la tua guida  ma questa voce non appare nel menù in questione bensì solo Reti NAT:
Rete ----> Tre schede di rete, una connessa alla rete solo host "vboxnet0" (NON C'E'),
una connessa alla rete interna chiamata "intnet1",
l'ultima connessa alla rete interna "intnet2";
Per creare il collegamento tra la VM e la macchina fisica, nell'interfaccia
principale di Virtualbox selezioniamo dal menù la voce "Preferenze", per poi
cliccare sull'icona "Rete" e scegliere la scheda "Reti solo host".
Clicchiamo su "Aggiungi rete solo host", ovvero sull'icona di una scheda di rete
sormontata dal simbolo "+".
Nella schermata inseriamo l'indirizzo ip 192.168.0.71 e la netmask 255.255.255.0 e
clicchiamo su "Ok"
Assicurasi che il flag "Abilita il server" non sia selezionato.
Così facendo verrà creata un'interfaccia di rete virtuale denominata "vboxnet0".

FRA POCO DIVENTO MATTO! Grazie, a chiunque voglia aiutarmi


RispondiQuota
achelon
(@achelon)
New Member
Registrato: 2 settimane fa
Post: 1
05/12/2018 12:22 am  

Ciao a tutti, e' un piacere essere tra voi


RispondiQuota
Whistler
(@whistler)
Trusted Member
Registrato: 9 mesi fa
Post: 50
06/12/2018 6:59 pm  

Ciao Achelon, ho appena letto il tuo post e riguardo la macchina router devo chiederti se hai provato a impostare come scheda solo host la "Scheda 1"  all'interno delle impostazioni di rete di Virtualbox.

Inizialmente anch'io ebbi lo stesso problema e con questo dettaglio risolsi, spero possa esserti stato d'aiuto su questo.

Fammi sapere perché se si risolve così i problemi che hai riscontrato nel configurare le interfacce si dovrebbe risolvere facilmente configurando tutto dall'interfaccia grafica con il tuo browser come descritto in precedenza.

A presto! 🙂


RispondiQuota
Whistler
(@whistler)
Trusted Member
Registrato: 9 mesi fa
Post: 50
06/12/2018 7:02 pm  

Aggiungo anche che io inizialmente cercai di configurare come rete solo host la "Scheda 3" e l'opzione "Scheda solo host" non compariva, per questo penso che il problema sia lì


RispondiQuota
Whistler
(@whistler)
Trusted Member
Registrato: 9 mesi fa
Post: 50
06/12/2018 7:25 pm  

Ok scusami nella fretta avevo capito che eri la stessa persona del post successivo alla tua segnalazione ti chiedo scusa Occhiolino! 😨


RispondiQuota
Pagina 3 / 4 Precedente Avanti
Share:

IN EDICOLA
Copertina Hacker Journal 227

  
Working

Please Login or Registrazione