terça-feira, 28 de junho de 2011

PeePDF Ferramenta de análise de malware em PDF

Peepdf é uma ferramenta desenvolvida em Python para explorar e analisar arquivos PDF do ponto de vista de malware. O objetivo desta ferramenta é fornecer todos os componentes necessários que um pesquisador de segurança poderia precisar de uma análise de malware em PDF sem o uso de 3 ou 4 ferramentas para fazer todas as tarefas.

Com o peepdf é possível ver todos os objetos no documento mostrando os elementos suspeitos, suporta todos os filtros mais utilizados e codificações, ele pode analisar diferentes versões de um arquivo, fluxos de objeto e arquivos criptografados. Com a instalação de Spidermonkey e Libemu fornece Javascript e wrappers análise e também
shellcode. Além destes, é capaz de criar novos arquivos de PDF e modificar os existentes.

Principais recursos:

  • Decodings: hexadecimal, octal, name objects
  • More used filters
  • References in objects and where an object is referenced
  • Strings search (including streams)
  • Physical structure (offsets)
  • Logical tree structure
  • Metadata
  • Modifications between versions (changelog)
  • Compressed objects (object streams)
  • Analysis and modification of Javascript (Spidermonkey): unescape, replace, join
  • Shellcode analysis (sctest wrapper, Libemu)
  • Variables (set command)
  • Extraction of old versions of the document 
Para maiores detalhes e informações, visite project page of PeePDF

Leandro Santos

domingo, 26 de junho de 2011

Sites do Exército são novamente atacados por grupo hacker

Diversos sites do Exército brasileiro saíram do ar na tarde deste domingo, depois de um novo ataque de hackers. O grupo Fatal Error Crew, o mesmo que roubou dados do Exército há poucos dias, reivindicou o ataque em sua conta do Twitter.

Os sites derrubados são aqueles com extensão .eb.mil.br. São sites de batalhões e departamentos específicos do Exército pelo país. Segundo o Twitter do grupo, são 200 os sites derrubados. Um representante do grupo Fatal Error Crew já deu entrevista ao iG.

Segundo o Centro de Comunicação Social do Exército (Cecomsex), os sites com essa extensão saíram do ar neste domingo porque foi verificado um excesso de demandas no provedor de acesso do Exército. Por questão de segurança, alguns desses sites foram retirados do ar. O Cecomsex informa que, a princípio, estão descartados roubos de dados da rede. De qualquer forma, o evento é investigado pelo Centro de Tratamento de Incidentes, ligado ao Centro Integrado de Telemática do Exército (Citex), cujo site também saiu do ar.
Por volta das 19h50 deste domingo, o Cecomsex confirmou o restabelecimento dos sites.

No Twitter, o grupo Fatal Error Crew diz que o ataque deste domingo foi feito para mostrar que o Exército ofereceria apenas uma ilusória "realidade de segurança".

Fonte: http://migre.me/57Gd9

Leandro Santos

terça-feira, 21 de junho de 2011

Introdução a Shellcode

Shellcode é definido como um conjunto de instruções injetado e, em seguida, executado por um programa explorado. Shellcode é usado para manipular diretamente os registradores e funções de um programa, por isso é geralmente escrito em assembler e seus opcodes são traduzido para hexadecimal. Você não pode tipicamente injetar shellcode escrito a partir de uma linguagem de alto nível, e há nuances sutis que irá impedir que o shellcode seja executado de forma limpa. Isto é o que torna a escrita um pouco difícil, e também um pouco de uma arte negra.

O termo shellcode é derivado de seu propósito original, que era especificamente parte de um exploit usado para gerar um shell root. Este ainda é o mais comum tipo de shellcode usado, mas muitos programadores têm refinado o shellcode para fazer mais do que isso. O shellcode é colocado em uma área de entrada, e então o programa é levado a executar o shellcode fornecido. Geralmente explorando estouro de buffer e/ou de pilha.

Entender Shellcode, e eventualmente, escrever seus próprios é, por muitas razões, uma habilidade essencial. Em primeiro lugar, a fim de determinar que uma vulnerabilidade realmente existe, primeiro você deve explorá-la. Isto pode parecer senso comum, mas um grande número de pessoas lá fora estão dispostos a indicar se uma vulnerabilidade pode ser explorada ou não sem fornecer evidências sólidas. Ainda pior, às vezes um programador diz que uma vulnerabilidade não é explorável, enquanto ela realmente é (geralmente porque o descobridor original não poderia descobrir como explorá-la e assumiu que porque ele ou ela não poderia descobrir isso, ninguém mais poderia). Além disso, fornecedores de software, muitas vezes, lançam um aviso de uma vulnerabilidade, mas não fornecem um exploit. Nestes casos, você pode ter que escrever o seu próprio shellcode se você deseja criar um exploit, a fim de testar o bug em seus próprios sistemas.

segunda-feira, 20 de junho de 2011

Enviando emails com anexo em PHP

Para que este exemplo funcione corretamente é necessário que um servidor SMTP este configurado no arquivo php.ini

<?php

// criação do email
$to = "destino@dominio.com";
$from = "remetente@dominio.com";
$subject = "Enviado dia".date('d_m_Y');
$message = "Segue em anexo o arquivo pedido.";

// um hash randômico deve ser enviado com o conteúdo da mensagem
$separator = md5(time());

// tipo carriage return (usamos em PHP a constante de fim de linha)
$eol = PHP_EOL;

// nome do anexo que aparecerá no email
$filename = "arquivo_".date('d_m_Y').".txt";
// Abrindo o arquivo local para ser anexado
$arq = fopen("arquivo.txt","r");
//Calculando o tamanho do arquivo
fseek($arq,0,SEEK_END);
$tamanho = ftell($arq);

/*
*Coloque aqui um tratamento limitando o tamanho 
*do arquivo, pois os emails possuem um limite máximo
*para o tamanho do arquivo em anexo
*/

//Rebobiando o ponteiro do descritor do arquivo
rewind($arq);

//Carregando o arquivo para memório
$doc = fread($arq,$tamanho);
fclose($arq);

// codificando os dados (colocando o anexo no formato correto)
$attachment = chunk_split(base64_encode($doc));

// cabeçalho principal 
$headers = "From: ".$from.$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol;
$headers .= "Content-Transfer-Encoding: 7bit".$eol;
$headers .= "This is a MIME encoded message.".$eol.$eol;
 
// mensagem
$headers .= "--".$separator.$eol;
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"".$eol;
$headers .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$headers .= $message.$eol.$eol;

// anexo
$headers .= "--".$separator.$eol;
$headers .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol;
$headers .= "Content-Transfer-Encoding: base64".$eol;
$headers .= "Content-Disposition: attachment".$eol.$eol;
$headers .= $attachment.$eol.$eol;
$headers .= "--".$separator."--";
 
// enviando a mensagem
if (!mail($to, $subject, "", $headers))
echo "Erro ao enviar arquivo. Favor Contate seu administrador!";
else
   echo "Email enviado com sucesso!";

?> 


Leandro Santos

terça-feira, 14 de junho de 2011

Workshop de Segurança da Informação - Teste de Penetração I

Estão abertas as inscrições para o segundo Workshop de Segurança - Teste de Penetração I

Seguem abaixo as informações:

O workshop de Teste de Penetração (PenTest) tem o objetivo de apresentar as metodologias de Pentest em Aplicações Web, além disso serão feitas oficinas práticas de ataques a aplicações vulneráveis, com uso de Ferramentas disponíveis no Backtrack5.
Carga Horária: 12h
Data prevista: 09/07/2011 e 10/07/2011
Horários: 9:00 horas ás 12:00 horas e 14:00 ás 17:00 horas
Pré-requisitos: Conhecimentos básicos em PHP, Redes, Linux e SQL (não obrigatório)
Local: Campus Universitário Darcy Ribeiro, Ala Norte, Laborátorio de Informática da UnB (LINF),
Investimento: 10/06-17/06 R$ 100
                         18/06- 24/06 R$ 150
                         25/06- 01/07 R$ 200
                         02/07- 09/07 R$ 250

 Para quem participou do primeiro módulo a inscrição será de R$ 70

As incrições serão feitas pelo site:

http://www.cjr.org.br/workshop/

O objetivo deste Workshop é ser bem prático, teremos oficinas de injeção de SQL Injection, XSS, além do uso do Backtrack 5, distribuição linux mais usada em teste de penetração.

Por favor me ajude a divulgar.

Leandro Santos