Copy Link
Add to Bookmark
Report

eMc2H 16 - Winsock en VB

eZine's profile picture
Published in 
eMc2H
 · 5 May 2022

by ^kurt^

Hola gente! Vamos a hablar un poquito de lo que es trabajar con winsock en VB. Realmente es algo sumamente interesante, por lo menos para mi, y vamos a ver como crear un programa de control remoto, o un troyano depende como lo quieran llamar, depende sus fines...

Por comenzar, tienen que saber que el control winsock no viene como predeterminado en la ficha General, asi que le dan boton derecho y ponen Componentes, allí buscan el control Microsoft Winsock 6.0 y lo agregan. Vamos a pensar como vamos a diagramar nuestro programa, y es realmente sencillo.

Pensemos en esto, hay una computadora que tiene ejecutado nuestro programa que responde a nuestros mensajes, esta persona (servidor) tiene un puerto abierto por nuestro programa y esta a la escucha. Bien, nosotros tenemos el programa cliente, que lo que hace es conectarse a una IP determinada, a un puerto determinado (el puerto del server claro esta).

Ahora, si nosotros programamos al servidor, para que cuando le llege data al puerto con un mensaje como "reiniciar!" reinicie la pc, no hay mucha ciencia!, asi podemos hacer con muchisimas cosas, reiniciarle la pc, apagarla, mandarle mensajes, verle los archivos, compartir musica, chatear, etc

Bien, ahora tienen que saber unos conceptos basicos del winsock.

Las propiedades mas usadas son:

winsock.connect IP, puerto
claro, nos conectamos a un IP y a un puerto determinado

winsock.senddata data
mandamos data al IP conectado

winsock.close
cerramos el puerto

winsock.localport
elejimos un puerto para despues ponerlo a la escucha

winsock.listen
ponemos un puerto a la escucha

winsock.accept
para aceptar las conecciones

winsock.getdata
resivimos lo que llega al puerto, aca podemos utilizar una variable para almacenar lo que nos llega.


Los eventos mas utilizados son:

winsock_Close()
cuando cerramos el winsock

Winsock_Connect()
al conectarse a un puerto

Winsock_ConnectionRequest (ByVal requestID As Long)
nos piden la petición de aceptarles la conección aca se puede responder con un winsock.Accept requestID

Winsock_DataArrival(ByVal bytesTotal As Long)
aca es cuando nos llega Data a nuestro puerto a la escucha algo tipico es declarar una variable y poner winsock.getdata Variable para obtener la data en la variable y apartir de allí comenzar a trabajar

Bien, como les habia comentado, las posibilidades de esto son muy grandes y estan en cada uno, lo que tienen que aprender a manejar bien son funciones porque no siempre los mensajes van a ser como "reiniciar!"

Podria ser que estamos haciendo un pequeño chat, y en el mensaje le tenemos que mandar, el el y otras cosas...

Ahi, vamos a tener que saber "dividir" de la Data el nick, el mensaje, etc Para esto vamos a utilizar funciones, como Mid, Left, Right, InStr, InStrRev, etc.

Aca les dejó un troyano apenas comenzado, que hace basicamente 2 cosas muy sencillas, reinicia o apaga la pc, y envia mensajes de error, etc.

Ademas, por como esta armado el troyano, no esta preparado para su autoejecución a la hora de reiniciar windows, fijense como les gustaria camuflarlo más si por registro, o en la carpeta de inicio de windows, todo eso queda a su eleción. Asi que espero que puedan continuar el codigo, el cual esta muy explicado, y llegar a hacer cosas interesantes. Lo pueden tomar como referencia para hacer otro tipo de cosas, espero que les sea de utilidad.

Piensen en aproximarse a las APIs de windows, las cuales nos permiten acceder a funciones propias de windows, como lo son reiniciar la pc, ya que por el propio VB no lo podriamos lograr. Con APIs se pueden hacer infinidad de cosas, como un ejemplo, Obtener el directorio de windows, obtener la versión de windows, obtener los recursos disponibles, estado de la memoria, espacio libre en el disco, etc Para esto, pueden ver paginas web buscando APIs o bien, utilizar una herramienta que viene junto al VB en en "Microsoft Visual Basic 6.0" --> "Herramientas de Microsoft Visual Basic" --> "Visor de texto API".

Combinandolo con winsock, esto puede llegar a ser realmente poderoso.

Escribanme para comentarios, sugerencias o dudas de este articulo y que tema les gustaria que exprese en la proxima enzine, me parece que base de datos estaria bueno, talvez convinandolo con winsock, algo de consultas pero atravez de la red seria interesante.

saludos, Kurt
Kurt@hackerss.com - Kurt@emch2.com

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT