miércoles, 25 de enero de 2012

TUTORIAL TROYANO EN VISUAL BASIC 6:

Lo primero por supuesto necesitareis el visual basic 6, para los que no lo tengais aquí os dejo un link, para su descargar (está en versión portable, genera .exe peso-4.57 mb) :

http://www.mediafire.com/?jo546wd8j63e26x

Bueno una vez tengamos el visual basic instalada ya estaremos a punto para poder trabajar.

Como en cualquier troyano de conexión inversa necesitaremos un no-ip y abrir puertos en el router. Parece un porceso complicado pero es bastante facil. Como hay mucha info en internet sobre crear un no-ip y abrir puertos aqui os dejo dos links de dos tutoriles para saber como hacerlo:

Tutorial no-ip:

http://www.gizlayer.com/threads/guia-como-crear-un-no-ip.129455/


Tutorial apertura de puertos del router:

http://www.adslzone.net/tutorial-37.2.html 


Una vez ya esté todo listo podemos comenzar a trabajar con nuestro troyano:


1-Abrimos el visual basic 6 portable:


 Le damos a Sandard EXE y comenzaremos un nuevo proyecto:

 
Este sera nuestro cliente ahora crearemos otra vez otro proyecto que sera nuestro server.


Los troyanos tienen dos programas el server, que es lo que se manda a la victima para infectarla y el cliente, que es el programa que utilizamos para conectarnos a la victima. En los troyanos de conexión inversa es la victima la que se conecta a nosotros, una vez se realiza la conexión, tendremos control total sobre ella.


Bueno, despues de esta aclaración necesaria. Es hora de agregar nuestro primer componente. Es el componente mas importante de todos, sin el es imposible realizar la conexión. Es el winsock en la barra de herramientas (a la derecha del programa) no aparece, por lo tanto tendremos que agregarlo:


-Le damos a project


-Vamos a components


-Y buscamos microsoft winsock control 6.0, lo marcamos y le damos a aceptar.






Al agregarlo, nos fijamos que aparece el icono en la barra de herramientas, le damos doble click para agregarlo al programa.



Ya tenemos listo el winsock, tendremos que agregarlo tanto en el cliente como en el servidor.

Solo nos queda una cosa antes de comenzar a programas, necesitamos poner un botón en el cliente y un label. Este botón nos servirá para poner a la escucha nuestro cliente, despues aclarare lo que es poner a la escucha.

Para agregarlo doble click sobre CommandoButon en la barra de tareas.


Donde pone Properties-Command1 (a la izquierda)Buscamos en la lista caption, veremos que pone Command1, esto podemos cambiarlo para cambiar el texto del boton. De caption le pondremos listen.

Para agregar el label le damos doble click en la barra de herramientas, es el icono que tiene una A.

Para cambiar el texto es igual, vamos a caption y lo cambiamos por Estado: .

Nos quedará así:





Ya está todo listo, podemos empezar a programar:

Empezaremos con el cliente (donde hemos agragado el botón y el label) .Le damos doble click sobre el boton que hemos agregado al programa. Veremos un espacio en blanco con el siguiente texto:


Private Sub Command1_Click()

End Sub



¿Que quiere decir esto?  Que todo lo que pongamos entre estas dos frases se realizara cuando demos click al botón, simple verdad?, por que creeis que se llama basic? xd

Bien ahora viene una parte fundamental, ponemos lo siguiente entre estas dos frases:

Private Sub Command1_Click()
Winsock1.Close
Winsock1.Listen
End Sub

Winsock1.close significa que se cierra el winsock1 y winsock1.listen es para poner el winsock1 en modo escucha.Estas acciones ocurren cuando se pulsa el botón


Porque queremos que se cierre winsock1?


Porque si no se cerrara, al darle al botón se pondria en modo escucha y si le dieramos otra vez saltaria un error porque ya estava en modo escucha probarlo si quereis.

Ya tenemos en winsock1 escuchando conexiones, ahora vamos a indicarle que puerto quiere que escuche.


Private Sub Form_Load()
winsock1.localport = el puerto que has abierto en el router
winsock1.remoteport = el puerto que has abierto en el router
End Sub

Esto quiere decir que cuando el programa se cargar ponga como localport el puerto que quieras y como remoteport el puerto que quieras

Solo nos queda una última cosa para el cliente. 

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept (requestID)
Label1.Caption = "conectado!!"
End Sub

Esto significa que cuando nos llege una petición para que alguien se conecte a nosotros la acceptemos (winsock1.accept(requestID)) Y cuando se conecte nos saldra en el label conectado!!  

Doy por concluida la primera parte de este tutorial, en el siguiente veremos la parte del server, aquí os dejo un resumen del código utilizado:

Private Sub Command1_Click()
Winsock1.Close
Winsock1.Listen
End Sub

Private Sub Form_Load()
Winsock1.LocalPort = 2424    'aquí poner el puerto que abristeis
Winsock1.RemotePort = 2424  'aquí poner el puerto que abristeis
End Sub


Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept (requestID)
Label1.Caption = "conectado!!"
End Sub












 

4 comentarios:

  1. Si teneis alguna duda no olvideis comentar!!

    ResponderEliminar
  2. Hola, estubo muy interesante el tutorial, gracias por compartir la info. ¿subiras la segunda parte proximamente?, estaria interesado en continuar con este tutorial ya que considero que esta muy bien explicado. Gracias.

    ResponderEliminar
  3. Ya vi la segunda parte hahaha fail mio por no buscar. Gracias por la info muy bien explicada. Te animo a seguir con el blog, seguire pasandome por aqui.

    ResponderEliminar
  4. donde esta la segunda parte????.. gracias!

    ResponderEliminar

Comentar: