Autor
|
Tema: Ayuda obtener permisos administrador (Leído 12,169 veces)
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Buenas gente, estaba escribiendo algún malware y llegado el momento de instalarse necesito que se copie en el directorio "C:\Windows" y necesito permisos de root, he estado buscando bastante por google, y parece que hay funciones para unix, a través de las cuales puedes adquirir el root para ejecutar el programa, yo solo quiero que mi programa al ejecutar tenga permisos de root para poder copiarse en ese directorio, ahora estoy trabajando el C++, soy nuevo pero me adaptaré rápido espero xD. Confío en que sepáis algo sobre el tema, toda ayuda es bienvenida. Edito: He estado mirando cosas para hacerlo, quizás con chmod() podría eliminar privilegios del directorio en cuestión. Pero seguramente necesite permisos para usarla no se si windows me pondra en el .exe la opción de correr como administrador, estaría bien. Edito: No entiendo, si tengo este código: #include <sys/types.h> #include <sys/stat.h> #include <io.h> #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <windows.h> using namespace std; int main() { int permisos; permisos=_chmod("C:\\Users\\...\\programa.exe",_S_IWRITE); if(permisos==-1) { printf("Error al dar permisos al archivo."); } else { printf("Éxito al dar permisos al archivo."); } system("move programa.exe C:\\Windows"); getchar(); return 0; }
No entiendo porque para poder ejecutar el move hacia el directorio necesito clicar botón derecho en el programa y ejecutar como administrador, eso ya lo tenía sin hacer nada, lo que quiero es que no tengas que dar al botón derecho, que directamente el programa al darlo click te diga que va a ser ejecutado como administrador (aunque eso solo la primera ejecución luego estaría ya copiado y no necesitaría permisos). Se supone que le di permisos de escritura al archivo, y me los concedió entonces ¿por qué tengo que ejecutarlo como administrador para hacer el move? Yo quiero que salga igual que cuando vamos a instalar un programa nos pide permisos, (no se puede correr sin los permisos), y que cuando se instale ya no necesite pedir permisos más, como cualquier programa que instalamos vamos. Edito: He encontrado esto, ¿cómo debería aplicarlo al código para que me funcionara? http://msdn.microsoft.com/en-us/library/bb756929.aspxTambién mediante makefiles se puede incrustar el manifiesto: http://msdn.microsoft.com/es-es/library/ms235591.aspxSaludos.
|
|
« Última modificación: 21 Septiembre 2014, 03:06 am por Kaxperday »
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
patilanz
Desconectado
Mensajes: 481
555-555-0199@example.com
|
Hola yo tambien quiero hacer lo mismo para el mismo fin He encontrado esto y ahora lo voy a probar : http://www.codeease.com/force-windows-form-application-to-run-as-administrator-on-windows-7.html@Edit: Vale he encontrado la respuesta: He visto que si en "Habilitar Control de cuentas de usuario(UAC)" lo cambias por No luego al abrir el siguiente codigo: ofstream file("c:\\test.txt"); file << "hola :)"; if (file.good()) printf_s("nice"); else printf_s("bad");
Siempre muestra nice aunque no crea el archivo. Sabéis porque y que hace exactamente esta opción? Un saludo
|
|
« Última modificación: 21 Septiembre 2014, 19:39 pm por patilanz »
|
En línea
|
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Vaya, yo uso codeblocks y no me aparece esa opción por ninguna parte, que editor usaste?
Aún así espero que haya alguna alternativa para codeblocks, aunque no lo encuentro por ninguna parte, lo que quiero es embeber el manifest dentro del ejecutable.
Saludos.
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
Buenas gente, estaba escribiendo algún malware y llegado el momento de instalarse necesito que se copie en el directorio "C:\Windows" y necesito permisos de root, he estado buscando bastante por google, y parece que hay funciones para unix, a través de las cuales puedes adquirir el root para ejecutar el programa, yo solo quiero que mi programa al ejecutar tenga permisos de root para poder copiarse en ese directorio, ahora estoy trabajando el C++, soy nuevo pero me adaptaré rápido espero xD.
Lo que quieres hacer no lo vas a conseguir de una forma "legal". Es decir, tu pretendes que tu código se instale en el ordenador y empiece a toquetear cosas del sistema operativo. Si hubiese una forma clara de saltarse las protecciones entonces éstas no tendrían sentido. Si quieres conseguir acceso root "a escondidas" vas a tener que lidiar con posibles fallos de seguridad del sistema operativo. Desde luego no esperes que una función tipo "chmod" te de acceso... eso sería demasiado sencillo. Piensa que no puedes cambiar los permisos de acceso de un recurso si no tienes unos privilegios mínimos, al igual que no puedes cambiar la cerradura de una puerta si no la abres antes.
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
Lo que quieres hacer no lo vas a conseguir de una forma "legal". Es decir, tu pretendes que tu código se instale en el ordenador y empiece a toquetear cosas del sistema operativo. Si hubiese una forma clara de saltarse las protecciones entonces éstas no tendrían sentido. Si quieres conseguir acceso root "a escondidas" vas a tener que lidiar con posibles fallos de seguridad del sistema operativo.
Desde luego no esperes que una función tipo "chmod" te de acceso... eso sería demasiado sencillo. Piensa que no puedes cambiar los permisos de acceso de un recurso si no tienes unos privilegios mínimos, al igual que no puedes cambiar la cerradura de una puerta si no la abres antes.
En realidad en versiones modernas de Windows lo que el propone mediante el manifest se puede hacer perfectamente, no es saltar ninguna proteccion, es lo que se ve cuando uno intenta ejecutar un programa y sale el pop-up por fuera del escritorio pidiendo autorizacion (y que pongas el nombre de usuario y clave si no esta loggeado un administrador).
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
En realidad en versiones modernas de Windows lo que el propone mediante el manifest se puede hacer perfectamente, no es saltar ninguna proteccion, es lo que se ve cuando uno intenta ejecutar un programa y sale el pop-up por fuera del escritorio pidiendo autorizacion (y que pongas el nombre de usuario y clave si no esta loggeado un administrador).
Ya, pero ese mecanismo, por el simple echo de ser legal, implica que al usuario, salvo que haya desactivado las notificaciones, recibirá un aviso pidiendo su autorización para permitir que el programa realice cambios en ese directorio... y no se, no creo que sea la filosofía de un malware... bueno, salvo que el programa tenga apariencia legal y el malware actúe en segundo plano, pero aún así creo que no es la idea original.
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
Ya, pero ese mecanismo, por el simple echo de ser legal, implica que al usuario, salvo que haya desactivado las notificaciones, recibirá un aviso pidiendo su autorización para permitir que el programa realice cambios en ese directorio... y no se, no creo que sea la filosofía de un malware... bueno, salvo que el programa tenga apariencia legal y el malware actúe en segundo plano, pero aún así creo que no es la idea original.
El hecho es que el usuario pide usar un manifest para no tener que forzar manualmente que se ejecute su programa como administrador y esa es una forma "legal" de hacerlo. Pero seguramente necesite permisos para usarla no se si windows me pondra en el .exe la opción de correr como administrador, estaría bien. No entiendo porque para poder ejecutar el move hacia el directorio necesito clicar botón derecho en el programa y ejecutar como administrador, eso ya lo tenía sin hacer nada, lo que quiero es que no tengas que dar al botón derecho, que directamente el programa al darlo click te diga que va a ser ejecutado como administrador (aunque eso solo la primera ejecución luego estaría ya copiado y no necesitaría permisos).
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
El hecho es que el usuario pide usar un manifest para no tener que forzar manualmente que se ejecute su programa como administrador y esa es una forma "legal" de hacerlo.
Un programa que requiera privilegios de administrador en los windows actuales implica mostrar al usuario un mensaje en el que se le pide autorización. Obviamente el programa puede indicar en el manifiesto que necesita de antemano esos permisos, pero no va a evitar que al usuario le aparezca el correspondiente aviso. No estoy entrando en detalles acerca de si esta información puede ir en el manifiesto o no... simplemente remarco que las formas legales de hacer esto conllevan el inconveniente del mensaje al usuario... y que ese puede ser un efecto indeseado a la hora de desarrollar un programa tipo troyano, virus, spyware, etc. Si en vez de malware estuviese desarrollando una calculadora, por ejemplo, no habría echo ningún comentario al respecto de los permisos.
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
Un programa que requiera privilegios de administrador en los windows actuales implica mostrar al usuario un mensaje en el que se le pide autorización. Obviamente el programa puede indicar en el manifiesto que necesita de antemano esos permisos, pero no va a evitar que al usuario le aparezca el correspondiente aviso. En realidad en versiones modernas de Windows lo que el propone mediante el manifest se puede hacer perfectamente, no es saltar ninguna proteccion, es lo que se ve cuando uno intenta ejecutar un programa y sale el pop-up por fuera del escritorio pidiendo autorizacion (y que pongas el nombre de usuario y clave si no esta loggeado un administrador).
No estoy entrando en detalles acerca de si esta información puede ir en el manifiesto o no... simplemente remarco que las formas legales de hacer esto conllevan el inconveniente del mensaje al usuario... y que ese puede ser un efecto indeseado a la hora de desarrollar un programa tipo troyano, virus, spyware, etc. No entiendo porque para poder ejecutar el move hacia el directorio necesito clicar botón derecho en el programa y ejecutar como administrador, eso ya lo tenía sin hacer nada, lo que quiero es que no tengas que dar al botón derecho, que directamente el programa al darlo click te diga que va a ser ejecutado como administrador (aunque eso solo la primera ejecución luego estaría ya copiado y no necesitaría permisos). Yo quiero que salga igual que cuando vamos a instalar un programa nos pide permisos, (no se puede correr sin los permisos), y que cuando se instale ya no necesite pedir permisos más, como cualquier programa que instalamos vamos. Si en vez de malware estuviese desarrollando una calculadora, por ejemplo, no habría echo ningún comentario al respecto de los permisos. El hecho es que existe una forma "legal" de hacerlo y es la que propuso el mismo usuario.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
Bueno entonces nos abstendremos de comentar cosas que nos parecen oportunas, como detalles que puedan pasar desapercibidos, y nos ceñiremos única y exclusivamente a la duda que tenga el usuario. ¿es eso?
Me parece totalmente surrealista esta conversación.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
permisos de administrador
Dudas Generales
|
luisaranda
|
7
|
4,661
|
25 Mayo 2010, 20:10 pm
por Novlucker
|
|
|
permisos de administrador reg bat
« 1 2 »
Scripting
|
asdexiva
|
11
|
21,109
|
30 Junio 2013, 13:12 pm
por Pirat3net
|
|
|
AYUDA! Cuentas de usuario y Permisos de administrador.
« 1 2 »
Windows
|
biliterror
|
12
|
9,272
|
8 Julio 2013, 00:07 am
por marianrdev
|
|
|
Como obtener todos los permisos de administrador en Windows
Windows
|
MrAK
|
0
|
2,995
|
7 Noviembre 2015, 19:13 pm
por MrAK
|
|
|
Obtener archivo SAM y permisos de administrador
Windows
|
ELAGUMDQ
|
1
|
3,155
|
17 Noviembre 2016, 11:05 am
por bettu
|
|