Escalation dei privilegi dall'exploit

1

Qual è la connessione tra un exploit al punto di escalation di privelage e l'apertura di una shell inversa?

Capisco alcune parti del processo ma non come sono legate insieme.

es. Se viene rilevata una vulnerabilità e un overflow viene sfruttato con un payload che include una slitta NOP fino al payload di esecuzione, in che modo è in grado di ottenere effettivamente il root sul sistema o copiare il codice in VM e modificare la sezione di memoria in eseguibile?

È necessario inviare payload aggiuntivi attraverso lo stesso overflow? Qual è l'attuale controller che collega i componenti insieme?

E per la shell inversa, c'è un socket crittografato su qualche sistema in modo che i pacchetti C & C possano essere inviati? Mi manca ancora quello che effettivamente prende il controllo sul sistema remoto per gestire questo? È possibile iniettare un programma completo nell'overflow o in pezzi e in qualche modo ricomporlo e iniziare a funzionare?

    
posta jarryd 07.10.2015 - 17:35
fonte

1 risposta

3

What is the connection between an exploit to the point of privelage escalation and opening a reverse shell?

In realtà non esiste una connessione diretta. Un exploit si avvale di una vulnerabilità nel software. Per gli exploit a cui ti stai riferendo, stai cercando di fornire il codice che hai scritto per ottenere l'accesso al sistema di destinazione. Questo potrebbe aprirti una shell inversa in modo che tu possa eseguire i comandi.

L'escalation dei tuoi privilegi non è direttamente correlata perché l'exploit viene eseguito con le autorizzazioni del software che stai attaccando. Se il software viene eseguito come root, si ottiene root quando lo si sfrutta. Se il software funziona come joe, ottieni le autorizzazioni di joe. L'escalation successiva è un processo separato che potrebbe richiedere l'esecuzione di più exploit.

And for the reverse shell, is that an encrypted socket back to some system so that the C&C packets can be sent?

Dipende da cosa vuoi correre. Cose come netcat non sono crittografate di default, mentre sbd, o backdoor sicure, lo sono. Dipende solo da te e dal codice che consegna al target.

I'm still missing what actually takes control on the remote system to handle this?

Quando utilizzi il software nello scenario di cui stiamo parlando, stai reindirizzando il flusso del programma per eseguire il tuo codice. Quando lo fa, esegue qualunque codice tu gli dica di fare, come se tu avessi scritto tu stesso il software.

Can a full program be injected in the overflow or in pieces and somehow reassembled and start running?

Questo dipende dalla vulnerabilità. In un buffer overflow, potresti avere una dimensione limitata per consegnare il tuo codice. In tal caso, dovrai fare ciò che viene chiamato staging. Staging sta offrendo un programma molto più piccolo che poi scarica più codice da te fino a raggiungere il programma completo che desideri venga eseguito.

    
risposta data 07.10.2015 - 18:08
fonte

Leggi altre domande sui tag