Autor
|
Tema: Critical Process. (Leído 2,630 veces)
|
APOKLIPTICO
Desconectado
Mensajes: 3.871
Toys in the attic.
|
Hola! Como va todo? Bueno, miren tengo un tema... Como hago para que un programa que tiene el RtlProcessIsCrital token activado no me haga un BSOD si lo quiero apagar sino q me diga como muchos de los critical processes de windows "Este proceso es critico para el sistema y no se puede terminar". Hay alguna manera? (Sin usar drivers para hookear el exitprocess). Un abrazo APOKLIPTICO PD: Es peligroso q ande haciendo guru meditation todo el tiempo, se te caga el kernel de nada (Comprobado en una VM).
|
|
« Última modificación: 20 Diciembre 2009, 18:23 pm por APOKLIPTICO »
|
En línea
|
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore ASUS M4A89GTD-PRO/USB3 2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T) Seagate 500 Gb XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Y no es mas sencillo que deje de ser critico? Se puede hacer, creo que haria falta inyectar code, a ver si tengo un rato y te hago un PoC, sino te pongo un code para que te hagas idea Option Explicit 'Based ON:http://hackhound.org/forum/index.php?topic=10953.0 'PoC By Karcrack 'KERNEL32 Private Declare Function OpenProcess Lib "KERNEL32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Const PROCESS_ALL_ACCESS As Long = (&HF0000 Or &H100000 Or &HFFF) 'NTDLL Private Declare Function ZwSetInformationProcess Lib "NTDLL" (ByVal hProcess As Long, ByRef ProcessInformationClass As Any, ByRef ProcessInformation As Long, ByVal ProcessInformationLenght As Long) As Long Private Declare Function RtlAdjustPrivilege Lib "NTDLL" (ByVal Privilege As Long, ByVal bEnablePrivilege As Long, ByVal bCurrentThread As Long, ByRef OldState As Long) As Long Private Const ProcessBreakOnTermination As Long = 29& Private Const SeDebugPrivilege As Long = 20& Public Sub DesCriticaliza(ByVal lPID As Long) Dim dwNull As Long If RtlAdjustPrivilege(SeDebugPrivilege, True, 0&, dwNull) = 0 Then Call ZwSetInformationProcess(OpenProcess(PROCESS_ALL_ACCESS, ByVal 0&, lPID), ByVal ProcessBreakOnTermination, 0&, &H4) End If End Sub
No puedo probarlo, no me apetece que me salga ahora un BSOD , pero debe ir....
|
|
« Última modificación: 20 Diciembre 2009, 19:23 pm por Karcrack »
|
En línea
|
|
|
|
APOKLIPTICO
Desconectado
Mensajes: 3.871
Toys in the attic.
|
El tema es que quiero que sea critico, para que sea unkillable, pero no quiero que me haga guru meditation cada vez q se cierra, quiero q de una advertencia o algo asi.
|
|
|
En línea
|
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore ASUS M4A89GTD-PRO/USB3 2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T) Seagate 500 Gb XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
El tema es que quiero que sea critico, para que sea unkillable, pero no quiero que me haga guru meditation cada vez q se cierra, quiero q de una advertencia o algo asi.
Vale, no entendi Pero el Administrador de Tareas no se fija en eso para mostrar la advertencia, solo en el nombre, asi que si renombras tu exe a winlogon.exe ya te advertira...De cualquier manera, mira el ejemplo de Cobein, el que hookea OpenProcess: http://foro.elhacker.net/empty-t237867.0.html
|
|
|
En línea
|
|
|
|
APOKLIPTICO
Desconectado
Mensajes: 3.871
Toys in the attic.
|
Buenisimo gracias! Eso me va a servir para entender como funciona el proceso de hooking de muchos av/fw, asi puedo unhookear las llamadas a las APIs...-
|
|
|
En línea
|
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore ASUS M4A89GTD-PRO/USB3 2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T) Seagate 500 Gb XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
|
|
|
|
|