Como burlar limitações de conectividade impostas por hoteis e afins

Muitas vezes estamos em locais públicos e que oferecem conexão com a internet. Em alguns locais essa conexão é paga, em outros é de graça mas possui limite de tempo de conexão e em outros é paga e limita o tempo de conexão. Veremos nesse post uma forma de extender nosso tempo de conexão quando necessário.

Detectando uma rede vulnerável a esse tipo de ataque

Existem alguma características que nos dão dicas sobre o tipo de rede em que estamos. O tipo de rede que provavelmente teremos sucesso precisa de um cartão de internet, onde está uma senha e você precisa colcoar essa senha em uma página de autenticação. Muito provavelmente e rede é aberta (se for cabeada, te dará um IP assim que plugar o cabo) mas na primeira tentativa de acesso a qualquer site você é redirecionado para a página de login.

Isso provavelmente caracteriza uma rede vulnerável a esse ataque. Isso porque como a rede é aberta, a única forma de o roteador/servidor/proxy da rede saber que você é você é pelo seu endereço MAC. Quando você insere a senha ele provavelmente vincula seu MAC/IP a essa senha e libera acesso para esse computador.

A falha é que as conexões já iniciadas não são interrompidas. Principalmente quando você registra um segundo computador, aí é que o servidor esquece mesmo o primeiro MAC/IP que tinha sido vinculado à senha.

Juntando tudo isso com a possibilidade de usar protocolos com conexões persistentes temos uma forma simples de extender nosso tempo de conexão em lugares onde somos automaticamente desconectados depois de 1 ou 2 horas.

Quando normalmente navegamos na internet estamos usando o protocolo HTTP. Apesar desse protocolo ter a possibilidade de manter conexões persistentes (HTTP/1.1) ele a mantém apenas para buscar objetos (imagens, etc) de uma mesma página. Quando uma página está totalmente carregada já não existe nenhuma conexão entre nosso computador e o site que estamos visualizando. Ao contrário disso o protocolo SSH mantém a conexão sempre ativa mesmo que não estejamos digitando nenhum comando e essa caracteríscia será decisiva para que nosso plano dê certo.

O que é preciso:

  • Dois aparelhos com wi-fi;
  • Acesso SSH a um servidor externo.

Obviamente a rede deve permitir o uso do protocolo SSH. Se a rede for restrita apenas ao uso do HTTP não conseguiremos ir muito longe.

O primeiro teste que fiz foi o mais simples possível: Conectar os dois aparelhos ao mesmo tempo, autenticando com a mesma senha. O resultado eu já esperava. Assim que a segunda máquina entrou na rede e autenticou com a senha, a outra máquina parou de navegar. Qualquer requisição era redirecionada para a tela de login.

O segundo teste foi saber se uma conexão já estabelecida na primeira máquina seria interrompida no momento em que a segunda autenticasse com a mesma senha. O que fiz foi apenas abrir uma sessão SSH para um servidor qualquer, deixar essa sessão aberta e autenticar a outra máquina. Inesperadamente, mesmo a primeira máquna não conseguindo mais navegar na internet, pois estava usando HTTP (vide explicação cima), ainda era possível digitar comandos no terminal em que a sessão SSH estava aberta! E isso era o sinal de que o plano de extender o tempo de conexão daria certo!

Feito isso agora tinha que dar um jeito de navegar usando a conexão SSH que estava aberta e felizmente o cliente SSH faz isso de forma muito fácil. O que ele faz é abrir um proxy SOCKS local, entre o seu computador e o servidor que está sendo acessado. Com isso podemos configurar nosso browser para usar esse servidor proxy para abrir páginas na internet. O que isso significa é não é mais o roteador da rede onde estamos quem direciona as conexões entre nós e os sites e sim o servidor para onde abrimos nossa conexão SSH. Isso significa também que para um site na internet o IP de origem é o do serividor SSH e não o do roteador da rede, mas isso pode ser usado para outros fins. =)

Para abrir um proxy via SSH basta acessar o servidor passando os parâmetros -D <porta> para o cliente SSH. Nesse caso escolhi a porta 8080 mas poderia ter sido qualquer outra porta.

$ ssh -D 8080 usuario@servidor

Pelo tempo que a conexão SSH estiver aberta o proxy estará ativo. Nesse  momento basta configurar seu navegdor para usar um proxy no endereço 127.0.0.1 porta 8080 e você já estará navegando pelo proxy. Depois disso basta autenticar com a outra máquina e deixar seu tempo de conexão acabar.

Esse procedimento pode ser feito uns 10 ou 15 minutos antes do fim do seu tempo de conexão. É importante autenticar com a segunda máquina depois de já ter aberto o proxy SSH pois como o roteador provavelmente não liga pra conexões persistentes ele vai acabar esquecendo de bloquear o MAC do computador principal e você ficará navegando pelo tempo em que seu computador permanecer ligado e a conexão SSH estiver ativa.

Esse procedimento funcionou em dois hoteis diferentes usando duas operadoras de internet diferentes. Um hotel em Porto Alegre e outro em Foz do Iguaçu.

p.s: O rascunho desse post foi escrito usando um cartão de internet de duração de 24h mas que durou mais de 48h. =)

, ,

  1. #1 por Marquinho em 13/09/2010 - 00:23

    Outra opção é tunelar pelo DNS, pois estes normalmente não estão bloqueados nestes sistemas de hotéis/aeroportos. Para isso existe o Iodine (http://code.kryo.se/iodine/), excelente e multi plataforma!

    Abraços!

    • #2 por daltonmatos em 13/09/2010 - 08:38

      É isso aí! Uma terceira opção seria tunelar pelo PING! Isso é feito com o Ping Tunnel (http://www.cs.uit.no/~daniels/PingTunnel/).

      Já testei mas não funcionou tão bem assim, mas não deixa de ser uma opção! =)

      Não conhecia a opção do DNS, que é *muito* mais provavel de estar liberado do queo Ping. Valeu pela Dica!

  2. #3 por LG em 14/09/2010 - 02:38

    Belo tutorial!
    Parabéns.
    Vou deixar nos favoritos… vai q um dia? =D

  3. #4 por Tiago em 19/10/2010 - 22:08

    Eu estou teclando com você de um hotel eu consegui burlar simplesmente rodando um sniff na rede e clonando os ips e mac, demorei 4 minutos pra conseguir se conectar… a unica coisa que precisei fazer foi derrubar o ap antes de iniciar a conexão, depois clonei o ip e mac de um cliente e abri o browser, ai entrou na tela de login, digitei qualquer coisa, e pronto.. peguei a conexão do cara que estava usando, quando acaba eu snifo a rede de novo e pego novos mac e ip….

    fácil assim.

    • #5 por daltonmatos em 20/10/2010 - 07:54

      Sim. Mas derrubar o ap é um pouco vago…. Que técnicas você usou para isso? Estranho também digitar qualquer coisa, e pronto…. Tendo derrubado o AP ele deveria re-autenticar, mesmo você tendo um MAC/IP válidos. Ou na melhor das hipóteses você navegaria direto, o que dá certo. Também fiz esse teste. Conectei um uma máquina e depois coloquei o MAC/IP dessa máquina em outra, desliguei o wifi da primeira (como se ela tivesse perdido a conexão) e a segunda máquina navegou sem nem ser direcionada para a tela de Login.

      Mas que bom que funcionou pra você. =)

  4. #6 por Pedro Arthur em 24/03/2011 - 10:31

    Bom dia galera… sei que pelo jeito esse post ja esta morto, mas vamos ver se alguem aparece por aqui e me ajuda….

    Bom, To morando num hotel por uns tempos…. Tudo otimo, menos a internet….. Os downloads ficam em 50 kbps apenas….. mas hoje reparei em algo meio suspeito: Meu colega de quarto tem um notebook tbm, e ele consegue fazer downloads tambem a 50 kbps ao mesmo tempo que eu…. Ou seja, Creio que o Hotel esta usando alguma forma de Distribuir internet por WIFI mas com esse bendito limite de 50kbps para downloads por PC/Notebook.

    A principal pergunta é, como burlar esse limite?

    Nos quartos tem Wifi, e um cabo de rede…. eu pensei em Conectar o Cabo e a WIFI, e o windows Seven faria o gerenciamento de ambas as redes (ouvir dizer que ele faz isso naturalmente, se alguem souber algo a respeito eu agradeço). Mas no final das contas nao funcionou, nem sei se o W7 realmente tava gerenciando ambas as conexões…., e os torrents, mesmo configurados para usar as 2 redes nao mudaram a velocidade, continuou 50 kbps.

    Alguma ideia???

    • #7 por daltonmatos em 25/03/2011 - 23:54

      Olá Pedro,

      Na verdade são bloqueios bem diferentes (Bloquear a conectividade de uma forma geral e limitar a velocidade de conexão). É bem mais complicado burlar a segunda pois quem controla a velocidade de conexão provavelmente é o roteador que seu PC está usando para se conectar.

      A tática usada nesse post se aproveita do fato de que conexões já estabelecidas não são cortadas pelo sistema operacional. Essas conexões ficam ativas até que os processos que as abriram decidam terminá-las.

  5. #8 por Leandro em 21/05/2011 - 06:05

    Olá, uso a internet que a escola disponibiliza, só que a mesma é bloqueada para download de apenas 60Kbps.
    gostaria de saber se tem como eu usar 2 placas wifi para conectar na mesma rede e baixar a uns 120 kbps.???

    Valew

    • #9 por daltonmatos em 21/05/2011 - 12:56

      Olá leandro. Na minha visão a resposta é Depende!

      Temos que considerar a forma como essa rede é limitada? A limitação da velocidade é por IP? Se sim acho que pode ser possivel você ter duas interfaces wi-fi, cada uma terá um IP diferente e, na visão do roteador dessa rede, serão duas máquinas diferentes. Mesmo que o bloqueio seja feito por Mac isso também pode ser verdade, afinal cada interface wi-fi tem seu proprio Mac Address.

      Mas veja, o seu S.O deve ser capaz de manipular essas suas interfaces. Acho mais complicado você conseguir baixar um mesmo arquivo a 120Kbps. O que você terá é a possibiloidade de baixar dois arquivos a 60kpbs cada, o que não deixa de ser, no fim das contas, uma forma de ter 120kbps de velocidade.

      Perceba que estamos apenas na teoria. Tens que pesquisar bastante para poder ver como seria possível administrar essas duas interfaces wi-fi (ou até mais de duas) em seu Sistema Operacional.

      Infelizmente não tenho uma receita pronta.

      Obrigado pela visita!

  1. Acessando os sites que você quiser no trabalho « ~ #_

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: