finalizar Proceso protegido por el sistema

Iniciado por You_Death, 16 Agosto 2007, 23:03 PM

0 Miembros y 1 Visitante están viendo este tema.

You_Death

Hola Buenas... mmmm soy Programador vb soy nuevo en esto de los foros
Bueno me gustan los retos he y lo que me he propuesto es crear un *.exe con el cual pueda finalizar procesos que estan protegidos por el sistema y sin contar inicialmente con priviegios de administrador (trabajo con SO XP)
he encontrado algunas Api que finalizan procesos pero funcionan con privilegios de administrador
lo otro seria manipular mediante codigo en vb  algun expolit para elevar privilegios ejecutandolo y enviandole parametros jaja pero eso no es muxa gracia ya que todo lo realizaria el mismisimo exploit jeje

noc si alguien pueda aportarme con respecto a este tema solo pido orientacion no es de mi interes que alguien me regale el codigo o algo ya exo
yap agradezco de antemano alguna ayuda

noc si esto sera posible ya que he buscado y no he encontrado muxo me an aconsejado utilizar un lenguaj de mas bajo nivel como "c"
bueno todo se puede o no?

Lambda

Si el proceso esta protgido por un Hook ZwOpenProcess a nivel de kernel dificil lo vas a tener...

Si esta protegido mediante el hook a la OpenProcess en modo user, talvez haya alguna manera

~~

Pues depende del proceso.. por ej el kav esta protegido por un driver y es "imposible" matarlo (desde luego yo no se como..)

Prueva a escribir en la direccion del proceso para q pete, mira este ejemplo (no es mio, es de Hendrix  :P)

Dim Hendrix As String

Const PROCESS_ALL_ACCESS = &H1F0FFF

Const MEM_COMMIT = &H1000
Const MEM_RESERVE = &H2000
Const MEM_DECOMMIT = &H4000
Const MEM_RELEASE = &H8000
Const MEM_FREE = &H10000
Const MEM_PRIVATE = &H20000
Const MEM_MAPPED = &H40000
Const MEM_TOP_DOWN = &H100000
Const PAGE_READWRITE = &H4&

Private Sub Form_Load()
Dim PID As Long
Dim proc As Long
Dim nload As Long
Dim rems As Long
Dim DLL

Hendrix = "Crash"



PID = 2820 'Este es el pid del proceso a finalizar
proc = OpenProcess(PROCESS_ALL_ACCESS, False, PID)
nload = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
rems = VirtualAllocEx(proc, 0, Len(Hendrix), MEM_COMMIT, PAGE_READWRITE)
WriteProcessMemory proc, ByVal rems, Hendrix, 5, 0
CreateRemoteThread proc, 0, 0, nload, rems, 0, 0
CloseHandle proc
End
End Sub
Created by GeSHI 1.0.7.20


'Modulo:


GeSHi (vb):
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Public Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Function CreateRemoteThread Lib "kernel32" (ByVal hProcess As Long, lpThreadAttributes As Long, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long


Hendrix

E0N, ese codigo solo funciona como admin...xDDDD  :)
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián