domingo, 29 de junho de 2014

Dicas para Certificação LPIC-1

Introdução

Recentemente fiz minhas provas LPIC 101 e 102, e felizmente fui aprovado, como todo candidato ao exame tive muitas dúvidas sobre o que estudar, que tipo de material utilizar, fazer ou não um curso, dentre outros, encontrei muitas dicas e materiais na internet, e neste post gostaria de fazer uma compilação dos métodos e materiais que utilizei e deram certo para mim.

Cursos

Em minha busca por um bom curso encontrei vários com boa reputação como o 4Linux (http://www.4linux.com.br) por exemplo. A 4Linux mantém o site LPI Brasil (http://www.lpibrasil.com.br), já havia feito anteriormente um curso com eles de PenTest e gostei muito.
Além do curso da 4Linux exitem também o curso do Uirá Ribeiro (http://www.certificacaolinux.com.br), já tinha bastante tempo que eu vinha recebendo algumas malas diretas sobre seu curso e algo que me chamou muito a atenção foi o fato de estar divulgando a certificação 3x1 (CompTIA, Novell e LPIC), com um preço muito atrativo, boa reputação na rede e a recomendação de um amigo que fez o curso e foi aprovado nos exames, esta foi minha opção de curso.
Após a aquisição do curso, hoje no valor de R$239,00, recebi meu login para acesso às aulas online e o código de rastreamento de meu Livro.
As aulas online são previamente gravadas e somam um total de 50 horas de curso, abordando os temas para os exames 101 e 102, necessários para a obtenção da certificação, juntamente com cada aula temos acesso ao download de um mapa mental do conteúdo, a indicação dos comandos abordados na aula e dos capítulos do livro correspondentes e uma série de exercícios de laboratório para fixação do conteúdo, sendo que cada aula é corrigida e as respostas comentadas pelo professor, ao final do curso é emitido um certificado da própria escola de conclusão do preparatório, podendo ser baixado em PDF ou solicitado em versão impressa com custos de R$ 39,00. Apesar das aulas previamente gravadas o conteúdo é muito bom e qualquer dúvida pode ser tirada via chat, e-mail e até mesmo facebook. Além disso o pacote conta também com dois simulados com 80 questões da prova 101 e 107 questões da prova 102.
Alguns dias após a compra chegou pelos correios sem nenhum contratempo o livro do curso, na época o livro estava em sua 3ª edição, escrito pelo próprio professor Uirá e com prefácio de Jon "Maddog" Hall, o volume é muito bem feito, com cerca de 530 páginas e um excelente impressão, o livro aborda o conteúdo e todas as aulas online de maneira ainda mais detalhada.

Métodos de estudo

Obviamente, os métodos de estudo são muito particulares, o que funciona para uma pessoa pode não funcionar para outra. No meu caso tenho uma facilidade maior de fixação quando uso a informação para algo prático, ou escrevo a mesma. Levando em conta que grande parte da prova é baseada em comandos e caminhos de arquivos, o fato de ser usuário Linux há muito tempo ajudou bastante, porém me surpreendi com a quantidade de comandos diferentes que conheci durante os estudos.
Basicamente meus estudos basearam-se em:
  • Curso da certificacaolinux.com.br
  • Simulados.
Acabei não utilizando tanto os mapas mentais quanto gostaria, porém fiz todas as aulas e respondi a todos os laboratórios. Nas duas últimas semanas de estudo fiz um intensivo baseado somente na resposta de simulados, neste caminho encontrei alguns sites bem interessantes de simulados:

  • http://www.lpibrasil.com.br/simulados - Site mantido pela 4Linux com várias dicas para o caminho de certificação, nesta página temos aopção para o simulado das duas provas sendo que cada um tem em torno de 30 perguntas.
  • http://www.stato.blog.br/wordpress/?page_id=277 - Este blog contém vários tutoriais de comando e no link acima um simulado de 75 questões para a prova 101.
  • http://www.fuctura.com.br/jogolpi - Jogo no estilo Show do Milhão com perguntas dos exames 101 e 102.
  • http://www.armbrust.eti.br - Este foi o meu favorito por vários motivos, primeiro pela quantidade de questões, são 142 da prova 101 e 178 da prova 102, depois pela forma do simulado, sendo o mais próximo da prova real, sendo que ao final não são mostradas as respostas certas ou erradas, somente a porcentagem de acertos em cada assunto abordado, porém em outra área do site temos a lista de todas as perguntas com as respostas para conferência, e por fim o que mais chama atenção neste site, que é o fato de sua proposta de ter um conteúdo atualizado pelos próprios candidatos que já fizeram os exames, sendo que se vocẽ tem alguma questão que acha importante pode enviar para que seja incluída no simulado.
Um dos métodos que utilizei durante os simulados foi utilizando o site armbrust.eti.br, sendo que após responder cada questão verificava se estava correto, caso estivesse errada, anotava para revisar depois o assunto utilizando o livro do curso, além disso fiz uma impressão de todas as perguntas e respostas do site para estudos "Off-Line".
Uma boa dica também é estudar com muita atenção tanto a pergunta quanto a resposta, pois elas podem estar invertidas na prova, por exemplo, no simulado você pode encontrar:

Qual das opções abaixo é uma saída válida para o comando df -h
A - /dev/sda6        14G  8.9G  4.5G  67% /
B - xxxx
C -yyy

E na prova você pode encontrar.

Digite o comando que produz a saída:
/dev/sda6        14G  8.9G  4.5G  67% /
Digite somente o comando sem parâmetros ou outras opções.
R:

A prova

As provas são aplicadas pela Pearson Vue (http://www.pearsonvue.com), para pagamento das provas é necessário um cartão internacional, sendo que o custo de cada uma delas é de U$ 170,00 mais IOF.
Pelo próprio site você já pode escolher o local e horário de sua prova, no meu caso que sou de Londrina-PR o mais próximo era em Maringá, sendo que caso seja necessário o cancelamento da prova ou adiamento também poderão ser feitos pelo próprio site da Pearson.
As provas são compostas de 60 questões cada, com pesos diferentes, inclusive havendo a possibilidade de existirem questões de peso 0 conforme é informado no início da prova, caso o aluno erre todas as questões de um determinado assunto sua pontuação será bastante prejudicada pois demonstra que existe uma área de conhecimento que o mesmo não tem nenhum domínio, o tempo para execução das provas é de 90 minutos, ao final da última questão, temos mais 10 minutos para responder 12 questões de uma pesquisa demográfica da Pearson, sendo que o resultado do exame só é exibido após respondermos estas 12 questões.
A prova pode ser feita em vários idiomas, tinha pensado em fazer em inglês pois ouvi muitas pessoas dizerem que a tradução para português não era boa, antes de fazer a prova fiz algumas pesquisas e descobri que caso opte por português, tanto a pergunta quanto a resposta são exibidas nos dois idiomas, inglês e português.
Fiz minha prova na Sergio Yamada Computação (http://sergioyamada.com.br), onde fui muito bem recebido e atendido por todos os funcionários, que inclusive me ofereceram a sala de reuniões da escola para estudar antes da prova 102 quando me viram com a apostila sentado na recepção.
Ao chegar ao local, caso não esteja sendo utilizada a sala de avaliação é possível adiantar as provas, antes de entrar seus pertences como celular, mochila, relógio e etc são trancados dentro de um armário do qual a chave fica o tempo todo com você, dentro da sala existem somente dois computadores, um utilizado pelo funcionário para liberar sua prova, outro para a execução da prova, antes de iniciar é coletada sua assinatura em uma prancheta digital (estilo aquela do Detram) e tirada uma foto, é disponibilizada também uma prancheta para rascunho. Após a liberação da prova o funcionário deixa a sala retornando somente quando você terminar a mesma ou caso você levante sua mão dentro da sala.
Algumas questões do simulado estavam presentes na prova, porém o conhecimento diário e os estudos do curso também foram muito importantes, na minha prova 102, que também contempla assuntos relacionados à redes de computadores, caiu somente uma questão que exigisse algum tipo de calculo (quantidade de hosts de uma rede).

Certificação

Como fiz a opção da prova pela CompTIA, o resultado positivo na prova me dá direito a 3 certificação como comentei anteriormente, cerca de 2 dias após a execução da prova, o certificado da CompTIA já está disponível no site, sendo que posteriormente fica disponível o LPIC e por último é necessário utilizar o seu número de identificação na LPI para registrar o certificado Novell e dentro de algunas dias os certificados e demais itens chegam pelos correios, como os meus ainda não chegaram não tenho como dizer quanto tempo leva.

Conclusão

Em resumo, a prova é bastante complexa, com vários detalhes que podem determinar o sucesso ou não, escolha um bom material, faça muitos simulados e principalmente, tenha contato com o sistema operacional, muitas perguntas de comandos e arquitetura podem ser respondidas baseadas na experiência de uso.
A certificação é um diferencial para profissionais de TI, onde o que vemos muito são vagas nas quais o título de sua formação acadêmica não importa, desde que seja em tecnologia, além de ser uma forma de validar seus conhecimentos.

quinta-feira, 5 de junho de 2014

CVE-2014-0224 - Mais uma falha no OpenSSL

 

CONSIDERÇÕES INICIAIS 
Este conteúdo foi baseado no material divulgado pelo próprio Masashi Kikuchi, responsável pela identificação desta falha e está disponível na íntegra no endereço abaixo:

http://ccsinjection.lepidum.co.jp/blog/2014-06-05/CCS-Injection-en/index.html

O QUE É A FALHA?
basicamente a falha consiste no fato de que o OpenSSL aceita um ChangeCipherSpec (CCS) inapropriado durante o início da conexão (handshake), ainda segundo o autor este Bug existe desde a primeira versão do OpenSSL.

Em um processo de handshake correto o cliente e o servidor trocam mensagens, sendo que o CCS deve ser enviado no momento correto, porém o servidor OpenSSL pode aceitar um CCS em outros momentos caso receba, desta forma um atacante pode explorar este comportamento para que possam decodificar e/ou modificar dados no canal de comunicação.

Abaixo segue um trecho extraído do site do próprio OpenSSL
 
OpenSSL Security Advisory [05 Jun 2014]
========================================

SSL/TLS MITM vulnerability (CVE-2014-0224)
===========================================

An attacker using a carefully crafted handshake can force the use of weak
keying material in OpenSSL SSL/TLS clients and servers. This can be exploited
by a Man-in-the-middle (MITM) attack where the attacker can decrypt and 
modify traffic from the attacked client and server.

The attack can only be performed between a vulnerable client *and*
server. OpenSSL clients are vulnerable in all versions of OpenSSL. Servers
are only known to be vulnerable in OpenSSL 1.0.1 and 1.0.2-beta1. Users
of OpenSSL servers earlier than 1.0.1 are advised to upgrade as a precaution.

OpenSSL 0.9.8 SSL/TLS users (client and/or server) should upgrade to 0.9.8za.
OpenSSL 1.0.0 SSL/TLS users (client and/or server) should upgrade to 1.0.0m.
OpenSSL 1.0.1 SSL/TLS users (client and/or server) should upgrade to 1.0.1h.

Thanks to KIKUCHI Masashi (Lepidum Co. Ltd.) for discovering and
researching this issue.  This issue was reported to OpenSSL on 1st May
2014 via JPCERT/CC.

The fix was developed by Stephen Henson of the OpenSSL core team partly based 
on an original patch from KIKUCHI Masashi.

segunda-feira, 2 de junho de 2014

Análise do Pishing Banco do Brasil

INTRODUÇÃO
Esta semana está bem corrida devido à alguns compromissos e já estava me perguntando se ia ser possível cumprir a meta de 2 posts por semana quando chega no meu e-mail uma amostra de um phishing encaminhada por um cliente utilizando o Banco do Brasil como isca.
Sandbox preparada e vamos iniciar a análise, eis que ao clicar no link no corpo do e-mail vem a surpresa, "Cade o malware?". Pois bem, este e-mail não tem malware para download, script malicioso ou algo do tipo, fui seguindo o site para o qual fui direcionado como se estivesse caindo no golpe e simplesmente não tem nenhum malware, o que é o golpe então?
A resposta da pergunta é bem simples, ao clicar no link do e-mail fui direcionado para um clone "quase" perfeito do site do Banco do Brasil, realmente o cracker teve muito cuidado ao fazer a cópia do site, alguns pontos obviamente denunciam a fraude, porém ao pensar no meu próprio comportamento ao acessar meu bankline percebi que alguns deles passariam despercebidos.

ANALISANDO O E-MAIL
Fiz questão de destacar na screenshot do e-mail o primeiro ponto ao qual deveríamos nos atentar, o rementente, que neste caso veio de auto-atendimento-bb@gmail.com, vamos ignorar o fato de que os bancos informam aos usuários através de seus sites e canais de comunicação que nunca enviam e-mails para seus usuários, neste ponto temos um detalhe bem interessante apesar do e-mail do remetente ser do GMail, o nome de exibição está como Banco do Brasil S/A, levando em conta que alguns clients de e-mail ou webmails exibem somente este nome e deixam o endereço oculto, um usuário desavisado poderia não perceber este detalhe.

Analisando os links temos a seguinte URL:

http://haishen517.com/data/article/-/?6e60001ffd&view=att&th=1463cceb67f2f760&attid=0.1&disp=inline&safe=1&zw&saduie=AG9B_P-iXV68qEUTpMbs6CY92Azm&sadet=1401493847519&sads=GjWjfwwkzyfFzTZC9qLTl5rvA6e60001ffd&view=att&th=1463cceb67f2f760&attid=0.1&disp=inlin

Uma coisa que podemos notar é que ao clicar no link, o próprio Google Chrome nos avisa de que trata-se de um phishing como mostra a imagem abaixo.



Vamos levantar algumas informações osbre o domínio deste link, haishen517.com.
Utilizando a ferramenta whois descobrimos algumas informações sobre ele:

   Domain Name: HAISHEN517.COM
   Registrar: HICHINA ZHICHENG TECHNOLOGY LTD.
   Whois Server: grs-whois.hichina.com
   Referral URL: http://www.net.cn
   Name Server: DNS11.HICHINA.COM
   Name Server: DNS12.HICHINA.COM
   Status: ok
   Updated Date: 13-feb-2014
   Creation Date: 13-feb-2014
   Expiration Date: 13-feb-2015

Resumindo as informações, trata-se de uma empresa Chinesa do ramo alimentício, não consegui identificar exatamente o produto comercializado pois tem uma aparência bem estranha.


Estas informações nos levam a crer que provavelmente foi explorada alguma vulnerabilidade no site ou webserver e o cracker utilizou o mesmo para hospedar seu phishing.

Fiz uma rápida análise no domínio utilizando o Subgraph Vega, e em alguns minutos mais de 400 falhas graves foram encontradas no site, sendo 398 relacionadas a Cross-Site Script e duas informando que seus formulários trafegam os dados, incluindo usuários e senhas em texto plano, um detalhe é que ao verificar estes dados a análise ainda não havia chegado em 50%.



Seguindo em frente ignorei o aviso do chrome e descobri que nosso site chines tinha somente uma index que me redirecionou para um segundo site:

http://www.ischiaprenota.it/script/cache/5195e223ddabe0c03549faf9667a3.timthumb.txt/3549fa3549fa3549fa//index.php?6e60001ffd&view=att&th=1463cceb67f2f760&attid=0.1&disp=inline&safe=1&zw

Verificando o domínio com o whois temos:

Domain:             ischiaprenota.it
Status:             ok
Created:            2012-04-11 18:27:39
Last Update:        2014-05-24 10:50:09
Expire Date:        2015-04-11

Registrant
  Name:             Zeus Travel S.r.l.
  Organization:     Zeus Travel S.r.l.
  ContactID:        ARU84051R-779456
  Address:          Via Giovanni Mazzella, 181
                    FORIO D'ISCHIA
                    80075
                    NA
                    IT
  Created:          2012-04-11 18:27:37
  Last Update:      2012-04-11 18:27:37

Admin Contact
  Name:             Gianluca Borrelli
  Organization:     Zeus Travel S.r.l.
  ContactID:        ARU58042A-313808
  Address:          via C. Colombo, 19
                    LACCO AMENO
                    80076
                    NA
                    IT
  Created:          2012-04-11 18:27:38
  Last Update:      2012-04-11 18:27:38

Acessando o domínio podemos ver que trata-se de uma rede de Hoteis da Itália, ou seja mais um site comprometido hospedando phishing.

Fiz uma análise neste domínio também utilizando o Vega, e mais uma vez antes mesmo dos 50% da análise várias falhas graves foram encontradas como SQL Injection e Cross Site Scripting.



ANÁLISE DO PISHING


Como mostra a imagem acima a cópia do site está muito bem feita, sendo que não existem erros na formatação ou outros detalhes que possam chamar a atenção inicialmente, o único ponto que notei neste momento foi que nenhum dos links funciona, porém nenhum deles exibe erros, ao clicar somos direcionados novamente para o mesmo site, as duas Dropdown onde é possível selecionar o país e o titular da conta também não funcionam, era justamente sobre esses detalhes que comentei no início quando disse que certos detalhes realmente teriam passado despercebidos pensando no processo que eu mesmo faço ao acessar o internet banking, eu nunca clico em nada no corpo do site por exemplo.

Meu primeiro teste foi preencher os campos de agencia e conta com "0", e mais uma demonstração do capricho do cracker, o formulário tem uma função em java script tanto para o campo de agencia quanto para o campo de conta que valida os números digitados, segue abaixo a função:

function macTools() {
if ( document.form.pac01.value == "" || 
document.form.pac01.value == "Agência" ||
document.form.pac01.value.length < 6 || 
document.form.pac01.value == "0000-0" || 
document.form.pac01.value == "1111-1" || 
document.form.pac01.value == "2222-2" ||
document.form.pac01.value == "3333-3" || 
document.form.pac01.value == "4444-4" || 
document.form.pac01.value == "5555-5" || 
document.form.pac01.value == "6666-6" || 
document.form.pac01.value == "7777-7" || 
document.form.pac01.value == "8888-8" || 
document.form.pac01.value == "9999-9"){
alert ("Agencia invalida!");
document.form.pac01.focus(); return false;
}
if (document.form.pac02.value == "" || 
document.form.pac02.value == "Conta" ||
document.form.pac02.value.length < 5 || 
document.form.pac02.value == "000000000" || 
document.form.pac02.value == "111111111" || 
document.form.pac02.value == "222222222" || 
document.form.pac02.value == "333333333" || 
document.form.pac02.value == "444444444" || 
document.form.pac02.value == "555555555" || 
document.form.pac02.value == "666666666" || 
document.form.pac02.value == "777777777" || 
document.form.pac02.value == "888888888" || 
document.form.pac02.value == "999999999"){
alert ("Conta invalida!");
document.form.pac02.focus(); return false;
}

Tentei uma sequencia de números mais parecida com um número de conta real e funcionou.

Em seguida foi exibido um novo formulário, agora pedinco a senha do autoatendimento com 8 dígitos.

Mais uma vez tentei uma senha simples e fui novamente informado de que minha senha não era válida, abaixo o trecho de código que faz a verificação dela:

<script language="javascript">
function macTools() {
if (document.form.pac03.value == "" || 
document.form.pac03.value.length < 8 || 
document.form.pac03.value == "00000000" || 
document.form.pac03.value == "11111111" || 
document.form.pac03.value == "22222222" || 
document.form.pac03.value == "33333333" || 
document.form.pac03.value == "44444444" || 
document.form.pac03.value == "55555555" || 
document.form.pac03.value == "66666666" || 
document.form.pac03.value == "77777777" || 
document.form.pac03.value == "88888888" || 
document.form.pac03.value == "99999999"){
alert ("Senha de autoatendimento, invalida!");
document.form.pac03.focus(); return false;
}
}
</script>

Ao colocar uma senha mais complexa, um novo formulário pedindo novas informações.


Novamente o formulário está repleto de funções para verificação dos dados, inclusive do CPF que tive algumas dificuldades para digitar um que desse como válido, veja que ao digitar todos os dados agora o cracker ter as seguintes informações de sua conta:
  1. Agencia
  2. Conta
  3. Senha da internet
  4. Telefone Celular
  5. CPF
  6. Senha do cartão
  7. Senha do auto atendimento
Estas informações são mais do que suficientes para que o mesmo execute operações bancárias como saques, transferências e pagamentos.

Ao informar estes últimos dados, mais dados solicitados:



Depois de confirmar este últimos dados somos direcionados para uma última página com o seguinte aviso:





CONCLUSÃO
A análise deste e-mail veio bem a calhar neste momento, ontem pela manhã estava justamente tendo uma conversa com um cliente sobre este tipo de situação, a pergunta principal é, como podemos nos proteger em um caso deste?

Vale lembrar que o site clonado foi muito bem feito, com formulários cheios de validações de dados, com a formatação correta e outros detalhes que dificultam muito a identificação da fraude por usuários leigos.

Primeiramente, somente com a proteção tradicional de um antimalware este ataque não teria sido barrado, uma vez que não existe malware envolvido, estar atendo aos avisos que o próprio sistema pode lhe dar é sempre importante, lembrando que neste caso o próprio Chrome havia nos avisado de que era um phishing. Outro ponto importante é sair da proteção convencional e começar a pensar na segurança em camadas, neste caso somente uma ferramenta que pudesse analisar o tráfego de e-mail, ou uma ferramenta que pudesse analisar a navegação poderiam ter ajudado, tenho citado nos outros posts as ferramentas da Trend Micro por fazer parte da rede de parceiros desta empresa, desta forma são as ferramentas que melhor conheço e posso recomendar, neste caso as funcionalidades dos recursos do Web Reputation e do Mail Reputation teriam sido de grande ajuda, mas independente e ferramentas, o que deve existir é a política de segurança.