URL de bloqueo del proveedor de red, aunque la conexión se haya hecho a IP

2

Encontré un caso interesante hoy, que con mi conocimiento limitado no puedo entender el funcionamiento de.

Estaba intentando acceder a un enlace bit.ly , pero está bloqueado por mi universidad.

Al conocer un poco de las solicitudes HTTP y las cosas básicas de la red, inicialmente sospeché un bloqueo de DNS. Pero incluso después de cambiar a Google DNS, recibí el error de página bloqueada.

Usé nslookup, tanto desde mi línea de comandos como desde una utilidad web, y obtuve uno de los servidores como 67.199.248.10 .

Usé Chrome para inspeccionar la solicitud y, de hecho, el dominio se estaba resolviendo en esa IP.

Incluso usé curl en mi máquina local y obtuve esta salida:

$ curl bit.ly -v
* Rebuilt URL to: bit.ly/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 67.199.248.10...
* TCP_NODELAY set
* Connected to bit.ly (67.199.248.10) port 80 (#0)
> GET / HTTP/1.1
> Host: bit.ly
> User-Agent: curl/7.56.1
> Accept: */*
>
< HTTP/1.1 403 Forbidden
< Content-Type: text/html; charset="utf-8"
< Content-Length: 1272
< Connection: Close
<
{ [1272 bytes data]
100  1272  100  1272    0     0   1272      0  0:00:01 --:--:--  0:00:01  5412<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><style type="text/css">html,body{height:100%;padding:0;margin:0;}.oc{display:table;width:100%;height:100%;}.ic{display:table-cell;vertical-align:middle;height:100%;}div.msg{display:block;border:1px solid #30c;padding:0;width:500px;font-family:helvetica,sans-serif;margin:10px auto;}h1{font-weight:bold;color:#fff;font-size:14px;margin:0;padding:2px;text-align:center;background: #30c;}p{font-size:12px;margin:15px auto;width:75%;font-family:helvetica,sans-serif;text-align:left;}
</style>

<title>The URL you requested has been blocked</title></head>
<body>

<div class="oc">
<div class="ic">

<div class="msg" style="text-align: center"><img src=https://www.hku.hk/f/page/7561/basic_logo_20.jpg alt="The University of Hong Kong"></img><h1>The URL you requested has been blocked </h1><p>The webpage you have requested has been blocked, because the page was reported as containing phishing material.  <br>Please refer to <a href="http://www.its.hku.hk/spam-report">HKU Spam report </a> or contact <a href="mailto:[email protected]">[email protected]</a> if you have further enquiry.<br /><br />URL = bit.ly/<br /></p></div></div></div></body></html>

* Closing connection 0

Ahora, tengo mucha curiosidad por una cosa: si soy capaz de establecer una conexión (dice que estoy conectado a la IP en el puerto dado), ¿cómo va la Universidad en el medio? ¿Es algún tipo de firewall el que ve:

If (coming from bit.ly IP) => {Replace HTML with our- block page} ?

Esta es mi estimación más cercana, ya que en HTTPS obtengo un Certificado no válido. Solo preguntándonos cómo está sucediendo, se agradecerán las respuestas o incluso las conjeturas.

Editar: un traceroute también:

Tracing route to bit.ly [67.199.248.10]
over a maximum of 30 hops:

  1     1 ms    <1 ms    <1 ms  147.8.121.200
  2    11 ms     3 ms     2 ms  147.8.240.57
  3     6 ms     1 ms     2 ms  147.8.240.65
  4    <1 ms    <1 ms    <1 ms  147.8.240.121
  5    <1 ms    <1 ms    <1 ms  147.8.239.8
  6     1 ms     1 ms     1 ms  203.188.117.1
  7     2 ms     2 ms     2 ms  165084185137.ctinets.com [165.84.185.137]
  8     2 ms     2 ms     2 ms  202.4.163.3
  9     3 ms     2 ms     2 ms  014136142018.ctinets.com [14.136.142.18]
 10     3 ms     3 ms     3 ms  ix-ge-9-0-0.core1.undefined.as6453.net [180.87.160.33]
 11     7 ms     4 ms     3 ms  if-ge-4-1-0.hcore1.h71-hong-kong.as6453.net [180.87.160.102]
 12     4 ms     3 ms     3 ms  if-ae-38-2.tcore1.hk2-hong-kong.as6453.net [116.0.67.86]
 13     4 ms     4 ms     3 ms  116.0.67.194
 14     3 ms     3 ms     3 ms  po110.bs-b.sech-hkg2.netarch.akamai.com [72.52.2.184]
 15     4 ms     3 ms     3 ms  ae121.access-a.sech-hkg2.netarch.akamai.com [72.52.2.189]
 16   307 ms   326 ms   349 ms  93.191.173.93
 17   152 ms   152 ms   152 ms  a72-52-42-132.deploy.static.akamaitechnologies.com [72.52.42.132]
 18     *        *      151 ms  ae5.cbs01.eq01.sjc02.networklayer.com [50.97.17.72]
 19   150 ms   150 ms   150 ms  e1.11.6132.ip4.static.sl-reverse.com [50.97.17.225]
 20   150 ms   151 ms   150 ms  po1.fcr01b.sjc03.networklayer.com [169.45.118.135]
 21   150 ms   150 ms   150 ms  67.199.248.10

Trace complete.
    
pregunta poiasd 18.08.2018 - 18:39
fuente

2 respuestas

3

Yo sugeriría que hay algún firewall que realiza una inspección profunda de paquetes. El protocolo de enlace TCP se reenvía al destino original, pero el firewall está observando la conexión. Luego ve la solicitud HTTP con el encabezado Host y verifica el valor del encabezado en comparación con la política. Si el sitio está prohibido de acuerdo con la política, el cortafuegos responderá a la solicitud con el mensaje de error que ve, es decir, básicamente, secuestra la conexión TCP e inserta su propio paquete.

Si estoy en lo cierto y el firewall solo está comprobando el encabezado Host de la solicitud, puede intentar establecer su propio encabezado. Por ejemplo, si el servidor de seguridad puede probar google.com

 curl -v -H 'Host: google.com' bit.ly

Si mi teoría es correcta, la solicitud no se rechazará, sino que se pasará a la dirección IP de bit.ly, que actualmente responde a dicha solicitud con el encabezado Host incorrecto con el código de estado 302 (redirección), alguna cookie set (es decir, Set-Cookie header) y un Location que apunta a https://bitly.com/pages/landing/branded-short-domains-powered-by-bitly?bsd=google.com .
Tenga en cuenta que algunos programas maliciosos utilizan exactamente este método para simular el encabezado Host para omitir las políticas en los cortafuegos y también hacer que cualquier dato de registro parezca inocente.

    
respondido por el Steffen Ullrich 18.08.2018 - 19:11
fuente
1
  

If (coming from bit.ly IP) => {Replace HTML with our- block page} ?

Esta es una buena idea y cómo se realiza la mayoría del filtrado de red. Sobre una base de dominio en lugar de una dirección IP. Los servidores web son a menudo instruidos para redirigir. Por lo tanto, "67.199.248.10" se redirige a " enlace ", luego, muy a menudo, " enlace "se redirige a" enlace ".

safesploit$ curl bit.ly -v
* Rebuilt URL to: bit.ly/
*   Trying 67.199.248.10...
* TCP_NODELAY set
* Connected to bit.ly (67.199.248.10) port 80 (#0)
> GET / HTTP/1.1
> Host: bit.ly
> User-Agent: curl/7.54.0
> Accept: */*
> 
< HTTP/1.1 302 Moved Temporarily
< Server: nginx
< Date: Sat, 18 Aug 2018 16:51:43 GMT
< Content-Type: text/html
< Content-Length: 154
< Connection: keep-alive
< Location: https://bitly.com/
< 
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
* Connection #0 to host bit.ly left intact

He ejecutado $ curl bit.ly -v en la red Tor y produzco el mismo resultado. Entonces, parece más probable que la universidad esté realizando un MITM. Sin embargo, debo tener cuidado con esa redacción, ya que es su red y se conecta a Internet a través de sus enrutadores, pero es posible que el tráfico sea redirigido, ya sea en ingreso (entrante) o egreso (saliente). P.ej. al igual que la forma en que los servidores web lo redirigen al Error 404, la universidad puede hacer lo mismo, si el dominio youtube.com:443 redirige a 192.168.1.100/websiteNotAllow.html.

Aquí hay algunas ideas de cómo podría "bloquear" el acceso a un sitio web en su máquina local. Bloqueo de sitios web con / etc / hosts . En cuanto a eludir esta censura, consulte Evitando la detección de monitoreo de Dark Web que describo los puntos relacionados con eludir la censura utilizando Tor y Revelando la IP de un destinatario de correo electrónico usando un script PHP remoto o un seguimiento de píxeles donde menciono diferentes tipos de proxies SOCKS.

    
respondido por el safesploit 18.08.2018 - 19:13
fuente

Lea otras preguntas en las etiquetas