Blog do Marllon

Desenvolvimento de software, Tecnologia e Empreendedorismo

Como exportar arquivo para PDF com o VIM/GVIM

Se você, assim como eu, é um fã do editor de Texto VIM, talvez já tenha se perguntado:

É possível exportar o texto que estou vendo (Incluindo sua formatação e realce) para um PDF?

Bem, nativamente não temos ferramenta para exportação direta para PDF, no entanto, com um pouco de criatividade é possível chegar a este resultado.

A partir de um documento qualquer aberto pelo editor, podemos realizar a exportação para um formato intermediário (e.g: PostScript) e então podemos converter para o formato final.

O primeiro passo é abrir o arquivo no editor (e.g: /tmp/python-hello.py), habilitando o realce utilizando, por exemplo (:syntax on):

!/usr/bin/env python

print 'Hello World'

Agora crie um arquivo PostScript utilizando o modo iterativo do GVIM:

:hardcopy > /tmp/python-hello.ps

De posse do arquivo PostScript, podemos agora converte-lo para PDF com o seguinte comando no terminal:

ps2pdf /tmp/python-hello.ps

Assim, conseguimos gerar um PDF a partir do arquivo PostScript de um documento qualquer aberto no VIM. O mais interessante é que exportamos inclusive as características de texto como é o caso do realce.

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

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á!

“Hello world”, Olá, bem-vindo e vamos lá

Resolvi criar este blog pra compartilhar informações interessantes que encontro pela web, sobre coisas que eu leio nos blogs e revistas que costumo consumir, artefatos que vejo pela rua ou mesmo em filmes ou simplesmente sobre coisas que resolvo testar.

Sou aficionado por computação, programação e segurança da informação, portanto farei muitos posts sobre estes assuntos. Gosto também de filosofia, música, poesia, basquete, empreendedorismo, economia, organização pessoal, etc.

Comentários e criticas são bem vindos, contatos serão respondidos o mais breve possível.

Até já,

Para artigos anteriores consulte o Arquivo.