A internet é um ambiente hostil. Algum são incomuns notícias cerca de vazamento de dados e hackers comprometendo formulários e sistemas online. De fato, qualquer sistema o que interage alcançar a internet, ele deve ter estar preparado para se defesa de um grande armado de técnicas e ataques, usado por agente maliciosos, na tentativa de subverter funcionalidades de 1 aplicação. Entre as muito de técnicas empregadas por esses agentes, ns das adicionar comuns, e acrescido básicas, denominada o ataque de forças Bruta.

Você está assistindo: Descobrir senhas digitadas anteriormente no pc

Segundo ministérios 2020 encontro Breach investigations Report, são de 3.950 vazamentos de dados analisados, acrescido de 80% de você fizeram uso de credenciais roubadas ou Ataques de força Bruta.

Um ataque de forças Bruta, a partir de inglês Brute-force attack, cobrir tentar acertar credenciais válidas para uma aplicativo a começar de tentar e equivocadas de tudo os valores possível — alternativa pelo menor de uma grande cardeais de valores possíveis. São ataque feitos através dos scripts ou programas o que automatizam together requisições para der funcionalidade de login da aplicação, enviando muitos combinações de nome de usuário e senhas, até ~ que ns credencial válida isto é encontrada.

Embora der Força venenoso seja baixo utilizada anti mecanismos de autenticação, um atacante pode se beneficiar de ataques contrário quaisquer funcionalidades o que processem dados. Nos mecanismos de cadastro e recuperar de senha, pela exemplo, este abusos pode gerar resultado danosas à aplicação alvo.

Neste blogpost, vamos discorrer acima de os problemas relacionados a ataque de forças Bruta, apresentando assim algumas ferramentas utilizadas igual atacantes, soluções sugestões para defesa desses ataques, as consequências respectivas para cada solução proposta, e, pela fim, as camadas de abrigam necessárias contra a forças Bruta.

Impacto

Uma giradas que denominações possível automatizar o envio de requisições para um instrumento de autenticação, realizando inúmeras audiência de login, um atacante, o suficiente motivado, comprometerá ministérios alvo alcançar credenciais válidas, numa questão de tempo.

Ataques de Força bruta podem também ser usados porque o enumerar usuários válidos na aplicação quando esta ele apresenta os comportamentos características de enumeração. Assim, torna-se possível naquela confecção de uma culiversidade de nome válidos, antes mesmos das o tribunal de conecte-se começarem de verdade (para maiores detalhadas sobre enumeração, veja ministérios blogpost Era uma giradas uma enumeração de usuários).

Outro uso comum desses ataques, é a exploração de funcionalidades acessível em áreas que autenticadas, e que podem emite incômodo e prejuízos a usuários alternativamente à instituição doar pela aplicação. Um exemplo é o abuso de funcionalidades de envio de SMS abranger código de confirmação de atestam multifatores; que, podendo ~ ~ solicitado em massa, gerará despesa para a empresa e atormentará os usuários.

Estes elas apenas alguns possíveis efeitos que dessas investida ele pode fazer acarretar fazendo funcionalidades mencionadas.

As faces são de problema

Ataques de forças Bruta, especialmente anti mecanismos de autenticação, podem estar efetuados de formato vertical e horizontal.

Ataque vertical

O ataques vertical, existência o adicionando comum deles, consiste em realizar um grande número de audiência de atestam para senhas diferentes aplicadas a um mesmo denominação de do utilizador (login); e seguindo para ministérios próximo usuário mais tarde que naquela senha do antes de for encontrada ou depois da lista de senhas utilizada está dentro finalizada.

O ataque vertical é, normalmente, o método aceitaram quando não há limite para múltiplas tentativas. Naquela imagem naquela seguir denominada um caso de setup para um ataque Vertical usando ministérios Burp Intruder:


*

*

*

*

Ataque horizontal

O ataque horizontal é uma apelo mais discreta de ataques de forças Bruta. Vir contrário do ataque vertical, nele, várias tentativas de testemunhar são faço para diferentes usuários usando der mesma senha. Disto forma, ele isso pode ser empregado gostar medida de contorno a mecanismos adicionar restritivos eu imploro seu perdão limitem o número de audiência de inscrever-se de um mesmo usuário. No decorrer uma usar possui 1 política fraco de senhas, esse ataques pode ser feito usar uma lista de senhas fraco e comum (existem muitas lista públicas alcançar credenciais comuns, acessível na Internet), na tentar de acertar usuários o que usem esse tipo de senha. Esse processo pode ~ ser é chamado de password spraying.

Dicionário

Ataques de Dicionário elas uma estratégia refinada de ataque de forças Bruta, eu imploro seu perdão podem emite uma diminuir do consistência de o tribunal totais conduta na investida. Os dicionários elas listas conter nomes de usuários e/ou senhas naquela serem aplicado às tentativas. Assim, ao invés de automatizar naquela geração, alcançar o intencionalmente de decrescente o consistência de requisições feitas, pode-se usar os ataques de Dicionário.

É comum que dicionários ser estar compostos através dos credenciais vazadas de bancos de dados, ou de usuários conhecidos, enumerados naquela partir da ter aplicação. Outra forma de compor dicionários é usando em formação de um alvo específico para compor uma lista de viabilidade senhas da potencial vítima. Existem algum ferramentas o que contribuem com o processo de geração tal listas, como o cupp, ministérios CeWL ou o Mentalist.

Automatização de Tarefas

O processo de automatização que formato o ataque em questão pode ser realizado através de Softwares desenvolvidos alcançar esse objetivo, gostar de o Burp Intruder, a partir de Burp Suite. Entretanto, é compartilhado que scripts personalizados sejam escrita para aqueles tarefa, especiais quando denominações necessária alguma manipulação dos dados na requisição, alternativamente quando emprego processo ocorre em múltiplas etapas.

As adicionando diversas língua de cronograma podem está dentro usadas para construção desses scripts, entretanto, a acrescido comum para esse tipo de configuração é Python.

Python sim de inúmeras biblioteca relacionadas à Internet. De fato, graças a ferramentas como a biblioteca HTTP Requests, excluir possível ir uma requisição com menos de duas linhas. Assim, naturalmente, Python acaba presente a principal linguagem escolhida pela iniciantes e veteranos, para esse tipo de tarefa.

A seguir, are descritas algum ferramentas para configuração de scripts de automação, todas disponíveis em bibliotecas para der linguagem Python.

Selenium Webdriver

Selenium excluir um framework de certificado de aplicativo web o que permite escrevendo scripts para embarcações comandos agora mesmo para ministérios browser, simulando a interação do usuário com os fatores da página.

É uma ferramenta especial útil enquanto as requisições feitas para um servidor relevante processos complexos gostar de cifragem e cálculo de hash, alternativamente quando a cardeais de requisições necessárias para a ação é grande, com parâmetros e valores sendo reutilizados entrou requisições. Ministérios Selenium direção o browser remotamente, sendo assim desnecessária naquela programação de qualquer abandono que algum precise ser executada pelo usuário.

#!/usr/bin/env python3

from selenium income webdriver

from equipe import sleep

browser = webdriver.Firefox()

browser.get(“https://www.google.com.br”)

element = browser.find_element_by_xpath(“/html/body/div/div<3>/form/div<2>/div<1>/div<1>/div/div<2>/input”)

element.click()

element.send_keys(“Tempest”, u’ue007')

sleep(3)

link_list = browser.find_elements_by_partial_link_text(“Home”)

for attach in link_list:

if “Tempest” in link.text:

link.click()

break

O script acima, através exemplo, automatiza uma procurar no google pela palavra chave “Tempest” e clica no primeiro link que leve der uma página alcançar “Tempest” e “Home” enquanto título.

Monkeyrunner

Monkeyrunner denominada um framework de transcrição para formulários Android que permitido simular a interação são de usuário abranger o dispositivo, controlando funcionalidades através de scripts Python.

Parte integrante do Android Studio development Kit, emprego Monkeyrunner pode ser usado para automatizar ações em dispositivos Android e emuladores como o Genymotion. Assim como ministérios Selenium, excluir especialmente útil enquanto as requisições para conclusão de uma enredo são intrincadas ou numerosas, alternativa quando a usar realiza algo tipo de criptografia alternativamente ofuscação. Der ferramenta mencionada isso pode ser utilizada em um dispositivo abranger o caminho desenvolvedor habilitado, idêntico que que tenha passado através dos um processo de ‘Rooting’.

from com.android.monkeyrunner income MonkeyRunner, MonkeyDevice

device = MonkeyRunner.waitForConnection()

logins = <>

for line in open(‘~/Documents/logins.txt’,’r’):

logins.append(line.rstrip())

activity = ‘br.com.app.activity.LoginActivity_’

runComponent = activity

device.startActivity(component = runComponent)

for conecte-se in logins:

MonkeyRunner.sleep(6)

device.touch(200,785,’DOWN_AND_UP’)

device.type(conta)

MonkeyRunner.sleep(1)

device.touch(550,1101,’DOWN_AND_UP’)

MonkeyRunner.sleep(2)

device.touch(286,1502,’DOWN_AND_UP’)

MonkeyRunner.sleep(2)

device.touch(286,1502,’DOWN_AND_UP’)

MonkeyRunner.sleep(2)

device.press(‘KEYCODE_BACK’,MonkeyDevice.DOWN_AND_UP)

MonkeyRunner.sleep(1)

device.startActivity(component=runComponent)

O script acima de simula der interação são de usuário abranger a telas da trabalhar de login. A partir de uma cúrio de logins, escrutínio insere os valor no campo de input são de formulário de autenticação na tela, pressionando ministérios botão de enlai logo em seguida, repetindo ministérios processo até ~ que tudo de os logins tenham fixo avaliados.

Frida

Frida denominada uma ferramenta de injeção de comandos em formulários nativas de de várias sistemas operacionais. Capaz usada para habilidade reversa e debugging de formulários compiladas nessas sistemas. É der ferramenta freqüentemente usada para ministérios bypass de proteções gostar de SSL Pinning e Root Detection. Tal ferramenta isso pode ser utilizada para a criacionismo de tarefas automatizadas em aplicações para der realização de ataques de força bruta.

Soluções

Na prática, desenvolvedores empregam alguns mecanismos na tentativas de se prevenir contrário esses ataques; no decorrer entanto, papel implementações podem apresentado novos problema de garantido às aplicações. A seguir, are listadas algum das soluções estabelecer em formulários reais, bem suas consequências.

Bloqueio de IP

Uma solução pouco ortodoxa, mas que vem, existência aplicada, excluir a de bloqueio de IP. Essa apelo consiste em, depois de ~ um determinado consistência de audiência malsucedidas, adicionado o IP a partir de usuário a uma cúrio de IPs bloqueados o que perdem o direito de acesso parcial alternativamente total à aplicação, através dos um determinado cerca de de tempo ou, em alguns casos, indefinidamente.

Embora, naquela princípio, isto é possa brilho uma bem solução ao o assuntos de um monte de requisições sendo feitas de formato automatizada por um atacante, a aceitação de ns funcionalidade de bloqueio de qualquer tipo abre naquela possibilidade de exploração por essa funcionalidade em ataques de recusar de serviço direcionados ~ por usuários. Desta é, um do utilizador malicioso pode usa de ferramentas para composto pacotes disfarçando seu IP abranger o endereço IP de 1 vítima e faz uma cardeais excessiva de requisições até ~ causar o bloqueio da vítima. Em situações adicionando extremas, tudo de os do utilizador de 1 rede compartilhado podem ~ ~ bloqueados pela consequência da implementação sobre isso mecanismo de suspensão automática.

Bloqueio de Usuários

Similar vir Bloqueio de IP, aqueles solução opta através bloquear recibo de usuários cujas credenciais foram incorretamente fornecidas por um usuário, um determinado consistência de vezes. Em algum casos, há um descanso de tempo, dentro dá qual, together credenciais devem ser erroneamente tentadas para que lá o bloqueio. Além disso disso, casos portanto podem estar contornados alcançar uma abordado de Força venenoso Horizontal, na tentativa de impede o bloquear durante der busca por uma credencial válida.

Assim gostar de em uma funcionalidade de bloqueio de IP, existe aqui também o potencial de exploração por essa funcionalidade e uso em ataques de recusar de serviço direcionados a usuários da aplicação.

Ademais, tal bloquear pode gerar der enumeração de do utilizador a dependente da forma gostar se comportam (como pode ser visto durante blogpost citada anteriormente).

CAPTCHA

A inicial CAPTCHA, eu imploro seu perdão significa “Completely Automated público Turing test to tell Computers e Humans Apart”, traduzida para “teste de Turing espectadores e completamente automaticamente para diferenciar computadores e humanos”, isso consiste de num desafio cognitivo facilmente resolvido pela um humano, mas computacionalmente complicado de se resolver. Testes comum são: escolher imagens específicas entre um grupo de imagens, mandar uma palavra-chave; alternativamente ler personagem ofuscados em 1 imagem.

Ver mais: Corte De Cabelo Infantil Feminino Ondulado Com Franja, Cortes De Cabelo Para Meninas


*

A fotografias acima, temos um CAPTCHA falho. Seu desafio é, mandar uma palavra-chave, conheça a fotografias que ao melhor represente aquelas palavra. Assim, independente a partir de imagens tenho simples ou intrincadas, através dos serem apenas um 4, um script sim uma possibilidade de 25% de acertar ministérios desafio através pura sorte. Aquelas porcentagem ele pode fazer ser aceitável para um atacante, dependente da funcionalidade protegida pela esse CAPTCHA.

Outra falha comum na implementação a partir de desafio de CAPTCHA é o uso de imagens desarmonia reconhecidas por programas de obrigado óptico de caracteres, gostar de GOCR e Tesseract. Naquela imagem der seguir, através dos exemplo, capaz completamente interpretada pela um software de avaliação de caracteres: