Perché l'esecuzione di questo codice shell è considerata un exploit?

1

Ho trovato il seguente "exploit" su Twitter: link

Blogpost al riguardo: link

Questo è il wrapping di assembly / byte in memoria ed esegue una shell.

IMHO sarebbe un exploit se consente l'escalation dei privilegi, ad es. non-root può compilare ed eseguire questo ed essere root con scope o qualcosa del genere.

Questo non è un exploit, perché non infrange alcuna barriera di sicurezza o sbaglio?

/*
global _start
section .text
_start:
    push 59
    pop rax
    cdq
    push rdx
    mov rbx,0x68732f6e69622f2f
    push rbx
    push rsp
    pop rdi
    push rdx
    push rdi
    push rsp
    pop rsi
    syscall
*/

#include <stdio.h>
#include <string.h>
char code[] = "\x6a\x3b\x58\x99\x52\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x53\x54\x5f\x52\x57\x54\x5e\x0f\x05";
// char code[] = "\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05";
int main()
{
    printf("len:%d bytes\n", strlen(code));
    (*(void(*)()) code)();
    return 0;
}
    
posta DanFromGermany 12.01.2018 - 18:21
fonte

2 risposte

1

Sono d'accordo sul fatto che questo non è un exploit, ma è uno shellcode da utilizzare quando viene iniettato in un'applicazione sfruttata con altri mezzi. Anche il post del blog si riferisce a esso solo come shellcode, non come exploit.

    
risposta data 12.01.2018 - 19:14
fonte
-1

Questo tipo di exploit rientra in una categoria simile agli exploit di Buffer Overflow e String Formatting Error. Di per sé causano poco o nessun danno, ma possono essere sfruttati da un utente malintenzionato per ottenere l'accesso non autorizzato a dati importanti o, in generale, al caos dei relitti.

Questa vulnerabilità può variare da minima a molto potente, a seconda di come tutti i privilegi sono configurati sul server. Se il principio del privilegio richiesto non viene rispettato, l'aggressore potrebbe essere in grado di sfruttare questa vulnerabilità per poter accedere a informazioni sensibili in file con privilegi aperti. In alternativa, se il tuo server è ben configurato per il potenziale di un utente malintenzionato che ottiene l'accesso remoto, questa vulnerabilità potrebbe offrire poco a nulla all'attaccante.

In entrambi i casi, questo tipo di vulnerabilità legata all'esecuzione del codice è spesso il primo passo verso un attacco reale.

    
risposta data 12.01.2018 - 19:03
fonte

Leggi altre domande sui tag