configurando um script para iniciar automaticamente no Debian/Ubuntu

Posted: domingo, 15 de abril de 2012 by Wairisson Gomes in Marcadores: ,
0

Basta utilizar o comando:
update-rc.d nomedoscript defaults

Não esquecer de ajustar as permissões (chmod +x) do script. 

problema com drive de cd/dvd no windows 7

Posted: domingo, 8 de abril de 2012 by Wairisson Gomes in Marcadores: ,
0

Meu drive de CD/DVD sata simplesmente não aparecia no windows 7, verificando no gerenciador de dispositivos vi que ele aparecia porém com um ponto de exclamação como se houvesse algum problema de drivers, depois de uma pesquisa tentei os passos abaixo e funcionou,  agora o drive estava disponível.

Menu iniciar > executar > regedit:

>HKEY_LOCAL_MACHINE

>SYSTEM

>CurrentControlSet

>Control

>Class

Em class localize dois registros UPERFILTERS e LOWERFILTERS, delete-os e reinicie o Ruindows e pronto!

Problema de conexão com RDP - Remote Desktop Protocol

Posted: quarta-feira, 28 de março de 2012 by Wairisson Gomes in
0

Tive um probleminha que me tomou muito tempo gogleando em fóruns e FAQ´s, possuo dois computadores em casa e resolvi utilizar o acesso remoto do  desktop para o notebook, tive uma série de problemas com erros de certificados e depois solucioná-los exportando e  importando o certificado de um para outro e tentar muitas coisas eu já tava quase me dando por vencido quando achei um post em um forum gringo que falava algo relacionado ao Avira que por acaso é meu anti-virus do coração, dito e feito bastou acessar as configurações do avira  > Geral > Segurança > Proteção do Produto  bastou desabilitar o check box "Proteção de processo avançada" que meu acesso via RDP funcionou diretinho :)

Espero  que seja útil para alguém mais na rede. Enjoy.

download de programas antigos

Posted: segunda-feira, 26 de março de 2012 by Wairisson Gomes in Marcadores:
0

Eu tava precisando de uma versão específica do flash player e procurando na net achei um site que mantém versões antigas de programas, acho interessante para que possamos testar vulnerabilidades de uma versão específica que não é disponibilizada no site oficial. o site é http://www.oldapps.com

#fica a dica

Instalando ZeroShell no HD

Posted: segunda-feira, 12 de março de 2012 by Wairisson Gomes in Marcadores: , , , , , , ,
0



O ZeroShell é um sistema operacional linux que fornece os principais serviços necessários em uma rede local, ele foi desenvolvido por Fulvio Ricciard administrador de sistemas do instituto nacional de física nuclear (INFN) - Itália.O ZeroShell é disponibilizado em forma de livecd ou imagem para compact flash, atualmente ele se encontra na versão 1.0 beta12. Ele é muito versátil, é de fácil instalação e configuração. Todos os serviços que ele oferece são de forma integrada, e facilmente configurados via interface Web.

Entre os serviços que ele disponibiliza estão:
  • Firewall;
  • Proxy com antivirus;
  • Servidor DNS;
  • Servidor DHCP;
  • Servidor RADIUS;
Além destes há vários outros serviços caso queira conhecer todos visite o site oficial www.zeroshell.net. Lá pode-se encontrar vários tutoriais e informações sobre o sistema. Bem vamos ao tutorial de como instalar o ZeroShell no HD.

Inicialmente faça o donwload da versão para HD na versão mais recente, como mostrado na figura a seguir.

Salve a imagem em um pendrive, então insira o pendrive na máquina que deseja instalar o ZeroShell, e de boot na máquina com um livecd do ZeroShell (Faça download da versão cd e grave-a em um cd).

Depois que a máquina tiver iniciado, será mostrado um menu com várias opções de atalhos para configuração do ZeroShell, aperte 'S' para ir para o shell, então vamos checar os discos, digite o comando fdisk -l, como representado abaixo.

root@zeroshell root> fdisk -l
Disk /dev/hda: 10.1 GB, 10110320640 bytes
16 heads, 63 sectors/track, 19590 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 1985 1000408+ 83 Linux
Disk /dev/sda: 2063 MB, 2063597568 bytes
255 heads, 63 sectors/track, 250 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 251 2015200+ b W95 FAT32
Partition 1 has different physical/logical endings:
phys=(249, 254, 63) logical=(250, 225, 39)
root@zeroshell root>
Verifique que será listado o seu HD e seu pendrive, no exemplo o HD é /dev/hda1 e o pendrive é /dev/sda1.

Monte o pendrive com os comandos abaixo:

root@zeroshell root> cd /mnt/
root@zeroshell mnt> mkdir pendrive
root@zeroshell mnt> ls
pendrive loop1
root@zeroshell mnt> cd /
root@zeroshell /> mount /dev/sda1 /mnt/pendrive
root@zeroshell />
Agora o pendrive está pronto para ser utilizado para a instalação. Ele está localizado no diretório /mnt/pendrive.

root@zeroshell /> cd /mnt/pendrive
root@zeroshell pendrive> gunzip -c zeroshell.img.gz>/dev/hda
root@zeroshell pendrive>
root@zeroshell pendrive> reboot
Broadcast message from root (pts/0) (Fry Jan 08 18:45:10 2010):

The system is going down for reboot NOW!
root@zeroshell pendrive>
(Obs. Observe bem no comando gunzip -c zeroshell.img.gz>/dev/hda não há o número '1' na frente do hda. Caso o seu sistema tenha um disco diferente troque as letras).

  • Remova o pendrive;
  • Reinicie o sistema, e retire o cd.
  • Pronto agora o sistema iniciará pelo HD.

Em breve mais posts sobre o ZeroShell. Aguardem!
Qualquer dúvida ou sugestão de novo post sobre o ZeroShell favor postar nos comentários.

Referências: 
Autor: Everton Moschen Bada

Utilizando o recurso "Shared Folders" do Vmware Workstation no linux

Posted: terça-feira, 21 de fevereiro de 2012 by Wairisson Gomes in
1

Que o Vmware Workstation é fantástico isso não se questiona, mas como todo grande software existem sempre os bugs, meu cenário é o seguinte: Minha máquina física roda o Windows 7 e possuo uma máquina virtual Linux rodando a distro Backtrack 5 (que é derivada do Ubuntu que é derivada do Debian, logo esse post se aplicaria à todas estas) depois de instalar o vmware-tools e estar feliz arrastando os arquivos do Windows para o Linux e vice-versa, ou seja, copiando arquivos entre as máquinas física e virtual apenas arrastando esses arquivos, um belo dia isso pára de funcionar, e agora? A solução seria o recurso de pastas compartilhadas através do qual é possível definir uma pasta da máquina física que estará disponível para a virtual, tá isso no Windows é muito fácil, a pasta aparece como unidade de rede e pronto mas e no Linux, gogleando descobri que é simples, depois de ativado o recurso basta acessar o diretório /mnt/hgfs e pronto. Caso não funcione verifique se o módulo responsável pela fncionalidade está carregado, para isso na máquina virtual Linux rode o comando lsmod grep vmhgfs. Caso o módulo não esteja carregado execute o comando modprobe vmhgfs para carregá-lo.

Teste de invasão ou Pentest

Posted: sexta-feira, 17 de fevereiro de 2012 by Wairisson Gomes in
0

Segue a transcrição sobre Pentest por Rafael Soares, disponível em http://www.seginfo.com.br/auditoria-teste-de-invasaopentest-planejamento-preparacao-e-execucao/

Testes de invasão têm por objetivo verificar a resistência de redes, sistemas ou aplicações em relação aos atuais métodos de ataque. Diariamente são descobertas novas falhas nos mais variados sistemas, por isso é de fundamental importância auditorias preventivas, mais especificamente, Testes de Invasão, que podem dar um diagnóstico real sobre a segurança dos ativos em questão.

Algumas vezes é difícil justificar o ROI (Return of Investment) de um teste de invasão para os tomadores de decisão. É preciso mostrar os custos resultantes de um ataque bem sucedido (por exemplo, o prejuízo causado pela indisponibilidade de um site comercialmente ativo – seja um portal de vendas ou para anúncio de serviços) e compará-los ao custo de um teste de invasão, que pode indicar quão protegido o Cliente está deste risco. Além disso, cada vez mais normas internacionais estão recomendando (ou exigindo) testes de invasão periódicos a todos que querem entrar em conformidade com as mesmas.

O objetivo deste artigo é descrever as etapas de um teste de invasão, mostrando que a estrutura dos testes segue modelos cuidadosamente estruturados em passos bem definidos. Afinal, apesar das óbvias semelhanças, há uma série de diferenças entre um ataque simulado contratado e um ataque malicioso real. E é o que veremos à seguir.

  1. Planejamento e Preparação
  2. Avaliação
    1. Obtenção de Informação
    2. Sondagem e Mapeamento
    3. Identificação de Vulnerabilidades
    4. Exploração
  3. Documentação e Relatório
  4. Conclusões
  5. Recomendações de leitura

Planejamento e Preparação

Antes do início do Teste de Invasão é executado um levantamento inicial de informações para planejamento e modelagem dos testes. São levantados detalhes da infraestrutura contemplada, equipamentos e recursos que serão necessários durante os testes, bem como os tipos de ataque a compor a simulação constituem algumas das informações definidas nesta etapa. Antes do início dos testes, é necessário a assinatura do NDA (do inglês, Non-Disclosure Agreement, ou Termo de Confidencialidade) onde fica salvaguardada a confidencialidade das informações que eventualmente serão acessadas pelo analista responsável pelos testes.

É preciso estabelecer também prazos, janelas de tempo para execução dos testes e também pontos de contato para tratamento de questões especiais. Durante o planejamento também é decidido que tipo de teste será feito, pois isso implica diretamente na quantidade de informações a que o analista terá acesso. O teste pode ser classificado de 2 maneiras: Informações sobre o ambiente e Informações sobre os testes. De acordo com o nível de informações que serão passadas sobre o ambiente, o teste pode ser classificado como caixa preta, caixa branca ou caixa cinza (híbrido).

Em um teste caixa preta, há pouco ou nenhum conhecimento sobre o ambiente a ser avaliado, e tudo deve ser descoberto pelo analista. Em testes caixa branca, analogamente, o avaliador tem acesso irrestrito a qualquer informação que possa ser relevante ao teste, para conduzi-lo supondo o pior cenário, em que o atacante conseguiu obter todos os detalhes sobre o(s) alvo(s). Testes caixa cinza (ou híbridos) envolvem conhecimento limitado sobre o alvo, muitas vezes sendo o mínimo necessário para conduzir o teste da forma desejável.

Por outro lado, os testes podem ser classificados como anunciado ou não anunciado, que indicam se a equipe responsável pela TI e todos os demais colaboradores terão ciência da execução dos testes ou não. Há vantagens e desvantagens em anunciar o teste à equipe local. Por um lado, é possível evitar alardes caso o ataque seja detectado, e muita informação valiosa pode ser compartilhada para melhor orientar o ataque. Por outro lado, não é incomum ver administradores de redes e sistemas conscientes de um Teste de Invasão “burlando” o mesmo através de mudanças estruturais, comportamentais e melhorias temporárias, assumindo o serviço como um ataque pessoal ao seu trabalho e tratando o avaliador como uma ameaça ao seu emprego. Nesse tipo de teste também pode ser avaliado o tempo e a qualidade da resposta da equipe local aos ataques proferidos.

Avaliação

Esta é a fase onde os testes são efetivamente executados. Geralmente a abordagem desta fase é feita dividindo-a em várias etapas, conforme veremos detalhadamente a seguir.

Obtenção de Informação

A coleta de informações é essencial para modelar os ataques e determinar quais vetores podem ser explorados mais facilmente. O primeiro passo é vasculhar a Internet atrás de toda informação disponível sobre o alvo. As técnicas mais comuns são consultas a serviços de WHOIS e DNS (através de ferramentas como whois, dig e nslookup), sites de busca (por exemplo, Google), listas de discussão, blogs corporativos e de colaboradores, Engenharia Social e Dumpster Diving. Essa última consiste na busca por informações contidas em lixos corporativos, tais como documentos impressos e mídias descartadas sem o devido cuidado.

A coleta passiva de informações não exige nenhum contato com o sistema alvo, a informação é coletada (principalmente) a partir de fontes públicas e, geralmente, serve como uma avaliação sobre o alvo no quesito exposição de informação.

Sondagem e Mapeamento

Após a coleta de informações públicas sobre o alvo, inicia-se o processo de mapeamentos e varreduras da rede e dos recursos em questão. Dentre as atividades executadas nessa etapa, destacamos:

  • Identificação de hosts vivos
  • Portas e serviços em execução
  • Mapeamento da rede
  • Identificação de sistemas operacionais
  • Identificação de rotas

Esse mapeamento ajudará no refino das informações adquiridas anteriormente e para confirmar ou descartar algumas hipóteses sobre os sistemas alvo.

Identificação de Vulnerabilidades

Uma vez identificados os sistemas e serviços pertencentes à rede em questão, o próximo passo é detectar qual deles possui vulnerabilidades conhecidas ou caminhos que possam ser explorados para a invasão. Vulnerabilidades conhecidas (e documentadas) podem ser encontradas em listas especializadas, sites de fornecedores de softwares e portais especializados.

Após a enumeração das vulnerabilidades descobertas, é feita uma estimativa de impacto de cada uma delas, além da identificação dos vetores de ataque e cenários para exploração.

Exploração

Através das vulnerabilidades e vetores de ataque encontrados, são disparados os ataques visando a obtenção de acesso não autorizado com o maior nível de privilégios possível. Para cada vulnerabilidade identificada, busca-se o seguinte:

  • Encontrar ou desenvolver código/ferramenta para prova de conceito (é recomendado que tais provas sejam testadas em ambiente controlado, principalmente se forem desenvolvidas por terceiros)
  • Confirmar ou refutar a existência de vulnerabilidades
  • Documentar o caminho utilizado para exploração, avaliação do impacto e prova da existência da vulnerabilidade
  • Obter acesso e, se possível, escalar privilégios.

Para explorar as vulnerabilidades encontradas podem ser utilizados inúmeros ataques, dependendo do tipo de falha encontrada. Veremos a seguir como funcionam os principais ataques.

Captura de Tráfego
É o processo de interceptar e examinar informações que trafegam pela rede, visando testar se os algoritmos e protocolos utilizados na comunicação dos sistemas garantem a integridade e privacidade das informações em trânsito.

Buffer Overflow
É quando um buffer de tamanho determinado recebe mais dados do que o esperado. A idéia é sobrescrever parte da pilha, mudando o valor de variáveis, parâmetros e até endereço de retorno, culminando em execução arbitrária de código.

Quebra de Senha
Geralmente feito através do ataque de força bruta que consiste em enumerar todos os possíveis candidatos e verificar qual deles satisfaz o problema. O custo computacional de ataques deste tipo é proporcional ao número de candidatos a solução e, em casos de senhas que seguem as boas práticas, pode demorar muito tempo. Um ataque particular de força bruta é o chamado “ataque dicionário” que busca quebrar senhas que consistem em palavras existentes em dicionário, independente do idioma.

Injeção de Código
Busca explorar aplicações que não tratam as entradas do usuário de forma correta. Dessa forma um atacante pode “injetar” códigos que serão interpretados pela servidor que os está recebendo. Essa injeção pode ser feita via formulários, URIs, Cookies, parâmetros e etc. O caso mais comum é a injeção de consultas SQL (SQL injection) que visa exposição e/ou alteração de informações contidas no banco de dados utilizado pela aplicação.

Cross-site Script (XSS)
Ataques XSS não persistentes surgem quando dados passados pelo Cliente são utilizados sem validação para gerar uma página de resultados. Podem acontecer também de forma persistente, no caso dos dados passados pelo cliente serem gravados diretamente no servidor, estando publicamente acessíveis, sem a devida validação ou limitação. Um exemplo típico é quando fóruns web interpretam tags html escritas por usuários dentro de seus posts.

Negação de Serviço
Ataques que visam submeter a máquina alvo a uma situação de desempenho extremamente baixo ou indisponibilidade completa , geralmente através de esgotamento de recursos.

Documentação e Relatório

Deve ser gerada uma documentação ao longo de todo o teste, a fim de manter registros de todas as atividades de forma transparente, informações como escopo do projeto, ferramentas utilizadas, datas e horas dos testes, lista de todas as vulnerabilidades identificadas e exploradas, assim recomendações para execução de melhorias.

Conclusões

Testes de invasão devem fazer parte do programa de segurança da informação das empresas. Há diversas formas de se tratar a segurança de uma rede, sistema ou aplicação, e o teste de invasão é apenas uma das possíveis ferramentas, porém é a que apresenta resultados mais concretos, com o mínimo de falsos positivos/negativos. É preciso atentar para a importância de auditorias preventivas, além de compreender a necessidade da percepção exata da exposição dos ativos de TI aos riscos existentes.

Em uma próxima oportunidade serão abordados mais detalhadamente os tipos de ataques e ferramentas relacionadas, entre outros temas sobre Testes de Invasão.

Recomendações de leitura

Pra terminar, algumas sugestões de leitura. São metodologias para testes de invasão que vão ajudar a ter uma visão mais ampla sobre o assunto e a modelar testes deste tipo para qualquer realidade.