Se alguma vez ao tentar abrir o ASDM usando GNS3 você se deparou com esse erro, hoje vamos dar a dica de como tratá-lo.
Todos os créditos ao Blog :
http://7200emu.hacki.at/viewtopic.php?t=2187&postdays=0&postorder=asc&start=240
A causa:
hofw004# sh ver
Cisco Adaptive Security Appliance Software Version 8.0(2)
Device Manager Version 6.0(2)
Compiled on Fri 15-Jun-07 19:29 by builders
System image file is "Unknown, monitor mode tftp booted image"
Config file at boot was "startup-config"
hofw004 up 26 mins 58 secs
Hardware: , 128 MB RAM, CPU Pentium II 2097 MHz
Internal ATA Compact Flash, 256MB
BIOS Flash Firmware Hub @ 0xffe00000, 1024KB
A linha Hardware em destaque, nos trás a dica do problema. Veja que antes da vírgula deveria vir uma informação e não temos. Essa informação é o Hardware ID. Essa informação é trocada no momento da conexão do ASDM com o servidor HTTP do ASA.
A solução:
A solução encontrada é enganar o ASDM usando um proxy. Essa solução é genial e nos dá uma amostra de como as coisas podem ocorrer em ambientes de rede. O poder de proxies no gerenciamento de conexões e o risco ao qual todos estão expostos.
A programinha que fará a mágica chama-se Fiddler2.
Baixe o programa de :
http://www.fiddlertool.com/fiddler/
Abaixo mostro a interface do nosso Proxy:
Vamos configurá-lo:
Você irá precisar da classe em Java presente no seguinte link:
http://www.networksa.org/wp-content/uploads/2010/06/fiddler.CustomRules.js.txt
Copie essa classe em um bloco de notas porque a usaremos logo em seguida.
Após abrir o programinha, vá na aba "Rules"> "Customize Rules",como abaixo:
A janela aberta será uma um arquivo txt chamado CustomRules. Tudo que você têm a fazer é substituir essas linhas por aquelas copiadas no link acima.
Agora vamos configurar nosso Java.
No painel de Controle, click em Java, click em Network Settings... e deixe como a janela acima.
Estando tudo configurado, vamos fazer o seguinte teste. Vamos tentar acessar o Firewall com o ASDM sem o Proxy:
Veja na capitura do WireShark toda a "Conversa".
Primeiro, no quadro 49, ocorreu o envio do SYN pelo Client ASDM :
Depois, no Quadro 50, houve a resposta SYN/ACK do Firewall:
Como não poderia deixar de ser, o Client ASDM responde ao SYN do Firewall com um ACK. Está fechado o Three-Way-Handshack.
" Isso é uma poesia para min"..rsrsrs
Fechado a conexão TCP, o client ASDM inicia uma conversa segura com o Firewall enviando um Hello SSL. SSL é Secure Sockets Layer também conhecido como HTTPS.
O Hello do Protocolo SSL:
O Firewall responde com um ACK:
O Firewall envia no próximo Quadro um "Server Hello":
O Client responde com um ACK ao Server Hello:
O client envia sua Chave:
ACK do Firewall a chave enviada
O Firewall envia as informações (PUSH). Nesse momento a informação de Hardware ID irá como "Null".
Client envia ACK:
E na sequência podemos presenciar no exato momento em que o client envia o Reset na conexão:
Acima foi a conversa TCP sem o Proxy, culminando com o Reset da conexao:
Agora vamos fazer um outro teste. Vamos deixar o Fiddler2 aberto,porém, não vamos fazer o Spoof nos pacotes HTTPS.
O resultado é o pacote passando de forma ´natural´ pelo Proxy. Sem a informação do Hardware ID. Consequentemente, iremos ter o erro.
Abaixo, como o problema é contornado com o uso do Proxy.
Aqui a parte do Codigo que engana o ASDM:
//
// if (!(((oSession.responseCode == 401) && oSession.oResponse["WWW-Authenticate"].Length > 9) ||
// ((oSession.responseCode == 407) && oSession.oResponse["Proxy-Authenticate"].Length > 9))) {
// oSession.oResponse["Connection"] = "close";
// }
if (oSession.url.Contains("/show+version")) {
oSession.utilDecodeResponse();
oSession.utilReplaceInResponse('Hardware: ,','Hardware: ASA5520,');
}
}
static function Main()
O exato momento em que nosso proxy Fiddler engana o ASDM. Nós vimos acima que essa informação não aparece no comando "Show Version", mas aparece aqui como "ASA5520". Ou seja, o Proxy faz um Spoof no pacote que vem do Firewall e acrescenta a informação de Hardware.
Abaixo o ASDM aberto.
ASDM é uma excelente ferramenta. Se as atividades a serem realizadas no Firewall envolve visualização de informações, ASDM é o que há. Eu prefiro linha de comando sempre por uma série de razões, mas não há a menor dúvida que ter ASDM à disposição é muito útil.
Dessa forma concluo mais esse Post. Não há muita dificuldade em seguir os passos acima.
Parabéns ao carinha que postou a solução. Descobrir uma forma de enganar o ASDM foi genial.
Até o próximo!
No comments:
Post a Comment