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

quarta-feira, 23 de fevereiro de 2011

Quando dinheiro não é tudo.

Normalmente, em segurança, quanto mais dinheiro, mais segurança.
Se voce tem dinheiro, compra um carro blindado, se não tem anda de onibus. Facil de entender não ?
Baseado nisso, se voce tem dinheiro infinito, poderia ter segurança infinita, certo ?

Sim, mas ... e se ninguem se importasse com segurança, se importando somente com o dinheiro ?

Mesmo sabendo das dificuldades dos administradores, existem situações onde eu acho LAMENTAVEL e INADIMISSIVEL o que eu vejo.

Hoje, recebi no twitter e depois em uma lista, um link de um Banco Brasileiro ( Não era Phishing )

A pagina exibia a mensagem "Hello World!".


Para quem não sabe esse é um texto padrão que recomenda-se ser utilizado aos futuros programadores em seus primeiros programas, em qualquer linguagem, para dar sorte ! (lenda)
Agora me explica, o que uma mensagem de "Hello World!", faz em um servidor de Produção de um SUPER Banco Brasileiro ?

E esta agora !!! " Servidor OK" , Fiquei muito feliz de saber que o servidor esta OK !!



Esta na hora de acabar com a hipocresia e as instituições começarem a mandar seus gerentes, diretores e superintendentes embora, ou no minimo realoca-los para areas de sua competencia.
(Não fica tentando aprender durante sua estadia no cargo.)

Quanto custa a IMAGEM da instituição, mostrando que eles não gerenciam mudanças, ativos, configuração, segurança, etc ?
Quem foi ? foi um terceiro ?
Então, esta na hora de aplicar as multas contratuais e punir as grandes empresas, por suas grandes economias porcas e contratação de pessoas mal instruidas que não merecem ser chamados de Profissionais.

Se voce contratou o cara errado, RUA para ele, se foi mais que um ( errado ) Rua para voce tambem .
Se voce contratou o outsourcing errado, RUA para voce, para ele e mais MULTA para ele.

No final, fica a mensagem "Hello World!" em um servidor de produção de uma empresa dita "séria" que guarda o seu dinheiro.

Segurança Importa ?, se sim, tira essa maquina do ar agora !!!!

terça-feira, 22 de fevereiro de 2011

Quer ser meu amigo ?

Assim como muitos de voces, recebi hoje uma solicitação de alguem que queria me seguir no Twitter.
Porem assim como nas outras redes socias que participo, eu sempre procuro "investigar" quem esta querendo me seguir ou ser meu amigo( colega de rede social. Amigo é muito intimo ).

Assim, EffieMelton232 queria ser meu amigo.
Fui olhar o perfil publico desse usuário e... algo me chamou muito a atenção !!!


Alguem notou algo ?
Meu Futuro-(EX)-Amigo, seguia 1353 outros e era seguido somente por 17 ( desavisados ).
Poderia ser uma pessoa honesta! Assim fui clicar no link do post ... "comment my Photos or message me at ...."


Mas eu não me dou por cansado e com a ajuda do Linux ...


laptop:/tmp$ wget http://www.hiderefer.com/ZFXZQUj1.htm
--2011-02-22 00:08:59-- http://www.hiderefer.com/ZFXZQUj1.htm
Resolving www.hiderefer.com... 209.159.156.66
Connecting to www.hiderefer.com|209.159.156.66|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 643 [text/html]
Saving to: `ZFXZQUj1.htm'

100%[========================================================================================================>] 643 --.-K/s in 0s

2011-02-22 00:09:11 (30.9 MB/s) - `ZFXZQUj1.htm' saved [643/643]

O codigo era mais ou menos assim ( tive que dar uma alterada para publicar )


t i t l e-->HideRefer.com Anonym Link----/t i t l e

f r ameset cols="*"
f r a m e src="ht tp:// girlesaskguy . at. 2288 .org"
/f ra me set

m e t a h t t p -equiv="refresh" content="1; URL=ht tp:// girlesaskguy . at. 2288 .org"
i m g border="0" src="http:// www. hiderefer. com / load.gif" width="16" height="16"
Connecting to..
a h r e f="ht tp:// girlesaskguy . at . 2288 .org" -->ht tp:// girlesaskguy . at . 2288 .org

Eu nunca gostei desses nomes de dominios que são Numeros, e uma simples busca no google me mostrou a quantidade de subdominios 2288 ponto org que estão relacionados com malware.

A figura load.gif tambem me pareceu meio suspeita .. ( não gostei desse BBB, isso me lembra monitoração)


laptop:/tmp$ xxd load.gif
0000000: 4749 4638 3961 1000 1000 f200 00ff ffff GIF89a..........
0000010: 0000 00c2 c2c2 4242 4200 0000 6262 6282 ......BBB...bbb.
0000020: 8282 9292 9221 fe15 4d61 6465 2062 7920 .....!..Made by
0000030: 416a 6178 4c6f 6164 2e69 6e66 6f00 21f9 AjaxLoad.info.!.
0000040: 0400 0a00 0000 21ff 0b4e 4554 5343 4150 ......!..NETSCAP
0000050: 4532 2e30 0301 0000 002c 0000 0000 1000 E2.0.....,......
0000060: 1000 0003 3308 badc fe30 ca49 6b13 6308 ....3....0.Ik.c.
0000070: 3a08 199c 074e 9866 0945 b131 c2ba 1499 :....N.f.E.1....

"Ajaxload. info" é um site que gera dinamicamente ( na hora ), figuras de espera.(como bolinhas girando)

Faltou mais um html para o download.


laptop:/tmp$ wget http://girlesaskguy.at.2288.org
--2011-02-22 00:10:55-- http://girlesaskguy.at.2288.org/
Resolving girlesaskguy.at.2288.org... 61.160.235.210
Connecting to girlesaskguy.at.2288.org|61.160.235.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `index.html'

[ <=> ] 470 --.-K/s in 0s

2011-02-22 00:10:57 (24.7 MB/s) - `index.html' saved [470]

Agora mais uma belezinha ( que dessa vez eu não segui ... )

F R A M E S E T R O W S="100%,*" BORDER="0" FRAMEBORDER="0" FRAMESPACING="0" FRAMECOLOR="#000000"
F R A M E S R C=" ht tp:// ard. xxxblackbook. com/ trafficoptimizer /index.php?toid=18907&r=lc220138" NAME="redir_frame"
/ FRAMESET

Eu não gosto de Border, frameborder ou qualquer outro parametro do FRAME ou do IFRAME zerado.
(Se voce é programador web e usa isso, tenho certeza que voce esta fazendo algo errado, ou pior ainda, não sabe o que esta fazendo )

Para acabar

Acho que ja tenho informações suficientes para tomar minha decisão.
Decline e "Blocked and reported for spam"

Voce tambem se importa ?
Abraços

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,