Ferramentas de ataques

862 visualizações

Publicada em

Ferramentas de ataques

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
862
No SlideShare
0
A partir de incorporações
0
Número de incorporações
222
Ações
Compartilhamentos
0
Downloads
56
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Ferramentas de ataques

  1. 1. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA SCANNER DE REDE O Nmap é um portscan de uso geral, que pode ser usado, sempre que você precisar verificar rapidamente as portas abertas em determinado host, seja na sua rede local, seja na Internet. O Nmap é um pacote muito utilizado e por isso está disponível em todas as principais distribuições. Você pode instalá-lo usando o yast (SuSE), yum (Fedora), urpmi (Mandriva), ou outro gerenciador de pacotes disponível. Nas distribuições derivadas do Debian, você pode instalá-lo via apt-get: # apt-get install nmap Para usar todos os recursos do Nmap, você deve executá-lo como root. O uso mais simples é escanear diretamente uma máquina da rede, como em: # nmap 10.41.0.1 Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) Interesting ports on 10.41.0.1: (The 1661 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 68/tcp open dhcpclient 631/tcp open ipp MAC Address: 00:0F:B0:55:EE:16 (Compal Electronics) Nmap finished: 1 IP address (1 host up) scanned in 0.339 seconds 1
  2. 2. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Neste exemplo, o teste foi disparado contra uma máquina Linux, rodando uma instalação personalizada do Debian Sarge. Foram encontradas 2 portas abertas:  Cliente DHCP (é normal que a porta 68 fique aberta em clientes configurados via DHCP);  servidor Cups, que escuta na porta 631; O Cups mantém esta porta aberta sempre que é ativado (você precisa dele para imprimir, tanto em compartilhamentos da rede, quanto em impressoras locais). Por padrão, ele permite apenas que o localhost imprima e acesse a interface de administração, mas é possível configurá-lo para compartilhar as impressoras com a rede de forma bem simples através do arquivo "/etc/cups/cupsd.conf". Nem o cliente DHCP nem o Cups permitem acesso via shell, por isso, salvo eventuais graves brechas de segurança, os ataques mais graves que poderiam ser lançados neste caso seriam tentar modificar a configuração de rede, tentando responder ao cliente DHCP no lugar do servidor DHCP da rede, ou tentar usar impressoras compartilhadas no Cups.  O simples fato de uma determinada porta estar aberta, não significa que a máquina está vulnerável, mas apenas que existem serviços ativos e as portas não estão sendo bloqueadas por nenhum firewall. Você pode obter mais informações sobre as portas abertas, incluindo a versão de cada serviço ativo usando a opção "-sV", como em: 2
  3. 3. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA # nmap -sV 10.41.50.51 Foram encontradas 2 portas abertas: root@crbveiga-Infoway-SM-3330:~# nmap -sV xxx.xxx.xxx.xxx Starting Nmap 5.21 ( http://nmap.org ) at 2012-04-19 14:19 AMT Nmap scan report for xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx) Host is up (0.0031s latency). rDNS record for 10.82.0.206: prevnet-urms.prevnet Not shown: 981 closed ports PORT STATE SERVICE VERSION 21/tcp open ftp ProFTPD 1.3.1 22/tcp open ssh OpenSSH 5.1p1 Debian 5 (protocol 2.0) 25/tcp open smtp Postfix smtpd 53/tcp open domain ISC BIND 9.6-ESV-R1 80/tcp open http Apache httpd 2.2.9 ((Debian)) MAC Address: 00:A1:B0:00:9C:99 (Unknown) Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 16.89 seconds  É possível também escanear de uma vez toda uma faixa de endereços, como em: # nmap 10.41.0.1-254 3
  4. 4. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA  Outro parâmetro interessante é a opção "-O", que faz com que o Nmap tente identificar qual é o sistema operacional usado em cada máquina. Esta identificação permite diferenciar máquinas rodando diferentes versões do Windows de máquinas rodando Linux ou MacOS, por exemplo, mas não é muito eficiente em identificar diferentes distribuições Linux, nem em identificar a versão do Windows usada. Veja um exemplo: # nmap -O 10.41.50.51 Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) Interesting ports on 192.168.1.35: (The 1658 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1025/tcp open NFS-or-IIS 5000/tcp open UPnP MAC Address: 02:0F:B0:55:EE:16 (Unknown) Device type: general purpose Running: Microsoft Windows 95/98/ME|NT/2K/XP OS details: Microsoft Windows Millennium Edition (Me), Windows 2000 Pro or Advanced Server, or Windows XP Nmap finished: 1 IP address (1 host up) scanned in 1.145 seconds Neste caso temos uma instalação limpa do Windows XP, sem o firewall ativo. Note que a identificação do sistema não é exata, o Nmap indicou corretamente que é uma máquina Windows, mas não soube identificar precisamente a versão. 4
  5. 5. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Para o próximo Comando é necessário entender o estabelecimento de conexão entre um cliente e um servidor via TCP, abaixo está uma figura que mostra os passos para a sincronização entre 2 computadores: ACK = Acknowledgement (Reconhecimento) SYN = Synchronize (Sincronizar) Estabelecimento de conexões 1. O cliente envia um pacote com a flag SYN ativa; 2. O servidor responde com um pacote com as flags SYN + ACK; 5
  6. 6. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA 3. O cliente responde com um pacote ACK  Continuando, os scans do Nmap podem ser facilmente detectados caso alguma das máquinas-alvo esteja com o Snort, ou outro detector de intrusões ativo, o que vai lhe render no mínimo um puxão de orelha do administrador da rede. Para dificultar isso, o Nmap oferece a opção de fazer um half-open scan, especificando a opção "-sS", como em: # nmap -sS 10.41.0.1 Operando neste modo, o Nmap apenas envia um pacote SYN para cada porta alvo e espera para ver se recebe um pacote ACK de confirmação sem, entretanto, responder com o segundo pacote ACK, que abriria a conexão. Isso permite burlar muitos programas de detecção de intrusão, que monitoram e logam apenas conexões efetivamente estabelecidas. 6
  7. 7. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Portas UDP Escanear as portas UDP é uma forma alternativa de detectar serviços abertos em uma máquina, mesmo que todas as portas TCP estejam fechadas no firewall. Existem também casos de backdoors acessíveis via UDP, como o Back Orifice (no Windows) e até mesmo (raras) brechas de segurança em serviços do Linux ou outros sistemas Unix, como uma brecha em certas versões do rpcbind do Solaris, que podia ser explorada através de uma porta UDP alta, a partir da 32770 (variando de acordo com a versão). Os scans de UDP são rápidos se direcionados a máquinas Windows, mas são absurdamente lentos se feitos contra máquinas Linux ou BSD, onde o sistema limita o número de erros de ICMP (dos quais o scan do Nmap depende) a uma taxa de aproximadamente 20 por segundo. No Windows não existe limite.  Para usar o scan UDP, usamos a opção "-sU", como em: # nmap -sU 10.41.50.51 Por padrão, o Nmap escaneia apenas um conjunto de 1661 portas, que incluem as usadas pelos serviços mais comuns. Uma media de segurança comum é esconder serviços como o SSH em portas altas, de forma que eles sejam mais difíceis de detectar. Nesses casos, você pode fazer um scan completo, incluindo todas as portas TCP (ou UDP) usando a opção "-p 0-65535", como em: # nmap -sS -p 0-65535 10.41.50.51 7
  8. 8. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA A opção "-p" pode ser usada para escanear apenas uma porta específica, ou uma faixa de portas em que esteja interessado. Se executado via rede local, o scan é sempre relativamente rápido (a menos que a máquina-alvo esteja com um firewall ativo, configurado em modo "DROP"), mas, via Internet, as coisas tornam-se bem mais demoradas. Ao tentar localizar vulnerabilidades em uma determinada faixa de endereços IP, você começaria lançando o teste rápido contra toda a faixa, reservando as opções mais demoradas para algumas máquinas específicas.  A opção "-sS", combinada com a "-p 0-65535", permite localizar serviços escondidos em portas altas, mas não é capaz de dizer muito sobre eles. Ele sempre retorna algo como: 22543/tcp open unknown Você pode escanear esta porta específica usando a opção "-sV" para descobrir mais sobre ela, como em: # nmap -sV -p 22543 10.41.50.51 PORT STATE SERVICE VERSION 22543/tcp open ssh OpenSSH 3.8.1p1 Debian-8.sarge.4 (protocol 1.99) Nmap finished: 1 IP address (1 host up) scanned in 0.284 seconds Tudo é muito simples quando a máquina alvo não possui nenhum firewall ativo. 8
  9. 9. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA O scan é rápido e você pode lançar toda sorte de ataques sobre os serviços ativos. Mas, com um firewall ativo, as coisas tornam-se um pouco mais complicadas e demoradas. Um firewall configurado para descartar (DROP) todos os pacotes recebidos, faz com que o scan torne-se extremamente lento. Sniffer de Rede Sniffing, em rede de computadores, é o procedimento realizado por uma ferramenta conhecida como Sniffer (também conhecido como Packet Sniffer, Analisador de Rede, Analisador de Protocolo, Ethernet Sniffer em redes do padrão Ethernet ou ainda Wireless Sniffer em redes wireless). Esta ferramenta, constituída de um software ou hardware, é capaz de interceptar e registrar o tráfego de dados em uma rede de computadores. Conforme o fluxo de dados trafega na rede, o sniffer captura cada pacote e eventualmente decodifica e analisa o seu conteúdo de acordo com o protocolo definido em um RFC ou uma outra especificação. O sniffing pode ser utilizado com propósitos maliciosos por invasores que tentam capturar o tráfego da rede com diversos objetivos, dentre os quais podem ser citados, obter cópias de arquivos importantes durante sua transmissão, e obter senhas que permitam estender o seu raio de penetração em um ambiente invadido ou ver as conversações em tempo real. Pacotes Necessários para os testes a serem realizados a seguir: 9
  10. 10. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA  Instalar o Servidor Apache para a criação de um Servidor Web #apt-get install apache2 php5 ssh  Criar o diretório /var/www/ site_invadido/ #mkdir /var/www/site_invadido/ #cd /var/www/  Dar permissão ao Usuário www-data #chown www-data. site_invadido/ -R  Criar duas páginas HTTP  A primeira de chamando índex.php #cd /var/www/site_invadido/ #vim index.html <i>  para inserir os dados... <form name="form1" method="post" action="form.php"> <p><strong>Formulario Simples </strong><br> <strong>Nome:</strong> <input name="nome" type="text" id="nome"> <br> <strong>Email:</strong> <input name="email" type="text" id="email"> <br> 10
  11. 11. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA <strong>Senha:</strong> <input name="senha" type="password" id="senha"> <br> <strong>Avaliacao do site </strong><br> <input name="avaliacao" type="checkbox" id="avaliacao" value="Péssimo"> Pessimo <input name="avaliacao" type="checkbox" id="avaliacao" value="Ruim"> Ruim <input name="avaliacao" type="checkbox" id="avaliacao" value="Normal"> Normal <input name="avaliacao" type="checkbox" id="avaliacao" value="Bom"> Bom <input name="avaliacao" type="checkbox" id="avaliacao" value="Otimo"> Otimo<br> <strong>Mensagem</strong><br> <textarea name="msg" cols="25" rows="5" id="msg"></textarea> <br> <input type="submit" name="Submit" value="Enviar"> <input type="reset" name="Submit2" value="Limpar"> <br> </p> </form> <esc>  sai do modo de edição :wq salva o arquivo e sai 11
  12. 12. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA  A Segunda de chamando form.php. #vim form.php <i>  para inserir os dados... <?php $nome = $_POST['nome']; $email = $_POST['email']; $senha = $_POST['senha']; $avaliacao = $_POST['avaliacao']; $msg = $_POST ['msg']; $mensagem = "Avaliacao do site por $nome"."<br>"; $mensagem .= "Nome: $nome". "<br>"; $mensagem .= "E-mail: $email"."<br>"; $mensagem .= "$nome avaliou o site como: $avaliacao"."<br>" ; $mensagem .= "Mensagem deixada por $nome"."<br>"."$msg"."<br>"; echo $mensagem; 12
  13. 13. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA echo '<h3> Obrigado pela avaliacao</h3>'; ?> <esc>  sai do modo de edição :wq  salva o arquivo e sai Ngrep O Ngrep é um poderoso sniffer que pode capturar pacotes de descobrir senhas Para descobrir uma senha de um servidor FTP é necessário executar o comando abaixo: #apt-get install ngrep #ngrep port 21 –W byline Imagem do Cliente acessado um servidor de FTP: 13
  14. 14. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Imagem do Servidor recebendo as requisições FTP: Notem que o ngrep capturou o usuário e senha do usuário: 14
  15. 15. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA  Para descobrir os dados sendo trafegados pelo protocolo HTTP utilize o seguinte comando: #ngrep redesunaes port 80 –W byline  Resultado do Sniffer no Protocolo HTTP:  Teste sem a diretiva byline # ngrep redesunaes port 80 15
  16. 16. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA 16
  17. 17. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA TCPDUMP O tcpdump é uma ferramenta utilizada para monitorar os pacotes trafegados numa rede de computadores. Ela mostra os cabeçalhos dos pacotes que passam pela interface de rede. As principais opções de filtro no tcpdump são: -n: Não faz a resolução dos nomes, mantendoorigem, destino e porta como números. Host : Define um host específico, pode ser um ip ou um nome. Src : Define o host origem, pode ser ip ou nome. Dst : Define o host destino, pode ser ip ou nome. -w: Escreve a saída em um arquivo, o nome do arquivo deve ser fornecido. -r: Lê o tráfego que foi armazenado em um arquivo, nesse caso não é necessário ser root. -s: Define, em bytes, o tamanho máximo dos pacotes que serão capturados. O padrão são 68 bytes que são suficientes para alguns protocolo, mas pode truncar (não capturar completamente) um pacote. Um bom número para ser definido é 1000. 17
  18. 18. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Exemplo de comando tcpdump para mostrar quais as ligações de um determinado endereço tcp-ip à porta 80 do seu servidor: tcpdump -ni eth0 src "numero ip" and dst port 80 tcpdump -i eth0 Conexões de origem podem ser monitoradas utilizando o parâmetro src host, um exemplo simples seria monitorarmos o tráfego que vem de 192.168.0.9 para nosso computador, com o ip 192.168.0.2. A linha de comando ficaria da seguinte forma: tcpdump -i eth0 src host 192.168.0.9 Se quisermos monitorar as conexões especificando um host de destino, poderíamos fazê-lo com o parâmetro dst host, o exemplo abaixo mostra todo o tráfego do host 192.168.0.2 com 192.168.0.1, no caso, 192.168.0.1 é nosso gateway. tcpdump -i eth0 dst host 192.168.0.1 Com tcpdump também podemos especificar exceções com o parâmetro not host, por exemplo, em nosso servidor queremos ver todo o tráfego que se passa em sua interface, exceto o de 192.168.0.8, faríamos da seguinte forma: tcpdump -i eth0 not host 192.168.0.9 18
  19. 19. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA No tcpdump podemos também especificar portas de origem e destino com os comandos src port e dst port, um exemplo seria monitorarmos o tráfego destinado à porta 80 (http), para isso utilizaríamos a linha de comandos abaixo e navegaríamos em um site qualquer: tcpdump -i eth0 dst port 80 Para verificarmos o tráfego da porta de origem 32881 por exemplo, faríamos da seguinte forma: tcpdump -i eth0 src port 32881 # tcpdump -i eth0 -n host 192.168.1.1 Captura todos os pacotes destinados ou com origem em 192.168.1.1 sem resolver nomes. # tcpdump -i eth0 -s 1000 src 192.168.1.1 Captura todos os pacotes com origem em 192.168.1.1 resolvendo nomes e gravando até 1000 bytes de cada pacote. # tcpdump -i eth0 -w trafego.cap Captura todo o tráfego na eth0 e escreve a saída no arquivo trafego.cap $ tcpdump -r trafego.cap 19
  20. 20. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Wireshark O wireshark é um poderoso sniffer de rede, é o mais conhecido e tem uma interface bastante amigável, para capturar os dados é necessário verificar qual é a interface de que será alterada para modo promíscuo: Expressões, o Wireshark, trabalha com expressões, na qual você pode filtrar as informações que serão analisadas posteriormente, Abaixo estão alguns exemplos de uso: Adicionar as regras criadas no Combo abaixo:  Mostrar pacotes SMTP ou icmp tcp.port eq 25 or icmp 20
  21. 21. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA  Mostrar somente a conversação da LAN ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16  Mostrar somente a conversação para o IP 192.168.1.16 para o protocolo HTTP ip.dst==192.168.1.16 and http  Mostrar somente a conversação para o IP 192.168.1.16 para o protocolo HTTP ip.addr==192.168.1.16 and http  Expressões 21
  22. 22. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA  Sniffer capturando a senha Mais Expressões 22
  23. 23. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA 23
  24. 24. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES Segurança em redes 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Capturando senhas via HTTP utilize o filtro “http matches POST” REFERÊNCIAS http://www.mentebinaria.com.br/artigos/0x05/0x05-wireshark.html http://www.guiadohardware.net/dicas/usando-nmap.html http://pt.wikipedia.org/wiki/Sniffing http://forum.imasters.com.br/topic/127878-formulario-simples/ http://ezinearticles.com/?Ngrep---A-Network-Analysis-Tool&id=306082 http://andreysmith.wordpress.com/2011/01/02/three-way-handshake/ http://www.wireshark.org/docs/wsug_html_chunked/ChWorkBuildDispl ayFilterSection.html 24

×