segunda-feira, 2 de julho de 2018

CRIANDO MALWARE DO ZERO - PARTE 3

E ae galera, essa é a ultima parte do artigo da serie criando malware do zero. Hoje vamos desenvolver, finalmente, o lado do cliente.

Nessa parte, devemos seguir o mesmo raciocino do artigo passado, o porque disso é por conta da conexão cliente-servidor e por conta da criptografia, onde, o cliente - assim como o servidor - possuem uma mesma chave para troca de dados pela rede de forma segura.

Vale lembrar que existem outras formas  para troca de dados na rede de forma segura com o socket.
 Leia mais em:
https://stackoverflow.com/questions/7698488/turn-a-simple-socket-into-an-ssl-socket

https://stackoverflow.com/questions/26851034/opening-a-ssl-socket-connection-in-python

https://github.com/christiandt/Secure-Chat
Bibliotecas 
Como dito, devemos seguir o mesmo raciocínio do servidor.

 
Configuração de conexão e protocolos
Devemos definir o IP (ou DNS) e a porta que o servidor esta configurado.

 
Criptografia e auxiliares
Sendo a ultima parte do código, finalizamos o nosso malware por completo, tendo ele:
  • Conexão Socket;
  • Criptografia com AES e base64;
  • Módulos auxiliares;
    • Backdoor e Spyware embutidos;



Na pratica
É hora de testar o malware, verificar se a conexão esta pegando, se ela esta realmente criptografada e testar nossos auxiliares. Lembrando que eu não criptografei os dados enviados pelos módulos auxiliares, é muito importante lembrar disso.

Como utilizei o sistema Windows como alvo, eu tive que transformar o .py em .exe
  • cx_Freeze para Windows, Linux, e Mac OS X (Python 2.7, 3.x)
  • pyinstaller para Windows, Linux, e Mac OS X (Python 2.7, 3.3-3.5)
  • bbfreeze para Windows e Linux (Python 2.4-2.7)
  • py2exe para Windows (Python 2.6, 2.7)
  • py2exe para Windows (Python 3.3-3.5)
  • pytoexe para Windows (Python 2, 3)
  • Freeze para Linux e maybe Mac OS X (Python 2.x)
  • py2app para Mac OS X (Python 2.x)




 Lembrando que a conexão entre cliente-servidor não é totalmente criptografada, apenas os comandos que são enviados pelos dados que são criptografados. Para ter um conexão segura, é necessário por o SSL no Socket.


Considerações finais
Bom galera, espero que vocês tenham gostado desse artigo com três partes sobre desenvolvimento de malware. Vimos que é importante saber pelo menos o básico-intermediário de programação, redes e sistemas operacionais.

Nenhum comentário:

Postar um comentário