Perícias com software livre – Parte 2

No primeiro momento, muitos peritos podem achar esse procedimento muito difícil de ser executado pois estão acostumados a utilizar ferramenta forense no ambiente gráfico, estilo o sistema operacional Windows e não rodar aplicativos por linha de comandos em que o usuário do sistema precisa digitar o comando. Porém, nem todos os casos envolverão sistema Windows e portanto, é aconselhável que os profissionais na área forense estejam preparados para exercer o trabalho de perito em qualquer ambiente operacional.

Pensando nessa dificuldade, vários projetos surgiram ao longo do tempo para facilitar o trabalho do perito forense que utiliza o software livre como ferramenta para análise de dados e busca de evidências. Algumas comunidades tecnológicas juntaram as principais ferramentas forense e agregaram em uma distribuição Linux que tinha como objetivo o desenvolvimento de tarefas forense, otimizando os recursos e facilitando o serviço do perito. Dessa forma, com apenas um CD (Compact Disc) contendo as principais ferramentas, diminui o risco de perder alguma informações por algum descuido do profissional no momento de duplicar um disco ou procurar por evidências pois como as ferramentas estão em um CD, não há o perigo de danificar o sistema operacional Linux instalado no computador suspeito, que não é executado nesse processo e sim o sistema operacional do CD.

Uma dessas distribuições forense criado com essa finalidade e muito utilizada é o Helix. É uma distribuição baseada no Ubuntu (tipo de distribuição do Linux) dedicada à investigação ou computação forense que foi modificada para que não alterasse nenhuma informação do sistema operacional do investigado. A vantagem de usar uma distribuição como o Helix é que no momento da etapa de investigação, não importa qual sistema operacional está instalado no computador suspeito pois o sistema utilizado para iniciar os trabalhos é o da própria distribuição. 1

Um projeto de conclusão de curso sobre computação forense, na Itália, originou outra distribuição forense baseada em Linux chamada CAINE. Nessa distribuição, as ferramentas forense estão organizadas por módulos e oferecem muitos programas com designer gráfico, facilitando o uso do programa pelo profissional. Algumas rotinas escritas em uma linguagem de computação estão presentes para facilitar o exame dos dados encontrados, utilizando como interface para o usuário um simples navegador de internet, como o Firefox, por exemplo.2

Também como resultado de um trabalho de conclusão de curso em segurança da informação em uma universidade no Rio Grande do Sul, o FDTK-Ubuntu é um projeto livre com a finalidade de reunir e manter uma distribuição para coleta e análise de dados em perícias forense. O FDTK (Forense Digital Toolkit) pode ser instalado no computador tornando-o uma estação forense. Prática essa adotada por peritos que preferem tornar um notebook um equipamento forense por ser leve, prático e móvel, facilitando o trabalho da investigação forense.3

Outra distribuição criada na Itália é o DEFT-Linux com o objetivo de auxiliar os investigadores e profissionais especializados em realizar uma análise forense em um computador, seja ele baseado em sistema operacional Windows ou Linux. Apesar da distribuição está toda em italiano, em breve surgirá nova versão em outros idiomas.4

Existe uma distribuição Linux que possui algumas ferramentas forense mas não é o objetivo principal da distribuição, o BackTrack5. É conhecido como a distribuição Linux para hackers, denominação dada pela mídia para aqueles indivíduos cujo propósito é meramente invadir sistemas ou equipamentos eletrônicos, burlando as normas impostas. Na realidade, hackers são pessoas com conhecimento aprofundado sobre um determinado assunto que possibilitam modificar software e hardware.6

O BackTrack é na realidade uma distribuição utilizada para realizar testes de penetração nos sistemas e verificar a integridade dos mesmos. Porém, existem algumas ferramentas dentro da distribuição que podem ser utilizadas pelo perito como apagar dos dados de uma mídia de armazenamento de dados de forma segura, criar uma imagem de um disco rígido em outro dispositivos, entre outros.

Contudo, apesar de existirem diversas distribuições com sistema operacional e ferramentas específicas para serem utilizadas nas etapas que envolvem uma investigação forense, o perito pode modificar e agregar valor a uma distribuição específica pois como são distribuições Open Source, cada profissional é livre para modificar e deixar os programas do seu jeito de trabalhar

 

Perícias com software livre – Parte 1

A investigação de um crime eletrônico leva o perito forense a buscar respostas à algumas questões fundamentais que incluem: quem, quando, onde, como e por quê? É um trabalho árduo e contínuo que o profissional sempre buscará responder a todas essas perguntas com o maior número de provas possíveis. A maior frustração de um perito é não conseguir respostas nem evidências que possam comprovar a existência de um crime eletrônico ou mesmo a sua autoria.

Para tanto, a utilização e manipulação correta de ferramentas forense podem trazer resultados fantásticos que vão responder as questões levantadas antes mesmo de se iniciar a etapa investigativa. Utilizar um software forense é ganhar tempo e colher muitas evidências sobre o crime praticado, beneficiando quem está investigando pois otimiza todo o trabalho do perito trazendo resultado em um menor tempo considerável e a parte interessada do caso, que pode ser a vítima do crime para achar o culpado ou simplesmente provar a autoria. Todavia, as respostas encontradas ou evidências levantadas, também podem satisfazer o suspeito do crime que na ausência de provas contra ele, poderá ser excluído do rol de possíveis autores do crime cometido.

O processo de busca de evidências ou recuperação de arquivos apagados pode ser feito mediante o uso de software livre, ou seja, não precisa de uma licença paga para utilizar a ferramenta. Esse tipo de programa tem o benefício de existir uma comunidade tecnológica interessada em sempre querer aperfeiçoar a ferramenta, recebendo sugestões e críticas através de fóruns na internet em que todos possuem a chance de participar no desenvolvimento e aperfeiçoamento do programa, sem ter um único dono da ferramenta.

Um software livre é “qualquer programa de computador que pode ser usado, copiado, estudado e redistribuído sem restrições”1. O benefício está em alcançar um número muito grande de potenciais usuários da ferramenta livre sem existir um custo financeiro para isso. Ganha o profissional que não precisa desembolsar dinheiro para utilizar o software, ganha a comunidade que sempre trocará informações a respeito do seu funcionamento desenvolvendo novas versões e ao mesmo tempo aumentado o conhecimento em computação forense e ganha a sociedade que através do uso sem restrições da ferramenta, o trabalho de investigação será realizado e os resultados não dependerão de aquisição por parte dos peritos para que respostas sejam encontradas.

Um grande exemplo e muito difundido de software livre é o tão conhecido Linux, que geralmente esse termo é utilizado para designar qualquer sistema operacional que utilize o núcleo Linux. Esse núcleo possui um código fonte que é aberto para toda a comunidade onde qualquer pessoa pode modificar, estudar o seu funcionamento, distribuir e outras ações dentro da concepção que o núcleo é de todos e por tanto, livre para modificações e otimizações.

O Linux é comparado com o sistema operacional Windows, existindo diversos programas que são previamente instalados e que compõem o bom funcionamento do sistema operacional. É através de um sistema operacional rodando Linux é que funcionam as ferramentas forense de software livre. Inclusive, alguns programas no Linux fazem o papel de uma ferramenta forense e que não foram desenvolvidos por empresas terceiras no mercado, apenas acompanham o sistema operacional.

Um exemplo é o comando dd que é instalado por padrão na maioria das distribuições Linux e muito utilizado para determinadas tarefas forenses como copiar exatamente o conteúdo de uma pasta ou arquivo para outra mídia de armazenamento sem deixar de copiar nenhum dado. Essa cópia é conhecida como cópia “bit a bit”, ou seja, se o perito forense precisar copiar o conteúdo de um disco rígido interno de um computador para um disco rígido externo, através do comando dd o perito irá copiar fielmente as informações contidas no disco inclusive os espaços em branco que existam no disco, locais esses que ainda não foram gravados com nenhum tipo de dado. O resultado dessa operação é que o disco rígido externo ficará com a mesma aparência e as mesmas informações como se fosse o disco interno do computador, literalmente.2

O comando a ser executado para copiar as informações de um disco rígido para outro é o seguinte:

# dd if=/dev/sda1 of=/media/hda2

Normalmente, os comandos mais sensíveis precisam ser executados com permissão de administrador do sistema, que no caso do Linux, utilizamos a conta de usuário root que é a conta padrão do sistema que possui total acesso no Sistema Operacional. Quando um comando a ser executado tiver o símbolo # (cerquilha) antes do comando, será necessário rodar o comando com permissão de administrador. No comando acima, o perito vai copiar todas as informações do disco rígido sda1 (if=/dev/sda1) para o disco rígido destino hda2 (of=/media/hda2).

Uma outa função que esse mesmo comando pode realizar é o que chamamos de esterilização de mídias que consiste em apagar todos os vestígios de dados contidos em uma determinada mídia para que ela sirva como um local de duplicação de disco rígido. Por exemplo, digamos que o disco rígido hda2 utilizado no comando acima precisa ser alocado em outro processo de investigação que será necessário copiar outro disco rígido interno de um computador. O perito forense não precisa mais do disco rígido externo e então, antes que esse disco externo seja utilizado em outro caso forense, é preciso apagar todas as informações nesse disco para possibilitar realizar novas cópias de dados sem prejuízo das informações.

Dessa forma, o profissional vai executar o seguinte comando:

# dd if=/dev/urandom of/media/hda2

Observe que a única diferença do comando anteriormente executado está na parte “if=/dev/unrandom” que fará com que o sistema operacional copie dados de locais aleatórios e assim, sobrescreva no disco rígido externo todas as informações ali gravadas. O mesmo comando pode ter diversas finalidades forense onde no primeiro momento o objetivo é copiar as informações entre dois discos rígidos e no segundo momento, apagar todas as informações copiadas no segundo disco rígido para que possa ser reutilizado em outros casos forense.

Inscrições abertas para o Curso de Computação Forense – CDFI – Turma de Vitória-ES

Estão abertas as inscrições para mais uma turma do curso de Computação Forense – Certificação CDFI.

Seguem abaixo informações complementares:

Público alvo: estudantes e profissionais interessados em segurança da informação.
Local: Americano Batista – Vitória (Rede Doctum).
Período: 25/02 a 11/08 (aulas aos sábado – quinzenais).
Carga Horária: 100 horas (presenciais e virtuais).
Investimento: 10 x R$ 300,00.
Conteúdo programático e detalhes adicionais em http://www.nidforensics.com.br/site/curso_computacao_forense.asp

Procedimento para concretizar a inscrição no Curso de Computação Forense – CDFI Turma de Vitória-ES:

– Preencha o Formulário de Inscrição (solicite por e-mail);
– Efetue o pagamento da primeira parcela via boleto (solicite por e-mail);

– Envie o comprovante de pagamento junto com a Ficha de Inscrição preenchida para garantir a sua vaga para roneymedice@nidforensics.com.br

ATENÇÃO: as vagas são limitadas. Faça já a sua inscrição e garanta a sua vaga!

Lembre-se de que a inscrição no curso somente é efetivada após o pagamento da primeira parcela no boleto bancário ou depósito em conta. Aqueles que apenas se inscreverem e não pagarem o boleto, não estão com a vaga  garantida.

O aluno deverá no primeiro dia de aula, acertar as demais parcelas do curso ou quitar o valor total para ter garantido a sua matrícula, sob pena de perder a vaga no curso.

Nas últimas turmas tivemos reclamações de muitos alunos que perderam suas vagas por terem deixado o pagamento para a última hora.

Infelizmente, após atingido o número máximo de alunos não serão aceitas novas matrículas para que a qualidade do curso não seja comprometida.

Contamos com a compreensão de todos.

Por favor, repasse a informação a todos os seus contatos que podem ter interesse no curso.

5° Encontro de Software Livre do Amazonas – AM

O ESLAM – Encontro de Software Livre do Amazonas é um evento que foi criado com o intuito de abrir ao Amazonas mais uma opção de inclusão digital e social que usa como proposta para tal finalidade o Software Livre.

Esse encontro que reúne palestrantes do Brasil e internacionais e que serve de ponto de encontro para os profissionais de informática, donos de empresas, curiosos e demais afins, esta a caminho de sua 5ª edição com o TEMA: Software Livre, propostas reais para o cenário atual.

A definição deste tema traz ao evento o objetivo de realização de um evento focado em Software Livre que permita aos participantes terem acesso a soluções aplicáveis ao dia a dia de suas empresas sem a necessidade de grandes investimentos.

Um evento voltado totalmente para o cenário atual das empresas e suas necessidades latentes sem deixar de lado as novas tendências do mercado.

O 5º ESLAM traz palestras, oficinas, fóruns e laboratórios nas áreas de administração de redes, desenvolvimento, virtualização, clusterização, dispositivos móveis e filosofia livre, na tentativa de atingir uma maior variedade de opiniões e sabores da comunidade de Software Livre do Amazonas e norte-nordeste.

O evento será realizado de 15 a 17 de março de 2012.

Fonte: http://eslam.comunidadesol.org/

Disponível o BackTrack 5 para download

Para aqueles que não conhecem sobre o backTrack, ele é uma distribuição baseada no sistema operacional Linux, com foco em testes em segurança e teste de penetração (os chamados “pen test”) muito utilizado principalmente por analistas de segurança da informação, podendo ser iniciado e executado a partir de um CD (sem a necessidade de fazer qualquer tipo de instalação no computador).

Alguns recursos disponíveis nessa distribuição: Coleta de informações, mapeamento de rede, identificação de vulnerabilidade, forense digital, engenharia reversa, penetração em sistemas, escalação de privilégios, controles de acesso web, análise de rede wireless e outros.

A versão mais recente disponibilizada para download é a versão BackTrack 5 que pode ser baixada no site do projeto Backtrack:

http://www.backtrack-linux.org/downloads/

Certificação CDFI – NID Forensics

Consegui a tão sonhada certificação CDFI – Certified Digital Forensic Investigator emitida pela NID Forensics. Compartilho esse momento com todos os amigos e profissionais que sempre acreditaram no resultado.

O momento é de alegria mas temos muito trabalho pela frente.

Aconselho para aqueles que desejam se especializar em Computação Forense, se for de Vitória – ES, indico o curso de formação de Peritos em Computação Forense da NID Forensics.

Abraços e até a próxima certificação!
Abraços.

Ver Vídeos do Youtube na TV com Linux

Colaboração: Ulisses Leitão

Há dois anos a TV digital permitiu a integração de mídias, de forma que  você pode acessar a internet de sua TV. Existem diversos equipamentos que permitem assistir Vídeos da internet (Youtube, p.ex.) em sua TV, sem necessidade de um PC: Apple TV, TiVO, Bravia Internet Video link, MediaSmart TV, Verismo PoD, Playstation 3 e Wii. Descobri recentemente (Tvz não seja novidade para muitos tecno-freaks) uma forma que me permite assistir vídeos do YouTube em minha TV (Série Cosmic Journey, Scorpions, etc…).

Venus: Death of a Planet – Cosmic Journey, Vídeo convertido para Mpeg

Comprei recentemente um aparelho de DVD com entrada USB, o Semp Toshiba SD 3010S, que lê arquivos MPEG diretamente do Pen Drive. O problema então é conversão de formato. O Youtube trabalha com o formato FlashVideo .FLV.

Qualquer Linux com um ambiente Multimídia bem instalado possui o aplicativo FFMPEG (www.ffmpeg.org), uma solução multimídia completa para gravar, converter e disponibilizar vídeos e som em uma infinidades de formatos e codecs.

Ao assistir um vídeo no Youtube, o Linux cria um arquivo temporário em /tmp. O nome do arquivo inicia com a palavra Flash. Assim, para assistir um vídeo do Youtube, ou qualquer outro vídeo da internet em sua TV siga os passos:

  1. Assista o vídeo ou, pelo menos, deixe-o carregar completamente.
  2. Copie o arquivo Flashxxxx do diretório /tmp para seu diretório de vídeo;
  3. Mude o nome do arquivo para MeuVideo.flv
  4. Para converter o vídeo basta o seguinte comando em um terminal:
      ffmpeg -i MeuVideo.flv MeuVideo.mpeg
    

    O aplicativo reconhece a extensão .mpeg e ajusta os parâmetros de áudio e vídeo para converter o arquivo do formato Flash para o Mpeg.

  5. Copie o arquivo Mpeg para um PenDrive e assista no aparelho de DVD!

Bom, os usuários Windows ou Mac devem procurar um conversor de formato de vídeo, piratear e aquelas coisas típicas de usuários de SO proprietários! Sou mais a simplicidade do Linux!

Fonte: Dicas-L (http://www.Dicas-L.com.br/dicas-l/20100818.php)

Reconhecendo um sistema operacional com o ping

Recentemente, li um pequeno texto no site da Dicas-L a respeito de como se pode utilizar o comando ping como uma forma de detectar um sistema operacional remoto. Aliás, sempre que posso, ensino em sala de aula esse recurso.

Resumindo um pouco do que se trata. Para que sistemas operacionais diferentes possam se comunicar normalmente em uma rede, é preciso que todos “falem” a mesma língua. No caso da Internet e na maioria das redes da atualidade, essa língua significa os protocolos que compõem a arquitetura TCP/IP cujas especificações, conhecidas como RFC (Request For Comments) são públicas e podem, portanto, ser consultadas livremente através do site http://www.ietf.org. Em outras palavras, cada fabricante deve consultar essa documentação para implementar em seu sistema operacional os protocolos da arquitetura TCP/IP, seguindo as recomendações que irão garantir a correta interoperabilidade em rede.

Muitos dos aspectos descritos nas RFCs devem ser seguidos à risca pelos desenvolvedores e isso é uma tarefa trabalhosa e que requer bastante experiência. Por outro lado, existem alguns aspectos das especificações que devem ser definidos de acordo com cada fabricante. São essas decisões particulares na implementação da pilha TCP/IP que ajudam no desenvolvimento das ferramentas de “OS fingerprinting”, que visam reconhecer o tipo e a versão de um sistema operacional remotamente. O NMAP talvez seja o melhor exemplo desse tipo de ferramenta.

Em especial, existe um campo no cabeçalho do protocolo IP chamado TTL (Time-To-Live). O objetivo desse campo é evitar que, por exemplo, por problemas de roteamento, um pacote IP fique trafegando indefinidamente de roteador em roteador. Inicialmente, o campo indicava o tempo que um pacote IP poderia ficar “em trânsito” para seu destino. A dificudade técnica logo apareceu uma vez que era difícil para cada roteador controlar quanto tempo exatamente um pacote havia ficado sobre seu controle.

Outras dificuldades técnicas também mostraram que essa forma de controle era inviável. Por conta disso, o entendimento do TTL mudou e passou a ser entendido como a quantidade de “saltos” entre roteadores (do inglês, hops) que um pacote pode dar até alcançar seu destino final. Com isso, cada roteador que recebe um pacote e o repassa adiante decrementa, antes de enviá-lo, em 1 o valor do TTL. Se o pacote não tiver mais “crédito” para continuar trafegando, o roteador que o recebeu e identificou, em primeira mão, a impossibilidade de entregá-lo ao seu destino final, descarta o pacote e encaminha ao originador uma mensagem de TTL Time Exceeded, através do protocolo ICMP.

Pois bem, voltando ao assunto das RFCs, o TTL é um dos campos cujo valor default, utilizado em um pacote assim que ele é criado, fica a cargo de cada sistema operacional. Com isso, os sistemas operacionais mais conhecidos do mercado acabaram adotando valores diferentes. Por exemplo, o Microsoft Windows costuma adotar como valor padrão para o TTL o valor de 128. Já sistemas GNU/Linux costumam utilizar o valor de 64. O Solaris, por sua vez, adota o máximo que o campo permite: 255. É essa particularidade que torna simples a investigação de um sistema operacional, remotamente, apenas pelo resultado do ping.

Diante disso, ao executar o comando ping para uma determinada máquina, basta verificar o valor do TTL apresentado como resultado e identificar de qual padrão ele aproxima-se mais. Por exemplo, no exemplo abaixo o valor de TTL de 57 está mais próximo de 64 do que de 128 (Microsoft Windows) e 255 (Solaris). Nesse caso, pode-se suspeitar que trata-se de um sistema GNU/Linux.

Suspeitar? Isso mesmo. Apesar desse comportamento refletir a realidade na maioria dos casos, é importante tomar cuidado com o fato de que esses valores podem ser alterados, principalmente por sistemas que, como o GNU/Linux, possuem alguns recursos que permitem interagir diretamente com o kernel e, consequentemente, com a pilha TCP/IP do seu sistema operacional.

Por exemplo, para alterar em tempo real o valor do TTL utilizado por seu ambiente GNU/Linux, basta, como root, executar o seguinte comando:

  # echo 1 > /proc/sys/net/ipv4/ip_default_ttl

Depois, para consultar o valor atual, basta utilizar o cat:

  # cat /proc/sys/net/ipv4/ip_default_ttl

Conhecer bem o comportamento da pilha TCP/IP dos diversos sistemas operacionais é fundamental para exercer a função de administrador de sistemas. A detecção de um sistema operacional por meio do valor do TTL é um recurso importante e ágil, desde que seja considerado em um ambiente de rede controlado onde se pode assumir que apenas os valores padrões do TTL estão sendo utilizados. Por outro lado, caso trata-se de um ambiente não restrito, considere utilizar outras técnicas e ferramentas.

Fonte: Dicas-l (http://www.dicas-l.com.br/index.xml)

Audacity: uma poderosa ferramenta de áudio

Uma ferramenta muito interessante que faz um trabalho sensacional com o áudio no linux é o Audacity. Com esse programa, você poderá criar efeitos sonoros, retirar os ruídos, enfim, uma série de possibilidades que tornarão o seu áudio mais “limpo”.

Através desse software, que também possui versão para windows, você poderá manipular mais de um áudio e criar assim um projeto mais profissional, podendo mesclar entre os áudios e enriquecendo a trilha sonora.

Por exemplo, na criação de um poadcast, o Audacity auxiliará em editar a sua apresentação, acrescentando uma música de introdução, trilha sonora de fundo para acompanhar a apresentação e muito mais.

Para instalar no linux, basta digitar:

sudo apt-get install audacity

E bom trabalho.

Recuperando Senha do root sem Live-CD

Passei por maus bocados recentemente. Perdi a senha do root do servidor e não me lembrava mais de jeito nenhum da bendita senha. Uma das formas de fazer a recuperação da senha do root, como todos sabem, é utilizando um Live-CD. O problema era que eu não tinha esse bendito Live-CD pra recuperar a senha e eu precisava fazer uma manutenção rápida e o servidor não podia ficar parado por mais tempo (essa é a sina de todo administrador de redes) então tive que fazê-lo sem o CD.

Irei demonstrar pra vocês o passo-a-passo que segui. Acho que poderá ser útil pra quem estiver no mesmo caso que eu.

  1. Você precisa reiniciar a máquina e editar a linha de boot do GRUB. Teclar a tecla “e” para editar as linhas de inicialização do GRUB. Adicione, no final da linha, o seguinte init=/bin/bash e depois tecle “b” para iniciar o sistema. No caso do Lilo, entrar no prompt dele e na hora da inicialização digitar Linux init=/bin/bash.
  2. Irá aparecer o prompt diferente do normal indicando que vc tem acesso de root. Mas sem poder gravar em nenhuma arquivo no / você terá que montar o diretório raiz e seguir os passos:
      # mount -o remount,rw / #Remontar como read-write o /
      # mount -a #Montar tudo em /etc/fstab
      # mount #Mostrar se o / foi remontado como read-write
    

    A partir daqui você poderá editar os arquivos. Como no meu caso as senhas estavam em /etc/shadow tive que editar esse arquivo

      # vi /etc/shadow
    

    Se esse recurso não tiver habilitado altere o /etc/passwd. Apague o conteúdo que estiver no segundo campo depois de root root:$1$fmdlkdjslj¨5$rdgd:14693:0:99999:7::: e deixe assim: root::14693:0:99999:7:::. Salve o arquivo e continue.

      # sync #Escrever o que tiver no buffer em disco
      # umount -a #Desmontar o sistema de arquivos
      # mount -o remount,ro / #Remontar como read-only
      < Ctrl>< Alt>< Del> #Para reiniciar
      login: root # Digite root sem senha
      # passwd #Depois altere a senha do root

Fonte: Dicas-L (http://www.dicas-l.com.br/index.xml)