elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Terminar Proceso usando funciones NTAPI
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Terminar Proceso usando funciones NTAPI  (Leído 2,256 veces)
dapz

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Terminar Proceso usando funciones NTAPI
« en: 21 Agosto 2017, 20:44 pm »

Usando NtOpenProcess para conseguir el handle del proceso NtTerminateProcess para acabarlo

Código
  1. #include <Windows.h>
  2. #include <winternl.h>
  3. #include <stdio.h>
  4.  
  5.  
  6. #pragma comment(lib, "ntdll.lib")
  7.  
  8. typedef struct _CLIENT_ID
  9. {
  10.     PVOID UniqueProcess;
  11.     PVOID UniqueThread;
  12. } CLIENT_ID, *PCLIENT_ID;
  13.  
  14. EXTERN_C NTSTATUS NTAPI NtOpenProcess(PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PCLIENT_ID);
  15. EXTERN_C NTSTATUS NTAPI NtTerminateProcess(HANDLE, NTSTATUS);
  16.  
  17. void main() {
  18. OBJECT_ATTRIBUTES oa;
  19. HANDLE hProc;
  20. ULONG pid;
  21. CLIENT_ID cid;
  22.  
  23.  
  24. printf("\n introduce pid-> ");
  25. scanf("%ld", &pid);
  26. cid.UniqueProcess = (HANDLE)pid;
  27. cid.UniqueThread = 0;
  28. InitializeObjectAttributes(&oa, NULL, 0, NULL, NULL);
  29. if(NT_SUCCESS(NtOpenProcess(&hProc, PROCESS_TERMINATE, &oa, &cid))) {
  30. NTSTATUS status = NtTerminateProcess(hProc, 1);
  31. if(NT_SUCCESS(status)) {
  32. MessageBoxW(0, TEXT("proceso terminado"), TEXT("test"), MB_ICONINFORMATION);
  33. }
  34. }
  35. NtClose(hProc);
  36.  
  37.  
  38.  
  39.  
  40. }


En línea

C/C++ ASM
Yuki

Desconectado Desconectado

Mensajes: 80


El error es una muestra de la incompetencia.


Ver Perfil WWW
Re: Terminar Proceso usando funciones NTAPI
« Respuesta #1 en: 21 Agosto 2017, 22:50 pm »

Muy interesante, supongo que como trabaja con ntdll debe ser más rápido que usar OpenProcess de Kernel32, para un servidor de rat de otro foro use varias funciones de NT para administrar los procesos (suspender, resumir, destruir, etc), como siempre una librería muy interesante.

Gracias por mostrarlo!


En línea

josue9243

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Terminar Proceso usando funciones NTAPI
« Respuesta #2 en: 28 Agosto 2017, 18:51 pm »

Kernel32 envía algunas funciones a NtDll, ejemplo CreateThread, termina en RtlCreateRemoteThread. (Serian como Acceso Directos, o funciones que ahorran parametros)

Paso por mínimo 4 funciones iguales creo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Terminar proceso y borrar ejecutable en BATCH
Scripting
GN1000 6 6,126 Último mensaje 12 Octubre 2007, 07:33 am
por Crazy.sx
Mejora en el Proceso de Desempacado usando Técnicas DBI
Ingeniería Inversa
karmany 0 1,713 Último mensaje 19 Julio 2012, 22:10 pm
por karmany
[Solucionado]Terminar un proceso en C
Programación C/C++
TopoJunior 9 10,173 Último mensaje 21 Febrero 2013, 01:18 am
por 85
Si instalas Java podrías terminar usando el buscador de Yahoo!
Noticias
wolfbcn 0 1,170 Último mensaje 26 Junio 2015, 01:49 am
por wolfbcn
Como iniciar y terminar un loop usando MFT?
Programación C/C++
otroWeyMas.nasm 0 3,722 Último mensaje 28 Abril 2023, 04:29 am
por otroWeyMas.nasm
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines