Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: HJZR4 en 11 Enero 2008, 10:59 am



Título: [DUDA] Procesos Persistentes
Publicado por: HJZR4 en 11 Enero 2008, 10:59 am
En primer lugar, mensaje del buscador: "La consulta no es lo suficientemente específica. Favor de utilizar palabras más largas."

Mi pregunta es que como podria hacer una aplicacion, cuyo proceso sea persistente, es decir, que no se pueda cerrar terminando el proceso...


Saludos
Gracias


Título: Re: [DUDA] Procesos Persistentes
Publicado por: demoniox12 en 11 Enero 2008, 11:50 am
creando otro proceso que vigile a ese proceso y si lo cierran que se vuelva a abrir y asi.. que se vigilen mutuamente :)

salu2!


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Hendrix en 11 Enero 2008, 12:15 pm
O llamando a tu archivo services.exe

Un Saludo  ;)


Título: Re: [DUDA] Procesos Persistentes
Publicado por: vivachapas en 11 Enero 2008, 17:14 pm
nooo... q buena informacion!! yo antes hacia como dice demoniox12... pero como dice Hendrix lo probe y funciona! jaja
tengo q usar esto para algo (es mas... ya lo aplique a algunos programas) :D


SALUDOS


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Tughack en 11 Enero 2008, 20:19 pm
O llamando a tu archivo services.exe

Un Saludo  ;)

Vamos man eso no era un secreto? :P

Bueno ya k estamos, junten services.exe con algo del QueryUnload, investiguen los UnloadModes.

No digo mas  :-X

Salu2


Título: Re: [DUDA] Procesos Persistentes
Publicado por: byebye en 11 Enero 2008, 20:34 pm
pero QueryUnload no se ejecuta al matar el proceso.


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Tughack en 11 Enero 2008, 20:45 pm
pero QueryUnload no se ejecuta al matar el proceso.

Aver, estos son os UnloadModes:

vbFormControlMenu (0) 'The user chose the Close command from the Control menu on the form.
vbFormCode (1)           'The Unload statement is invoked from code.
vbAppWindows (2)        'The current Microsoft Windows operating environment session is ending.
vbAppTaskManager (3) 'The Microsoft Windows Task Manager is closing the application.
vbFormMDIForm (4)     'An MDI child form is closing because the MDI form is closing.
vbFormOwner (5)         'A form is closing because its owner is closing.

Tienes razon, pero no es para eso k sirve, me recuerdo k kuando lo probe por la primera vez, el windows no se apagava con el proceso interminable. Hay k dejarlo terminarse con el unloadmode 2.

Salu2


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Sai-To en 11 Enero 2008, 23:59 pm
saludos amigos, bueno disculpen mi interrupcion, mi ignorancia, y el fastidios!xD pero bueno, me podrian explcar algito de como hacerlo, osea como aplicarselo a algun form de VB6, que veo que es algo interesante, y tengo ganas de aprender!.
El metodo que posteo TugHack eso es lo que se usa? y me podrian dar un ejemplito si pueden! :-\

Salu2's! 8)


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Freeze. en 12 Enero 2008, 00:23 am
Ahi dios mio esto es muy facil. Tughack lo dijo todo (De hecho tampoco es nuevo) pero es bueno ;)


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Tughack en 12 Enero 2008, 00:24 am
Ahi dios mio esto es muy facil. Tughack lo dijo todo (De hecho tampoco es nuevo) pero es bueno ;)

Solo no es nuevo el tema...


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Freeze. en 12 Enero 2008, 00:30 am
Ahi dios mio esto es muy facil. Tughack lo dijo todo (De hecho tampoco es nuevo) pero es bueno ;)

Solo no es nuevo el tema...

Exacto y yo ahora tengo un proceso persistente aca que lo cierro y se abre todo porque les iba a mostrar el code pero luego quedaban ciegos...


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Tughack en 12 Enero 2008, 00:33 am
Citar
Exacto y yo ahora tengo un proceso persistente aca que lo cierro y se abre todo porque les iba a mostrar el code pero luego quedaban ciegos...

Lo dudo xD

salu2


Título: Re: [DUDA] Procesos Persistentes
Publicado por: ??? en 12 Enero 2008, 00:37 am
O llamando a tu archivo services.exe

Un Saludo  ;)

Ah??   :o

Esta info me la perdi... es decir que si yo creo un programa con VB y lo nombro "services" no va a dejar de ejecutarse??

es decir... el metodo de Controlarlo con otra aplicación o el de llamarlo de nuevo al ejecutarse un unload ya lo sabia...

pero nombrarlo "services"? tan facil como eso para mantenerlo vivo??  :o
O debo hacer algo extra???


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Tughack en 12 Enero 2008, 00:42 am
O llamando a tu archivo services.exe

Un Saludo  ;)

Ah??   :o

Esta info me la perdi... es decir que si yo creo un programa con VB y lo nombro "services" no va a dejar de ejecutarse??

es decir... el metodo de Controlarlo con otra aplicación o el de llamarlo de nuevo al ejecutarse un unload ya lo sabia...

pero nombrarlo "services"? tan facil como eso para mantenerlo vivo??  :o
O debo hacer algo extra???

Para k sea interminable si... solo eso, aun te recomiendo k hagas lo k dije con el queryunload o sino tu makina no se apaga.

Salu2

PD: No se puede terminar con el taskmgr ni en el dos prompt. Pero puedes terminarlo con por ejemplo el task viewer del PEiD xD


Título: Re: [DUDA] Procesos Persistentes
Publicado por: ??? en 12 Enero 2008, 00:55 am

Para k sea interminable si... solo eso, aun te recomiendo k hagas lo k dije con el queryunload o sino tu makina no se apaga.


Si la PC no se apaga creo que puedo utilizarlo para aquellas aplicaciones que no estan destinadas a ejecutarse en mi PC...  ;D

Salu2  ;)


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Tughack en 12 Enero 2008, 01:29 am
Se en el queryunload permites el unloadmode 2 ya se apaga el pc..

Salu2


Título: Re: [DUDA] Procesos Persistentes
Publicado por: ~~ en 12 Enero 2008, 01:36 am
Citar
Exacto y yo ahora tengo un proceso persistente aca que lo cierro y se abre todo porque les iba a mostrar el code pero luego quedaban ciegos...

Freeze, sabemos q programas mal, pero hasta el punto de dejarnos ciegos  :xD :xD :xD no, es broma ;) ;) . Hacer un proceso inmortal no tiene mucho misterio, tenemos varias opciones:

- Hacer un vigia, q lo mas elegante es inyectarnos en el explorer por ejemplo y comprovar con mutex si el ejecutable está funcionando. Dejo un ejemplo mio en C, q paso de hacer estas cosas en VB, q es muy complicado:
https://foro.elhacker.net/index.php/topic,186943.0.html

- Renombrar el proceso

- O lo q ha dicho Tughack.

Citar
saludos amigos, bueno disculpen mi interrupcion, mi ignorancia, y el fastidios!xD pero bueno, me podrian explcar algito de como hacerlo, osea como aplicarselo a algun form de VB6, que veo que es algo interesante, y tengo ganas de aprender!.
El metodo que posteo TugHack eso es lo que se usa? y me podrian dar un ejemplito si pueden! undecided

Salu2's! 8)

Google + vbAppTaskManager =

Código:
'Ejemplo para usarlas:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    'Sólo cerrar si es un mensaje de windows
    Select Case UnloadMode
    Case vbFormCode, vbAppTaskManager, vbAppWindows
        'ok, cerrar
    Case Else
        MsgBox "No se permite cerrar la aplicación.", vbInformation, "Mensajes"
        Cancel = True
        WindowState = vbMinimized
    End Select
End Sub

Y no se me ocurren mas metodos ahora mismo...
Salu2


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Hendrix en 12 Enero 2008, 02:36 am
Luego hay el metodo "profesional" que es desde Ring0, 2 opciones (que conozco), hookear la API que nos venga en gana para aprovecharnos o utilizar DKOM y eliminamos el proceso del Kernel. Eso se sale del VB, en VB no se puede llegar hay, pero seria lo mas profesional para realizar esta tarea  :)

Lo del services.exe no estoy seguro, pero creo que es porque el Windows a la hora de sacar el pid del proceso saca el del proceso del sistema llamado services y no lo cierra al ser un proceso de sistema, lo mismo pasa si lo renombras a smss.exe, csrss.exe.....Y lo que hace el proces explorer por ejemplo es matar el pid correcto, por eso se puede finalizar desde el proces explorer. No estoy seguro, pero creo que es asi.

Un Saludo  :)


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Mad Antrax en 12 Enero 2008, 15:12 pm
Lo del services.exe no estoy seguro, pero creo que es porque el Windows a la hora de sacar el pid del proceso saca el del proceso del sistema llamado services y no lo cierra al ser un proceso de sistema, lo mismo pasa si lo renombras a smss.exe, csrss.exe.....Y lo que hace el proces explorer por ejemplo es matar el pid correcto, por eso se puede finalizar desde el proces explorer. No estoy seguro, pero creo que es asi.

Exacto, llamar a un proceso services.exe consigues que no te cierren el proceso con las herramientas de Windows (TaskMngr, taskkill, etc...) pero con cualquier gestor de procesos podrán matarlo, como bien dicen con Process Explorer de Sysinternals lo haces sin despeinarte xD

Solución: Hooks a nivel de Kernel o Centinelas.


Título: Re: [DUDA] Procesos Persistentes
Publicado por: nhaalclkiemr en 12 Enero 2008, 16:39 pm
O llamando a tu archivo services.exe

Un Saludo  ;)

Jaja de esto ya no me acordaba ;D ...pero esto es para evitar un taskkill o desde el taskmgr.exe...desde otras aplicaciones os lo pueden cerrar facilmente...

Tambien lo puedes llamar lsass.exe, csrss.exe, smss.exe o winlogon.exe  ;D

estuve mirando una cosa que me pareció curiosa...prové a renombrar el típico regedit.exe (quien no sabe que es :xD) a esos nombres...y lo que me pareció raro es que con lsass.exe de nombre la ventana era del estilo clásico...es decir...aparte del tema que todos dejan de ser vulnerables a ser cerrados con aplicaciones de Windows pork se ejecutan de diferente forma???

Provad vosotros...a por ejemplo renombrar el block de notas (notepad.exe) a lsass.exe y ejecutarlo...aparece con la ventana como si fuese el estilo clásico...solo con lsass.exe con services.exe o cualkier otro se ejecuta de una manera normal...

ya se que esto no parece importante pero me intriga que Windows ejecute de diferente forma sus aplicaciones dependiendo de...su nombre??? :huh: :huh:

Weno a ver si alguien sabe algo al respecto...

Y por cierto...lo de que un proceso vigile a otro no sirve tampoco de mucho pork si pogo un bucle que intente matarlos los dos (casi) al mismo tiempo ya os cerraría los dos...

Lo mejor son hooks (VB pienso que se queda corto para eso)...en C sería hacer un rootkit que hookee ZwOpenProcess si mal no pienso...

Otros métodos es por ejepmlo usar el método que usaba el troyano del Sub7 para iniciarse...que es facil de implementar...aunke tiene sus consecuencias...y weno más que un proceso persistente sería que se volvería a ejecutar cada vez que se abriese un archivo ejecutable...

Saludos ;)


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Mad Antrax en 12 Enero 2008, 16:42 pm
Provad vosotros...a por ejemplo renombrar el block de notas (notepad.exe) a lsass.exe y ejecutarlo...aparece con la ventana como si fuese el estilo clásico...solo con lsass.exe con services.exe o cualkier otro se ejecuta de una manera normal...

El estilo XP de estas aplicaciones viene dado por un MANIFEST, que tiene que coincidir con el nombre original del ejecutable. Lo que estas haciendo con esto es desvincular el MANIFEST del notepad.exe con el ejecutable, por eso lo ves como 'Window Classic'


Título: Re: [DUDA] Procesos Persistentes
Publicado por: nhaalclkiemr en 12 Enero 2008, 16:58 pm
ah vale...es k me parecía raro...

Saludos ;)


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Tughack en 12 Enero 2008, 17:25 pm
Citar
Tambien lo puedes llamar lsass.exe, csrss.exe, smss.exe o winlogon.exe

No, son pocos los k se puede hacer eso, el services.exe y el winlogon.exe estoy seguro k si, pero el lsass se termina con taskill.

El estilo XP de estas aplicaciones viene dado por un MANIFEST, que tiene que coincidir con el nombre original del ejecutable. Lo que estas haciendo con esto es desvincular el MANIFEST del notepad.exe con el ejecutable, por eso lo ves como 'Window Classic'

No, no tiene k ver con eso, simplemente los procesos protegidos dan el estilo clasico al formulario, intenta crear un formulario en vb y llamale services.exe, no tendra el estilo xp (me refiero a la barra de titulo del formlario, ya k los controlos son por defecto estilo clasico).

Salu2

Salu2


Título: Re: [DUDA] Procesos Persistentes
Publicado por: nhaalclkiemr en 12 Enero 2008, 20:32 pm
Ah no sé...yo sabía que habia algunos que con taskkill no se daban terminado y pensaba que eran los mismos que no te deja terminar con el taskmgr.exe pero debes de tener razón...es k no me apetece probar pork sino después tengo que reiniciar :xD ...

Y sobre lo del estilo clasico solo me ocurrió renombrando a lsass.exe...renombrando a winlogon.exe, services.exe, csrss.exe, smss.exe sigue manteniendo el estilo normal...por eso me pareció raro...

entonces a k kedamos con lo de lsass.exe? aunke weno no creo k te puedas aprovechar eso para nada...

Saludos ;)


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Tughack en 12 Enero 2008, 21:27 pm
Hmm todos los k he probado kedan con estilo clasico.

Y no, no tienes k reniciar, hay formas de terminarlos, se usas PEiD (una tool indispensable para kualkier programador) los puedes terminar jeje

Salu2



Título: Re: [DUDA] Procesos Persistentes
Publicado por: nhaalclkiemr en 13 Enero 2008, 15:23 pm
Pues a mi solo con el lsass.exe...y prové con varios programas y todos igual...

Y yo a lo que me refería al reiniciar no es para terminarlos...es k al terminarlos el ordenador queda medio chungo pork al cerrar procesos importantes pierde algunas de sus funciones y muchas cosas no van y hay que reiniciar para recuperar la estabilidad...a eso es a lo que me refería...

por cierto he oido hablar varias veces del PEiD ese...donde puedo conseguirlo??
Me tiene pinta de ser una especie de dissasembler...weno yo uso el olly pero supongo que este será distinto...

Saludos ;)


Título: Re: [DUDA] Procesos Persistentes
Publicado por: Tughack en 13 Enero 2008, 15:38 pm
Pues a mi solo con el lsass.exe...y prové con varios programas y todos igual...

Y yo a lo que me refería al reiniciar no es para terminarlos...es k al terminarlos el ordenador queda medio chungo pork al cerrar procesos importantes pierde algunas de sus funciones y muchas cosas no van y hay que reiniciar para recuperar la estabilidad...a eso es a lo que me refería...

por cierto he oido hablar varias veces del PEiD ese...donde puedo conseguirlo??
Me tiene pinta de ser una especie de dissasembler...weno yo uso el olly pero supongo que este será distinto...

Saludos ;)

Una vez k no terminas un proceso k es realmente del sistema, no deberias pierder estabilidad en la sesion.

Kuanto al PEiD es un PE identifier, te dice con k esta programado o enpakado un ejecutable, te da el entry point, sección del entry point, primeros bytes (desde el entry point), etc..

Tiene task viewer con iconos y rutas, y para mi muy importante, tiene un genric unpacker :D

Web oficial (esta offline):

http://peid.has.it/

Se kieres te lo paso.

Salu2


Título: Re: [DUDA] Procesos Persistentes
Publicado por: nhaalclkiemr en 13 Enero 2008, 19:46 pm
Ok pasamelo! Enviamelo por MP si quieres...

gracias y saludos ;)

P.D.: Tughack agregame al MSN (si tienes) que así me podrías ayudar en algunos temas...weno actualmente no necesito ayuda en ningun tema importante pero me gustaría tenerte en el MSN...