Rbndr - Simples Serviço DNS Rebinding - Anonymous Hacker

[Latest News][10]

Adobe
Análise de Vulnerabilidade
ANDROID
ANONYMOUS
Anti Vírus
ANTI-DDOS
ANTI-SPYWARES E ADWARES
Antivírus
APK PRO
APOSTILAS
apps
Ativador
CIÊNCIA
Compartilhadores
Computador pc
CURSO PHP
CURSO TCP / IP
CURSOS
Cursos Diversos
CYBORG
CYBORG FALÇÃO
DDOS
DEEPWEB
Desenvolvimento Web
DICAS
Diversos
DOCUMENTARIO
DoS
Editor de Áudio
Editor de Imagem
Editor de Texto
Editor de Vídeo
Engenharia
EXPLOIT
FACEBOOK
Ferramentas de rede
FORENSE DIGITAL
Fundamentos financeiros
Gravadores
Internet
INVASÕES
IPHONE
JOGOS
KALI LINUX
Limpeza e Utilitários
Lixão
MAC OS
macOS
Malware
Manutenção de Pcs
MySQL
NOTÍCIAS
PAGINA FAKE
PHP SCRIPT
Produtividade
Programa De Invasao
PROGRAMAÇÃO
PROGRAMAS
PROXY
SCRIPTS
SEGURANÇA
Seo
SHELL
SISTEMA OPERACIONAL
TÉCNICA DE INVASÃO
Termux
tools
Utilitários
VIDEOS
VPN
WHATSAPP
WINDOWS
Wireless Attacks
z=

Rbndr - Simples Serviço DNS Rebinding


Rbndr é um servidor de nomes muito simples, não conforme, para testar software contra vulnerabilidades de recuperação de DNS. O servidor responde às consultas selecionando aleatoriamente um dos endereços especificados no nome do host e devolvendo-o como a resposta com um ttl muito baixo.
https://en.wikipedia.org/wiki/DNS_rebinding
O recarregamento de DNS é uma forma de vulnerabilidade TOCTOU (tempo de verificação, tempo de uso). Você usaria isso se você tiver um serviço que use verificações "preflight" incorretamente para modificar as propriedades de segurança. Por exemplo, considere um plugin de navegador (fictício) que tenha uma api como esta:
AllowUntrustedAccess("foobar.com");
SendArbitraryRequests("foobar.com");


AllowUntrustedAccess()simplesmente envia uma solicitação HTTP pré-vôo para o host:
GET /CanIDisableSecurity HTTP/1.1


Se o serviço retornar 200, então o plugin permite que o acesso completo do host àquele nome do host. Esta pode ser uma vulnerabilidade de segurança, porque você pode especificar um nome de host rbndr que alternará entre um host que você controla e um host que você não. O plugin pode permitir o acesso completo a um endereço IP arbitrário (por exemplo, um serviço interno ou localhost), mesmo que esse serviço normalmente não permita a verificação do teste. 
Isso pode parecer irreal, mas foi exatamente assim que o Adobe Flash, Oracle Java e muitos outros produtos funcionaram no passado e muitos outros produtos ainda funcionam. 


Para um software vulnerável a esta classe de ataque, rbndr é uma maneira fácil de testar sem ter que modificar /etc/hostsou configurar seu próprio servidor de nomes. Se o software associar o resultado com apenas o nome do host e não o nome do host e o endereço IP, você pode conceder-se acesso a qualquer endereço IP. 
O formato para nomes de host é simplesmente

<ipv4 in base-16>.<ipv4 in base-16>.rbndr.us


Mas você pode usar este site para converter de quads pontilhados se você preferir: 
https://lock.cmpxchg8b.com/rebinder.html
Por exemplo, para alternar 127.0.0.1192.168.0.1codificá-los como dwords e, em seguida, use:

7f000001.c0a80001.rbndr.us


Vamos testar:
$ host 7f000001.c0a80001.rbndr.us
7f000001.c0a80001.rbndr.us has address 192.168.0.1
$ host 7f000001.c0a80001.rbndr.us
7f000001.c0a80001.rbndr.us has address 192.168.0.1
$ host 7f000001.c0a80001.rbndr.us
7f000001.c0a80001.rbndr.us has address 192.168.0.1
$ host 7f000001.c0a80001.rbndr.us
7f000001.c0a80001.rbndr.us has address 127.0.0.1
$ host 7f000001.c0a80001.rbndr.us
7f000001.c0a80001.rbndr.us has address 127.0.0.1
$ host 7f000001.c0a80001.rbndr.us
7f000001.c0a80001.rbndr.us has address 192.168.0.1
$ host 7f000001.c0a80001.rbndr.us
7f000001.c0a80001.rbndr.us has address 127.0.0.1
$ host 7f000001.c0a80001.rbndr.us
7f000001.c0a80001.rbndr.us has address 127.0.0.1
$ host 7f000001.c0a80001.rbndr.us
7f000001.c0a80001.rbndr.us has address 192.168.0.1


Como você pode ver, o servidor retorna aleatoriamente um dos endereços. Você pode fazer algo assim (em pseudo-código):
// Keep calling api until it resolves to the address you control and you get granted access
while (AllowUntrustedAccesss("7f000001.c0a80001.rbndr.us") != true)
  ;

// Access granted, now wait for it to re-bind
while (ConnectToPort("7f000001.c0a80001.rbndr.us", 123) != true)
 ;
 
 // Now you have access to localhost:123 even though localhost did not opt-in to reduced security.
 SomethingEvil();


Sobre

trabalho com segurança da informação a 13 anos, grande parte desse tempo como professor. Fiz meu bacharelado em ciência da computação, especialização em segurança da informação e logo após, mestrado em ciência da informação.

Nenhum comentário:

Postar um comentário

FECHAR ADS

Start typing and press Enter to search