Segurança da Informação, Hacking, PenTest, malware, analise forense. Um blog para quem acha que segurança importa.

quarta-feira, 18 de setembro de 2013

Recuperaçao de arquivos apagados no Linux


Somente quem ja passou por isso sabe como é.
De um momento para o outro seus dados sumiram.
Recuperação de arquivos em Linux ( ext2, ext3, ext4, etc ) sempre foi tarefa dificil.

Passei por um situação onde, durante uma migração de servidores, um amigo meu  inverteu os parametros de origem e destino e .... copiou o HD limpo para o HD com os dados.
O processo foi parado alguns segundos após o início, porem o desastre já tinha ocorrido.

Levei para a empresa o kit basico com HD limpo, bloqueador de escritas e o bom BackTrack.
Pensavamos como fazer a recuperação. Necessitavamos de uns 80 GB de dados. Tinhamos alguns arquivos antigos para verificar a estrutura, porem alguns arquivos eram grandes, com mais de 2 GB de tamanho e acabando com varios zeros, o que dificultava o uso de ferramentas de carvin, como o foremost e o scalpel.

Após alguns buscas apareceu o software que parecia ser a solução . Extundelete ( http://sourceforge.net/projects/extundelete/ )

Efetuamos um teste e o Extundelete foi capaz de recuperar diretórios completos e nomes de arquivos.
Colocamos ele para fazer a recuperação e o mesmo recuperou 90% do que necessitavamos.

O programa é leve e faz o que se propõe. (A ferramenta é MAGICA, e funciona !!!!)

Alguns arquivos muito grandes, por algum motivo desconhecido, não foram recuperados corretamente.
Durante a recuperação, o arquivo apagado aparecia, crescendo de tamanho (sendo recuperado), porem quando a recuperação acabava o mesmo estava com 10% do tamanho original esperado.  ( não se pode ganhar todas)
Teve tambem alguns arquivos que não foram recuperados. :-/

Gostariamos de agradecer o desenvolvedor, mas sentimos falta de uma coisa ...  um link para fazer uma doação .

Se voce trabalha com Linux/ Unix e para voce Segurança Importa, tenha a mão Extundelete.
Até a proxima.

sábado, 27 de abril de 2013

Recuperação de Dados - 1


Um dos assuntos que eu mais gosto em analise forense é o relacionado a recuperação de informações.
Quando conseguimos mante-las, e quando as perdemos ?
Proposital ou não, algumas vezes perdemos informações.

Nesse post não darei muitos detalhes técnicos, somente relatar um fato.

Trabalhei durante 3 anos com um notebook, e no começo desse ano (2013), recebi um novo.
Providenciei a cópia dos arquivos e continuei utilizando os dois equipamentos em paralelo.
Depois de 2 meses achei que já estava na hora de dar um novo fim a meu equipamento antigo, uma maquina  com 3 partições de disco e com Windows 7 instalado.
Instalei o Linux - BackTrack 5r3 . Durante a instalação solicitei que as antigas partições fossem removidas. Instalação padrão.  Assim, partições antigas foram removidas, partições novas criadas.
Relembrando :  Antes:  um sistema de arquivos NTFS que foi apagado. Depois: Um sistema EXT4 foi criado.

Um mês depois, usando o Linux na maquina antiga, lembrei que esqueci de copiar meus arquivos relacionados ao imposto de renda.
Uma coisa que pode ser considerada normal, visto que não existem padrões para onde os programas vão gravas suas informações e cada programa usa seu próprio padrão. Nem tudo esta no "Meus Documentos" .


Usando as ferramentas do próprio Linux BackTrack, (sleuthkit e autopsy - www.sleuthkit.org/)  iniciei uma busca no HD (como linux) pelo meu CPF ( que só havia sido utilizado em meu computador quando eu utilizava Windows ). Para deixar bem claro, eu não procurei arquivos. Fui procurar dados no disco.

Encontrei e consegui recuperar minha declaração completa.
Esse processo como todo é trabalhoso.

Agora.

Não acreditem em tudo que leem.


A mensagem acima pode não ser totalmente verdadeira.


Se voce escolheu a opção de "Quick Format"  = " Formatação Rápida" , a mensagem diz.
" Vou remover o índice de seu dicionario", quer dizer, as informações / dados, continuam la, porem  difícil de serem encontrados.
Se a voce não escolheu Formatação rápida, seus dados serão apagados.

Se voces prestaram atenção, eu mostrei um fato que aconteceu do Windows para o Linux
E agora Windows para Windows.

Quero dizer que esse " problema" não esta relacionado a um sistema operacional em especifico.

Apagar um disco leva tempo, e a maioria das pessoas, quer as coisas funcionando rápido.
Formatar um disco grande, ( tipo 1.5 Tera ) da forma lenta, pode demorar varias horas.

Fica a dica.

Quem se importa com segurança tem sempre um Backup. ( eu achei o meu algumas horas depois de ter recuperado os dados direto do disco )

Abraços


quinta-feira, 28 de fevereiro de 2013

Tratando Volume 01


O mundo é sempre colorido, quando tudo funciona bem. Porem o que fazer quando necessitamos fazer uma determinada tarefa e as coisas não funcionam como esperado .

Necessitei fazer uma coisa bem simples, um BACKUP, para falar a verdade, uma simples copia de arquivos .
O problema, eu necessitava fazer o backup, não de um, não de uma dezena, nem uma centena de arquivos.
Eu necessitava fazer o BaCkup de mais de 2 milhões de arquivos. Esse arquivos estão em 16 diretórios, bem estruturados.
Tudo deveria ser simples, porem as ferramentas começam a falhar quando falamos de coisas de quantidades grandes. Cada diretório desses tem aproximadamente 250 mil arquivos ( é .. a conta chega a 4 milhões )

Para essa tarefa eu ja havia utilizado o RSYNC do linux com grande sucesso, porem desta vez alguma coisa deu errado. Havia um (ou mais) arquivos com erro de leitura.
Fui descobrir depois de longas horas que o RSYNC não trata esse tipo de erro, simplesmente indica o erro e para. (Li o MAN, procurei no Google e nada, se alguem souber o parametro magico, favor me informar)

Ai não teve jeito... eu tinha que resolver meu problema. Mais uma vez tive que improvisar.

Situação:
2 drives removiveis, um do tipo NAS e outro USB

Juro que tentei fazer pelo Windows, porem o Windows desistiu durante a contagem de arquivos e tempo. Talvez o powershell resolva isso, mas ... A melhor ferramenta é sempre aquela que voce sabe usar, assim...

O que eu necessito :
1. copiar arquivos de um lado para o outro
2. descobrir quais são os arquivos a serem copiados
2.1 arquivos em vários diretório
3. não copiar arquivos que ja existem no diretório/drive destino.

Solução A:
1. Listar arquivos: comando FIND do linux
2. copiar arquivos: comando CP do linux

Se fosse só isso poderiamos resolver o problema com  FIND, AWK e CP
Porem eu queria evitar copias desnecessárias.

Solução P:
Resolvi fazer um pequeno programa em PERL para resolver meu problema

01- #!/usr/bin/perl
02- 
03- $origen = $ARGV[0];
04- $destino = $ARGV[1];
05- 
06- $exec = `find $origen -type f`;
07- 
08- @files = split(/\n/,$exec);
09- 
10- foreach $file (@files) {
11-         $dfile = $destino."/".$file;
12-         if (-e $dfile){
13-                 print "$file EXISTE em $dfile\n";
14-                 next;
15-         }else{
16-                 print "Copiando : $file   para  $dfile\n";
17-                 $exec = `cp $file $dfile`;
18-         }
19- }

O programa é simples, recebo 2 parametros, origem e destino ( linhas 03 e 04 )
Mando o PERL executar o comando find do Linux ( linha 06 )
Coloco o resultado (arquivos encontrados) em um Vetor ( linha 08)
Listo o vetor (10)
Monto a linha onde deverá estar o arquivo destino (11)
Agora...  linha 12 . Essa linha testa se o arquivo existe.
Agora ficou facil. Se existir, pula para o Proximo (14)
Se não copie o arquivo origem para o lugar onde eu quero ele (17)


root@WingChun:/mnt3/var/base/d# /mnt3/var/scripts/psync.pl . /mnt2/var/base/d/


Copiando : ./df/dff/dff6af87ee2e15b3745b3e67592e79962f13f1a0   para  /mnt2/var/base/d//./df/dff/dff6af87ee2e15b3745b3e67592e79962f13f1a0

Copiando : ./df/dff/dff6b06d6eec0d5d1db0e89bcc1d1f7f462acecf   para  /mnt2/var/base/d//./df/dff/dff6b06d6eec0d5d1db0e89bcc1d1f7f462acecf
Copiando : ./df/dff/dff6b38b80dcf68e6aa0d9e3cd41f6e7af207938   para  /mnt2/var/base/d//./df/dff/dff6b38b80dcf68e6aa0d9e3cd41f6e7af207938

Não tomei nenhum cuidado de programação segura, assim não venham me criticar.

E voces? ainda acham que Segurança Importa ?

Abraços