Foro de elhacker.net

Seguridad Informática => Hacking => Mensaje iniciado por: carlipus en 25 Noviembre 2009, 15:02 pm



Título: Posible hacer esto con NETCAT?
Publicado por: carlipus en 25 Noviembre 2009, 15:02 pm
Es posible, mediante netcat acceder al router ajeno?


Es decir a través de haber conseguido la shell de windows mediante netcat, poder entrar al router desde esa shell, no se si me explico?


A ver si alguien contesta


Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 25 Noviembre 2009, 15:32 pm
si te refieres a esto:

TU --- Router--- INTERNET --- Router --- Víctima

y tu tienes una shell en Víctima, y quieres acceder a la conf. de su roter, si se puede, haz un ipconfig y ahí verás la dirección de la puerta de enlace, prueba a acceder mediante por telnet o si no en el puerto 80


Título: Re: Posible hacer esto con NETCAT?
Publicado por: nacho87 en 25 Noviembre 2009, 16:00 pm
Si no puedes por telnet y no quieres andar con netcat conectando al puerto 80 e interpretar el resultado (me refiero a  por ejemplo GET / HTTP/1.0 -ENTER- -ENTER-)  puedes abrir netcat en otro puerto accesible desde fuera y redireccionar las conexiones al puerto 80 de la direccion del gateway. Por ejemplo si es accesible desde fuera de la red el puerto 4321 y el gateway es 192.168.0.1:

Código:
nc --tunnel=192.168.0.1:80 -p 4321

y desde tú navegador accedes a 70.80.70.80:4321 suponiendo que la ip externa de la victima es 70.80.70.80.

Espero que te ayude! saludos!


Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 25 Noviembre 2009, 16:24 pm
En la primera opción que habeis dado, en cuanto al ipconfig, lo hize, pero claro hay te da la ip de red, es decir 192.168.xxxx entonces con esa ip no hago nada ya que no puedo intentar acceder por el puerto 80. Y si desde dentro de la shell obtenida con netcat hago nc iprivada 23 tampoco va..!


Y la segunda opción no la entendí, la opción del tunel, a ver si me puedes explicar mejor, gracias.


Título: Re: Posible hacer esto con NETCAT?
Publicado por: nacho87 en 25 Noviembre 2009, 16:41 pm
Prueba a hacer desde dentro de la shell de la victima lo siguiente (suponiendo que la ip interna del router es 192.168.0.1:
Código:
nc 192.168.0.1 80
GET / HTTP/1.0
(ENTER)
(ENTER)

Eso te devería devolver el codigo fuente de la pagina de configuracion del router (suponiendo que esta sin contraseña)

Lo del tunnel es una opcion de netcat (al menos el que tengo yo en linux) y permite redireccionar las conexiones que llegan a un puerto a otra ip:puerto.

Desde fuera de la red no es normal que puedas acceder a la pagina de configuración del router pero si hay redireccionados otros puertos a ese ordenador puedes poner un netcat a la escucha en alguno de esos puertos haciendo que redireccione las conexiones que llegan alli al puerto 80 del router (desde dentro de la red) por lo que si accedes desde el navegador a la  ip externa de la victima en el puerto que esta preparado para redireccionar te llevara a la configuracion del router desde dentro de la red.

El esquema podria ser algo asi:

                              | GATEWAY |p.80--
TU PC --------------------\                   \-----VICTIMA
                                     |-----|p.4321l/

Vale, el esquema ha quedado mu cutre, luego me curro algo mejor.jejeje


Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 25 Noviembre 2009, 16:45 pm
hombre, te da la máscara de red, la ip del gateway, la del pc...

(http://img80.imageshack.us/img80/5890/pantallazo5s.png)

te debes de conectar a la que pone puerta de enlace predeterminada
para saber que puertos tiene abierto haz un escaneo simple, ya te digo que lo común suele ser el de telnet y el 80


Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 25 Noviembre 2009, 16:52 pm
ya se que he de conectarme a la puerta de enlace, que es la del router.

Primero debo de mandarle por netcat el archivo Netcat para poder conectar por nc a puerto 80, pero no consigo hacerlo, el windows vista...no me deja mandarle el archivo...


Si lo consigo mandarle el nc, probaré a poner nc ip puerta de enlace 80, a ver que me sale, se supone que por hay podría entrar al router no?


Y en cuanto al tunnel es la primera vez que lo oigo, y sigo sin entenderlo que burro soy ché!



Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 25 Noviembre 2009, 16:57 pm
para pasar el ejecutable del netcat al Server, usa un Ftp, es lo más fácil ya que en windows tienes un cliente Ftp por defecto

si no pudieses, si no recuerdo mal al cliente Telnet de windows le puedes indicar a que puerto conectarte, algo como:

Código:
# telnet ip_pasarela 80

prueba a ver, recuerda antes de activar el echo para que sea más "natural" todo.

Lo de los túneles.. no tiene mucho misterio, tu te conectas desde fuera a la Víctima y ella redirecciona esa conexión a otro PC, en este caso a su router, es a esto a lo que se llama tunel


Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 25 Noviembre 2009, 17:14 pm
Si lo intento pasar por FTP pero me dice acceso denegado, la shell es de un windows vista y no me deja mandar archivos por Ftp, entonces no puedo probar nc iprouter 80. Lo que haré será telnet ip 80 a ver si funciona.


He probado con mi router lo de nc iprouter 80 y no aparece abolutamente nada, puedo escribir y tal pero no me sale nada ?


Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 25 Noviembre 2009, 17:20 pm
si eres admin de la máquina  deberías de poder escribir en cualquier sitio.. :S de todas formas, tu desde la víctima te tienes que conectar al exterior para COGER el nc.exe, no al contrario (create un mini FTP en tu PC,o usa uno de esos anonimos...)

con:
Código:
#nc iprouter 80
sólo estableces la conexión, después debes seguir el protocolo HTTP y sus métodos para conseguir algo, en este caso podría valer con lo que te comentó el compañero:
Citar
GET / HTTP/1.0
(ENTER)
(ENTER)

que te sirve para pedirle al Servidor el archivo por defecto (suele ser index.html) mediante el protocolo HTTP en su versión 1.0


Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 25 Noviembre 2009, 17:27 pm
Lo estoy probando con mi router, ya que en estos momentos no puedo tener acceso al "pc victima" lo probaré más tarde. Lo del ftp lo hago como tu dices, pero dice acceso denegado.


Y en cuanto a poner una vez echo el nc ip 80(lo hago con mi ruter), pongo lo que dijisteis:

GET / HTTP/1.0
enter+enter


y no sale nada



Título: Re: Posible hacer esto con NETCAT?
Publicado por: nacho87 en 25 Noviembre 2009, 18:17 pm
supongo que no te saldra nada porque tiene un basic auth para logeate aunque aun asi te deberia salir un forbiden o algo no?

cuando entras con el navegador al router te funciona bien no?


Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 25 Noviembre 2009, 20:22 pm
si cuando entro al navegador me sale bien pongo la pass y tal y entra, pero por ms dos pongo eso y no sale nada de nada, no se si es que hago algo mal


Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 25 Noviembre 2009, 20:38 pm
Debería de "escupirte" algo... como te comentan, la mayoría de los routers se basan en basic auth de http para "proteger" el acceso al router, y al intentar conectarte sin hacerlo de la forma correcta con  este método te debería dar error... te pego una salida de lo que debería salir, por cierto, escanea los puertos del router a ver que más tiene abierto, en el pantallazo verás que al mio se puede acceder de 4 formas diferentes, aunque por consola la más cómoda es mediante telnet:

(http://img682.imageshack.us/img682/7997/pantallazow.png)


Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 25 Noviembre 2009, 22:56 pm
Bueno hize un escaneo a mi router,

20/tcp   closed ftp-data
21/tcp   open   ftp      VxWorks ftpd 5.4.2
|_ FTP bounce check: bounce working!
23/tcp   closed telnet
80/tcp   open   http     Intoto httpd 1.0
|_ HTML title: 401 Unauthorized
|  HTTP Auth: HTTP Service requires authentication

|    Auth type: Basic, realm = WRT54G

|_   HTTP server may accept user="admin" with blank password for Basic authentication
1723/tcp open   pptp?



Y cuando hago nc ip 80 y lo de GET... nada no me tira nada, raro no?


Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 25 Noviembre 2009, 23:10 pm
pues ahí mismo tienes la respuesta, requiere autenticación..lo suyo es que eso mismo te lo ponga al conectarte, pero bueno, supongo que dependerá de la implementación y tal


Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 25 Noviembre 2009, 23:25 pm
vale, entonces si requiere autentificación no se puede mediante nc ip 80 verdad? la otra posibilidad sería la de mirar si se puede hacer tunneling ??


Título: Re: Posible hacer esto con NETCAT?
Publicado por: nacho87 en 26 Noviembre 2009, 09:22 am
Creo que netcat no soporta basi auth pero hay otros programas que si lo hacen. En linux tienes GET y POST por ejemplo o con curl también se podrían hacer. En windows también habrá otros progamas con los que se pueda hacer, es cuestión de buscar.

saludos!


Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 26 Noviembre 2009, 13:30 pm
soportar lo soporta, aunque es un poco engorroso, los sitios que requieren Basic Auth simplemente codifican en Base64 las credenciales, de forma que para acceder a los recursos del router por el 80 bastaría con algo como esto:

Código:
# perl -MMIME::Base64 -le "print encode_base64(shift)" "username:password"
dXNlcm5hbWU6cGFzc3dvcmQ=

# cat basic_auth
GET / HTTP/1.0
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

# cat basic_auth | nc xx.xx.xx.xx 80
...

Es un poco engorroso y rudimentario,  no lo he probado demasiado pero funcionar funciona





Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 26 Noviembre 2009, 13:36 pm
pero eso es desde linux, pero desde windows?

Creo que Curl si está para windows habrá que ver aver..!


Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 26 Noviembre 2009, 13:40 pm
perl es un lenguaje interpretado, te bajas el intérprete de win y a correr... y si no sacas el base64 de las mil y una páginas online que te lo codifican,y si no lo haces a mano, y si no.......



Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 26 Noviembre 2009, 13:54 pm
Ok, tendría que descargar el intérprete Perl al "pc victima"!!


Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 26 Noviembre 2009, 14:04 pm
Citar
y si no sacas el base64 de las mil y una páginas online que te lo codifican,y si no lo haces a mano, y si no.......
pero vamos, antes de poder base64arlo, deberás averiguar el user y el pass del router


Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 26 Noviembre 2009, 14:25 pm
si la pass del router la se, de todas formas no podre hacerlo en un pc victima.


El nc ip 80 está claro que no funciona, entonces la única posibilidad es instalar el perl en el pc víctima por lo que veo, cierto?


Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 26 Noviembre 2009, 14:40 pm
jajajja, estoy empezando a pensar que o no me explico bien o que pasas de lo que digo... :laugh: :laugh:

por favor leete BIEN y DETENIDAMENTE el post donde explico lo de auth basic


Título: Re: Posible hacer esto con NETCAT?
Publicado por: carlipus en 26 Noviembre 2009, 14:51 pm
Código:
# perl -MMIME::Base64 -le "print encode_base64(shift)" "username:password"
dXNlcm5hbWU6cGFzc3dvcmQ=

# cat basic_auth
GET / HTTP/1.0
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

# cat basic_auth | nc xx.xx.xx.xx 80
...


vale, todo este proceso debería hacerlo desde la shell de la victima, pero para eso necesita ese ordenador Perl


Título: Re: Posible hacer esto con NETCAT?
Publicado por: kamsky en 26 Noviembre 2009, 15:17 pm
jajaja, en fin, te lo pongo una vez más...

Citar
perl es un lenguaje interpretado, te bajas el intérprete de win y a correr... y si no sacas el base64 de las mil y una páginas online que te lo codifican,y si no lo haces a mano, y si no.......