OwnershipStealer
Este código C# es una aplicación de consola que intenta tomar posesión de un archivo especificado.
Lógica del código
El programa primero verifica si se especificó un nombre de archivo como argumento de línea de comandos y, si no, solicita al usuario que ingrese uno. Luego procede a intentar tomar posesión del archivo realizando los siguientes pasos:
- Obtener el token del proceso actual.
- Buscar el LUID (Identificador Único Local) para el privilegio SeTakeOwnershipPrivilege.
- Habilitar el privilegio SeTakeOwnershipPrivilege en el token.
- Intentar tomar posesión del archivo creando un nuevo objeto FileSecurity para el archivo, estableciendo el propietario como el usuario actual y luego aplicando el nuevo control de acceso en el archivo.
- Si el programa encuentra una UnauthorizedAccessException, reintentará hasta que la propiedad del archivo se haya tomado correctamente o se lance una excepción que impida que el programa continúe.
Una vez que se ha tomado la posesión, el programa finaliza y muestra un mensaje indicando que ha terminado.
Uso
- Clonar o descargar el repositorio.
- Abrir el proyecto en Visual Studio.
- Compilar el proyecto.
- Abrir el símbolo del sistema o terminal y navegar hasta la ubicación del archivo ejecutable.
- Ejecutar el comando con la ruta del archivo como argumento:
- OwnershipStealer.exe [file path]
- Si no se proporciona una ruta de archivo, el programa la solicitará.
Licencia
Este proyecto está licenciado bajo la Licencia MIT; consulte el archivo LICENSE para más detalles.
Video Prueba de Concepto
https://youtu.be/sOcJp58sblM