Proposta de identificação de ataques ao serviço SSH usando padrões no consumo de corrente em plataformas embarcadas

Resumo: Este trabalho apresenta a obtenção de curvas de consumo de corrente elétrica, a partir das respostas geradas por um sistema embarcado de baixo custo Raspberry Pi 2 Model B executando o sistema operacional Linux Raspbian trabalhando como um servidor de acesso remoto SSH, que é avaliado através de diferentes tipos de acessos e ataques de força bruta com dicionários através das ferramentas especializadas Medusa e Hydra, como também a ferramenta não especializada Metasploit. O comportamento energético é interpretado por um sistema de medição de consumo de corrente desenvolvido pela plataforma embarcada de baixo custo Arduino Uno que administra um sensor de corrente baseado no chip ACS721ELC- 5A de efeito Hall, que possui a capacidade de coletar as variações geradas pela plataforma de teste em resposta aos eventos produzidos pelos cenários de provas propostos, os dados são processados pelo Framework Matlab que coleta, analisa e normaliza por meio do método de Welch o sinal de corrente que é interpretado pelo Arduino Uno, posteriormente apresentase uma curva padrão que caracteriza um determinado evento baseado nos cenários de provas. Os resultados apresentam as diferentes curvas padrões normalizadas, e contextualizadas nos tipos de cenários avaliados, seguidamente apresenta-se um modelo matemático teórico do consumo de corrente proposto, como também as regras ou assinaturas propostas para identificar um ataque através do método de detecção por padrões que utilizada o IDS Snort. Essas curvas de corrente facilitam o entendimento e obtenção de um padrão de consumo de corrente para cada acesso e ataque na plataforma embarcada.

https://bdtd.ufs.br/handle/tede/3365

PROPOSTA DE IDENTIFICAÇÃO DE ATAQUES AO SERVIÇO SSH USANDO PADRÕES NO CONSUMO DE CORRENTE EM PLATAFORMAS EMBARCADAS

Este trabalho apresenta a obtenção de curvas de consumo de corrente elétrica, a partir das respostas geradas por um sistema embarcado de baixo custo Raspberry Pi 2 Model B executando o sistema operacional Linux Raspbian trabalhando como um servidor de acesso remoto SSH, que é avaliado através de diferentes tipos de acessos e ataques de força bruta com dicionários através das ferramentas especializadas Medusa e Hydra, como também a ferramenta não especializada Metasploit. O comportamento energético é interpretado por um sistema de medição de consumo de corrente desenvolvido pela plataforma embarcada de baixo custo Arduino Uno que administra um sensor de corrente baseado no chip ACS721ELC- 5A de efeito Hall, que possui a capacidade de coletar as variações geradas pela plataforma de teste em resposta aos eventos produzidos pelos cenários de provas propostos, os dados são processados pelo Framework Matlab que coleta, analisa e normaliza por meio do método de Welch o sinal de corrente que é interpretado pelo Arduino Uno, posteriormente apresentase uma curva padrão que caracteriza um determinado evento baseado nos cenários de provas. Os resultados apresentam as diferentes curvas padrões normalizadas, e contextualizadas nos tipos de cenários avaliados, seguidamente apresenta-se um modelo matemático teórico do consumo de corrente proposto, como também as regras ou assinaturas propostas para identificar um ataque através do método de detecção por padrões que utilizada o IDS Snort. Essas curvas de corrente facilitam o entendimento e obtenção de um padrão de consumo de corrente para cada acesso e ataque na plataforma embarcada.

CAPÍTULO 1 INTRODUÇÃO De acordo com [COELHO et al. 2014], a segurança da informação tem a responsabilidade de proteger a informação sendo determinante para assegurar a competitividade, a lucratividade, e o atendimento aos requisitos legais, preservando a imagem da organização junto ao mercado. A segurança de informação, segundo [GIAVAROTO et al. 2013], não é um produto, é um processo, e por isso, há uma enorme dificuldade em determinar qual é o nível de segurança apropriado. É necessário investigar os riscos, realizar testes, validar as políticas de segurança e tecnologias utilizadas com o objetivo de atender os preceitos de segurança da informação. A segurança nas comunicações [STALLINGS 2007] é uma prática que contém como tarefa principal, prevenir o acesso não autorizado a certos recursos informáticos. Esta conotação é mais estrita no sentido de desenho das soluções entre duas entidades que tentam estabelecer um meio de comunicação comum e seguro. Neste contexto, os protocolos de comunicações são os responsáveis de administrar mecanismos necessários, a fim de estabelecer uma ligação entre uma origem e um destino de forma que os dados enviados sejam transmitidos em forma segura [AMATO 2001]. A confidencialidade, segundo os autores [KUROSE et al. 2010], é um conceito que garante a segurança na transmissão de mensagens e devem ser compreendidas somente pelo remetente e pelo destinatário. A forma de afiançar esta segurança é através de técnicas de cifragem de dados combinada com a autenticação do ponto final. Na atualidade existem soluções em software que cifram os canais de comunicação garantindo a confiabilidade dos dados transmitidos, um exemplo são as redes privadas virtuais VPN [MASON et al. 2002], arquitetura de comunicação que concede um nível aceitável de segurança. Esta arquitetura de segurança exposta a condições de ataques especializados pode chegar a comprometer sua segurança, desta forma um atacante externo está possibilitado a interceptar as mensagens enviadas e recebidas com o agravante de manipular as comunicações à sua vontade [ASHIDANI 2009]. O serviço de comunicação SSH [SILVERMAN et al. 2001] é o serviço de rede mais difundido e utilizado na administração remota de recursos informáticos. Uma das capacidades que possui SSH é estabelecer um canal de comunicação cifra entre uma origem e um destino, este serviço é muito utilizado com o fim de realizar a administração geral de um sistema informático remoto [LAUDON et al. 2013]. Desde o ponto de vista dos administradores de sistemas é a ferramenta por excelência na administração remota, também um ponto de ataque relevante para potenciais intrusões e tudo tipo de ameaças [TABISH et al. 2009]. Hoje em dia se conhecem Malwares [INCE 2008] muito sofisticados que automatizam tudo o processo de conexão a um sistema remoto baseado em ameaças conhecidas [MORTENSEN et al. 2013]. Os sistemas embarcados de acordo com os autores [MORENO et al. 2003] são definidos como uma unidade central de processo integrado a um sistema maior com o objetivo de auxiliar o controle e execução de tarefas, ademais os sistemas embarcados em termos gerais são considerados dispositivos eletrônicos de propósitos gerais. Um claro exemplo é o projeto Raspberry Pi Foundation1 , esta iniciativa nasceu com o objetivo de estimular o ensino da informática baseado na filosofia Open hardware e Open software. Seu desenvolvimento está direcionado em uma economia de escala, frente a um mercado competitivo de sistemas embarcados existentes, tais como: Oluxino2 , Cubieboard23 , Odroid4 , Beagleboard5 , Raspberry Pi possui a maior cota de mercado neste segmento, isso se deve à relação que existe entre o preço e as características disponíveis. Na Tabela 1.1 apresentam-se as características técnicas dos sistemas embarcados mencionados anteriormente…

 Link: https://bdtd.ufs.br/bitstream/tede/3365/2/VICTOR_GABRIEL_GALVAN.pdf

Anúncios

Balanceamento Web – Proxy Reverso

Um servidor de Proxy será um servidor que ficará a frente dos servidores WEB. As conexões chegaram a ele primeiro, e ele será responsável por distribuir as conexões para os outros servidores através de um Proxy.

O Proxy reverso será responsável por repassar, ou rotear o tráfego recebido para o, ou os servidores WEB. É muito utilizado para balancear carga em servidores WEB.

Podemos lidar com vários fatores, ou melhor, podemos ter várias características, entre elas:

  • Segurança
  • Criptografia
  • Balanceamento de Carga
  • Cache
  • Compressão

Nestes termos acima, podemos ter segurança a vários tipos de ataques, já que os mesmos passarão pelo Proxy primeiro, antes de, por exemplo, algum tipo de injeção (Injection), além de podermos tratar a criptografia ssl no próprio Proxy, têm outros fatores muito interessantes, como o Balanceamento de carga, que é o foco de nosso Post, mas temos ainda o Cache, para acelerar a resposta e compressão de Dados.

Existem muitos aplicativos que podem fazer isso, tal como Cisco, Iplanet Web Proxy, Isa, Squid, Nginx e Apache. Em nosso Post veremos o Squid Proxy e Apache Server.

Configurando Proxy Reverso no Apache

 

Para configuração do Apache, são necessários três módulos: proxy, proxy_balancer, proxy_http. Neste ambiente usei três Servidores Apaches que são:

  • 192.168.0.200                        Servidor Proxy Reverso
  • 192.168.0.201                        Servidor WEB 1
  • 192.168.0.202                        Servidor WEB 2

Em todos os servidores devemos instalar o apache2:

apt-get install apache2

 

Nos servidores WEB 1 e 2, alterei a pagina index.html em /var/www, colocando o endereço IP dos próprios para podermos identificar se o balanceamento está ocorrendo de fato, no servidor WEB 1, adicionei a linha “Servidor 192.168.0.201” e no Servidor WEB 2 adicionei a linha “Servidor 192.168.0.202” em seus respectivos index.html.

Obviamente, você fará a configuração do seu servidor conforme necessidade, como instalar PHP, Java, banco de dados se for o caso. Note que neste ultimo caso do Banco de dados é interessante termos outro servidor que centralizará essas informações.

Agora vamos à configuração do Servidor Proxy. O primeiro passo é habilitar os módulos:

a2enmod proxy proxy_balancer proxy_http

 

Devemos editar o arquivo /etc/apache/sites-available/default:

<Proxy balancer://mycluster>BalancerMember http://192.168.0.201:80BalancerMember http://192.168.0.202:80</Proxy&gt;

ProxyPass /test balancer://mycluster

 

Deve-se usar a diretiva <Proxy> para informar ao Apache, usar o módulo proxy, seguido do balancer, que será o identificador. Qualquer nome poderá ser usado sem nenhum problema.

O valor colocado em BalancerMember já fala por si só. Serão os servidores reais, do qual queremos balancear.

ProxyPass – ProxyPass permite mapear a árvore de documentos de um servidor Web no espaço de documentos de seu servidor proxy. Enfim, ele fará o redirecionamento de /test para balancer://mycluster. Se caso você deseje redirecionar a própria raiz do servidor basta trocar “/test” por “/”.

Após esse procedimento basta reiniciarmos o apache e fazermos o teste.

 

invoke-rc.d apache2 restart

 

Acesse o endereço do Proxy Server, ele deverá redirecionar a cada requisição para um servidor diferente.

Podemos também utilizar o próprio modulo do balancer para gerenciamento como será feito a carga, para isso precisamos criar uma nova configuração, chamando o módulo do balancer, veja abaixo:

 

<Location /balancer-manager>SetHandler balancer-managerOrder deny,allowAllow from all

</Location>

 

A deve-se adicionar uma nova entrada para a entrada balancer-manager, mas devemos prestar atenção, esta diretiva deve ser colocada antes da diretiva ProxyPass anterior, no caso de redirecionamento da raiz inteira, como citado anteriormente trocando “/test” por “/”. Pois como ele está redirecionado toda a raiz para os servidores membros, ele acabará tentando redirecionar também “servidor/balancer-manager”.

Mas caso tenha feito como o exemplo acima, você poderá colocar logo abaixo da diretiva “</Location>”. Veja a entrada abaixo:

 

ProxyPass /balancer-manager !

 

A diretiva irá redirecionar o /balance-manager para o mesmo diretório, que na realidade nem existe de fato.

Para acessar, basta ir ao endereço “http://192.168.0.200/balancer-manager”, e você verá uma tela como abaixo:

 

Como podemos ver acima, bastam selecionar um dos servidores, que será exibida os valores para “Load fator:”, por exemplo se quisermos alterar o balanceamento para 2/3 para um e 1/3 para o outro, basta alterar o valor para 2, como visto acima. Podemos também ver estatísticas de acesso, em “Elected To”.

 

Configurando Proxy Reverso no Squid

 

Outra forma de fazermos o proxy reverso, é utilizando o Squid, nosso proxy padrão no Linux.

Ele possui essa opção, para podermos fazer o balanceamento entre servidores, como visto anteriormente com Apache.

O primeiro passo a ser feito é a remoção do servidor WEB e a instalação do Squid no Servidor Proxy WEB, em nosso caso no 192.168.0.200.

 

invoke-rc.d apache2 stop

apt-get remove apache2

apt-get install squid

 

Com isso, já estamos prontos para configuração de nosso proxy reverso.

A feature que permite isso é a cache_peer. Esta diretiva é usada para especificar outros caches na hierarquia, como por exemplo usar proxy cascateados, em nosso caso iremos usar para redirecionar não para outro proxy e sim para outros servidores.

Ele possui cinco campo é o nome ou endereço Ip do servidor , já especificado a porta. O segundo campo indica o tipo de relacionamento, o terceiro campo define a porta Http do servidor de destino, enquanto o quarto define a port ICP (UDP) para consulta, e o quinto campo pode conter zero ou mais palavras chaves e opções.

Entre os tipos temos :

  • parent             Relacionamento que redirecionará pedidos para o cache pai.
  • sibling             Relacionamento entre irmãos, onde somente alguns objetos serão solicitados.
  • multicast        O pacote Multicast é de uma máquina para outra ou outras.

Quanto a opções temos várias interessantes:

  • proxy-only                  Especifica que os objetos que foram buscados para este cache , n
  • Weight=n                   Especificar um peso para o parent. O peso deve ser um número inteiro.
  • no-query                     Essa opção é definida entre pares, que não suportam consulta ICP.
  • round-robin                Define um conjunto de parent que devem ser utilizados de forma um round-robin (algoritmo).
  • originserver               Faz com que este servidor seja contatado como o servidor de origem. Feito para ser usado nas configurações de acelerador quando o par (peer) é um servidor WEB.

 

Existem muitas outras configurações, mas para o nosso caso, não vamos precisar fazer um curso de cache_peer.rsrs

Num primeiro momento, devemos então, alterar a porta http_proxy, para escutar a porta 80, e configuramos nossos cache_peer. Veja abaixo as linhas que deverão ser adicionadas e alteradas , no caso de já existirem, como no caso do http_proxy:

 

http_port 192.168.0.200:80 vhost defaultsite=www.site.com.brcache_peer 192.168.0.201 parent 80 0 no-query originserver round-robincache_peer 192.168.0.202 parent 80 0 no-query originserver round-robin

 

No primeiro item, alteramos a porta padrão 3128, para IP do servidor na porta 80, o valor de vhost, servirá somente colocar no header um host, caso este não venha especificado. Como não estamos usando domínio neste Post, coloquei um qualquer, mas funcionará normalmente.

Já as duas linhas seguintes, especificamos nossos servidores , como parent, trabalhando na porta 80, serem tratados como servidores originais, e usarem round-robin ( Uma conexão para cada distribuída igualmente).

Se caso quiséssemos fazer um balanceamento desigual, deveríamos usar o valor“weight=n”, para dar peso. Seguindo o exemplo anterior, 2/3 para o primeiro e 1/3 para o segundo, ficaria da seguinte forma:

 

cache_peer 192.168.0.201 parent 80 0 no-query originserver round-robin weight=2cache_peer 192.168.0.202 parent 80 0 no-query originserver round-robin weight=1

 

O segundo passo é em relação às próprias acl do Squid. Como sabemos ele vem negando tudo com a acl “http_access deny all”. Para resolver isso, precisamos criar um acl contendo nossos servidores e o próprio proxy, e permitir acesso a eles. Certifique-se que esteja antes da linha “http_access deny all”, para que funcione.

 

acl hosts dst 192.168.0.200 192.168.0.201 192.168.0.202http_access allow hosts

 

Com isso estamos prontos para testar, basta reiniciar o Squid, e fazer o teste , enviando solicitação WEB para o Proxy, e o mesmo redirecionará para os dois servidores WEB 192.168.0.201 e 192.168.0.202.

 

Conclusão

 

Como podemos ver acima, os dois processos são muito simples, não requer um grande estudo e preparo. Não foi necessário usar roteamento, ou alterar a tabela de roteamento, bem como regras de firewall.

Obviamente se você possui um firewall, este terá que ter regras que permitam tais acessos.

E mais uma vez, espero que aproveitem o Post.

 

 

Fonte: http://stato.blog.br/wordpress/balanceamento-web-com-proxy-reverso/

Gerenciamento de Continuidade de Serviço de TI

Vamos para mais um artigo sobre ITIL. Lembrando que nossos artigos têm apenas a finalidade de resumo ou de guia de estudos. Caso deseje estudar para a prova, recomendamos o uso de materiais oficiais e cursos credenciados.

Gerenciamento de continuidade de serviço de TI

Este pode ser um assunto extremamente complexo quando se trata de sua aplicação, mas igualmente necessário para manter o recurso funcionando. A continuidade de serviço de TI é responsável pela habilidade de recuperação necessária para os serviços de TI e seus componentes de apoio em um evento de desastre. Dentre estes eventos temos:

  • Incêndios
  • Enchentes
  • Terrorismos
  • Tempestades
  • Vandalismos
  • Blackouts e apagões

Como o processo de disponibilidade foca na operação normal do negócio, cabe ao gerenciamento de continuidade de serviço de TI se preocupar com desastres. Este processo auxilia na introdução de medidas de redução de riscos e opções para a recuperação dos serviços.

Seu propósito:

  • Apoiar o processo de continuidade do negócio
  • Gerenciar riscos que podem afetar seriamente os serviços de TI
  • Garantir a provisão no mínimo SLA.

Suas Definições:

  • Definir e manter planos de continuidade de serviços de TI
  • Realizar regularmente análise de impacto
  • Análise de gerenciamento de riscos
  • Orientar as outras áreas sobre continuidade e recuperação dos serviços de TI
  • Assegurar a implantação dos mecanismos adequados
  • Avaliar o impacto de todas as mudanças nos planos de continuidade de serviços de TI
  • manutenção contínua nos planos

Análise de impacto:

Ao criar um modelo de análise de impacto, devemos levar em conta:

  • Serviços críticos do negócio de TI
  • Impactos causados pela indisponibilidade
  • Cenários de impacto
  • Obrigações da empresa perante a lei vigente
  • Tempo em que a empresa aguentaria sem os serviços e TI
  • Requisitos para recuperação
  • Determinar o tempo mínimo e máximo dos níveis de serviços a serem recuperados
  • Definir quais processos de negócio devem ser recuperados por completo

Análise de riscos:

  • Para determinar os requisitos de continuidade é importante ter um entendimento da probabilidade que um evento de desastre ou outra interrupção maior no serviço poderá de fato ocorrer. Isto é feito por meio de uma avaliação de riscos.
  • A avaliação determina as ameaças e o quanto a organização está vulnerável à elas
  • A Avaliação também pode ser usada em outros processos como gerenciamento de disponibilidade e gerenciamento de segurança da informação

 

AMEAÇAS: incêndios, falta de energia, etc

VULNERABILIDADES: ponto fraco que pode ser explorado pela falha

riscos

Fonte: http://www.purainfo.com.br/itil/itil-resumo-de-gerenciamento-de-continuidade-de-servico-de-ti/

Curso Wireless Hacking

001 – Instalando o BackTrack para os testes de invasao.wmv
002 – Entendendo o nosso contexto e ambiente de testes.wmv
003 – Baixando e Instalando o vistumbler.wmv
004 – Baixando o Wireless Network Watcher.wmv
005 – Definindo um Alvo e Tomando nota das informaçoes Necessárias.wmv
006 – Clonando MACs windows xp e restriçoes windows 7.wmv
007 – Exemplificando a Clonagem de MACs no BackTrack.wmv
008 – Rodando um scanner de vulnerabilidades nos hosts da rede wireless.wmv
009 – Quebrando chaves wep com o aircrack-ng.wmv
010 – Quebrando a segurança de redes wi-fi com wpa – aircrack-ng e crunch.wmv
Pentest em Redes sem Fio.mp4

Black Hat Python: Programação Python para Hackers e Pentesters

Sobre o autor

    Justin Seitz é um pesquisador sênior de segurança Immunity, Inc., onde ele passa sua caça bug tempo, engenharia reversa, escrever exploits, e codificação Python. Ele é o autor de cinza Hat Python , o primeiro livro para cobrir Python para análise de segurança.

Sobre os Revisores Técnicos

   Dan Frisch tem mais de dez anos de experiência em segurança da informação. Atualmente, ele é um sênior de segurança analista em uma agência de aplicação da lei canadense. Antes que o papel, ele trabalhou como consultor fornecendo avaliações de segurança para as empresas financeiras e de tecnologia na América do Norte. Porque ele está obcecado com tecnologia e possui uma faixa preta terceiro grau, você pode assumir (corretamente) que toda a sua vida é baseada em torno A Matrix . Desde os primeiros dias do Commodore PET e VIC­20, a tecnologia tem sido um companheiro constante (e às vezes uma obsessão!) para Cliff Janzen. Cliff descobriu sua paixão carreira, quando ele se mudou para segurança da informação em 2008, após uma década de operações de TI. Durante os últimos anos tem sido Cliff felizmente empregado como um consultor de segurança, fazendo tudo de revisão da política de testes de penetração, e ele se sente sortudo por ter uma carreira que é também o seu passatempo favorito.

black-hat-python-programacao-python-para-hackers-e-pentesters-justin-seitz

Prefácio

Python ainda é a língua dominante no mundo da segurança da informação, mesmo se a conversa cerca de idioma de sua escolha, por vezes, parece mais uma guerra religiosa. ferramentas baseadas em Python incluem todos os tipos de fuzzers, proxies, e até mesmo o ocasional explorar. Exploit frameworks como CANVAS são escritos em Python como são ferramentas mais obscuros como PyEmu ou Sulley. Apenas sobre cada fuzzer ou explorar tenho escrito tem estado em Python. De fato, a pirataria automóvel pesquisa que Chris Valasek e eu realizada recentemente continha uma biblioteca para injetar mensagens CAN sobre sua rede automotiva usando Python! Se você está interessado em mexer com as tarefas de segurança da informação, Python é uma grande linguagem de aprender por causa do grande número de engenharia e exploração bibliotecas reversa disponíveis para seu uso. Agora, se apenas os desenvolvedores Metasploit viria a seus sentidos e mudar em Ruby, Python, nossa comunidade estariam unidos. Neste novo livro, Justin cobre uma grande variedade de tópicos que um jovem hacker empreendedor seria necessário para sair do chão. Ele inclui instruções passo a passo de como ler e escrever pacotes de rede, como farejar a rede, bem como qualquer coisa que você pode precisar para auditoria de aplicações web e de ataque. Ele em seguida, passa mergulho de tempo significativa em como escrever código para lidar com especificidades de atacar Sistemas Windows. Em geral, Preto Hat Python é uma leitura divertida, e enquanto ele não pode transformá­lo em um Super hacker de golpe como eu, certamente pode ajudar a começar no caminho. Lembre­se, a diferença entre script kiddies e profissionais é a diferença entre simplesmente usando outra ferramentas das pessoas e escrever o seu próprio.

Charlie Miller

St. Louis, Missouri

setembro 2014.

Derrubar senha de Root no Ubuntu, Debian e Linux Mint

Essa dica, literalmente, vale ouro. Muitos Analistas Linux e técnicos em geral, já ganharam dinheiro fazendo isso… vamos lá.

Imagine se você esqueceu a senha de root da sua máquina e precisa instalar alguma aplicação como root (na grande maioria dos casos o comando sudo resolveria esta situação)… ou começou a trabalhar em uma empresa e a pessoa que você substituiu não lhe passou as senhas dos servidores? O que fazer? É simples!

NOTA: Este tutorial foi feito em Ubuntu, porém funciona em todas as distribuições baseadas em Debian e que possuem o bootloader Grub (inclusive a versão 2.00).

Primeiramente reinicie a máquina (se for Ubuntu, fique pressionando a tecla SHIFT durante o boot para que seja exibido o menu do Grub).

No menu acima, selecione a versão de kernel que você está usando e pressione a tecla “e”:

No final da linha linux /boot/vmlinux-x.x.xx (…) $vt_handoff  adicione o conteúdo abaixo:

rw init=/bin/bash

Deixando-a assim:

Após isso tecle F10 e será aberto um terminal como o mostrado abaixo:

Após isso, siga os seguintes passos:

# mount -o remount,rw /
# mount -a
# mount

A partir daqui você poderá editar o /etc/shadow

# nano /etc/shadow

Apague o conteúdo que estiver no segundo campo depois de root:

root:$1$fmdlkdjslj¨5$rdgd:14693:0:99999:7:::

Deixe assim:

root::14693:0:99999:7:::

Salve o arquivo e continue:

# sync
# umount -a
# mount -o remount,ro /

Agora pressione Ctrl+Alt+Del para reiniciar.

Após o reboot do sistema, abra um terminal e se logue como root (sem senha, é claro):

$ su

E digite:

# passwd root

E redefina outra senha de root. Se você estiver trabalhando em um servidor, após o reboot digite “root” ou invés de “su”.

 

Fonte: http://sejalivre.org

Ataque man-in-the-middle

Comunicação normal.

Comunicação interceptada.

O man-in-the-middle (pt: Homem no meio, em referência ao atacante que intercepta os dados) é uma forma de ataque em que os dados trocados entre duas partes, por exemplo você e o seu banco, são de alguma forma interceptados, registrados e possivelmente alterados pelo atacante sem que as vitimas se apercebam.1 Numa comunicação normal os dois elementos envolvidos comunicam entre si sem interferências através de um meio, aqui para o que nos interessa, uma rede local à Internet ou ambas.

Durante o ataque man-in-the-middle, a comunicação é interceptada pelo atacante e retransmitida por este de uma forma discricionária. O atacante pode decidir retransmitir entre os legítimos participantes os dados inalterados, com alterações ou bloquear partes da informação.

Como os participantes legítimos da comunicação não se apercebem que os dados estão a ser adulterados tomam-nos como válidos, fornecendo informações e executando instruções por ordem do atacante.

Exemplo de um ataque

Suponha que Alice quer comunicar com Bob. Enquanto isso, Mallory deseja interceptar a conversa para ler a mesma e, possivelmente, (embora este passo é desnecessário) entregar uma mensagem falsa para Bob.

Primeiro, Alice pede Bob para sua chave pública. Se Bob envia sua chave pública para Alice, e Mallory é capaz de interceptá-lo, um ataque man-in-the-middle pode começar. Mallory envia uma mensagem forjada para Alice que afirma ser de Bob, mas em vez disso inclui a chave pública de Mallory.

Alice, acreditando que esta chave pública venha de Bob, criptografa sua mensagem com a chave de Mallory e envia a mensagem cifrada de volta para Bob. Mallory novamente intercepta, decifra a mensagem usando sua chave privada, possivelmente altera a mesma se ele quiser, e re-encripta a mesma usando a chave pública Bob originalmente enviado para Alice. Quando Bob receber a mensagem cifrada, ele irá acreditar que ela veio de Alice.

1. Alice envia uma mensagem para Bob, que é interceptado por Mallory:

Alice "Oi Bob, sou eu, Alice. Me passe a sua chave"-->  Mallory      Bob

2. Mallory envia esta mensagem para Bob; Bob não pode dizer que não é realmente de Alice:

Alice      Mallory "Oi Bob, sou eu, Alice. Me passe a sua chave"-->   Bob

3. Bob responde com sua chave de criptografia:

 Alice      Mallory   <--[Chave de Bob] Bob

4. Mallory substitui a chave de Bob com a sua, e transmite isso para Alice, alegando que é a chave de Bob:

Alice   <--[Chave de Bob] Mallory      Bob

5. Alice criptografa uma mensagem com o que ela acredita ser a chave de Bob, pensando que só Bob pode lê-lo:

Alice "Me encontre no ponto de ônibus!"[Encriptado pela chave de Mallory]-->   Mallory      Bob

6. No entanto, porque ele realmente foi criptografado com chave de Mallory, Mallory pode decifrá-lo, lê-lo, modificá-lo (se desejar), re-criptografar com chave de Bob, e envia-o Bob:

 Alice      Mallory "Me encontre na avenida brasil, em uma van branca sem janela!"[Encriptado pela chave de Bob]-->   Bob

7. Bob acha que esta mensagem é uma comunicação segura de Alice.

 

Origem: Wikipédia, a enciclopédia livre.

Um grupo hacker que se identificou como membro do grupo jihadista Estado Islâmico conseguiu invadir e alterar as contas do Twitter e do YouTube do Comando Central do Pentágono (CENTCOM).

pentagono-hack

Em comunicado, o CENTCOM confirmou o hack, que aconteceu ao mesmo tempo em que opresidente dos EUA, Barack Obama, fazia um discurso sobre segurança cibernética na Comissão Federal de Comércio em Washington.

O CENTCOM é responsável pela iniciativa militar dos EUA contra o Estado Islâmico (ISIS), na Síria e no Iraque.

Em coletiva de imprensa, o secretário de imprensa da Casa Branca, Josh Earnest assegurou que o episódio não representa violação de dados confidenciais estratégicos.

No Twitter, o grupo hacker publicou mensagens de apoio ao Estado Islâmico, ameaças contra militares e supostos dados confidenciais, que se provaram, após investigação, dados públicos.

Algumas horas depois do primeiro pronunciamento, o CENTCOM assegurou que nenhuma informação confidencial foi comprometida. O ataque foi classificado como vandalismo digital.

Apesar de não ter causado danos reais, o hackeamento das contas pe um importante alerta para empresas. Contas em mídias sociais devem ser tratadas com seriedade, instituindo-se senhas fortes e protocolos de segurança, pois são a “cara” de empresas e instituições. Uma invasão desse tipo pode arranhar a credibilidade e, potencialmente, afastar clientes.

Normas e Políticas para Implantação de um Sistema de Gestão de Segurança da Informação

Lista de questões a fazer ao seu consultor de ISO 27001/ISO 22301

Download Now
Antes de decidir sobre a contratação de um consultor para a implementação de sua ISO 27001 e/ou ISO 22301, considere estas questões e use-as para avaliar consultores em potencial (formato Word).

Checklist da Documentação Obrigatória Requerida por ISO 27001 (Revisão 2013)

Download Now
Artigo que lista todos os documentos e registros obrigatórios, mas também descreve em resumo como estruturas cada documento. Este artigo é ideal para as empresas que estejam iniciando sua implementação do SGSI – ele fornece uma visão geral perfeita de quais documentos são necessários e onde colocá-los (formato PDF).

Diagrama de implementação do ISO 27001:2013

Download Now
Diagrama que mostra o processo de implementação do ISO 27001, do início do projeto até a certificação (formato PDF).

Lista de Verificação de Documentos Obrigatórios da ISO 22301

Download Now
Artigo que lista todos os documentos e registros obrigatórios, e descreve brevemente como estruturar cada documento. Este artigo é ideal para todas as organizações iniciando a implementação de seus SGCN – ele dá uma visão geral perfeita de quais documentos serão requeridos, e onde disponibilizá-los (formato pdf).

How online tools are revolutionizing ISO 27001 and ISO 22301 implementation

Download Now
In this white paper we will look at each of the implementation options (hire a consultant, do it on your own without support, or use the online tools) in more detail, providing an easy comparison for decision making (PDF format).

Project checklist for ISO 27001 implementation

Download Now
A checklist that will enable you to keep track of all steps during the ISO 27001 implementation project. The checklist has 14 major steps and 44 tasks, starting with obtaining management support all the way through to certification audit (Word format).

Project proposal for ISO 27001 / ISO 22301 implementation

Download Now
Template of a document you can use to propose the implementation of ISO 27001 and/or ISO 22301 to your top management. It contains the following sections: Purpose, Reasoning, Project objectives, Project duration, Responsibilities, Resources, and Deliverables (Word format).

Twelve-step transition process from ISO 27001:2005 to 2013 revision

Download Now
This white paper is intended for companies that have implemented the ISO 27001 2005 revision, and are planning to transition to the 2013 revision. The paper describes the suggested steps in the process (PDF format).

ISO 22301 Implementation Process

Download Now
Diagram that shows the ISO 22301 implementation process, from the beginning of the project to the certification (PDF format).

Becoming Resilient: The Definitive Guide to ISO 22301 Implementation (eBook Preview)

Download Now
Preview of the step-by-step handbook for business continuity practitioners. Preview contains table of contents, introduction and entire section 6.6 which looks at how to perform the Business Impact Analysis (PDF format).

BS 25999-2 Implementation Process

Download Now
Diagram that shows the BS 25999-2 implementation process, from the beginning of the project to the certification (PNG format).

Presentation of ISO 27001 benefits

Download Now
Short Powerpoint presentation for the management that describes the benefits of ISO 27001, and the process of its implementation (PDF format).

Protegendo seu WebServer contra o Slowloris HTTP DoS

 

 

Slowloris é uma ferramenta de HTTP DoS desenvolvida pelo Rsnake. Seu funcionamento é bastante interessante porque ele cria sockets e envia requisições HTTPs válidas para a vitima continuamente em intervalos regulares, dessa forma ele tenta enganar o webserver evitando que estas conexões sejam fechadas.

Os webservers baseados em thread estão mais vulneráveis a este tipo de ataque por limitar a quantidades de threads por conexão. O Slowloris aguarda a conexão bem sucedida de todos os sockets para iniciar o ataque então se o alvo for um site muito acessado isso pode demorar um pouco.

Está técnica permite indisponibilizar o alvo aos poucos dificultando a detecção do ataque, se um usuário reiniciar uma conexão em curto espaço de tempo o acesso ao site alvo será estabelecido sem problemas. A ferramenta concorre com os acesso válidos nomalmente ganhando esta concorrência.

Seguem algumas soluções de proteção contra este tipo de ataque:

Ossec

active-responses do Ossec bloqueia a origem do ataque de forma automática sem a necessidade de configurações extras.

mod_qos

A utilização deste módulo é a solução dada por muitos sites.

ModSecurity

A diretiva SecReadStateLimit é usada para limitar o número de threads concorrentes por IP.

Relato – Bloqueando um HTTP DDoS com ModSecurity, Ossec e Iptables

 

 

Recentemente tive uma experiência pra lá de interessante e estressante. Num dia que aparentava estar muito tranquilo me avisam que detectaram uma lentidão muito grande ao acessar o site de um cliente.

Verificando algumas informações do sistema detectei cerca de 14000 conexões na porta 80 o que me deixou um pouco espantando porque era uma situação totalmente atipica

netstat awt | grep 80 | wc -l
14345

Isto estava causando um crash no servidor de banco porque ele não estava conseguindo dar vazão a tantas tentativas ocorrendo simultaneamente.

1a ação – Parar o serviço respirar fundo e tentar isolar o problema.

Como neste mesmo servidor existiam outros sites inicialmente tive que detectar qual era o site alvo, após alguns testes encontrei o infame.

2a ação – Mover o site para outro servidor e substituir o ip.

Movi o site para outra máquina evitando que os outros sites fossem afetados, porém quando liberei a porta 80 para o mundo o inferno começou novamente. O load average do servidor conseguiu chegar a 300 em questão de minutos.

3a ação – Estudar o log e tomar as medidas cabiveis

Numa rápida olhada no log do apache detectei a assinatura do ataque

111.111.111.111 – – [26/Apr/2011:17:01:00 -0300] “GET /?WWW.ATARDE.COM.BR HTTP/1.0″ 400 415 “-” “User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Creative AutoUpdate v1.40.02)”

O IDS da rede detectou este ataque como DOUBLE USER-AGENT attack, como ele vinha de várias origens dinamicamente, bloquear os ips era uma tarefa árdua então tive que resolver no servidor mesmo.

ESCLARECIMENTO: A vitima não era o jornal ATarde. As requisições não sei por qual razão estavam usando a URL deste jornal.

iptables

4a ação – Medidas emergenciais

Como o tempo para raciocinar era muito pouco realizei algumas tentativas não tão eficazes porém contornava um pouco essa situação

Como a assinatura do ataque não mudava foi fácil criar uma regra de iptables através de expressão regular. Ela não é de minha autoria, sou péssimo nesse quesito

tail -f /var/log/apache2/www.hackme.com.br-access.log | grep [aA][Tt][aA][rR][dD][eE] | awk ‘{print “iptables -A INPUT -s “$1″ -j REJECT”}’ | sh &

Usar o REJECT não é muito elegante em se tratando de regras de firewall porque ele aumenta o consumo de memória porém o DROP não estava funcionando.

Exemplo de uma origem ( zumbi ) bloqueada:

REJECT all — 1-48.94.187.totvs.com.br anywhere reject-with icmp-port-unreachable

Com isso tive que fazer um upgrade de memória poque o iptables estava brocando tudo.

snort

5a ação – Medidas emergenciais ( Snort+FWsnort )

Resolvi por o snort em conjunto com o fwsnort para bloquear os ataques, da um pouco de trabalho mas ele conseguiu pegar algumas origens, o problema é que o próprio ataque já estava exaurindo os recursos da máquina juntamente com o iptables e eu ainda jogo o snort+mysql+fwsnort. Ai lascou tudo, tive que voltar a prancheta.

modsecurity

6a. ação – Algumas horas depois… ModSecurity e tunning do Apache

Vocês devem estar fazendo o seguinte questionamento: “Sim. E onde entra o Ossec nisso tudo????”

O Ossec estava bloqueando porém como a assinatura do ataque era um pouco específica ele não estava bloqueando todas as origens. Tentei criar uma personal rule mas já era 03:00 da madruga e eu não estava enxergando nem raciocinando.

Com certeza com a criação da regra baseada na assinatura do ataque ele seria muito mais efetivo. Como isso não era possível no momento parti para a guerra fazendo um tunning do Apache e usando o Modsecurity.

Tunning

vim /etc/apache2/apache2.conf

ServerLimit 4000
MaxClients 4000

ModSecurity

aptitude install libapache2-mod-security2

vim /etc/apache2/conf.d/modsecurity.conf

 

SecRuleEngine On

SecDebugLog /var/log/apache2/modsec_debug.log
SecDebugLogLevel 0

# Serial audit log
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus ^5
SecAuditLogParts ABIFHZ
SecAuditLogType Serial
SecAuditLog /var/log/apache2/modsec_audit.log

# if there where more than 5 requests per second for this IP
# set var block to 1 (expires in 5 seconds) and increase var blocks by one (expires in an hour)
SecRule ip:requests “@eq 5″ “phase:1,pass,nolog,setvar:ip.block=1,expirevar:ip.block=5,setvar:ip.blocks=+1,expirevar:ip.blocks=3600″

# if user was blocked more than 5 times (var blocks>5), log and return http 403
SecRule ip:blocks “@ge 5″ “phase:1,deny,nolog,logdata:’req/sec: %{ip.requests}, blocks: %{ip.blocks}’,status:403″

# if user is blocked (var block=1), log and return http 403
SecRule ip:block “@eq 1″ “phase:1,deny,nolog,logdata:’req/sec: %{ip.requests}, blocks: %{ip.blocks}’,status:403″

SecRule REQUEST_LINE “^GET?\WWW\.ATARDE\.COM\.BR$ HTTP”\
“nolog,deny,setvar:ip.ddos=+1,deprecatevar:ip.ddos=100/10″

A regra abaixo foi a que bloqueou os ataques. As outras foram só para encher linguiça.

SecRule REQUEST_LINE “^GET?\WWW\.ATARDE\.COM\.BR$ HTTP”\ “nolog,deny,setvar:ip.ddos=+1,deprecatevar:ip.ddos=100/10″

As referências abaixo me ajudaram muito:

http://blog.cherouvim.com/simple-dos-protection-with-mod_security/

http://spamcleaner.org/en/misc/flood-http-mod_security.html

http://www.howtoforge.com/apache2_mod_security_debian_etch

Às 04:00 da madruga as coisas se estabilizaram, o acesso ao site foi normalizado e o load não passava de 1.00. Com certeza essa não foi a forma mais elegante de bloquear este tipo de ataque, acredito que um IPS na borda ajudaria muito na resolução e prevenção, porém temos que trabalhar com as ferramentas disponíveis e usar a criatividade.

 

Retirado de: http://blog.alexos.com.br

 

 

 

Servidores Linux com Nginx são alvos de rootkit

 

 

Foi divulgado na lista Full-disclosure um novo rootkit que tem como alvos servidores Linux usando o webserver Nginx.

Segundo stack trace, vítima do ataque, o malware adiciona um iFrame malicioso na resposta HTTP enviada pelo servidor web. Após o comprometimento o servidor passa a encaminhar as requisições para outros sites maliciosos, além disso um Blackhole varre o host do visitante a procura de falhas no Java, Flash entre outras aplicações rodando na máquina cliente.

Foi descoberto até o momento um módulo especifico para o kernel 2.6.32-5-amd64, presente no Debian Linux. Pesquisadores da Karpersky Labs nomearam o malware como Rootkit.Linux.Snakso.a, outra análise bastante interessante é do pesquisador Georg Wicherski da CrowdStrike, ele considerou o rootkit como parte da operação do cybercrime e que pelas técnicas adotadas foi desenvolvido por programador russo sem muito conhecimento do kernel.

Medidas Preventivas:

Realmente não existe mágica na proteção contra novos malwares porém posso sugerir algumas recomendações básicas:

– Manter uma rotina de varredura de antivirus mesmo em servidores Linux;
– Utilizar um IDS ou um WAF e monitorá-lo diariariamente;
– Utilizar um HIDS alertando sobre modificações das páginas hospedadas no servidor.
– Utilizar camadas de segurança de kernel como SELinux,GRsecurity ou Tomoyo ;
– Identificando comportamentos anormais no servidor ou site usar comandos para identificar atividades maliciosas como strace ( e.g. strace -fp PID ) e lsof ( e.g. lsof -i )
– Sempre que identificar um servidor ou site comprometido bloquear os acessos imediatamente.

 

 

 

O que é forense computacional?

Para compreendermos o que é a ciência forense, é interessante que saibamos um pouco de sua história, como surgiu e suas diversas utilizações ao longo dos períodos históricos.

História

No século 19, surge um dos primeiros pesquisadores, Francis Galton, que elabora um estudo complexo sobre as impressões digitais.
Tal estudo serve como base para as investigações que diferenciam um ser humano do outro, baseado em uma característica única que não se repete. O grande problema, é que após algumas décadas, descobriu-se que pelo menos 5% da população mundial não possui digitais, seja por problemas genéticos, seja por suas atividades profissionais que fazem com que as digitais de uma pessoa se desgaste com o tempo, tais como: professores(as), pedreiros, faxineiras(os) e pessoas que manipulam produtos químicos abrasivos…

Continuar lendo

Usando o http-wp-plugins do Nmap para detectar plugins do WordPress

Foi anunciado recentemente um excelente script para o Nmap que permite detectar todos os plugins instalados noWordPress. A estrutura do script é bastante simples e ele se baseia em uma wordlist dos plugins existentes. Abaixo segue um teste do script e as medidas preventivas contra o mesmo. Inicialmente é necessário baixar o script e a wordlistNo Debian o script deve ser copiado para o diretório /usr/local/share/nmap/scripts e a wordlist para/usr/local/share/nmap/nselib/data Sintaxe básica

nmap –script http-wp-plugins –script-arg [ARGUMENTO] [ALVO]

 

Continuar lendo

Pentest – Fundamentos para realizar um teste de fogo

Todo profissional de segurança, além de saber proteger um sistema, deve também saber atacar um sistema, o pentest (penetration test ou teste de penetração).

Mas… o que é um pentest?

O pentest é um teste onde o profissional de segurança de uma determinada empresa ataca esta mesma entidade (empresa), para descobrir as falhas, brechas onde os usuários maliciosos possam ter entrado e feito todo tipo de dano. É muito comum o roubo e a destruição dos arquivos.

Um especialista em pentest deve conhecer algumas coisas para realizar tais ataques, tais como:

  • A cabeça de um cracker
  • programação (avançado)
  • ferramentas
  • sites de busca
  • engenharia social
  • sistema operacional
  • redes e servidores
  • etc

Vamos explicar agora o porque de conhecer isso tudo:

Continuar lendo

Auditoria Teste de Invasão para Proteção de Redes Corporativas – Vantagens, Importância Estratégica, Motivações e Conceitos

Artigo por Bruno Salgado, publicado anteriormente no Blog da Clavis e na newsletter daCobre Bem.

 

 

 

 

 

 

Introdução

Há diversos procedimentos de auditoria que têm por objetivo aferir a segurança de uma rede, sistema ou aplicação. Cada um deles tem suas características, objetivos, vantagens e desvantagens próprias. Com base nestes fatores, o auditor deve avaliar as necessidades do seu cliente a fim de definir qual auditoria de segurança é mais adequada para atendê-las, e oferecerá melhores resultados.A auditoria Teste de Invasão é uma das auditorias de segurança que podem ser realizadas sobre ativos do cliente. O principal diferencial deste tipo de auditoria é que a avaliação de segurança é realizada através de simulações de ataques reais aos ativos do cliente. Isto quer dizer que a auditoria Teste de Invasão vai além da simples identificação de potenciais vulnerabilidades. Ao contrário da simples indentificação de vulnerabilidades, há verificação da representação de risco real destas, e apreciação do impacto associado à exploração destas vulnerabilidades sobre a segurança da informação e o próprio negócio do cliente.

Continuar lendo

Mapeamento de Redes com nmap – ferramenta de código aberto com diversas funcionalidades

Introdução

O nmap (reduzido de “Network Mapper”) é uma ferramenta livre, de código aberto, utilizada para ma­peamento de redes e inclui diversas funcionalidades como: varredura de portas, detecção de versão de ser­viços, identificação remota de sistemas operacionais (OS fingerprinting), etc. Esta ferramenta foi criada por Gordon “Fyodor” Lyon, que ainda hoje participa ativamente do desenvolvimento da mesma. O nmap é uma ferramenta versátil que é muito utilizada, entre outros, em auditorias teste de invasão, teste em firewalls e testes de conformidade…

Continuar lendo

Distribuições GNU/Linux para Segurança

Muitos, se não todos que lerão esse artigo, sabem o que é GNU/Linux e de suas diversas distribuições então não irei me prolongar, mas apenas nivelar o conhecimento para aqueles que porventura ainda não o conhecem.

A definição para uma distribuição GNU/Linux é o kernel + programas. Esse conjunto define uma distribuição GNU/Linux. Para mais detalhes recomendo a leitura do artigo O que são distribuições do Viva o Linux.

Exemplos de distribuições: Debian, Red Hat, Slackware, Ubuntu (derivado do Debian), Fedora (derivado da Red Hat), Slax (derivado do Slackware) dentre muitas outras. Existem centenas de distribuições e muitas outras irão surgir.

Com isso, algumas distribuições foram criadas com o foco em segurança, ou melhor, com o objetivo de prover um ambiente pronto para a realização das diversas atividades desempenhadas por Analistas de Segurança, Auditores, Investigadores Forenses, Harckers, Crackers etc.

Continuar lendo