Privilegi necessari per eseguire iniezioni di processo

2

Sto leggendo sulle tecniche di iniezione di processo su macchine Windows (originariamente arrivata a questo dalla ricerca di escalation di privilegi). Sebbene abbia usato Windows per la maggior parte della mia vita, mi sembra di capire meglio gli schemi di privilegi / permessi di Linux, e gradirei un chiarimento circa l'ipotesi per alcuni dei metodi più comuni.

  1. Process hollowing - un programma deve avviarne uno diverso, esempi comuni sono explorer.exe o svhosts.exe, che si trovano nella cartella Windows
  2. dirottamento DLL - fai un processo diverso carica qualche DLL o scrivilo su una cartella alta nel percorso di ricerca
  3. altri simili

Questi metodi di solito dipendono dal chiamare le API di sistema e allocare e copiare la memoria in posizioni strategiche. Non sembra che un utente con privilegi minimi standard possa eseguire questo attacco o no? (un esempio di "privilegio basso" sarebbe un utente aziendale standard). Voglio dire se possono, non sarebbe un difetto di progettazione nel sistema operativo o solo molto più difficile di quanto mostrano i manuali?

Riferimento: Dieci Process Injection Tecniche: un sondaggio tecnico sulle tecniche di iniezione dei processi comuni e di tendenza , il testo e i diagrammi mostrano un processo che manipola facilmente la memoria di un altro processo.

    
posta Anton.P 28.08.2018 - 14:09
fonte

2 risposte

0

Da quello che ricordo (potrei sbagliarmi) per fare questo devi avere un account amministrativo. Gli utenti normali non possono farlo. Ho scritto un Trojan un po 'di tempo fa che usava il process hallowing ma doveva essere eseguito come amministratore per funzionare.

    
risposta data 28.08.2018 - 18:24
fonte
0

Non pensare ai privilegi in termini di account degli utenti qui, le autorizzazioni richieste sono SeDebug. SeDebug è concesso all'account amministratore / root l'account in cui il processo è in esecuzione.

Come utente normale non si sarà in grado di iniettare in un processo in esecuzione come SYSTEM. In qualità di utente malintenzionato, sarai in grado di eseguire l'iniezione iniziale nello stesso contesto del processo.

Process hollowing inizia un thread come processo iniziale ma in pausa. Quindi si cancella la memoria e la si sostituisce con un processo che si desidera nascondere. Per tutto il tempo in cui hai il controllo di questo processo, ne stai nascondendo un altro sotto le sembianze dell'originale.

Il dirottamento delle DLL richiede la possibilità di creare una cartella e scrivere un file binario su disco, poiché il percorso verrà caricato dal processo chiamante durante la ricerca delle librerie da caricare. Quindi, potenzialmente, se questo è un servizio, avrai bisogno delle autorizzazioni per avviarlo / fermarlo.

    
risposta data 27.09.2018 - 22:31
fonte

Leggi altre domande sui tag