elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Crear una carpeta de acceso denegado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear una carpeta de acceso denegado  (Leído 3,833 veces)
FJDA


Desconectado Desconectado

Mensajes: 321


Ver Perfil
Crear una carpeta de acceso denegado
« en: 12 Octubre 2017, 22:44 pm »

hola, estoy intentado crear una carpeta como la de SYSTEM INFORMATION.



Hace poco hice una reparación de disco y se crearon unas carpetas

found.000
found.001
found.002

resulta que éstas carpetas son idénticas en comportamiento a las de 'system information'

La única manera de acceder a éstas carpetas es desde fuera del sistema. Ni en modo seguro se puede. O bien desde Linux, un disco de arranque o algo así.

Entonces tengo la curiosidad de cómo se crean estas carpetas.

He conseguido crear carpetas que deniegan el acceso con net y consola pero son fáciles de volver a hacerlas accesibles con simples comandos de consola.


gracias



Para anticiparme a posibles ejemplos. Esto no sirve:
Código
  1.        Dim fs As FileSystemSecurity = File.GetAccessControl(TextBox1.Text)
  2.        fs.AddAccessRule(New FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Deny))
  3.        File.SetAccessControl(TextBox1.Text, CType(fs, FileSecurity))

No permite acceder pero el cuadro que muestra no es el mismo.




He estado un buen rato investigando y parece un tema relacionado permisos y auditoría de una carpeta o directorio.

Al hacer clic en la carpeta found.000 con el botón derecho. pestaña SEGURIDAD/OPCIONES AVANZADAS.

Vemos las pestañas Permisos y Auditoría. Toqueteando un poco y activando todos los permisos para mí, conseguí abrir la carpeta y además volverla al estado de "acceso denegado".

Ahora es cuestión de aplicarlo usando NET  :-\.

Continuaré investigando...


« Última modificación: 13 Octubre 2017, 01:02 am por FJDA » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Crear una carpeta de acceso denegado
« Respuesta #1 en: 13 Octubre 2017, 11:08 am »

resulta que éstas carpetas son idénticas en comportamiento a las de 'system information'

La única manera de acceder a éstas carpetas es desde fuera del sistema. Ni en modo seguro se puede. O bien desde Linux, un disco de arranque o algo así.

Para poder acceder al directorio "C:\System Volume Information" y/o cualquier directorio cuyo propietario sea "SYSTEM" y donde el usuario no tenga permisos, simplemente debes tomar posesión y conceder los permisos necesarios al usuario actual. No es necesario "salirse del sistema operativo" y usar una distro de Linux, lo único que hace falta es ser un usuario con permisos de Administrador:



Para que veas lo sencillo que resulta acceder, con las herramientas command-line de Windows se haría de la siguiente manera:
Código
  1. @Echo OFF
  2.  
  3. Set "dirpath=C:\System Volume Information"
  4.  
  5. "Takeown.exe" /F "%dirpath%" /R /D S
  6. "Icacls.exe" "%dirpath%" /Grant "%USERNAME%":"F" /T

Y en VB.NET para concederle permisos de control total al usuario actual (suponiendo que este sea Administrador) lo harías de la siguiente manera:

Código
  1. Dim user As IdentityReference = WindowsIdentity.GetCurrent(TokenAccessLevels.AllAccess).User
  2. Dim acl As New FileSystemAccessRule(user, FileSystemRights.FullControl, AccessControlType.Allow)
  3.  
  4. Dim dirpath As String = "C:\System Volume Information"
  5. Dim ds As DirectorySecurity = Directory.GetAccessControl(dirpath)
  6. ds.ResetAccessRule(acl)
  7. ' Si deseas modificar el propietario...
  8. ' ds.SetOwner(user)
  9. '
  10. ' Si deseas modificar el grupo...
  11. ' Dim group As New SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, Nothing)
  12. ' ds.SetGroup(group)
  13. Directory.SetAccessControl(dirpath, ds)

Nota: es probable que para modificar el propietario por motivos de seguridad primero debas habilitar el privilegio de proceso SE_TAKE_OWNERSHIP_NAME:
( en realidad se requiere mucho más p/invoking, como implementar la estructura LUID_AND_ATTRIBUTES, llamar a la la función OpenProcessToken, LookupPrivilegeValue, etc, pero no quiero colapsarte con más enlaces a la API de Windows. )



He conseguido crear carpetas que deniegan el acceso con net y consola pero son fáciles de volver a hacerlas accesibles con simples comandos de consola.

Bueno, arriba ya te he demostrado que siendo usuario Administrador es posible tener acceso a cualquier archivo y directorio del sistema de archivos, por lo tanto creo que lo que intentas hacer no tiene mucho sentido en realidad. No puedes pretender crear un directorio que realmente sea inaccesible para un usuario Administrador (siempre que éste tengo un mínimo de conocimiento para saber como acceder).

saludos


« Última modificación: 13 Octubre 2017, 12:25 pm por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Acceso denegado al crear acceso directo desde consola de windows
Scripting
Lekim 0 3,537 Último mensaje 20 Marzo 2016, 16:38 pm
por Lekim
Eliminar una carpeta que te dice 'Acceso Denegado'
Windows
class_OpenGL 5 6,177 Último mensaje 25 Mayo 2016, 02:48 am
por HardForo
Acceso carpeta htdocs Xampp
Windows
seniorgare 4 4,349 Último mensaje 14 Noviembre 2017, 17:08 pm
por seniorgare
Carpeta sin acceso posible
Análisis y Diseño de Malware
:ohk<any> 5 5,228 Último mensaje 14 Diciembre 2017, 18:59 pm
por [Arg] $triker;
Al renombrar la carpeta con un batch me dice acceso denegado solo cuando hago algun cambio
Scripting
Nucleorion 0 3,027 Último mensaje 24 Mayo 2023, 15:17 pm
por Nucleorion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines