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

 

 


Tema destacado: Top 20 herramientas Hacking más populares de 2020


+  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 1,389 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 5,238 Ú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,064 Último mensaje 19 Julio 2012, 22:10 pm
por karmany
[Solucionado]Terminar un proceso en C
Programación C/C++
TopoJunior 9 8,936 Último mensaje 21 Febrero 2013, 01:18 am
por 85
Si instalas Java podrías terminar usando el buscador de Yahoo!
Noticias
wolfbcn 0 635 Último mensaje 26 Junio 2015, 01:49 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines