Olá. Esta será uma introdução sobre como o malware funciona e como criá-lo.
Este será um guia para qualquer idioma.
Passo um
Ok, vamos ver a primeira coisa que o malware deve fazer e qual é o meu primeiro passo na criação. Isso é fazer uma atividade maliciosa desejada. Isso pode ser keylogging, roubo de senha, etc., basta escolher um e fazê-lo. não importa o idioma (até certo ponto). Para fins de simplicidade, vamos supor que você tenha feito um shell reverso. Um shell reverso é um programa que recebe comandos de um invasor e os executa em uma máquina de destino.
Passo dois
Agora que temos um programa que pode executar comandos, precisamos ser capazes de fornecer comandos pela Internet. É aqui que um comando e controle ou servidor C2 entram em jogo. Um C2 é simplesmente um servidor que emite qualquer grau de instruções. Então agora nosso programa faz duas coisas e vou listá-las em ordem.
1) conecta-se ao servidor do atacante
2) Executa comandos do servidor
Passo três
Agora é quando o programa fica realmente divertido. O Passo Três tem tudo a ver com persistência e evitação. Neste ponto, o programa provavelmente sinalizará Anti vírus ou AV para abreviar. Aqui estão algumas maneiras de evitar isso. Nota: Não é aconselhável usar um os.sleep() tradicional ao criar esperas. Em vez disso, use matemática aleatória para criar uma espera personalizada. Você pode querer criar sua biblioteca de espera personalizada e importá-la para usar em projetos futuros.
1) Uma espera no início do programa não inferior a dez segundos
2) gerar ruído aleatório ao longo do tempo de execução, realizando cálculos aleatórios.
3) detecção de thread para detectar se a programação está sendo executada em um ambiente virtual
4) Codificação de programa e string
Agora que sabemos como evitar o antivírus, vamos examinar um método de persistência, a edição da chave do Registro. Basta adicionar uma chave de registro na pasta de execução para executar seu programa no login. Acompanhando isso, você também deve fazer com que o programa se instale em alguma pasta em algum lugar que os usuários não verifiquem com frequência e também não precise de acesso de administrador.
Notas Finais
Para recapitular como seu programa deve funcionar e isso está na ordem das ações executadas em tempo de execução.
Dormir
Instalar-se em outro lugar
Adicionar chave de registro
Conectar ao atacante
Executar a ação
Agora, algumas dessas ações podem ser alternadas, pois não há regras rígidas além de dormir primeiro e ainda instalar mesmo se a conexão falhar. Não se esqueça de gerar ruído aleatório durante a execução.
Estarei lançando o código-fonte completo para um shell reverso simples dentro de 24 horas, então, se isso é algo que você está interessado, fique por perto.
Este guia foi inspirado, mas não tem relação com a série de guias atual do Prince, eu simplesmente fui inspirado. Se você acha que cometi um erro ou gostaria de adicionar mais, deixe um comentário.
Por fim, existem milhares de maneiras de fazer um programa, alguns podem dizer que essa não é uma boa maneira, etc., então vá lá, aprenda e encontre o que é certo para suas circunstâncias.