Narratore: In questa
lezione, daremo
uno sguardo alle vulnerabilità del caricamento dei file.
Questi sono i tipi di vulnerabilità
più semplici perché ci consentono di caricare qualsiasi tipo di file.
Ad esempio, se il computer di destinazione è in grado di comprendere
php, è possibile caricare qualsiasi file php o shell php e
ottenere il controllo completo sul computer di destinazione.
Ora, poiché il computer di destinazione o il server di destinazione capiscono
Python o qualsiasi altra lingua, allora puoi semplicemente
caricare il codice Python, la
shell Python o la shell Ruby.
Puoi creare queste
shell usando Veil-Evasion o Metasploit
oppure puoi usare la tua shell php o Python.
Quello che
faremo oggi, daremo un'occhiata
a uno strumento chiamato weevly che genera shell
php e ci consente di
accedere e fare una serie di cose interessanti sul computer di destinazione.
Quindi, prima di tutto, ho il mio DVWA qui.
E di solito quando si sta tentando di pianificare il
test di un
sito Web, ciò che consiglio è, prima di
provare a utilizzare qualsiasi strumento o altro, dopo
aver raccolto le informazioni, è sufficiente accedere e provare a navigare nel sito Web.
Guarda cosa riesci a vedere, basta avere un'idea del sito web.
Guarda cosa è installato su di esso e tutto il resto.
E prova a sfruttare tutte le funzionalità che vedi.
Ad esempio, supponiamo che tu abbia eseguito tutto e
che tu abbia raggiunto il caricamento.
Possiamo vedere che questo sito Web ci consente di caricare un file.
Ora questo a volte nelle tue attività di test di penetrazione, potrebbe
essere un sito Web che ti consente di caricare
un'immagine del profilo, un'immagine, se è un sito Web classificato, forse
ti consente di caricare immagini di auto o qualsiasi cosa tu
stia cercando di aggiungere il sitoweb.
Quindi, come puoi vedere qui, il sito web
si aspetta che tu scelga un'immagine e carichi un'immagine.
Vediamo quindi se possiamo prima caricare un'immagine.
Quindi vado sui miei download e ho
una foto qui nelle risorse.
Solo una foto di un'auto.
Lo caricherò e vedrò se viene caricato.
E possiamo vedere che il caricamento
è andato a buon fine ed è archiviato in questa posizione
particolare, quindi ...
che significa due directory indietro e quindi questo nome di file.
Quindi vediamo se l'immagine è stata effettivamente caricata.
Quindi sto portando via
due directory, sto portando via le vulnerabilità e il caricamento.
Lo sto solo usando.
E poi avremo questa posizione sul server, solo per vedere
se l'immagine è stata caricata correttamente.
E come possiamo vedere l'immagine è stata caricata, quindi
va tutto bene.
Ora la prossima
cosa che vogliamo fare, proviamo a caricare un file php.
E per farlo, useremo uno strumento chiamato
weevly come
ho detto, per creare un payload o una shell se vuoi chiamarlo.
E ovviamente sarà una shell php.
Puoi usare metasploit come ho
detto per creare un
payload php ma dovremo solo cercare uno
strumento diverso progettato per i test di penetrazione delle applicazioni web.
Quindi lo strumento è
molto semplice, inseriremo il nome dello strumento, che è strano.
E poi inseriremo generate, perché
vogliamo generare un payload o un file shell.
Quindi inseriremo una password per quel file, in
modo che solo noi possiamo accedervi e controllare il sito Web quando
lo cariciamo sul sito Web.
Quindi la mia password sarà 1-2-3-4-5-6.
E poi dirò dove voglio conservarlo.
E voglio memorizzarlo in root e
lo chiamerò shell. php.
Così molto semplice, weevly è il nome del programma.
Generare è generare una shell.
La password con cui
la shell ci autenticherà e verrà
archiviata in root / shell. php.
Premi Invio ed è stato creato
ora, se sono già nella mia radice, quindi dovrei semplicemente vederlo.
E possiamo vederlo proprio qui.
Quindi, la prossima cosa è che torneremo
sul nostro sito Web e proveremo a caricare quella shell.
E cercherò shell ed eccolo qui.
E ho colpito al caricamento.
E come puoi vedere ora
mi sta dicendo che il file è stato caricato con
successo ed è nello stesso posto in cui era l'immagine.
Quindi tutto ciò che dobbiamo fare ora è usare lo stesso link e useremo
di nuovo weevly per interagire con quella
shell che abbiamo caricato.
Ora vediamo innanzitutto se la shell esiste
ed è stata caricata correttamente.
Quindi lo sfoglio solo attraverso il mio browser.
Conchiglia. php e puoi vedere che ottieni
una pagina vuota, quindi non stiamo ottenendo il
file 404 non trovato, il che significa che il file è stato caricato ed è lì.
Quindi proveremo a interagire con esso da weevly.
Per connetterci ad esso, inseriremo weevly
e poi inseriremo l'URL dove si trova la shell.
Quindi è qui che è stata caricata la nostra shell.
E poi inseriremo la password.
Quindi la mia password era 1-2-3-4-5-6.
Molto semplice, stranamente, l'URL in cui si trova il
file e 1-2-3-4-5-6.
Questo è molto simile a quando si utilizza
il multi-handler in attesa di connessioni
o connesso tramite la backdoor.
Quindi letteralmente ci
collegheremo alla backdoor che abbiamo caricato.
E come puoi vedere, ora
siamo nel file system, quindi da weevly, da questo posto,
puoi effettivamente digitare qualsiasi comando Linux.
E sarai in grado, verrà eseguito sul
computer di destinazione e vedrai il risultato qui.
Quindi se faccio un pwd, vedrai che
sono in var / www / hackable / uploads e se faccio un id,
vedrò il mio utente
al momento che è www. dati.
E se fai un uname -a solo per confermare che
questa è la macchina metasploitable vedrai che questa
è la macchina metasploitable di Linux.
Ora possiamo fare tutto ciò che vogliamo.
Possiamo elencare i file, possiamo navigare.
Puoi eseguire qualsiasi comando Linux che desideri.
Ora siamo cambiati, il nostro posto è stato cambiato.
Weevly offre anche molte più funzioni oltre a questa.
Quindi in realtà ti permette di fare una serie di cose interessanti.
Se digiti help, vedrai tutte le cose interessanti che
puoi fare con weevly.
Quindi puoi provare a intensificare i tuoi privilegi.
Esegui query SQL e un sacco di cose interessanti che sono appena progettate
per i test di penetrazione delle applicazioni web.
Per ora lo lascerò a questo.
E questo ti mostra solo
come usare le vulnerabilità del caricamento dei file.