Skip to content

Instantly share code, notes, and snippets.

@fdaciuk
Last active March 13, 2024 04:15
Show Gist options
  • Save fdaciuk/bd9b635acfb174386f44 to your computer and use it in GitHub Desktop.
Save fdaciuk/bd9b635acfb174386f44 to your computer and use it in GitHub Desktop.

Github Two-Factor Authentication (2FA) for Brazil via SMS

The Github doesn't provide country code for Brazil (+55). To add this option, just run the code below in your console. The option Brazil +55 will be the first on the list, already selected:


🇧🇷 [pt-BR]

Autenticação em dois fatores (2FA) do GitHub para o Brasil via SMS

O GitHub não provê o código para enviar SMS para o Brasil (+55). Para adicionar essa opção ao select, rode o código abaixo no console do seu navegador. A opção Brazil +55 será a primeira da lista, e já estará selecionada:

var brazil = document.createElement('option');
brazil.value = '+55';
brazil.appendChild(document.createTextNode('Brazil +55'));
document.querySelectorAll('#countrycode').forEach(select => select.prepend(brazil));
brazil.selected = true;
@lucasmz-dev
Copy link

Isso abusava de simplesmente a opção não existir somente no front-end, não sei se fizeram de propósito especificamente pra não funcionar mas enfim. Minha recomendação é nem usar 2FA por SMS.

@fdaciuk
Copy link
Author

fdaciuk commented Jan 29, 2023

Depois de muitos anos o GitHub removeu a funcionalidade do backend deles, ao invés de adicionar 😞

Eu criei esse script pois, em 2014, eu perdi meu celular, e na época eu usava o Google Authenticator. Como esse app não tem backup, eu acabei perdendo meu acesso ao GitHub.

A única forma de recuperar era via SMS, já que eu já tinha meu número cadastrado no GitHub. Então a ideia de compartilhar esse código foi para que as pessoas que estavam na mesma situação que eu não perdessem sua conta do GitHub, nunca foi a intenção usar 2FA via SMS como primeira opção (exatamente como disse o @LucasMZReal, pois não é muito seguro manter 2FA via SMS).

Usem o Authy ou qualquer outra ferramenta que permita fazer backup dos seus códigos 2FA.

Enfim, é isso galera: 8 anos depois o @github poderia ter resolvido o problema, adicionando o +55 na lista, mas decidiram só remover ¯\_(ツ)_/¯

@lucasmz-dev
Copy link

lucasmz-dev commented Jan 29, 2023

Minha recomendação é o 2FAS, (ele faz backup no Google Drive e você pode criptografar) o Authy me da uma vibe LastPass e fico até com medo; (e também o ngc inteiro se comporta diferente de outros apps então sempre achei estranho, also ele conecta com seu número de telefone então ?).

Edit: Eu não usei pq nunca usei o Google Authenticator, mas no 2FAS tem uma opção para você migrar seamless pro 2FAS do Google Authenticator.

É melhor até nem ter o 2FA via SMS por causa do negócio de alguém simplesmente poder pegar seu SIM e usar, ou se haver um ataque de SIM swap com você, eles conseguem bypass o 2FA.
Nem é sobre não usar como primário, mas nem usar, porque na questão segurança sempre vai ser a coisa mais fraca então nesse caso seria o SMS e não muda nada para alguém tentando acessar sua conta. _
É melhor do que nada, se só tiver essa opção, use, mas preferencialmente se haver autenticação via app, use aquela e desative os outros.

@leoheck
Copy link

leoheck commented Jan 30, 2023

foda-se, esse gist nao é sobre isso. é sobre usar sms pra autenticar.

@geonizeli
Copy link

Comecei a usar o 1password a 1 ano, as outras soluções não chegam perto :D

@HeroLeam
Copy link

Depois de muitos anos o GitHub removeu a funcionalidade do backend deles, ao invés de adicionar 😞

Eu criei esse script pois, em 2014, eu perdi meu celular, e na época eu usava o Google Authenticator. Como esse app não tem backup, eu acabei perdendo meu acesso ao GitHub.

A única forma de recuperar era via SMS, já que eu já tinha meu número cadastrado no GitHub. Então a ideia de compartilhar esse código foi para que as pessoas que estavam na mesma situação que eu não perdessem sua conta do GitHub, nunca foi a intenção usar 2FA via SMS como primeira opção (exatamente como disse o @LucasMZReal, pois não é muito seguro manter 2FA via SMS).

Usem o Authy ou qualquer outra ferramenta que permita fazer backup dos seus códigos 2FA. Evitem o Google Authenticator!

Enfim, é isso galera: 8 anos depois o @github poderia ter resolvido o problema, adicionando o +55 na lista, mas decidiram só remover ¯\_(ツ)_/¯

porque evitar o google authenticator?

@fdaciuk
Copy link
Author

fdaciuk commented Apr 17, 2023

@HeroLeam porque não é possível fazer backup dos códigos. Uma vez que você perde o acesso ao app, você perde acesso à todos os 2FA que você tinha cadastrados lá.

@HeroLeam
Copy link

@HeroLeam porque não é possível fazer backup dos códigos. Uma vez que você perde o acesso ao app, você perde acesso à todos os 2FA que você tinha cadastrados lá.

A sim, só consegue transferir, porém se o cara perder o celular o estraga já era

@Fusseldieb
Copy link

@HeroLeam porque não é possível fazer backup dos códigos. Uma vez que você perde o acesso ao app, você perde acesso à todos os 2FA que você tinha cadastrados lá.

A sim, só consegue transferir, porém se o cara perder o celular o estraga já era

Você quis dizer: Ter o celular roubado?

@HeroLeam
Copy link

HeroLeam commented Jul 6, 2023

@HeroLeam porque não é possível fazer backup dos códigos. Uma vez que você perde o acesso ao app, você perde acesso à todos os 2FA que você tinha cadastrados lá.

A sim, só consegue transferir, porém se o cara perder o celular o estraga já era

Você quis dizer: Ter o celular roubado?

@Fusseldieb @fdaciuk
Também é uma situação, mas agora o google auteticador da pra vincular no gmail, ou seja é possível fazer o backup direto na nuvem. Não tem mais esse problema de não conseguir mais recuperar...

@HeroLeam
Copy link

HeroLeam commented Jul 6, 2023

Viu agora é possível ter backup no autenticador do google, sua sugestão de evitar o Google Authenticator não é mais válida.

@fdaciuk
Copy link
Author

fdaciuk commented Jul 6, 2023

Viu agora é possível ter backup no autenticador do google, sua sugestão de evitar o Google Authenticator não é mais válida.

Editei meu comentário ;)

@WIL-TZY
Copy link

WIL-TZY commented Nov 2, 2023

Eles agora estão obrigando a habilitar a autenticação de dois fatores como medida de segurança adicional, disseram que temos até dia 15 de Dezembro de 2023. Mas fui tentar aqui usando o Microsoft Authenticator e deu ruim, ele simplesmente não aceita o código. Eu já tentei ler e reler o código QR que eles mandam, adicionei o código do aplicativo e nada. Sempre dá a mesma mensagem de erro: "Two-factor code verification failed. Please try again".
Aí a alternativa que tinha era tentar pelo SMS, e vi que não tinha o código do Brasil 😅. Assim complica. Github não ajuda seus usuários BR.

@andrebrait
Copy link

@willowitzy tentou via Authy ou Google Authenticator?

@WIL-TZY
Copy link

WIL-TZY commented Nov 2, 2023

Sim, tentei pelos três (Microsoft Authenticator, Authy, Google Authenticator).
E tentei pelas duas modalidades diferentes: QR Code e adicionando a chave manualmente. Nada funciona :((
A alternativa seria SMS porém

@fdaciuk
Copy link
Author

fdaciuk commented Nov 2, 2023

Estranho @willowitzy pq a maioria da galera usa Google Authenticator ou Authy mesmo. Tenta de novo aí que deve rolar sim com qualquer um dos dois =)

@andrebrait
Copy link

Estranho @willowitzy pq a maioria da galera usa Google Authenticator ou Authy mesmo. Tenta de novo aí que deve rolar sim com qualquer um dos dois =)

Pois é, eu mesmo uso o Authy e o app mobile do GitHub

@lucasmz-dev
Copy link

Gente, minha recomendação é não usar Microsoft Authenticator, Authy. O melhor que tem é o Aegis, 2FAS também é legal, e tem o Google Authenticator mas não usaria por ser código fechado. Microsoft Authenticator não respeita privacidade e envia vários dados pra Microsoft, Authy também.

@DaniloMarques1
Copy link

Isso tem mais de 1 ano e ainda não foi adicionado o Brazil nas opções. Alguém sabe se existe algum motivo para isso?

@fdaciuk
Copy link
Author

fdaciuk commented Nov 15, 2023

Isso tem mais de 1 ano e ainda não foi adicionado o Brazil nas opções. Alguém sabe se existe algum motivo para isso?

@DaniloMarques1 eu criei esse script em 2014, ou seja, quase 10 anos atrás. Não deram motivo para não adicionar, inclusive removeram a opção de enviar para o BR do backend deles. Então agora só via apps de 2FA, SMS não é mais uma opção.

@fellipetav
Copy link

Um colega aqui da empresa acabou de se deparar com isso para a conta dele. Que coisa, viu?!

😄

@WIL-TZY
Copy link

WIL-TZY commented Dec 1, 2023

Descobri meu problema... Meu celular tava com o horário errado ai o autenticador não tava conseguindo sincronizar direito hufhusddsf

@fnoquiq
Copy link

fnoquiq commented Jan 4, 2024

Tinhamos que abrir uma thread e pedir o github pra liberar o +55

@PauloVBettio
Copy link

Não faz o menor sentido não ter a opção +55. Se a desculpa é que essa forma de autenticação é insegura, então por que ela existe pra início de conversa?
Pra quem formata o celular de vez em quando pra atualizar uma ROM não oficial, é melhor ter essa opção do que ter o trabalho de baixar o Authy.

@krynyx
Copy link

krynyx commented Jan 17, 2024

Palhaçada do github! Está ficando com cara de "produtos" google. Uma porcaria esse negócio de autenticação de dois fatores. O que adianta essa camada de segurança se nem o próprio dono da conta consegue acessá-la? Acho desnecessário, principalmente aqui no github, um site de programadores. É óbvio que todos os usuários aqui sabem que precisam de uma senha forte...

@fullmetalmeida
Copy link

fullmetalmeida commented Jan 27, 2024

Simplesmente Microsoft <3

@LucasAlfare
Copy link

Palhaçada do github! Está ficando com cara de "produtos" google. Uma porcaria esse negócio de autenticação de dois fatores. O que adianta essa camada de segurança se nem o próprio dono da conta consegue acessá-la? Acho desnecessário, principalmente aqui no github, um site de programadores. É óbvio que todos os usuários aqui sabem que precisam de uma senha forte...

Todos os usuários? Amigo, não é bem assim que funciona. Você não tem nenhum tipo de estatística pra reforçar esse tipo de ideia. Você não pode garantir um determinado comportamento como determinístico tendo em vista apenas uma opinião pessoal sua.

@andrebrait
Copy link

Palhaçada do github! Está ficando com cara de "produtos" google. Uma porcaria esse negócio de autenticação de dois fatores. O que adianta essa camada de segurança se nem o próprio dono da conta consegue acessá-la? Acho desnecessário, principalmente aqui no github, um site de programadores. É óbvio que todos os usuários aqui sabem que precisam de uma senha forte...

Ô, quem me dera programador fosse esperto assim. Se fossem, não tinha brecha de segurança por motivo besta a torto e a direito. O fato de que vemos uma dessas semana sim, semana não, nos mostra o contrário.

E ter senha forte não tem nada a ver com a autenticação em duas etapas. Te aconselho a ler mais sobre o assunto e entender melhor como isso evita a invasão de contas de forma que nenhuma senha, por mais forte que seja, consegue.

@lucasmz-dev
Copy link

lucasmz-dev commented Jan 31, 2024

@andrebrait Eu já li bastante sobre, e 2FA não tem a mesma necessidade quando se usa um gerenciador de senha, (uma senha forte quando usava em vários websites já não é mais considerada segura pois provavelmente algum site ve essa senha em plaintext, então um gerenciador é melhor)

Eu ainda uso, mas só pra lidar com um único probleminha.

A única coisa que se adiciona como layer de segurança quando há uma senha criada controlada por gerenciador de senha é que não é possível acessar uma conta somente com o email como seria normalmente possível por causa da função de resetar a senha. 2FA acaba não permitindo isso; então a Google se você usa Gmail, não conseguiria acessar suas contas. (Obviamente, se você tem um backup que não é criptografado no G Drive, eles burlam isso fácil).

A outra coisa é em possíveis casos de phishing, pois o código muda. Mas eu argumento que isso não tem muito efeito pois se o login for feito com aqueles dados imediatamente, normalmente será possível desativar o que quiser.

A melhor coisa a se fazer é usar um gerenciador de senha digno, como o @bitwarden, gerar uma senha de 6 palavras aleatórias, mudar o mecanismo de password hashing para Argon2, e começar a senhas aleatórias para cada conta, já que daí vira até conveniente. E se você quiser que não seja possível atacar suas contas somente com o email, use 2FA TOTP com um app como o Aegis ou 2FAS e criptografe os backups.

@LizzieSpace
Copy link

LizzieSpace commented Feb 6, 2024

Acredito que 2fa seja extremamente eficiente para evitar ataques de força bruta (ou permutação de lista), ao criar uma segunda senha efêmera que tem que ser colocada junto da original. Com 2fa, é mais uma etapa para um mau ator ter que lidar com, pois nem se ele souber exatamente a senha ele deveria conseguir entrar.

Acho que a melhor forma de garantir que seja quase impossível ter a conta roubada é uma boa mistura de gerenciador de senha (Bitwarden eh bom mesmo) e 2fa.

Aí a forma mais viável de atacar a conta se torna engenharia social…

Melhor do que isso, acho que só o 3fa presencial da rede de blockchain do Banco Central

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment