Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Resolvido: Captive Portal - bypass

    Scheduled Pinned Locked Moved Portuguese
    17 Posts 5 Posters 3.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      neo_X
      last edited by

      Olá pessoal,

      Recentemente li um artigo sobre como "burlar" o sistema de autenticação de usuário do CP e assim ter acesso à internet. Gostaria de saber como podemos implementar uma maior segurança nesse sistema de Portal.

      Valeu :)

      bypass captive portal:
      http://www.torrent-invites.com/showthread.php?t=184902

      1 Reply Last reply Reply Quote 0
      • marcellocM
        marcelloc
        last edited by

        @neo_X:

        Gostaria de saber como podemos implementar uma maior segurança nesse sistema de Portal.

        So what do we need before we can get started?
        a public server, reachable from anywhere with PORT 53 (DNS ) open to the internet - Must run UNIX / Your prefered LINUX distribution
        a domain name or subdomain where have the right to create A & NS records , so practically you must be able to set a NS record for your own zone ( Check Wikipedia for explanation on different DNS record types ). I use FreeDNS.net atm.

        To check what resources are avalaible enter:
        dns2tcpc -z my.home.com -k 123 ( Your NS Sever and the key you specified in the conf file )

        O que entendi do tutorial é que você precisar ter acesso a resolução de nomes/icmp sem estar autenticado. Se o seu captive portal não permite isso, então fique tranquilo.

        Faça um lab, teste a ferramenta e veja como o pfsense se sai.

        Treinamentos de Elite: http://sys-squad.com

        Help a community developer! ;D

        1 Reply Last reply Reply Quote 0
        • N
          neo_X
          last edited by

          Olá Marcelo,

          O meu CP está resolvendo nome/icmp. Fiz um teste que vi no youtube colocando a porta do proxy no navegador e funcionou perfeitamente os acessos, sem autenticar.

          A regra da LAN está assim:
          IPv4*  Lan net  * * * * *

          Uso o Squid 2.x + SquidGuard para fazer o controle do acesso à internet.

          Tem alguma maneira de bloquear esta "resolução" e também impedir o acesso via proxy sem estar autenticado?

          valeu..

          1 Reply Last reply Reply Quote 0
          • marcellocM
            marcelloc
            last edited by

            O squid3-dev tem autenticação e patch para o captive portal.

            Treinamentos de Elite: http://sys-squad.com

            Help a community developer! ;D

            1 Reply Last reply Reply Quote 0
            • N
              neo_X
              last edited by

              Marcello,

              Testei o squid3 e também o Squidv3-dev ambos habilitei o patch do CP e colocando o proxy no navegador passou direto pelo CP.

              Tem outra configuração a ser feita?

              Obrigado pela ajuda…

              1 Reply Last reply Reply Quote 0
              • marcellocM
                marcelloc
                last edited by

                Você reaplicou as configurações do captive depois de habilitar o patch?
                Veja via ipfw -xSeuCaptive show se o bloqueio da 3128 já está aplicado.

                Treinamentos de Elite: http://sys-squad.com

                Help a community developer! ;D

                1 Reply Last reply Reply Quote 0
                • N
                  neo_X
                  last edited by

                  Olá Marcelo,

                  Fiz alguns testes com o squid3, squid-dev 3 com o Squidguard.

                  Dois ambientes:

                  1° Com 1 WAN e 1 LAN

                  2° Com 2 WAN 2 LAN e 1 Sync (CARP)

                  No primeiro ambiente, nas configurações do squid testei a opção patch do Captive Portal, mas só funcionou quando selecionei a interface loopback.

                  Ao selecionar a Interface LAN e inserir no browser de internet da máquina cliente as configurações de proxy IP + porta 3128, consigo acesso direto à internet sem passar pela autenticação do Captive Portal.

                  Me lembro de ter lido um post seu que o squid3-dev ou squidguard "escuta na interface loopback".

                  No segundo ambiente, ao selecionar a interface loopback, consigo fazer a autenticação via CP, mas quando acesso qualquer site o squid bloqueia o site, diz que o caracter "_" é inválido. Vou tentar tirar um print e te enviar.

                  Ao aplicar a patch de CP, fiz o restart do CP, squid3 e Squidguard3.

                  Obrigado Marcello.

                  1 Reply Last reply Reply Quote 0
                  • N
                    neo_X
                    last edited by

                    LAN 2

                    ipfw -x10.10.0.1 show

                    
                    [2.1.3-RELEASE][root@fwjnd.XXX.local]/root(5): ipfw -x10.10.0.1 show
                    00078  113384   17058403 pipe 2024 ip from any to any MAC any 00:26:82:84:ba:5c
                    00079  189547  247541649 pipe 2025 ip from any to any MAC 00:26:82:84:ba:5c any
                    00080    8302     947172 pipe 2030 ip from any to any MAC any 40:b3:95:71:a1:e6
                    00081    9061    8012896 pipe 2031 ip from any to any MAC 40:b3:95:71:a1:e6 any
                    00082       0          0 pipe 2092 ip from any to any MAC any 54:ae:27:39:24:3e
                    00083       0          0 pipe 2093 ip from any to any MAC 54:ae:27:39:24:3e any
                    00084   34749   38595612 pipe 2098 ip from any to any MAC any 60:fa:cd:62:61:84
                    00085   21576    3788239 pipe 2099 ip from any to any MAC 60:fa:cd:62:61:84 any
                    00086       0          0 pipe 2106 ip from any to any MAC any 64:27:37:9f:94:ad
                    00087       0          0 pipe 2107 ip from any to any MAC 64:27:37:9f:94:ad any
                    00088    3331     373846 pipe 2120 ip from any to any MAC any 70:11:24:cd:61:52
                    00089    3418    1910700 pipe 2121 ip from any to any MAC 70:11:24:cd:61:52 any
                    00090    4784     725843 pipe 2136 ip from any to any MAC any 78:a3:e4:71:a1:6f
                    00091    4465    2448355 pipe 2137 ip from any to any MAC 78:a3:e4:71:a1:6f any
                    00092       0          0 pipe 2158 ip from any to any MAC any 84:8e:0c:3d:40:8d
                    00093       0          0 pipe 2159 ip from any to any MAC 84:8e:0c:3d:40:8d any
                    00094       0          0 pipe 2194 ip from any to any MAC any c4:85:08:0e:df:3f
                    00095       0          0 pipe 2195 ip from any to any MAC c4:85:08:0e:df:3f any
                    00096   15175    1919762 pipe 2202 ip from any to any MAC any e0:75:7d:9a:14:96
                    00097   15292   10933630 pipe 2203 ip from any to any MAC e0:75:7d:9a:14:96 any
                    65291       0          0 allow pfsync from any to any
                    65292       0          0 allow carp from any to any
                    65301   25364     966008 allow ip from any to any layer2 mac-type 0x0806,0x8035
                    65302       0          0 allow ip from any to any layer2 mac-type 0x888e,0x88c7
                    65303       0          0 allow ip from any to any layer2 mac-type 0x8863,0x8864
                    65307     482      22740 deny ip from any to any layer2 not mac-type 0x0800,0x86dd
                    65310  460358   48361818 allow ip from any to { 255.255.255.255 or 10.10.0.1 } in
                    65311  416015  228893808 allow ip from { 255.255.255.255 or 10.10.0.1 } to any out
                    65312       0          0 allow icmp from { 255.255.255.255 or 10.10.0.1 } to any out icmptypes 0
                    65313       0          0 allow icmp from any to { 255.255.255.255 or 10.10.0.1 } in icmptypes 8
                    65314       0          0 pipe tablearg ip from table(3) to any in
                    65315       0          0 pipe tablearg ip from any to table(4) in
                    65316       0          0 pipe tablearg ip from table(3) to any out
                    65317       0          0 pipe tablearg ip from any to table(4) out
                    65318 1117551  289881930 pipe tablearg ip from table(1) to any in
                    65319 1313689 1307126128 pipe tablearg ip from any to table(2) out
                    
                    65532  291398   31844840 fwd 127.0.0.1,8000 tcp from any to any dst-port 80 in
                    65533  244239   36109931 allow tcp from any to any out
                    65534  113913    7148994 deny ip from any to any
                    65535      13       4340 allow ip from any to any
                    [2.1.3-RELEASE][root@fwjnd.xxx.local]/root(6):
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • marcellocM
                      marcelloc
                      last edited by

                      o patch do captive portal não está aplicado.

                      Não tem nenhuma regra tratando a porta do squid nesse seu ipfw.

                      Treinamentos de Elite: http://sys-squad.com

                      Help a community developer! ;D

                      1 Reply Last reply Reply Quote 0
                      • N
                        neo_X
                        last edited by

                        Olá Marcelo,

                        Para funcionar tenho que alterar a regra de LAN:

                        LAN * * *  destino any

                        para

                        LAN * * destino (IP do Firewall) + porta 3128 ?

                        No primeiro ambiente de teste, a regra da LAN está any any e o patch só funciona se eu selecionasse a  interface loopback.

                        1 Reply Last reply Reply Quote 0
                        • marcellocM
                          marcelloc
                          last edited by

                          O patch inclui no captiveportal.inc as regras que não permitem acesso a 3128 antes de autenticar o captive portal.

                          quando você marca essa opção no squid, tem que salvar a configuração, entrar no captive portal e salvar lá também para que as novas regras sejam aplicadas.

                          Não precisa criar nehuma regra pela interface web.

                          Treinamentos de Elite: http://sys-squad.com

                          Help a community developer! ;D

                          1 Reply Last reply Reply Quote 0
                          • G
                            gilmarcabral
                            last edited by

                            A maneira que conheço para bular o CP quando de usa o CP com Proxy transparente é fixando o IP do proxy e porta do próprio pfsense no navegador do cliente.
                            Para evitar isso crie uma regra bloqueando acesso a porta 3128 antes das regras de liberação da LAN.

                            1 Reply Last reply Reply Quote 0
                            • N
                              neo_X
                              last edited by

                              @marcelloc:

                              O patch inclui no captiveportal.inc as regras que não permitem acesso a 3128 antes de autenticar o captive portal.

                              quando você marca essa opção no squid, tem que salvar a configuração, entrar no captive portal e salvar lá também para que as novas regras sejam aplicadas.

                              Não precisa criar nehuma regra pela interface web.

                              Obrigado Marcello,

                              Habilitei a opção Resolv dns v4 first - Squid e o bloqueio funcionou.

                              Enable this option to force dns v4 lookup first. This option is very usefull if you have problems to access https sites.

                              Obrigado a todos.

                              1 Reply Last reply Reply Quote 0
                              • I
                                Ivart
                                last edited by

                                Segui os mesmos procedimentos e o patch não é aplicado, abri um novo Post e já encontrei vários posts atualizados, inclusive no forum em ingles, confirmando que o Patch Captive Portal não funciona no pfSense 2.1.x. https://forum.pfsense.org/index.php?topic=79831.msg435539#msg435539

                                1 Reply Last reply Reply Quote 0
                                • N
                                  neo_X
                                  last edited by

                                  Estranho Ivart, fiz vários testes e está funcionando normalmente. No seu firewall só tem uma interface LAN?

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    Ivart
                                    last edited by

                                    Já descobri o problema, o patch não funciona no Squid3 somente na versão dev, já corrigi o squid.inc para aplicar o patch correto quando o pfsense for versão 2.1, o problema atual que não consegui achar solução em lugar nenhuma é relativo ao redirecionamento para o CP quando o proxy é fixado no browser do cliente ou na conexão wireless do mobile (IOS/Androis). No browser ainda é possivel colocar na mão o endereço do gateway :8000 para acessar o CP mas no Mobile uma vez configurada a conexão WiFi com o proxy não tem como o cliente fazer o login. Ainda não existe uma solução prática de integração entre o CP e o Squid.

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      douglasanpa
                                      last edited by

                                      @Ivart:

                                      Já descobri o problema, o patch não funciona no Squid3 somente na versão dev, já corrigi o squid.inc para aplicar o patch correto quando o pfsense for versão 2.1, o problema atual que não consegui achar solução em lugar nenhuma é relativo ao redirecionamento para o CP quando o proxy é fixado no browser do cliente ou na conexão wireless do mobile (IOS/Androis). No browser ainda é possivel colocar na mão o endereço do gateway :8000 para acessar o CP mas no Mobile uma vez configurada a conexão WiFi com o proxy não tem como o cliente fazer o login. Ainda não existe uma solução prática de integração entre o CP e o Squid.

                                      A unica coisa que consegui fazer com relação a isso é na parte de ignorar o proxy adicionar um site (por exemplo o de onde você trabalha) e o ip do pfsense, e no squid habilitar também a navegação http transparente, fazendo tudo isso após o usuario acessar o site especificado vai abrir a tela de login e autenticar para os outros sites, mas não achei isso muito pratico, estou procurando algo mais user…

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post
                                      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.