___ ___ _ ______ _ _
| \/ | | | | ___ (_) _ (_)
| . . | ___ _ __ | |_ ___ | |_/ /_ _ __ _//_ _ __ _ __ _
| |\/| |/ _ \ '_ \| __|/ _ \ | ___ \ | '_ \ / _` | '__| |/ _` |
| | | | __/ | | | |_| __/ | |_/ / | | | | (_| | | | | (_| |
\_| |_/\___|_| |_|\__|\___| \____/|_|_| |_|\__,_|_| |_|\__,_|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3 anos~~~~
ou a autenticação é segura, ou é centralizada
Este artigo vai ajudá-lo a entender (e quando utilizar) os padrões de programação da linguagem C. Não ache que a utilidade é teórica, pois não é. Seguir um padrão pode ajudar na segurança de código, otimização e até aumentar a produtividade. Sabia que C tem o tipo booleano, por exemplo?.
Dumps de memória, discos ou arquivos binários em geral podem conter outros arquivos dentro.
Este artigo sugere uma forma de extração de dados sem ferramentas automatizadas, de modo
didático e preciso. O texto é particularmente interessante para entusiastas em computação
forense.
Neste artigo descrevo o processo de criação do OpenVaccine, ferramenta
para "imunização" de mídias USB, baseado na engenharia reversa de um
software proprietário. O OpenVaccine cria um autorun.inf quase
indeletável no raíz de uma mídia FAT-32, evitando que vírus e malwares
injetem seu próprio autorun.inf.
O formato do pacote deb é simples e genial. Neste texto mostro o que é e como fazer um
de forma manual, para fins de estudo. A ideia aqui é atingir um objetivo maior: despertar
o interesse pelos pacotes, por parte dos leitors quem não os conhece muito bem, conseguindo assim
novos colaboradores para a distro que já tem mais de 35.000 pacotes em seu acervo!
Mês passado eu postei no blog uma análise básica de um malware brasileiro que recebi por e-mail [1]. Algumas
pessoas se ofereceram para continuar a análise mas não o fizeram, por motivos diversos. Eu tomei vergonha
e achei uma máquina virtual com o XP e alguns programas velhos que ajudariam na análise. Este artigo é o meu
relato sobre esse malware. :)
Keygen, que abrevia "Key Generator" é um software capaz de gerar chaves válidas
de registro para um software protegido. A prática desta técnica pode (e provavelmente vai)
infringir algumas leis quando usada em softwares comerciais. No entanto, existem alguns
desafios na internet chamados de "keygenmes", que são programas feitos justamente para
serem quebrados. O desafio está em criar keygens para eles. Este é um estudo muito
interessante que treina bastante a lógica, matemática, assembly e até mesmo
massageia o ego, se você vencer. :)
Um analisador de executáveis é um software capaz de prover informações sobre
um executável que podem ser muito úteis para pesquisadores de Segurança da Informação
na análise de malware, forense computacional ou engenharia reversa.
Este artigo, apresentado no Web Security Forum 2011, objetiva demonstrar como um analisador de executáveis é construído, abordando
técnicas para uma análise precisa e eficiente. É utilizado como base, um software de código
aberto chamado "pev", de desenvolvimento próprio, que analisa binários PE32 (usados no MS-Windows)
e pode ser compilador tanto em sistemas UNIX-like quanto no próprio Windows, pois foi escrito em ANSI C.
Com as vantagens óbvias das câmeras digitais, incluindo as dos
smartphones, mais e mais pessoas tiram fotos todos os dias, em todos
os lugares, fazendo as mais variadas "tripulias". O que pouca gente
sabe é que esses arquivos de fotos podem conter dados um tanto quanto
comprometedores, como data, condições em que a foto foi tirada e até
mesmo onde você estava!
Muitas vezes nos deparamos com situações que poderiam ser resolvidas
com um sistema wiki, mas infelizmente nos esbarramos de frente com a
experiência do usuário, que encontra dificuldades imensas em formatar
e manter organizado as páginas dentro de um sistema de edição
colaborativa, foi este o motivo que me levou a procurar por extensões
que pudesse me ajudar a manter o usuário distante do campo de edição
da wiki, e eis que me apareceu o Semantic Forms.
Em muitas faculdades brasileiras a linguagem C é ensinada aos alunos de
cursos de tecnologia. Mesmo assustando os novatos, a maioria resiste e
vence a matéria. O problema é entender por qual motivo o C foi
escolhido para iniciar o curso de programação. Seria uma linguagem
didática para se aprender a programar? Ou é um teste para ver quem tem
ou não o "jeito pra coisa"? Alguns diriam que o correto seria começar
com Pascal, mas há quem defenda linguagens mais modernas como Python,
Perl, Ruby ou PHP. E aí, pra que serve o C no primeiro período? Neste
artigo farei uma análise sobre o que se aprende da linguagem, o motivo
pelo qual ela surge no início do curso, seu valor de mercado e o que é
possível fazer com esse start que a faculdade nos dá.
A API Charts, desenvolvida pelo Google pode ser particularmente útil
quando precisamos de uma maneira rápida de gerar gráficos a partir de
scripts. Neste artigo, vamos ver como fazer isso a partir do BASH, o
shell hoje mais utilizado no mundo Linux. Você verá que além de o
BASH ser extremamente poderoso, pode facilmente interagir com a web
através dos aplicativos básicos do sistema.
Uma importante parte da pós-implementação de um produto é a
monitoração constante. Primeiro porque é a partir dela que o
administrador do sistema obterá dados para servir de parâmetros numa
anlálise e segundo porque, quando enfrentando problemas, o
troubleshooting é bastante facilitado quando a monitoração bem feita
existe.
Mesmo com tantos clientes de e-mail evoluídos e cheio de recursos,
ainda há muitos usuários do Outlook Express. Talvez por comodidade,
uma vez que ele acompanha uma instalação padrão do Windows, ou mesmo
por já estar usando há tempos e não pensar em migração.
É notória a quantidade de pen drives e cartões de memória infectados
com vírus. Freqüentemente nos deparamos com vírus novos, que os
antivírus não conhecem (a vacina é criada depois de certo tempo).
Essas pragas disseminadas por pen drives são tão perigosas quanto as
disseminadas pela internet e às vezes até mais destruidoras, ou seja,
o cuidado deve ser redobrado. Veja neste artigo como se defender de um
pen drive ou cartão de memória infectado e saiba como remover o vírus
destes dispositivos.
Atualmente o número de pessoas que navega na web todos os dias é alto.
Estamos altamente dependentes de e-mail, sites de notícias, fóruns,
sites de relacionamento, dentre outros. Muitos usuários da grande rede
possuem contas em vários portais diferentes (já parou para se
perguntar quantas contas em portais na web você possui?). Num mundo
assim, onde vivemos de logins e logouts, não é muito prático manter
vários nomes de usuário e senhas diferentes, por isso muita gente usa
uma senha para [quase] tudo.
Recentemente fui requisitado para verificar a possibilidade de um
determinado sistema cliente-servidor funcionar em thin clients
(terminais leves, que usam o processamento e o SO de um servidor de
terminais).
O sistema baseia-se em um aplicativo servidor e um pequeno aplicativo
cliente, que deve ser instalado em todas as estações. Mas ele não foi
feito para funcionar com terminal services: este pequeno aplicativo
instalado nas estações mantém suas configurações numa chave de
registro em HKEY_LOCAL_MACHINE. Logo, cada estação precisa de um SO
para que o aplicativo crie esta chave e armazene suas configurações
individuais.
Imediatamente pensei que se este aplicativo armazenasse suas
configurações em HKEY_CURRENT_USER, seu funcionamento em thin client
seria viável, uma vez que esta chave do registro existe para cada
usuário que se loga no sistema (diferente da chave HKEY_LOCAL_MACHINE,
que é única no SO).
Neste artigo vou mostrar como alterar o comportamento de um executável
que armazena suas configurações em HKLM, fazendo-o armazenar em HKCU,
para atingir o objetivo desejado.
Este artigo mostrará como estabelecer uma conexão segura (SSL) com o
SMTP do GMail e enviar e-mails com anexos. O e-mail é enviado com Relay
(com identificação) e pode ter inúmeras aplicações, um bom exemplo disso
é um script que envia logs para você.
A virtualização tornou-se indispensável em ambientes de testes e é empregada
até em ambientes de produção. Neste artigo vamos ver como criar um servidor de
máquinas virtuais, uma máquina dedicada com o Debian GNU/Linux que armazenará
todas as máquinas virtuais e terá um servidor que poderá receber conexões de
qualquer máquina da rede para que os usuários compartilhem as máquinas virtuais
existentes. Este tipo de servidor é muito útil em ambientes de testes, para o
departamento técnico, para testes pré-venda ou mesmo para conhecer alguns
produtos. E o melhor: o custo do projeto é zero! São usados somente softwares
gratuitos com o um sistema operacional 100% GNU (open source).
Este artigo mostra um exemplo de como utilizar a ER para estudar o executável
do game e saber o que o impede de rodar no Vista.
Você verá como uma simples alteração em 2 bytes de um arquivo PE pod
salvar seu fim de semana. :P
Muitos jogos antigos apresentam problemas ao serem executados ou simplesmente
instalados no Windows Vista. Isto acontece por conseqüência de diversos fatores,
mas o principal é que quando o jogo (ou software) foi desenvolvido, o
Windows Vista ainda não estava no mercado, o que impediu testes de serem
realizados, dentre outros aspectos.
Este artigo mostra um exemplo de como utilizar a ER para estudar o executável
do game e saber o que o impede de rodar no Vista.
Você verá como uma simples alteração em 2 bytes de um arquivo PE pod
salvar seu fim de semana. :P
Esse artigo mostrará todo o processo da transformação de MIDI em
áudio real sampleado, vou dividir isso tudo em partes, como deve ter
dado para notar pelo título...
Muitos mecanismos de proteção em redes para liberar acesso a certos recursos
ou obter um IP privilegiado são baseados no endereço MAC da interface rede.
O endereço MAC é fixado no hardware da placa de rede. Não é possível
alterá-lo, mas é possível mascará-lo.
Neste artigo vamos ver como essa proteção dos servidores funciona, como é
burlável e como proteger nossa rede deste tipo de falha.
Neste guia vamos montar um projeto que usa a porta paralela do PC para
controlar dispositivos externos. Estes podem ser pequenos circuitos eletrônicos,
lâmpadas, alarmes de segurança, etc. Montaremos um controle de LEDs para testes
com a porta paralela.
A maioria dos vírus e pragas virtuais compartilham de certos métodos de
auto-inicialização com o SO. Isto inclui os spywares e seus similares.
Os sistemas Windows possuem métodos para inicializar programas junto ao seu
carregamento limitados. Na maioria das vezes os vírus iniciam justamente por
eles e daí a importância de conhecê-los e saber gerenciá-los. Desta forma, o
técnico pode remover manualmente muitas pragas, o que economizará tempo com
scans de softwares antivírus e anti-spys, além de ser extremamente útil quando
o vírus ataca estes softwares de proteção, impedindo sua inicialização.
O Wireshark é um dos sniffers (analisadores de tráfego de rede) mais
conhecidos atualmente. Ficou muito famoso com seu antigo nome, Ethereal.
Além de ter uma ótima interface gráfica, também possui uma interface em linha
de comando muito poderosa. Neste artigo vamos ver como são frágeis os sistemas
de login em texto puro. Sniffaremos uma tentativa de login num servidor FTP e
num site HTTP, que inclusive, é o nosso. :)
Apesar de ser um assunto que já foi tratado em muitos sites e fóruns,
continuo a observar que alguns usuários do Windows devem ter mais atenção com
o tipo de arquivo que aplica o famoso duplo-clique. Identificar se o arquivo é
inofensivo ou se é uma ameaça pode ser mais fácil do que se imagina. Este artigo
tem como intenção desmistificar as lendas sobre as extensões de arquivos
maliciosos e alertar sobre as extensões perigosas.
Há alguns dias precisei realizar a clonagem de discos rígidos de diversas
máquinas ligadas em rede. Iria utilizar, como de praxe, o Norton Ghost de disco
a disco mas para isso teria que abrir todas as máquinas (e eram muitas) e
retirar os discos pra depois recolocar. Procurei então usar as opções de rede
TCP/IP que o Ghost me oferece. Pois bem, não consegui sucesso com nenhuma.
Precisava de um software "antes" do SO, ou seja, que carregasse após o POST
e permitisse a clonagem dos discos. Foi aí que fui apresentado por um amigo
(obrigado Michael) ao UDP Cast, um software que roda a partir de um disquete
ou CD-ROM, sobre um kernel linux.
Para quem teve dificuldades em instalar o Beryl ou pra quem não o conheça ainda
mas queira um novo visual, melhor que o Aero, do Windows Vista em minha opinião.
Segue o tutorial mais rápido que achei.
Antes eu usava o VMware Player no meu Ubuntu Feisty Fawn pra rodar as máquinas
virtuais e as criava no site EasyVMX [1] ou na mão mesmo
(depois que compreendi o script .vmx).