Digital Drops Blog de Brinquedo

Usando o Putty para acessar a web em locais bloqueados via SSH Tunneling

Por em 7 de março de 2008
emDestaque Dicas Tutorial
Mais textos de:

Site
  • v1r3d

    Funciona se a máquina que está compartilhando a net está rodando um servidor Squid ?

    Acho que não né….

    :(

    • http://www.fabiocardoso.com.br Fabião

      Talvez. Há uma corrente de burladores de bloqueio sem coração que aponta o servidor SSH para rodar na porta 443, que geralmente é aberta devido ao tráfego HTTPS.

      Ai dá. Foi o que eu usei na faculdade. Fiz na porta 22 devido ao SSH rodar na 22 por default.

      E, se o admin for mais paranóico ainda, talvez (nunca tentei) dê para conectar ao servidor SSH rodando na porta 80, HTTP normal.

      • shimatai

        Geralmente a porta 443 é liberada para tráfego HTTPS, então o acesso é liberado, porém existem redes em que o administrador implanta o filtro L7, que controla o serviço pelo protocolo, então o tráfego sempre é analisado conforme configuração, ou seja, se o tráfego que passa pela 443 não for HTTPS, ele bloqueia.

        Nesses casos é impossível burlar a segurança.


        “Uma pessoa inteligente resolve um problema, um sábio o previne.” Albert Einstein

        • faccenda

          bem, eu nunca diria impossível. ;)

          neste caso eu posso usar uma solução vpn que use SSL, como o OpenVPN. e trafegar pela porta 443/tcp. mesmo um fw L7 não iria conseguir distinguir o tráfego. alem de que no caso do OpenVPN, você pode, inclusive, configurar para conectar através de um proxy.

          só não sei se esta solução é viável para o caso citado, pois requer privilégios administrativos tanto para instalar quanto para executar o OpenVPN (na realidade, para instalar só precisa de acesso administrativo na hora de instalar o driver tun/tap).

          mas se você tem um notebook e leva para a faculdade/trabalho/seja lá onde for, esta é uma solução muito eficaz.

          • shimatai

            O filtro L7 distingue por protocolo, portanto o protocolo (diálogo entre as partes) utilizado numa VPN é diferente do HTTPS (que é similar ao HTTP, com a diferença que utiliza criptografia e certificados).

            Sei disso pq já tentei burlar o L7 de maneira similar ao que vc disse e me f_di.


            “Uma pessoa inteligente resolve um problema, um sábio o previne.” Albert Einstein

          • http://www.facebook.com/giulianobn Giuliano Bueno Nascimento

            Bom tomara que alguem me responda… Estou procurando um comando via prompt que minimize a janela do Putty ?
            Agradeço muito .

          • http://www.facebook.com/giulianobn Giuliano Bueno Nascimento

            Bom tomara que alguem me responda… Estou procurando um comando via prompt que minimize a janela do Putty ?
            Agradeço muito .

          • http://www.facebook.com/giulianobn Giuliano Bueno Nascimento

            Bom tomara que alguem me responda… Estou procurando um comando via prompt que minimize a janela do Putty ?
            Agradeço muito .

      • http://luizclaudioeudes.blogspot.com/ Luiz_Claudio_Eudes

        Na Estácio (Niterói) qualquer coisa que não seja na porta 80 ou 443 e bloqueada!
        qualquer coisa diferente de http ou https não rola!

        Minha sorte e que o Firefox não pede privilégios administrativos pra instalar porque usar o IE6 não dá!!!

        O firefox portable também resolve, mas nem todas as USB funcionam como deveriam :(

        ______________________________________________
        Assinatura?

        Nem pensar, não entenderiam minha letra!

        Minha sorte e que meu Blog não é manuscrito!

    • shimatai

      Funciona sim, basta criar um túnel local, apontando para localhost:3128, ficando assim:

      Source Port: 3128
      Destination Port: localhost:3128
      (x) Local

      Aí vc configura no seu browser o proxy “localhost”, com porta “3128″.


      “Uma pessoa inteligente resolve um problema, um sábio o previne.” Albert Einstein

  • luctimm

    OH MY GOD! Como é que eu nunca pensei em criar um tunel com o Putty?????? Nossa, vou testar já já!!!!

    • shimatai

      As possibilidades com o PuTTy são ilimitadas, se vc usa PuTTy + Cygwin então, vc consegue inclusive rodar aplicações Linux remotas na máquina Windows, via exportação de Remote Display.

      Outro lance legal é que vc pode criar um tunel remoto, onde a partir do túnel, vc consegue conectar na máquina que está atrás de um firewall.

      Já criei túneis que eu conectava do trabalho em casa e de casa no computador do trabalho, usando túnel remoto, sem usar VPN, só via SSH mesmo.

      Muito legal!


      “Uma pessoa inteligente resolve um problema, um sábio o previne.” Albert Einstein

  • Lord Bode

    Rá, já que é pra estudo, qual seria a contra medida?
    tah foi uma pergunta meio lammer mas ta valendo =p

    • destrela

      Uma solução seria o bloqueio para alterar o proxy no Explorer.
      A solução é meio lammer também, mas…

    • shimatai

      Acho que a única medida efetiva é a instalação de um filtro L7.

      O problema do filtro L7 é o consumo dele, que é altissímo. Precisa de uma máquina parruda.


      “Uma pessoa inteligente resolve um problema, um sábio o previne.” Albert Einstein

    • hamacker

      Todos os servidores usarem proxy e não um gateway direto para a internet e apenas contas administrativas no gateway.

      Mas o que funciona mesmo é remover o shell dessas contas, uma conta para acesso ssh é mais para quem administra servidores. Quando se coloca uma conta shell deveria ter-se o cuidado de montar um menu para que a shell ficasse sempre indisponivel, evitando hacks ou explorar a configuração deste servidor.

  • baldock

    Boa uso muito o puthhy não sabia dessa ai.valeu testando. :jawdrop:

  • http://otubo.net otubo

    Ano passado usei a mesma tática de tunelamento por SSH para acessar bases científicas (as quais o acesso era permitidas apenas por computadores da faculdade) de casa:

    http://www.otubo.net/2007/03/consultando-bases-cientficas-no.html

    []‘s

    Eduardo Otubo is a computer student, linux addicted and music scrobbler.

  • DDLima

    Como eu disse no outro post, já li que isso serve para contornar o trafficShapping, é verdade?

    Daniel.

    • http://www.fabiocardoso.com.br Fabião

      Dá, ué. No Utorrent, por exemplo, tem opçoes de proxy. Seria a mesma coisa que no IE e no FX, por exemplo.

      • viniciustc

        :jawdrop: :jawdrop: :jawdrop:
        minha cabeça explodiu agora, nunca tinha pensado nisso
        :jawdrop: :jawdrop: :jawdrop:

  • evertongomes

    Eu normalmente tenho utilizado o putty via DreamHost em casa para burlar o Traffic shaping da querida BrasilTelecom… e tem funcionado maravilhosamente bem.
    É bem interessante até para acessar alguns sites “De americanos para americanos” e assistir séries que lá são gratuitas.

    • PabloRS

      Tu utiliza um server web para baixar coisas?? é isso? }:) Ou algo parecido?

      • marcospmr

        Ele faz um tunelamento com o server web e através do server web ele baixa para o micro dele.

        Como a conexão é do server web, não passa pelo traffic shapping da BRT.

  • http://www.infowd.blogspot.com/ wagner.duarte

    Aposto que vai ter mais pessoas usando pra burlar do que pra bloquear acessos !
    Sempre foi assim, os espertinhos mais atualizados que o pessoal da Infra !

  • Hawk

    Não compreendi muito bem a idéia… :?

    Aqui no trabalho, existe um proxy com autenticação, para conectar na net preciso de usuário e senha. O navegador está indicando um endereço IP do servidor para conectar, utilizando a porta 3128.

    Na parte Connection > Proxy: inseri o proxy hostname (123.456.7.890), a porta (3128), usuário (hawk) e senha (123456).

    Mas a minha dúvida é em “Session“. Como faço para descobrir o Host Name e a Port?

    Ps.: O servidor e todos os computadores rodam Windows.

    • http://www.fabiocardoso.com.br Fabião

      Você precisa de um servidor SSH em outro computador para executar o tunelamento. O computador servidor necessita ser aberto a internet e com SSH rodando.

      Você não vai conseguir fazer tunelamento sem ter uma outra ponta.

    • shimatai

      O esquema “acadêmico” proposto é:

      [CPU Trabalho] —> Firewall < ---> INTERNET < ----> [Servidor SSH :22/443]

      A partir de uma máquina numa rede restrita (atrás de um firewall) vc estabelece uma conexão SSH com um servidor SSH FORA da rede (na sua casa, por exemplo) e cria os túneis que te interessar.

      Por exemplo, eu crio túnel para POP3, IMAP do Gmail, SMTP externo, VNC, entre outras coisas.


      “Uma pessoa inteligente resolve um problema, um sábio o previne.” Albert Einstein

      • Hawk

        Agora que eu entendi. :O
        É mais complicado do que imaginei. Nem vou tentar configurar esse negócio, muito complexo. :(

  • flavio.moreira

    Trocar a porta do servidor SSH pra um outro número qualquer ja dá uma boa resolvida..
    mas acho q tbm dá pra configurar que só alguns users possam usar SSH, ou eu to falando besteira?

  • hamacker

    Na minha rede, um login ssh de um usuário comum dá um echo “volte a trabalhar…”.

    Antes de experimentarem isso no trabalho, saiba que não são todos os admins que são topeiras. Voce pode estar sendo “loggado” ao experimentar isso e nem todos os servidores tem acesso via gateway/firewalling, a maioria é por proxy também.

    Se bem que há topeiras em todos os lugares, as vezes o admin é bom, mas a rede é complexa, as vezes o furo tá no roteador. Enfim, vai com cuidado, no ambiente de trabalho isso pode ser interpretado como tentando hackear o sistema, não vai dar uma Tim Berners-Lee que voce pode não ter o mesmo QI dele para se virá depois.

  • gjofili

    Ahh bom, só falta alguem perguntar, teoricamente, algun(s) desses servidores gratuitos “de serviços gratuitos da internet”. Hun?

  • shimatai

    Ah! Outra dica, sempre que precisar dar um PrintScreen na tela, utilize o ALT + PrintScreen, que vai capturar somente a tela ativa (janela ou caixa de diálogo).


    “Uma pessoa inteligente resolve um problema, um sábio o previne.” Albert Einstein

  • shimatai

    Fabio, só um adendo ao seu excelente artigo.

    Algumas redes usam LDAP para autenticação e nesses casos geralmente utilizam o ISA Server como proxy e pode dar um erro de autenticação (tal como nessa imagem)

    Nesses casos vc pode utilizar o NTL Maps para criar um servidor proxy de autenticação no LDAP para depois configurar o PuTTy para acessar via proxy NTL Maps, que por sua vez possui a configuração de proxy de sua rede interna (que bloqueia os acessos a URL’s específicas).

    Simplificando, quando tem-se que passar por ISA Server, se faz necessário a utilização do NTL Maps (que usa Python) para criar um servidor proxy de autenticação, onde o PuTTy vai conectar através dele.

    My 2 cents


    “Uma pessoa inteligente resolve um problema, um sábio o previne.” Albert Einstein

    • lucianojs

      Velho, esta dica foi campeã.

      Também vou deixar meus 2 cents, existe um aplicativo chamado Freecap que possibilita utilização do proxy socks para rodar aplicativos que nativamente não suportam isto.

      Um exemplo é rodar o VNCview quando você está numa rede onde o firewall bloqueia isto.

      Cabelo (Luciano Silveira)
      Uberlândia – MG

      • shimatai

        Interessante sua dica! Valeu! Vou fazer uns testes usando o PuTTy + FreeCap.
        ;)


        “Uma pessoa inteligente resolve um problema, um sábio o previne.” Albert Einstein

      • shimatai

        Interessante sua dica! Valeu! Vou fazer uns testes usando o PuTTy + FreeCap.
        ;)


        “Uma pessoa inteligente resolve um problema, um sábio o previne.” Albert Einstein

      • http://www.fabiocardoso.com.br Fabião

        FREECAP !

        Lembrou-me do troço que eu havia me esquecido !
        ehehehe…

    • http://www.fabiocardoso.com.br Fabião

      Shimatai, eu acrescentaria esta sua dica ao artigo.

      Porém, eu só posso mandar o conteúdo, não editar depois… eheheh…

      Mas, excelente. Eu só lembrei do squid, esquecí do ISA Server.

  • manoel_lobo

    O socat2 suporta concatenação de prococolos, proxy sobre proxy.

    Eu costumo deixar proxies rodando nas portas 80 e 443 nas máquinas que administro, eles só permitem o método CONNECT (não servem pra navegação, só pra tunelamento), o único endereço acessível por eles é o do loopback, porta 22 (ou qualquer outra que esteja um servidor SSH).

    Mesmo que a rede local (restrita) exija o uso de proxy (inclusive com autenticação) pra acesso externo, é possivel fazê-lo com o socat2.

    A técnica consiste em usar o proxy local (que é obrigatório para acesso externo) para fazer um CONNECT no proxy remoto, e consequentemente tunelar o SSH.

    A vantagem é que tudo aí é HTTP, e o protocolo SSH está usando-o como transporte.

    A linha de comando do OpenSSH com o socat2 é:

    ssh -o ‘proxycommand socat – proxy:127.0.0.1:%p|proxy:%h:443,proxyauth=usuário-do-proxy-local:senha-do-proxy-local|tcp:ip-do-proxy-local:porta-do-proxy-local’ usuario@proxy-remoto-com-ssh

    Resumindo: usa o proxy local para dar um CONNECT no proxy remoto, e conecta no servidor SSH rodando no loopback.

    Recentement usei esta técnica para burlar a restrição da rede do ministério da agricultura em Belém, funcionou que foi uma beleza.

    A única maneira de impedir esta técnica, é negar o método CONNECT no proxy local, só que o admin vai ter um trabalhão criando ACLs de sites que usem SSL.

  • Arauca

    Recentemente eu configurei algo muito parecido com o que foi descrito:

    Meu PC de casa rodando Linux com server SSH rodando na porta X e Squid rodando na porta Y, este configurado para aceitar acesso remoto proveniente apenas de um IP (do local de onde eu queria burlar o bloqueio de sites).

    Usei o no-ip no meu router/modem e abri as portas X e Y para o meu micro. Também as abri no meu firewall. Poderia ser usado o Dyn Dns tb.

    Usando o Putty, eu conecto ao meumicro.no-ip.org na porta X e crio um tunel da porta Y do localhost com a porta Y do meumicro.no-ip.org.

    Feito isso, configuro o proxy no Firefox para acessar o 127.0.0.1 na porta Y.

    Funcionou perfeitamente qdo testei de um outro micro da rede interna, fazendo a conexão sair da rede interna e entrar vinda da internet.

    No local que eu queria usar, eu devo passar por um proxy autenticado antes. Ok, configurei o Putty, mas mesmo assim obtenho um erro do tipo “tempo limite esgotado”.

    Acho que é algo do Proxy autenticado. Vou tentar com as portas que colocaram nos comentários. Deve haver algum bloqueio do tipo.

    Ahn, ao logar no Proxy autenticado, será criado um registro apontando para o meumicro.no-ip.org, assim como ocorre no Squid, não é!?

    Então cuidado!!! Usar isso pra checar um e-mail tpo Gmail que tá bloqueado até vai, mas usar o tunel SSH pra ficar no Orkut o dia todo, é pedir pra se dar mal!!!

  • hamacker

    Caro newbie acima, esse não é um forum para lhe ajudar a burlar o sistema da empresa que tú trabalha, ainda assim vai uma dica : não escreva em maiusculas e NUNCA, mas NUNCA coloque seu email ou nome completo numa página que será lida por spammers, robots e afins porque nesse exato instante seu empregador pode tá pesquisando seu email ou nome na internet e identificando quem é voce, e neste caso, pega muito mal ele saber que voce procura burlar o sistema da empresa.

    Enquanto ninguem der um reply na sua mensagem ainda dará para reeditar a mensagem, portanto corra! run forrest, run…

  • refernande

  • refernande

    e ai cara brigado palas dicas mais
    deixei isso e para
    contados proficionais eu te pedir uma ajuda se
    puder bem mais se nao puder nao faz mal.
    vou emcontra alguem que me ajude
    blz

    t+

  • heliob

    Opa, parabéns pelo artigo!!!

    Fiz tudinho que estava descrito, porém não funcionava, ficava uma tela em branco no browser e eu sentia que faltava alguma coisa nesse processo todo.

    Então instalei um servidor proxy na máquina de casa, dai nas configurações do tunnel no putty coloquei uma porta com destination para localhost:portadoservidorproxy e agora está funcionando bonitinho.

    Abraços,
    Hélio

    E lá vamos nós…

  • http://www.facebook.com/rodrigo.proenca.58 Rodrigo Proença

    amigo meu problema e totlalmente diferente, jogo um ot server, colokei o ip dele e dei open agora nao conssigo mais entrar no jogo pode me ajudar?