Normas del foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Diciembre 04, 2008, 04:22:19
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Phreaking, Hacking y Seguridad  |  HacK GeneraL (Moderadores: |Shadow|, ManCuerTex (ViPeR))  |  Tema: Como hacer Tunneling con HTTPTUNNEL. ( "Como brincar firewalls" ) 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Como hacer Tunneling con HTTPTUNNEL. ( "Como brincar firewalls" )  (Leído 4933 veces)
el-hacker.net
Visitante
« en: Febrero 17, 2004, 05:57:26 »

juegos gratis
HTTPTUNNEL


HTTPTUNNEL
.Gnu.httptunnel

PROTOCOLOS
.HTTP.1.1

FAQ DE HTTPTUNNEL
.FAQ.de.httptunnel

HTTPTUNNEL -H --HELP
.htc.-h.--help
.hts.-h.--help

PUERTOS
.Lista.de.puertos.comunes
.Lista.de.aplicaciones.relacionadas.con.puertos

REFERENCIAS
.Referencias

GR33TS
.gr33ts




HTTPUNNEL
<=======>

.Gnu.httptunel

HTTPTUNNEL crea una conexion virtual bidireccional tuneleada
en peticiones de HTTP.   Las peticiones de HTTP  pueden  ser
enviadas atraves de un proxy.

Si  por  ejemplo  te  encuentras  detras  de un firewall que
unicamente te permite ver paginas de internet (puerto 80)  y
no te deja correr otros servicios como Kazaa, MSN Messenger,
IRC,  Telnet,  SSH.    Con  esta  herramienta  podras  pasar
diferentes  conexiones  atravez  del  mismo  puerto  80.

Para lo siguiente necesitaras una maquina externa  la cual
usaras como tunel para conectarte a la maquina destino. Ej.

Quieres  conectarte a un canal  de IRC  pero en tu red esta
bloqueado  el  puerto  6667  necesario  para la conexion al
servidor irc.red-latina.org...

A localhost cliente (htc)
B maquinatunel servidor (hts)
6667 puerto de IRC
irc.red-latina.org servidor de IRC

A:6667 <--> FIREWALL -> X

El firewall bloquea la salida por ese puerto.

A:80 <==> FIREWALL <==> B:80 <--> irc.red-latina.org:6667

La conexion  192.168.0.2:80  sale por el puerto 80 permitido
por el firewall dirigido a la conexion B:80  quien recibe la
informacion de irc.red-latina.org y la mete en peticiones de
HTTP para ser pasadas atravez del puerto 80.

La forma de transmision por puerto 80 estan reguladas por el
protocolo  HTTP,   por  lo  que  es  necesario   hacerle  un
encapsulamiento   a   la   informacion   de manera  que  sea
compatible con este protocolo.

El encapsulado es llevado a cabo en la maquina tunel (B)  y
es leido  por la maquina del cliente (A), es por eso que se
usan los programas htc (cliente) (A) y hts (servidor) (B)

Por parte del servidor es necesario correr:
$ hts -F irc.red-latina.org:6667 80

Por parte del cliente correr:
$ htc -F 80 B:80





PROTOCOLOS
<========>

.HTTP

El protocolo HTTP 1.1 Hyper Text Transfer Protocol (RFC2616)
utilza  metodos  de  peticiones  llamados HTTP request,  una
peticion de URL, encabezado y contenido. HTTP 1.1 define los
siguientes metodos:

* GET: Obtiene recurso identificado por la peticion de URL
* HEAD: Obtiene encabezado especificado en peticion de URL
* POST: Manda datos al servidor
* PUT: Guarda un recurso en la peticion de URL
* DELETE: Borra recurso identificado por la peticion de URL
* OPTIONS: Obtiene metodos de HTTP que soporta el servidor
* TRACE: Obtiene encabezados mandados por la peticion TRACE






FAQ DE HTTPTUNNEL
<===============>

.FAQ.de.httptunnel

Q:    Que es y para que sirve httptunnel?
A:    Es un programa para mandar informacion atravez de un
HTTP proxy.    En si esto no es muy importante, necesitas un
cliente del programa para  crear  el  "tunel".   Por ejemplo
puedes  usar telnet  para conectarte a una computadora fuera
del proxy.

Q:    Como me conecto atravez del proxy?
A:    

En el server debes correr hts.  Si quisieras redirigir el
trafico del 80 (http) al puerto 23 (telnet) pondrias algo
asi:

hts -F server.test.com:23 80

En el cliente debes correr htc. Si te conectaras atraves de
un proxy utiliza la opcion -P.

htc -P proxy.corp.com:80 -F 22 server.test.com:80

Un telnet a localhost  mandara el trafico por el  puerto 80
del proxy server al puerto 80 del server, y de regreso a tu
puerto 23.

Q:    httptunnel crashea mi SuSE 5.3, porque?
A:    No se, pero actualizar a 6.0 ayuda.

Q:    Puse 'hts -d /dev/ptyq1' pero 'cat </dev/ptyq1'
marca error.
A:    Usa 'cat </dev/ttyq1'.

Q:    Mi amigo corre hts en el puerto 8888, pero cuando
me intento conectar me marca error.
A:    hts no maneja tunneles multiples. Puedes correr
otro proceso de hts.

Q:    Mi firewall requiere HTTP user authentication (y
no es soportado por httptunnel). Planean algun dia incluir
soporte?
A:    Si.

Q:    Que tan dificil seria implementar hts como un cgi
en un servidor de web normal?
A:    

hts no puede  ser  llamado  directamente  del  HTTP server,
porque  abriria  demasiadas  conexiones  en el lifetime del
tunnel.  Si el HTTP server ejecuta nuevas instancias,de hts
cada ves que se hace un request no se tendria acceso al hts
anterior.

De todas formas un proxy CGI que mande el request a un hts
normal  esuchando en un puerto diferente al 80  seria algo
facil de hacer.

Q:    Has pensado en implementar HTTPS?
A:    Ha sido sugerido, pero es preferible usas software
externo para realizar la encripcion.

Q:    En REMOTE (brugd.ctrl-c.liu.se) hago lo siguiente:

hts -F localhost:23 8888

Esto funciono bien la primera vez, y ahora me marca:

hts: couldn't create tunnel

A:    El proceso sigue corriendo en el backgroud.
Q:    

En LOCAL (dhcp-XXX.enea.se) hago:

htc -F 2323 -P

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion brugd.ctrl-c.liu.se:8888

Y ahora intento:

[root @localhost httptunnel-1.101]# telnet localhost 2323
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

A: [Christian Brideau]
Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
no es la direccion del proxy. Esta es la direccion del
Proxy-Auto-Configure (PAC). Este archivo contiene la
direccion del servidor proxy. Para encontrarla solo abre un
browser a cualquier pagina y usa netstat.

Q:    Porque falla el 'configure' en HP-UX?
A:    

Porque no has instalado GCC. Si

CFLAGS=-O ./configure

no funciona, instala gcc, o cualquier compilador ANSI C.

Q:    Cuando uso SSH (o VNC, o <cualquier-otro-programa>)
atravez del httptunnel, El programa se congela despues de un
tiempo. Cuando quiero cerrar el programa y reconectar me
marca un timed out. Que pasa?

Tu conexion de httptunnel ha fallado por parte del cliente,
pero el server no ha detectado que la conexion se ha perdido
y no permitira conexiones hasta que llegue a su time out.
Para establecer un tunel mas estable experimenta con las
opciones de los hts y htc. Las siguientes funcionan bien
para mi:

hts -S --max-connection-age 20000 -F localhost:22 8890

htc -F 8890 --strict-content-length -B 5k
--max-connection-age 2000 -P proxy.mycompany.com:8080
10.1.1.1:8890

Q:    Ok, Ya econtre unas opciones que parecen funcionar,
pero me sigue "bloqueando" y tengo que esperar el time out
del server. Existe alguna forma para no tener que esperar?
A:    

Tienes que terminar el proceso manualmente, para realizar
esto  necesitas  una  conexion  de  tipo  SSH  o Telnet  que
funcione dentro del server que corre el hts.  Estos ejemplos
fueron creados para cuando tienes 2 o mas tuneles corriendo.
Ahora,  cuando se congele vas a conectarte a tu servidor  y
terminar el proceso de hts del puerto el cual se te congelo.

En caso de LINUX:

#Usa la opcion 'w' para verlo completo
#y asi puedes determinar cual hts es por el puerto en el que
#corre y poder terminar el proceso con su PID
$ ps aux w|grep hts
my_user_name  7268  0.0  0.3  1692  768 ?        S    Sep24  
0:00 hts -S -F localhost:22 8890
my_user_name  7270  0.0  0.2  1692  744 ?        S    Sep24  
0:00 hts -S -F localhost:22 8891
my_user_name 10515  0.0  0.2  1692  720 ?        S    15:37  
0:00 hts -S -F localhost:22 8889
my_user_name 10549  0.0  0.2  1624  616 pts/2    S    15:40  
0:00 grep hts

#asumimos que es el httptunnel del puerto 8889    
$ kill 10515

#reiniciamos hts
$ hts -S -F localhost:22 8889


En caso de WINDOWS (2000, XP):

#Usamos netstat -a -o para ver todas las conexiones
#y los PIDs asociados con cada conexion
> netstat -a -o
Proto  Local Address   Foreign Address  State      PID
TCP    LOCALHOST:8889  LOCALHOST:0      LISTENING  2696
#suponemos que el hts esta corriendo en el puerto 8889

#identificamos que PID es el asociado con esa conexion 2696
#y lo terminamos con taskkill /F /PID PID
>taskkill /F /PID 2696
SUCCESS: The process with PID 2696 has been terminated.
#y volvemos a inciar el hts como estaba
>hts -S -F localhost:23 8889

Q:    Porque me siguen marcando errores el Application
Event Log al usar htc en Windows? Que significa "HTTP
error-503"?

9/24/2001 2:10:15 PM htc Error None 0 N/A MYPC_NAME The
description for Event ID ( 0 ) in Source ( htc ) cannot be
found. The local computer may not have the necessary
registry information or message DLL files to display
messages from a remote computer. The following information
is part of the event: htc : Win32 Process Id = 0x6BC :
Cygwin Process Id = 0x6BC : exit with status = 1.

9/24/2001 2:10:15 PM htc Error None 0 N/A MYPC_NAME The
description for Event ID ( 0 ) in Source ( htc ) cannot be
found. The local computer may not have the necessary
registry information or message DLL files to display
messages from a remote computer. The following information
is part of the event: htc : Win32 Process Id = 0x6BC :
Cygwin Process Id = 0x6BC : couldn't open tunnel: I/O error.

9/24/2001 2:10:15 PM htc Error None 0 N/A MYPC_NAME The
description for Event ID ( 0 ) in Source ( htc ) cannot be
found. The local computer may not have the necessary
registry information or message DLL files to display
messages from a remote computer. The following information
is part of the event: htc : Win32 Process Id = 0x6BC :
http_error_to_errno: HTTP error -503.

9/24/2001 2:10:15 PM htc Error None 0 N/A MYPC_NAME The
description for Event ID ( 0 ) in Source ( htc ) cannot be
found. The local computer may not have the necessary
registry information or message DLL files to display
messages from a remote computer. The following information
is part of the event: htc : Win32 Process Id = 0x6BC :
tunnel_in_connect: HTTP error 503.

A:    HTTP 503 significa "Service Unavailable." Servicio
no Disponible, esto sucede en caso que no se pueda conectar
al servidor. En el ejemplo anterior, hts no habia sido
iniciado en el servidor, pero el mismo error puede variar.





HTTPTUNNEL -H --HELP
<==================>

.hts.-h.--help

   htc [OPCIONES] HOST[:PORT]

htc realiza una conexion httptunnel al PORT de HOST (el PORT
default es 8888).  Cuando se realiza una conexion, el I/O es
redirigido de la fuente especificada por --device o
--forward-port al tunnel.


      -h, --help
           Muestra las opciones.

      -c, --content-length BYTES
           usa HTTP PUT con tamano BYTES (k, M, y G son
           soportados)

      -d, --device DEVICE
           usa DEVICE para Input / Output

      -F, --forward-port PORT
           usa el puerto PORT de TCP para Input / Output

      -k, --keep-alive SECONDS
           mandar keepalive bytes cada SECONDS segundos (el
           default es 5)

      -M, --max-connection-age SEC
           tiempo maximo que estara abierta una conexion en
           SEC segundos (el default es 300)

      -S, --strict-content-length
           Mandar Content-Length bytes en los HTTP requests

      -A, --proxy-authorization USER:PASSWORD
           proxy authorization

          --proxy-authorization-file FILE
           proxy authorization file

      -B, --proxy-buffer-size BYTES
           asumir un buffer de proxy de BYTES bytes (k, M,
           y G son soportados)

      -P, --proxy HOSTNAME[:PORT]
           usa HTTP proxy (el default es 8080)

      -T, --timeout TIME
           timeout en milisegundos, antes de mandar el
           padding)

      -U, --user-agent STRING
           especifica el valor de User-Agent en los HTTP
           requests

      -V, --version
           mostrar unicamente la version


.htc.-h.--help

   hts [OPCIONES] [:PORT]

Escucha por conexiones entrantes de tipo httptunnel en PORT
(el default es 8888).  Cuando se realiza una conexion,  el
I/O es redirigido de la fuente especificada por --device o
--forward-port al tunnel.

      -h, --help
           Muestra las opciones.

      -c, --content-length BYTES
           usa HTTP PUT con tamano BYTES (k, M, y G son
           soportados)

      -d, --device DEVICE
           usa DEVICE para Input / Output

      -F, --forward-port HOST:PORT
           conecta al PORT de HOST y lo usa para la conexion
           input / output

      -k, --keep-alive SECONDS
           send keepalive bytes every SECONDS seconds
           (el default es 5)

      -M, --max-connection-age SEC
           tiempo maximo que se quedara la conexion abierta
           en segundos (el default es 300)

      -s, --stdin-stdout
           usar stdin/stdout para la comunicacion
           (implica --no-daemon)

      -S, --strict-content-length
           Escribir Content-Length bytes en los requests

      -V, --version
           muestra la version.

      -w, --no-daemon
           No irse al background

      -p, --pid-file LOCATION
           Escribe un PID file a LOCATION.





PUERTOS
<=====>

Algunos  puertos  llamados  well  know  services  tienen
protocolos asociados con ellos, la combinacion de puerto
y protocolo es lo que realiza la conexion.


.Lista corta de puertos comunes:

21 (File Transfer Protocol, FTP)
22 (Secure Shell, SSH)
23 (Telnet)
25 (Simple Mail Transfer Protocol, SMTP)
69 (Trivial File Transfer Protocol, tftp)
79 (finger)
80 (Hypertext Transfer Protocol, HTTP)
110 (Post Office Protocol v3, POP3)
119 (Network News Protocol, NNTP)
161 y 162 (Simple Network Management Protocol, SNMP)
443 (Secure Sockets Layer over HTTP, https)

Para ver una lista completa de los puertos conocidos (well
known services) puedes visitar:

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion.


.Lista.de.aplicaciones.relacionadas.con.puertos

1214 fasttrack (Kazaa, ...)
1863 MSN Messenger
5190 ICQ, AOL Instant Messenger
6667 IRC (mIRC, ...)





REFERENCIAS
<=========>

GNU HTTPTUNNEL  es una herramienta desarrollada  y mantenida
por Lars Brinkhoff de
Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
www.nocrew.org
. HTTPTUNNEL es software
libre bajo la licencia de GNU General Public Licence.

Este  texto se llevo acabo  previa autorizacion escrita  del
Autor original, en este caso Lars Brinkhoff lars[]nocrew.org
Para detalles y colaboracion se encuentra mas info en el
archivo AUTHORS dentro del .tar.

Puedes Bajar el HTTPTUNNEL para:

Debian GNU/Linux

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion

winNT win2000

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion

win32

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Gnu_Http_Tunnel_3_3.zip

RPMs

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion

GNU Httptunnel.

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion

GNU Httptunnel FAQ (eng)

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion

GNU Copyleft

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion

HTTP 1.1 RFC

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion





AGRADECIMIENTOS
<=============>

Thanx Lars.

Y gr33ts para todos:
hd, freetv1, taer, acid_phreak, AVA, Crypkey, darko, Dekar,
Haifa, hiryuu, mcherem, Napa, Obscure Cloud, rem7, vision,
Creado por flux. (Ex usuario de este foro)

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion


Expuesto por Sonico
En línea
stack
Visitante
« Respuesta #1 en: Febrero 17, 2004, 07:33:36 »

Creado por flux. (Ex usuario de este foro) <- ?

Este texto no lo hize yo... lo escribio "hkm" (hkm @hakim.ws).

Abstracto corrige el nombre del autor, por fas... yo solo aparecia en los great's.


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion <- texto original.

Un saludo
En línea
elhackergt
Visitante
« Respuesta #2 en: Febrero 18, 2004, 12:35:03 »

hijos de perra busquen que hacer Lips Sealed
« Última modificación: Octubre 15, 2005, 02:40:19 por elhackergt » En línea
webmdc_server
Visitante
« Respuesta #3 en: Diciembre 08, 2004, 08:11:01 »

??
En línea
4le3ek5
Visitante
« Respuesta #4 en: Diciembre 09, 2004, 01:27:25 »

con el nmap escaneas la ip del ordenador con la funcion ECO asi no respondera el fire wall, por que los fire walls solo responden a Peticiones ICM  Tongue con 1 sola sintaxis te evitas tanto texto viejo y aburrido
En línea
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Phreaking, Hacking y Seguridad  |  HacK GeneraL (Moderadores: |Shadow|, ManCuerTex (ViPeR))  |  Tema: Como hacer Tunneling con HTTPTUNNEL. ( "Como brincar firewalls" ) « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.7 | SMF © 2006-2007, Simple Machines LLC