Atenção: Nenhuma máquina foi invadida e todo o laboratório foi executado em ambiente confinado e para fins de utilização ética, “INVASÃO DE COMPUTADOR É CRIME”.
Olá pessoal !!! Bem vindo ao site !!!
Perl é uma linguagem de programação estável e multiplataforma, muito utilizada em aplicações de missão crítica com destaque em diversos desenvolvimentos web. A criação de programas para diversos ambientes UNIX, MSDOS, Windows, Macintosh, OS/2 proporciona alta flexibilidade da linguagem para inúmeras aplicações.
Uma vasta documentação encontra -se em http://perldoc.perl.org/perl.html.
Sua versatilidade no processamento de cadeias (strings), bem como manipulação de texto utilizando expressões regulares potencializa o projeto de ferramentas estáveis para auditoria e pentest.
Este pequeno artigo é uma demosntração básica de programação com Perl, onde -se mostra a execução de um programa chamando um determinado arquivo com intenções maliciosas. A idéia é sempre suspeitar de programas e scripts, de uma forma geral e verificar a sua estrutura, através de uma análise forense. Malwares e trojans e demais utilizam técnicas avançadas para ofuscar o código malicioso dificultando sua interpretação e real intenção.
Neste ponto foi criado um pequeno programa com nome de initperl.pl no Kali Linux aplicando permissão para execução com o comando chmod.
root@kali:~# touch initperl.pl
ls
chmod +x initperl.pl
Fig 1
Editar o arquivo initperl.pl com o comando VI desenvolvendo o pequeno programa que soma duas variáveis A e B.
vi initperl.pl
Fig 2
Pequeno programa desenvolvido. Em um programa pequeno fica fácil identificar o propósito de algumas linhas de programação inseridas, no entanto imagine um código de programa com 5 mil linhas. Se o código estiver ofuscado o trabalho para identificar a legitimidade será maior ainda.
Fig 3
Executando o programa criado: perl initperl.pl ou ./initperl.pl
Fig 4
Criar o diretório /home com o comando mkdir /root/home. No diretório cd /root/home criar o arquivo script.sh executável.
Fig 5
Editar o arquivo script.sh
Fig 6
O comando rm -rf pequeno* deleta o arquivo pequenoarquivo.txt e o comando exec top exibe os processos em execução, caso estivessem sem os comentários #. Várias ações poderiam ser desencadeadas, como deletar o próprio sistema operacional com o comando rm -rf /.
O programa executa a operação de soma e o arquivo script.sh ao mesmo tempo.
Fig 7
Mensagem criada dentro do arquivo pequenoarquivo.txt.
Fig 8
Rodando o programa novamente sem os comentários o pequenoarquivo.txt será deletado exibindo a operação soma e os processos do Linux com o comando TOP.
Fig 9
No diretório ROOT verifica -se o arquivo pequenoarquivo.txt deletado.
Fig 10
Resumindo qual é o nível de vulnerabilidade que é adquirido quando executa -se vários programas e scripts existentes por aí sem conhecer plenamente a sua estrutura ?
Um grande abraço a todos e até a próxima !!!