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

quarta-feira, 16 de fevereiro de 2011

Extensão de Arquivos

Mais um pouco de investigação para voces ...

Principalmente quem já trabalhou no "mundo Unix" deve concordar comigo.
Se voce trabalha com Windows ... Não confie nas extensões de arquivos.

Relembrando o DOS, um nome de arquivo era formado por 8 caracteres, mais 3 de extensão. Seria como dizer Nome e sobrenome de arquivo. Os tamanhos 8+3 eram limitações do sistema de arquivos, que mudou ( acredito depois do Windows 95 ) permitindo romper a barreira dos 8 caracteres e com as possibilidades de caracteres especiais, como espaço, til, cedilha, etc.

No Unix/Linux, os arquivos não necessitam ter extenção, principalmente para serem executados. isso leva a uma atenção maior do usuário, referente ao que ele irá fazer.

No Windows, as extensões são associadas a programas ou a situações / funções especificas.
O Windows, pode executar programas, desde que eles tenham "uma extensão de executavel", dentre elas .EXE, .COM e .SCR. Porem se voce trocar a extenção de um arquivo ele poderá não fazer mais o esperado, ou não ser reconhecido pelo programa o qual deveria trata-lo.
Vamos supor 2 arquivos, um chamado : figura.jpg e outro programa.exe
Clicando em cada um deles é esperado que o figura.jpg carrege um editor ou visualizador de imagens ( associado a extensão .JPG ) e no outro execute o programa.exe . Tudo muito simples.

E se trocarmos as extensões desses arquivos ? Teriamos : figura.exe e programa.jpg

Clicando em figura.exe, o Windows iria iniciar os procedimentos para executar esse arquivo, que sendo uma figura, ( sem codigo executavel dentro ) resultará em um erro.
No outro caso, clicando em programa.jpg, o processo é similar. Seu visualizador ou editor de imagens será carregado e tentará abrir a figura. Por se tratar de um arquivo executavel, o programa não o reconhecerá e resultatá em um erro.

( outras coisas podem ocorrer, como o travamento do programa ou sistema, nas duas situações )

Agora, se um arquivo não tem extensão, como saber qual programa deveria trata-lo ?
A resposta: cabeçalhos de arquivos. Cabeçalhos geralmente são os primeiros bytes de um arquivo.

Um arquivo executavel, .EXE deve começar com os caracteres MZ, ZM ou MZP.
O exemplo abaixo demonstra os primeiros bytes de um arquivo Executavel.

Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F

00000000 4D 5A 50 00 02 00 00 00 04 00 0F 00 FF FF 00 00 MZP.........ÿÿ..
00000010 B8 00 00 00 00 00 00 00 40 00 1A 00 00 00 00 00 ¸.......@.......
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 ................
00000040 BA 10 00 0E 1F B4 09 CD 21 B8 01 4C CD 21 90 90 º....´.Í!¸.LÍ!
00000050 54 68 69 73 20 70 72 6F 67 72 61 6D 20 6D 75 73 This program mus
00000060 74 20 62 65 20 72 75 6E 20 75 6E 64 65 72 20 57 t be run under W
00000070 69 6E 33 32 0D 0A 24 37 00 00 00 00 00 00 00 00 in32..$7........


Uma figura JPG deve conter os caracteres JFIF.
O exemplo abaixo demonstra os primeiros bytes de um arquivo JPG (figura).


Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F

00000000 FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 60 ÿØÿà..JFIF.....`
00000010 00 60 00 00 FF E1 00 16 45 78 69 66 00 00 49 49 .`..ÿá..Exif..II



Agora finalmente vamos o POST. :-)

Estava trabalhando com um determinado programa, que gravava seus arquivos com uma extensão proprietária, onde visualmente supus um formato proprietário tambem.
Cansado de algumas limitações com relação a interface desse produto, eu queria mais. Queria utiliza-lo somente para visualizar meu trabalho, sem gerar meus arquivos por ele.
Comecei a analise e me deparei com o abaixo .....

Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F

00000000 50 4B 03 04 0A 00 00 00 00 00 F4 55 C1 3A 00 00 PK........ôUÁ:..
00000010 00 00 00 00 00 00 00 00 00 00 16 00 00 00 56 49 ..............VI

PK é um inicio tipico de arquivos compactados do tipo ZIP (PKZIP).

Tentei descompacta-lo e pronto, consegui mais dois arquivos, agora ambos com extenção XML.
Entendido o formato, gerei meus proprios arquivos. Compactei-os novamente, coloquei a extensão esperada pelo programa principal, e pronto. Tudo funcionou como eu gostaria.

Assim um investigador, não deve se prender a aparencias ( extensões ), mas sim saber extamente com o que ele esta trabalhando.
Na maioria dos casos eu trabalho com LINUX e com o Windows juntos.
No Linux eu consigo desconcapctar um arquivo, sem necessitar renomea-lo ( mudar a extensão). O Linux tambem prove nativamente uma ferramenta chamada FILE que identifica a grande maioria dos tipos de arquivos, muito util nesse tipo de situação.


Update ( 16/02/2011 - 13:13 )
Um amigo (Sp0oker) me lembrou e enviou o link onde voces podem aprender mais sobre Magic_Numbers - http://en.wikipedia.org/wiki/Magic_number_%28programming%29 - quem ler vai entender .


Espero que seja Util.
Segurança, quem se importa ?

Abraços

domingo, 6 de fevereiro de 2011

Password recover

Password recover

Acesso regularmente um site russo que não vem ao caso agora!
Uso o mesmo para diversão e trabalho (coleta de malwares)

O problema:
Formatei minha maquina e perdi minha senha. O sistema de Password recovery não funciona.

Cadastro simples de usuario, email e senha, porem após uma nova instalação do meu Windows, eu perdi o acesso ao site.
Tentei de diversas formas, as opções de recuperação de senha que nunca funcionaram.
Tentei gastar toda a minha fluencia em russo ( nenhuma ) e todos os recursos do Google Translator.

Opção:
A opção simples, utilizar um outro endereço de email para o cadastro, porem era uma oportunidade de apresnder. Decidi na usar essa.

Lembrei que eu havia guardado meu HD antigo, pensei, devo ter guardado os Cookies.
Após uma busca, achei o diretorio do Firefox, porem nada de arquivos TXT de cookies, agora os cookies ( e outras informações tambem) são guardados em arquivos SQLITE.

Após localizar o arquivo dos Cookies, e efetuar uma copia do mesmo, arrumei um cliente para o SQLITE.

Consegui localizar os cookies referentes ao Site e copiei somente essas informações para um arquivo Texto.

Após entrar no site em questão, digitei diretamente no navegador o comando :
javascript:alert(document.cookie);
Para ver os cookeis do site (ativos). NADA.

Resolvi então setar alguns Cookies baseado nas informações colhidas anteriormente usando o comando:
javascript:document.cookie='nome_do_cookie=valor';
Apos setar todos os Cookies, recarreguei a pagina e Bingo, Eu estava autenticado no site.
Mesmo assim eu continuava sem saber minha senha, e não conseguia altera-la.

Sem muita alternativa, toda vez que eu necessitava acessar o tal site, eu copiava e colava os cookies.
Uns 2 meses depois, prestando mais atenção nos campos dos cookies, notei uma string de 32 caracteres, pensei pode ser o hash md5 da minha senha, mas como descobri-la ?
Fiz uma busca no Google e "Voila" achei minha senha.
Em um site desses de "free password cracking " consegui localizar minha senha !!! ( senha fraca ? não vem ao caso agora !! )

Até hoje não consegui utilizar os recursos de recuperação de senha que o site deveria oferecer, mas consegui alcaçar o objetivo. ( recuperei minha senha )

Nesse caso foram utilizados conhecimentos de :
- SQL
- FileSystem
- Hashs
- HTML / JavaScript
- Como o navegador guarda suas informações, e como !!

Mostrando que Forense não é simplesmente uso de ferramenta.

Abraços

O Gafanhoto no MMA 1 - Grasshopper and MMA

Prentendo publicar alguns posts um pouco mais tecnicos (não muito). Todos os novos posts vão falar de analise forense. (de uma maneira ou outra )
Quero deixar bem claro que os metodos que aprendi e uso atualmente, aprendi sozinho, muitos deles, na época do MSX. (Se voce não sabe o que é isso eu posso te ajudar, mas o google é seu amigo tambem.)

Gostaria de deixar bem claro que :
1) Eu não sou PILOTO DE FERRAMENTA.
2) Eu aprendi,o que sei, na raça e respseito os mesmos que aprenderam da mesma maneira.
3) Eu tambem uso ferramentas, algumas que eu mesmo desenvolvi e quaisquer outras que ajudem meu trabalho,... MAS eu gosto de enteder como a ferramenta chegou a conclusão que chegou e não simplemente aceitar qualquer resultado como verdade absoluta.
4) Se voce fez um curso de uma ferramenta e se diz Expert em forense, tem muito a aprender, principalmente, como a sua ferramenta funciona.

Acho a analise forense o MMA da Segurança da Computação, onde a pessoa deve usar de todos os seus conhecimentos para chegar a uma conclusão. A Vitória!

Dedico esses posts a todos aquele se sentem os Gafanhotos da Computação, em qualquer modalidade, e assim como eu, entendem o significado desse termo.(E mantem a humildade )

Segurança ? Sim, importa ! ( pelo menos para mim )
--Sorry for all my english friends, I'm a natural Brazilian Speaker and will continue writing in Portuguese ( brazilian ), if you would like post in english, send me an email.

If you cares about security, and would like see posts in english, Just ask me.
I'll do my best.


regards,

terça-feira, 18 de janeiro de 2011

Deixa eu Sair da Festa !!!

Existem alguns termos que eu aprendi somente depois de começar a estudar para a Prova do CISSP, e o livro CISSP All-in-One me ajudou muito nisso.

Dois termos que eu quero comentar vinvulados a segurança Fisica. Fail-Safe e Fail-Secure.

A configuração Fail-Safe siginifica que se houver falha de energia que afete as travas das portas automaticas, as portas ficarão destravadas. Essa é a configuração utilizada nas empresas e predios que se preocupam com segurança durante incendios ou exercicios de abandono de edificio.

Na configuração Fail-Secure, no caso de falta de energia, as portas automaticas ficarão trancadas.

Facil de entender. Agora aos exemplos.

1) Há alguns anos, DURANTE um incendio, em um Supermercado na Russia, o proprietario mandou os seguranças fecharem as portas, pois as pessoas estavam saindo sem pagar. As portas foram fechadas e as pessoas morreram dentro do supermercado ( e tambem não pagaram as compras ). Esse exemplo não está vinculado a tecnologia, mas demonstra bem esses conceitos.

2) Vi um exercicio de abandono de edificio, onde as catracas, estavam operando normalmente, forçando os funcionarios a passar seus crachas para sairem do prédio.
Resultado, todo mundo amontoado nas escadas tentando descer e um monte de gente se espremendo nas catracas. Um trabalho de amadores.

3) Materia do terra de 18/01/2011 - 18:08 - Campus Party Brasil fica no escuro e sem internet - (http://tecnologia.terra.com.br/campus-party/noticias/0,,OI4897155-EI17279,00-Campus+Party+Brasil+fica+no+escuro+e+sem+internet.html)
Notem o texto ... "... As pessoas não conseguem entrar ou sair dos espaços porque as catracas eletrônicas não funcionam."
Se fosse incendio, todo mundo Morto.
Não tenho outras palavras a não ser dizer, faltou o PROFISSIONAL de Segurança.


(inicio update de 21/01/2011 )
Um dos leitores do Blog postou nos comentarios o seguinte texto:

Fernando, não há catracas eletrônicas aqui na Campus Party. O negócio é meio cara-crachá mesmo. Quando saímos, precisamos passar pelos seguranças que possuem um leitor de código de barras. No caso da falta de energia, os campuseiros que não puderam sair foram somente os que estavam portando pcs/notebooks,para evitar possíveis furtos, já que o leitor não estava funcionando. Com certeza, se ocorresse um incêndio nada disso teria acontecido.

Acho que o Pais ja teve muitos Obitos nesse começo de ano, mas pode ser que o evento queira bater outros recordes tambem.

Após as informações prestadas..
1) a Materia do Terra não deixava claro a situação informada.
2) Se fosse incendio, qual seria o comportamento desses seguranças ? Os mesmos foram treinados ?

( ainda acho que faltou o profissional de Segurança )

A lição é a mesma
(fim update de 21/01/2011 )

A

Comentarios finais:
1) Vale a pena ler o livro CISSP All-in-One, independente de voce pretender fazer a prova para a certificação.
2) Independete da tecnologia. A Vida é mais importante.

Agora ... Voce sabe onde fica a saida mais proxima ?
Segurança ! Quem se importa com isso ??

quinta-feira, 13 de janeiro de 2011

Packers - e a culpa é de quem ?

Em uma conversa com um aluno, veio o assunto sobre compactadores de executaveis, os conhecidos Packers.
Esses programas surgiram em uma epoca onde memória era cara, ( HD, RAM, etc ) e serviam para diminuir o tamanho de um programa executavel, mantendo ele executavel, siginifica sem a necessidade de um outro programa para descompacta-lo.
Hoje em dia temos basicamente tres tipos de compactadores: compactadores de executaveis simples, os geradores de instalação e os "programas de proteção" ( será que esqueci de algum ?).
Os que eu estou chamando de simples, sao os programas que simplemente compactam e mantem o arquivo executavel.
Geradores de instalação são utilizados quando voce desenvolve uma aplicação que tem outros arquivos o blibliotecas que necessitam ser instaladas junto dentro da maquina destino.
Por final os "programas de proteção", voce desenvolve um programa, deseja vende-lo, mas tem medo da pirataria, o que voce faz ? usa um programa desse tipo . Esse programas, podem compactar, encriptar, colocar rotinas anti-debug, etc .

O problema :
Pessoas mal intensionadas estão utilizando TODOS esses softwares compactadores, para esconder as caracteristicas maliciosas de outros programas. Dificultando a analise e gerando dezenas de copias aparentemente diferentes ( se comparado o hash criptografico ), mas iguais em funcionalidades.

O debate :
O debate iniciou, com a pergunta se não seria mais facil ( ou melhor ) para um antivirus, bloquear 100% dos arquivos compactados.

Acredito que existem problemas em todos os lugares, mas os programas compactadores não podem ser discriminados ou punidos por isso.
Os mesmos podem ser utilizados honestamente, de forma legitima.
Por exemplo, o programa "winscp342.exe" esta compactado com o UPX, esse programa é Legitimo, e de meu uso diário, sendo utilizado para fazer transferencias de arquivos de forma segura, utilizando o protocolo SSH, entre servidores.

Agora, de quem é a culpa ?
A culpa é de quem faz as armas, ou de quem as usa ?
Ou de como essas armas são usadas ( proposito ).

A situação é a mesma. A culpa não é dos compactadores, nem das empresas de antivirus.

A culpa é do usuário, a culpa esta nas pessoas.

A curiosidade e a ganancia, fazem as pessoas clicarem nas coisas mais absurdas que existem. Talvez 90% das coisas, os outros 10% caem nos outros golpes de engenharia social, envolvendo sentimentos, ou dividas. ( não tenho as estatisiticas corretas ).

Agora de quem é a culpa.
Sou colecionar de malware, tenho milhares deles em minha maquina e nos ultimos 10 anos, dei apenas 2 cliques errados. Nenhum deles me gerou danos financeiros, mas mais uma vez me levaram a aprender uma lição. Cuidado ao Clicar nas Coisas.

Agora quem se importa com o Packer, se as pessoas vão clicar em tudo ?
Segurança Importa ?

quarta-feira, 12 de janeiro de 2011

Anti-virus para Video-Game

Quem nunca tentou fazer o download (Baixar) de alguma coisa ( música, programa, jogo ou filme) e receber alguma coisa totalmente diferente ?
Isso é uma constante principalmente para quem usa redes p2p, como torrent ou Emule. Na melhor das situações arquivos corrompidos, na pior, Virus, cavalos de troia ( malwares ), pedofilia e tudo mais de ilegal e imoral que você talvez nem consiga imaginar.
Nesse ano de 2010 na Defcon, foram demonstradas possibilidades de código malicioso para aparelhos de video-games e câmeras digitais.
Isso expande as possibilidades também para televisões, rádios, aparelhos de dvd ( tocadores de mídia ) e tudo o mais que tenha uma porta USB e possa "tocar" ou interpretar algum tipo de arquivo.

Já pensou, ter seu video-game contaminado por algum tipo de Malware ? Como já expliquei acima, isso não é impossível e a chance aumenta a cada dia que passa.

A maioria dos Videogames modernos, possuem possibilidades de updates e alguns jogos somente funcionam se a versão mais nova desses updates estiver instalada.

Imagine a seguinte situação: Você compra ou “baixa” um jogo pirata, e coloca no seu vídeo-game, como você já esta acostumado, você espera a atualização acabar e pronto, você jogas seu jogo perfeitamente.
O que você não sabe é que agora seu videogame não é mais totalmente seu. Mais gente pode acessar seu vídeo game e controlá-lo a distância ( talvez outro pais ), a intenção pode ser das mais variadas, tanto pegar os dados de seu cartão de credito, como utilizar seu equipamento para outros tipos de fraudes e atividades maliciosas. Já que seu vídeo game tem um HardDrive interno, esse harddrive pode até mesmo armazenar ( sem o seu conhecimento ) material ilegal.
Existem várias outras possibilidades, dentre elas, travar o vídeo game, impedindo que você continue jogando.
Será que a fabricante do videogame mantém a garantia no caso de uso de programas piratas ?

Quando você compra um jogo original, a empresa fornecedora/desenvolvedora, tem responsabilidades com seus clientes. Qual a responsabilidade do seu fornecedor de pirataria ?

Como tudo no mundo da segurança, não existe 100%, existem casos de celulares e pendrives que saíram de fabrica já infectados por malware. Nesse caso o fabricante se responsabilizou.

Agora, como evitar ser contaminado por algum código malicioso nas situações apresentadas acima ?
A resposta é simples e está também no texto acima, evitar o uso de PIRATARIA e manter seus produtos atualizados com as ultimas versões de software.

Você tem seu Telefone celular ou vídeo games atualizados com as ultimas versões de software?

Se você não conhece a procedência de uma coisa, como confiar nessa coisa ?
Os valores dos originais baixaram, preço não é mais desculpa.

Agora, se você não se importa com a procedência das músicas, programas, jogos ou filmes que você baixa, vai se importar com segurança ? Eu acho que deveria. !

terça-feira, 4 de janeiro de 2011

A visita de Natal

Conversando com o pessoal da Fortivs (www.fortivs.com.br) sobre assuntos similares, surgiu-me a ideia de escrever algo sobre segurança fisica.

Nesse final de ano, assim como a maioria de vocês, tive o prazer de visitar e de ser visitado por alguns amigos. E mais uma vez, a segurança falha em coisas “simples” mas muito importantes do nosso dia a dia.

Vou comentar sobre situações de porteiros e seguranças.

Em uma das visitas, o visitante estava comigo ao telefone, e simplesmente disse ao porteiro, já falei com ele. E o porteiro deixou meu amigo subir sem antes me consultar.
Em outra ocasião o porteiro enviou meu visitante para o andar errado e outro para uma festa.
Em visita a casa de um amigo, simplesmente disse que esta indo na casa do Sr X, e o porteiro confirmou o número da casa e abriu o portão, sem nenhum outro tipo de verificação.
Em todos os casos os supostos aparatos de segurança, como portões e interfone estavam funcionando, porem não foram utilizados corretamente.]

Sim, estamos falando se segurança, de segurança física, algo que eu passei a me interessar mais, depois de dentro da área de segurança da informação.
Infelizmente os profissionais de segurança física hoje ( vulgarmente conhecidos como seguranças ou como porteiros ) são mal treinados, assim como as empresas são mal preparadas e muito suscetíveis a ataques de engenharia social.

Conheço uma empresa de São Paulo, que utiliza técnicas Israelenses para controle de condomínios (portarias), minimizando ao máximo os riscos.

É claro, segurança é um moeda de troca. Mais segurança, mais controles, menos liberdade.

A arrogância é um fator de fracasso. Pense bem antes de perguntar para alguém : “Você sabe com que esta falando ? “. Se a outra pessoa responder, “Não, por isso mesmo estou perguntando.” Sua equipe de segurança física acabou de provar alguma competência. Se a pessoa, se desculpar e deixar você passar, a pessoa provou incompetência e mostrou como é fácil entrar em seu condomínio ou empresa, usando a mesma técnica de arrogância que você usou.

É tão errado confiar em todo mundo quanto não confiar em ninguém, somente com treinamento conseguimos equilibrar essa balança.

Seu porteiro deixou o Papai Noel entrar ?

TODOS as profissões ou profissionais estão sugeitos a engenharia social.

Tenho certeza que muita gente tem historias para contar, conte a sua, de sucesso ou fracasso.

Segurança Importa ?