Blog do Marllon

Desenvolvimento de software, Tecnologia e Empreendedorismo

Software malicioso, educação e o projeto Sculevta (Suco Levanta)

15 January 2017

Hoje compartilho o código do mais novo brinquedo para estudo que desenvolvi: SCULEVTA (*Acrônimo de Suco Levanta — don’t ask —*), um malware escrito em linguagem C que tem por objetivo ajudar os iniciantes no estudo de pragas digitais.

A ideia surgiu durante uma das aulas de Análise de Malware da Pós-Graduação, onde o professor nos conduziu na análise de um software desta espécie. Basicamente o que o software fazia era criar uma chave no registro e depois tentava obter uma página da web por meio do Internet Explorer (Muito esperto! rs).

Conversando com o Prof. Marcello Zillo Neto (confira o blog dele aqui (http://mzillo.blogspot.com.br)), tive a oportunidade de entender que estes softwares não são assim tão diferentes dos softwares que estamos acostumados a implementar, afinal, todos fazem acesso ao registro do Sistema Operacional, ocasionalmente necessitam realizar operações em rede e utilizam o armazenamento para tarefas especificas.

A partir desta conversa, desenferrujei meu compilador GCC (MinGW) e fui a codificação da praga digital que se parecia com que havíamos estudado, no intuito de desenvolver algo com propósito acadêmico procurei simplificar ao máximo o funcionamento do software.

O Algoritmo Principal

Basicamente o que o software malicioso desenvolvido (a.k.a SCULEVTA) faz é:
- Infecta o disco, copiando-se para a raiz com um nome randômico.
- Infecta o registro, criando uma chave para ser executado a partir da cópia feita nas próximas vezes em que o usuário logar.
- Realiza uma chamada utilizando socket a um servidor externo, recebe um comando e executa-o.
- Encerra.

Muitas coisas ainda podem ser acrescentadas para tornar o projeto ainda mais interessante para fins de estudo de pragas digitais, incluindo:
- Utilização de PWDUMP para obter os hashes dos usuários locais do sistema;
- Utilização de OCX nativo para não criar socket no software, mantendo-se mais discreto;
- Implementação de mecanismo de loop, melhorando a inteligência da praga;
- Implementação de verificação de ambiente virtualizado visando dificultar a vida do analista de malware;
- ETC (Use a sua imaginação);

Espero com este projeto elucidar alguns pontos básicos da construção de software malicioso, contribuindo para o estudo destas ferramentas por mais pessoas a fim de evoluir técnicas de detecção e análise.

O código fonte na íntegra pode ser obtido no meu repositório GitHub (https://github.com/camarllon/sculevta-project).

Até Já!