OwnershipStealer
Questo codice C# è un'applicazione console che tenta di assumere la proprietà di un file specificato.
Logica del codice
Il programma controlla prima se è stato specificato un nome di file come argomento della riga di comando e, in caso contrario, chiede all'utente di inserirne uno. Procede quindi a tentare di assumere la proprietà del file eseguendo i seguenti passaggi:
- Ottiene il token del processo corrente.
- Cerca il LUID (Locally Unique Identifier) per il privilegio SeTakeOwnershipPrivilege.
- Abilita il privilegio SeTakeOwnershipPrivilege nel token.
- Tenta di assumere la proprietà del file creando un nuovo oggetto FileSecurity per il file, impostando il proprietario sull'utente corrente e quindi impostando il nuovo controllo di accesso sul file.
- Se il programma incontra un'UnauthorizedAccessException, riprova finché la proprietà del file non è stata acquisita con successo o non viene generata un'eccezione che impedisce al programma di continuare.
Una volta assunta la proprietà, il programma termina e visualizza un messaggio che indica che ha terminato.
Utilizzo
- Clona o scarica il repository.
- Apri il progetto in Visual Studio.
- Compila il progetto.
- Apri il prompt dei comandi o il terminale e spostati nella posizione del file eseguibile.
- Esegui il comando con il percorso del file come argomento:
- OwnershipStealer.exe [percorso del file]
- Se non viene fornito alcun percorso del file, il programma ne richiederà uno.
Licenza
Questo progetto è concesso in licenza con la licenza MIT - vedi il file LICENSE per i dettagli.
Video dimostrativo (Proof-of-Concept)
https://youtu.be/sOcJp58sblM