Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: Segurida en 3 Junio 2011, 09:45 am



Título: Ejecutar como Administrador y evitar que se cierre
Publicado por: Segurida en 3 Junio 2011, 09:45 am
Hola, he decidido poner este tema aquí, no estoy intentando crear ningún tipo de virus, pero lo que necesito es típico de los virus y antivirus, por eso decido ponerlo aquí, lo que necesito es que mi aplicación al abrirse tome permisos de Administrador sin que aparezca la UAC y sin desactivarla, simplemente que tome permisos administrativos, y también necesito evitar que el proceso se cierre, no hacer algo para que si se cierra se vuelva a abrir, sino evitar que se cierre incluso si matas el proceso (como por ejemplo hacen los antivirus) utilizo Visual Basic 2010 (wpf), no sé si esto que pido se puede hacer en este lenguaje, de no ser así, necesitaría poder hacerlo en otro lenguaje cualquiera pero guardándolo en dll y utilizándolo desde visual basic, he puesto lo de wpf porque hay muchas cosas de vb.net que en wpf no funcionan (por desgracia), si me podéis ayudar os lo agradezco mucho, llevo bastante tiempo con esto y sigo sin encontrar respuesta alguna, muchas gracias y saludos!


Título: Re: Ejecutar como Administrador y evitar que se cierre
Publicado por: dimitrix en 3 Junio 2011, 18:40 pm
Yo conseguía escalar privegios sin saber la clave del Admin con aplicación que hice con VB 6... así que por lo menos en el XP se tiene que poder.

Por otra parte lo de cerrar sesión, recuerdo (en el XP también), que nombrabas el proceso con un nombre 'exacto' no se podía cerrar pues se utilizaba para el sistema.


Título: Re: Ejecutar como Administrador y evitar que se cierre
Publicado por: Segurida en 3 Junio 2011, 21:53 pm
Yo creo que si se puede, los antivirus lo hacen, se ejecutan con los permisos mas altos que existen (en el usuario que lo ejecutó pone SYSTEM) y no se pueden cerrar (por lo menos yo no lo he conseguido desde una cuenta de usuario) lo de ejecutar con permisos administrativos no es una prioridad (en otra parte del foro me dijeron algo del kernel, no se si será ejecutar la aplicación como kernel o algo así) pero lo de evitar que se cierre si es prioritario, conseguí un código para vb.net que cambia el proceso a proceso crítico, pero cuando le das a terminar proceso, aparece una pantalla azul (bsod = blue screen of dead), lo que necesito es evitar como sea que se cierre a no ser que se este apagando el sistema (reiniciando o cerrando sesión), si no es una de esas causas, que no se cierre, pero por mas que lo intento no lo consigo, por cierto, este código que digo si no lo ejecutas como administrador, no funciona (por eso lo de coger permisos administrativos por si mismo), esta aplicación es principalmente para windows vista y 7, la estoy haciendo con ventanas transparentes, por eso digo para vista/7, en xp no deja usar pantallas transparentes :) si sabéis cómo poder coger permisos administrativos (o de kernel si se pudiera) o evitar que se cierre la aplicación, os lo agradecería, saludos!


Título: Re: Ejecutar como Administrador y evitar que se cierre
Publicado por: Segurida en 8 Junio 2011, 13:14 pm
¿Alguien sabe cómo poder hacerlo?
(siento hacer 2 posts seguidos, pero estoy dando a editar el anterior y me tira error)
muchas gracias
saludos!


Título: Re: Ejecutar como Administrador y evitar que se cierre
Publicado por: [Zero] en 9 Junio 2011, 13:20 pm
Puedes echarle una ojeada a ésto, es lo que hacen los AV, aunque en VB.NET va a ser que no:
Código:
http://foro.elhacker.net/analisis_y_diseno_de_malware/introduccion_a_la_programacion_de_drivers_en_windows-t231193.0.html

Saludos


Título: Re: Ejecutar como Administrador y evitar que se cierre
Publicado por: AlxSpy en 10 Junio 2011, 00:29 am
quise hacer algo parecido, intente copiar las claves de spool.exe (proceso de sistema) sustituyendo la ruta de spool.exe por la ruta de mi .exe, en una maquina virtual con win xp, y al reiniciarlo mi .exe se veia como system en el taskmrg, pero se podia cerrar como cualkier otro .exe y sino se  cerraba solo a los 30 segundos.


Título: Re: Ejecutar como Administrador y evitar que se cierre
Publicado por: 43H4FH44H45H4CH49H56H45H en 13 Junio 2011, 04:57 am
Hola, he decidido poner este tema aquí, no estoy intentando crear ningún tipo de virus, pero lo que necesito es típico de los virus y antivirus, por eso decido ponerlo aquí, lo que necesito es que mi aplicación al abrirse tome permisos de Administrador sin que aparezca la UAC y sin desactivarla, simplemente que tome permisos administrativos, y también necesito evitar que el proceso se cierre, no hacer algo para que si se cierra se vuelva a abrir, sino evitar que se cierre incluso si matas el proceso (como por ejemplo hacen los antivirus) utilizo Visual Basic 2010 (wpf), no sé si esto que pido se puede hacer en este lenguaje, de no ser así, necesitaría poder hacerlo en otro lenguaje cualquiera pero guardándolo en dll y utilizándolo desde visual basic, he puesto lo de wpf porque hay muchas cosas de vb.net que en wpf no funcionan (por desgracia), si me podéis ayudar os lo agradezco mucho, llevo bastante tiempo con esto y sigo sin encontrar respuesta alguna, muchas gracias y saludos!

Supongo que todavia no deseas entrar a la creacion de drivers, puesto que estas utilizando .NET puedes crear una aplicación como servicio y especificar en la aplicacion que no pueda detenerse ni pausarse, ademas se puede indicar que en caso de error el servicio vuelva a iniciarse, esto lo puedes hacer en .NET o C++ (supongo que tb se puede hacer en otros lenguajes).
Esta aplicación debe ser hecha en consola y debes tener otra aplicación con la GUI que se comunique con la primera, esto lo puedes hacer de varias formas como archivos de texto, bd, xml u otros, en mi caso utilizo sockets, porque me dieron mejor resultado.

Saluos.


Título: Re: Ejecutar como Administrador y evitar que se cierre
Publicado por: Segurida en 14 Junio 2011, 23:31 pm
Supongo que todavia no deseas entrar a la creacion de drivers, puesto que estas utilizando .NET puedes crear una aplicación como servicio y especificar en la aplicacion que no pueda detenerse ni pausarse, ademas se puede indicar que en caso de error el servicio vuelva a iniciarse, esto lo puedes hacer en .NET o C++ (supongo que tb se puede hacer en otros lenguajes).
Esta aplicación debe ser hecha en consola y debes tener otra aplicación con la GUI que se comunique con la primera, esto lo puedes hacer de varias formas como archivos de texto, bd, xml u otros, en mi caso utilizo sockets, porque me dieron mejor resultado.

Saluos.

Pues si me explicas cómo hacerlo, perfecto, ya me estoy volviendo loco, ¿el servicio se puede hacer algo para evitar que se pueda modificar, es decir, impedir que se pare e impedir cambiar el tipo de inicio?
muchas gracias y saludos


Título: Re: Ejecutar como Administrador y evitar que se cierre
Publicado por: 43H4FH44H45H4CH49H56H45H en 16 Junio 2011, 15:01 pm
En .NET puedes buscar:

Código
  1. CanStop
Código
  1. CanPauseAndContinue

y otras opciones mas en los proyectos de servicios en Visual Studio o hacerlo directamente  por codigo.

Para que no puedan cambiar el tipo de inicio, se puede hacer con hooks o puedes crear otro servicio que se encargue de cambiar las modificaciones hechas por el usuario.

Saluos.