E in questa conferenza vedremo un altro metodo per sfruttare le vulnerabilità di inclusione locale
dei file e ottenere pieno controllo o shelf-up sul server di destinazione.
Quindi nel video precedente abbiamo visto come utilizzare la variabile di ambiente le nostre variabili di ambiente.
E in questa conferenza vedremo come farlo in base ai log questi server hanno molti file di
log e fondamentalmente al momento possiamo leggere qualsiasi file sul server se abbiamo il permesso di
leggerlo.
Quindi, se riusciamo a scrivere qualcosa su uno di questi file, possiamo praticamente eseguire codice e ottenere
il controllo sul nostro obiettivo.
Quindi quello che devi fare è cercare di leggere uno qualsiasi dei file di log e vedere o pensare a un modo per interagire con questi file
di log in modo che tu possa scrivere cose su di esso, ad esempio se i file di log che stai
leggendo o interagendo con i nostri file di log di posta allora forse è possibile inviare un messaggio di posta elettronica con un codice e quindi
verrà visualizzato nel file di registro.
E il nostro esempio useremo il log var di quel log e questo file contiene tutti i tentativi di
logging sul server di destinazione.
Quindi facciamolo e avrai una comprensione migliore al momento.
Ora ho solo l'exploit di base e sto cercando di mostrare che è la password.
Quindi questo è il file che usiamo nel nostro exploit di base.
Lo rimuoverò e cercherò il log degli orari.
Ora come puoi vedere il file è leggibile e possiamo leggere i tentativi di accesso al server di destinazione.
Quindi, a cosa penseremo, penseremo ora che questo file mostri tutti i tentativi di accesso.
Quindi, perché non provare ad accedere e vedere se il tentativo verrà visualizzato qui.
Quindi ho intenzione di fare qui.
Proverò solo a S-sh nel server.
Quindi userò S-sh perché I Sage è solo un servizio di accesso remoto che viene utilizzato dai server web.
Praticamente ogni server web ha installato quello.
Quindi proveremo a inserirci in S-sh, quindi faremo S-sh e poi inseriremo il nome
utente.
E sto solo andando a mettere un nome utente casuale che probabilmente non esiste nemmeno.
Voglio solo vedere se questa richiesta verrà registrata nel file di registro.
Quindi sono solo
SS Sto andando a S-sh e sto solo andando a mettere un nome utente come casuale e poi ho
intenzione di farlo e andiamo con l'indirizzo IP che è 10 20 9:46 e io sono entrando Ora mi sta chiedendo una password.
Ovviamente questo username non esiste comunque, quindi ho intenzione di inserire anche una password casuale.
Non sto davvero cercando di hackerare usando S-sh.
Sto letteralmente solo tentando di accedere Ora andrò a Control-C e voglio vedere se questo verrà registrato
in questo file.
Quindi invierò un'altra richiesta e cercherò il mio nome utente in modo che il nome utente sia stato chiamato casuale e vedrò
se è stato registrato e puoi vedere qui
che è ancora un mouse e il file di registro.
Quindi è stato registrato nel server che qualcuno ha cercato di accedere con un nome utente casuale e in realtà ha il
mio indirizzo IP.
Quindi in realtà è registrato anche il mio indirizzo IP.
Così ora possiamo leggere quel file e possiamo anche scrivere sul file accedendo con un account esistente.
Quindi quello che sto per fare ora è che tenterò di accedere di nuovo e invece di inserire un
nome utente, invece, metto il nome utente come casuale.
In effetti sto per mettere la peacoat PH che abbiamo sempre usato per darmi una shell inversa o una connessione
inversa sul server.
Ora di nuovo puoi usare qualsiasi codice di pagina che vuoi nel mio esempio.
Userò un codice che mi fornirà una shell inversa sul computer di destinazione.
Quindi, prima di eseguire il codice, ascolterò la parte e lo farò usando netcat
come sempre.
Quindi stavo per essere netcat E. V. LP e farò la mia parte che è 8 8
8 8 e ora stiamo ascoltando le connessioni e cercherò di accedere nuovamente al target.
E in questo caso sto per mettere il mio Ph Veikko.
Quindi lo stesso codice che abbiamo usato prima.
Quindi il mio nome utente sarà che inserirò due virgolette e poi inserirò il mio codice
in modo da utilizzarlo e passarlo e poi passeremo al comando i comandi PH che vogliamo eseguire.
E quel comando utilizzerà le virgolette singole qui.
E poi il mio comando
sarà netcat bin sh.
Quindi inserirò il mio indirizzo IP da 10 20 14 a 0 8, quindi inserirò la
parte che sto ascoltando su cui è 8 8 8 8 con questo metodo.
Otterrai solo uno scatto con questo codice perché se inserisci il codice Kura in modo errato
l'intera cosa si interromperà e il file non verrà più visualizzato perché hai un
errore nel codice.
Quindi quello che suggerisco è che terrò il passaggio perché è una funzione sicura.
E sono sicuro che funzionerà correttamente.
Ho solo bisogno di aver dimenticato di mettere un punto e virgola qui così ho intenzione di metterlo lì.
Quindi sono sicuro che questo codice funzioni correttamente ma ho molti aspetti negativi qui.
Ho molti spazi e ho un sacco di barre in avanti che hanno sempre problemi quando si tenta
di passarle tra i prossimi comandi e si può provare a saltare attraverso questi personaggi.
Ma quello che suggerisco è in realtà criptare questo uso e base 64 e poi decodificato all'altra estremità.
Quindi ti mostrerò come farlo.
Prima di tutto ho intenzione di copiare questo comando.
Quindi questo è il risultato di ciò che vogliamo che la funzione pastorale esegua e copi.
Ho intenzione di andare al mio rutto
è e ho intenzione di andare al mio decoder qui.
Non abbiamo mai dato un'occhiata al decodificatore, quindi questa scheda consente di codificare e decodificare il testo in diversi
tipi di codifica.
Quindi ho intenzione di incollare ciò che ho copiato e lo codificherò come Bedu 64.
Quindi questo testo è stato trasmesso via rete. La porta IP viene convertita in questo codice crittografato.
Ho intenzione di copiare questo codice che ho intenzione di sostituire qui nel mio comando.
Quindi, invece di eseguirlo in questo modo invece di inserire il testo, inserirò il codice
64 di base per assicurarmi che non ci siano caratteri speciali che interferiscano con il comando con Bash.
Quindi l'ho copiato.
Ora se lo faccio in questo modo ho il mio passaggio attraverso il quale è una funzione Peachtree e sto
dicendo di eseguire questo comando show.
Ora ovviamente se copi questo testo ed esegui questo non verrà eseguito nulla perché è solo un jibberish.
Quindi devo dire che questo è il codice di base 64 e lo farò usando la funzione APHC chiamata decodifica
di base 64.
Quindi ho intenzione di dirlo per decodificarlo.
Questo pezzo di testo
E poi una volta decodificato che ha eseguito il passaggio attraverso di esso.
Quindi lo inserirò qui.
Quindi sarà 64 decodificare e
questa è solo un'altra funzione ph di funzione e quindi inserirò le parentesi.
Quindi lo renderò un po 'più grande, così potremo parlarne di più.
E in realtà sto solo andando a copiare e scrivere di nuovo solo per parlarne un po 'di
più.
OK.
Quindi per prima cosa utilizziamo il nome utente come codice come il codice che vogliamo iniettare perché perché vediamo
che il nome utente è stato visualizzato nella pagina di log, quindi tutto ciò che inseriamo nel nome
utente verrà eseguito come voce codice.
Quindi abbiamo quello tra due citazioni qui tra questa e questa citazione.
Ora abbiamo la nostra pagina perché usiamo sempre e abbiamo sempre usato sempre la funzione passthrough per eseguire
comandi Unix sul server di destinazione.
Quindi stiamo mantenendo lo stesso identico e stiamo dicendo di eseguire questo testo.
Ma prima di eseguire questo testo, voglio che lo decodifichi in base alla base 64.
Quindi abbiamo passato attraverso la decodifica del seguente codice.
E questo è il codice.
Quindi questo è il comando del comando net cat che usiamo sempre. Lo stiamo decodificando in base alla base 64.
E poi stiamo dicendo di eseguirlo usando la funzione pass through per essere eseguito come un comando bash.
Quindi ho intenzione di ottenere un'altra ora.
E questo mi chiede una password perché pensa che questo sia effettivamente un nome utente, quindi stiamo
iniettando l'intera cosa come nome utente.
Quindi inserirò qualsiasi password casualmente qua e là.
Ora questo dovrebbe essere memorizzato ora nei registri.
Quindi questo codice dovrebbe essere stato inserito nel registro.
Quindi torneremo al nostro browser e puoi vederlo su tutti gli ascolti qui.
Quindi sto andando a premere invio qui sul browser.
E come puoi vedere abbiamo una connessione dal nostro sito web di destinazione e se lo facciamo io. D. lo vedrete sul sito web
di destinazione con David, in modo leggibile, nome utente o gruppo di utenti.
E posso eseguire comandi o fare quello che voglio sul server di destinazione.
Questo è solo un altro metodo per sfruttare le vulnerabilità di inclusione locale dei file per ottenere uno spettacolo sul
computer di destinazione.
Ora di nuovo questa è solo un'idea e puoi provare queste idee con diversi tipi di file di log in modo da poterlo
provare con il log spento.
Puoi provarlo con qualsiasi altro tipo di file di registro ma devi pensarci.
È necessario pensare a come si potrebbe iniettare il codice in quel file di registro.
Quindi, ad esempio, come ho detto se si tratta di un server di posta e quindi provare a inviare una e-mail
se è fuori registro come in questo esempio, prova ad accedere usando S-sh e vedi se è possibile inserire
codice e se quel codice verrà eseguito sul computer di destinazione.