Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
para desenvolvedores
CAT/CBPF
Sumrio
1 Introduo
1.1 Hypertext Transfer Protocol .
1.1.1 Exemplo de Requisio
1.1.2 Exemplo de Resposta .
1.1.3 URI . . . . . . . . . .
1.1.4 Mtodos . . . . . . . .
1.1.5 Cdigos de Resposta .
1.1.6 Cookies . . . . . . . .
1.1.7 Autenticao HTTP .
1.1.8 Controle de Sesso . .
1.1.9 HTTPS . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Auditorias Web
2.1 Segurana das Aplicaes versus Segurana da
2.2 Aplicaes Web mais comuns . . . . . . . . .
2.3 Tipos de Auditorias . . . . . . . . . . . . . . .
2.3.1 BlackBox vs WhiteBox . . . . . . . . .
2.4 Metodologia de ataque . . . . . . . . . . . . .
2.4.1 Reconhecimento . . . . . . . . . . . . .
2.4.2 Mapeamento . . . . . . . . . . . . . .
2.4.3 Descoberta . . . . . . . . . . . . . . .
2.4.4 Explorao . . . . . . . . . . . . . . .
2.5 Tipos de falhas . . . . . . . . . . . . . . . . .
2.5.1 Exposio de Informaes . . . . . . .
2.5.2 Falhas de Configurao e Manuteno .
2.5.3 Falhas de Validao de Dados . . . . .
2.5.4 Falhas de Disponibilidade . . . . . . .
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Comunicao
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
8
9
10
13
14
14
15
17
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
21
21
22
22
22
23
23
23
23
23
24
24
24
24
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Identificao da Aplicao
5.1 Infraestrutura Web . . . . . . . . . . . . . . . . .
5.1.1 Load Balancers . . . . . . . . . . . . . . .
5.1.2 WAF . . . . . . . . . . . . . . . . . . . . .
5.1.3 Servidores Web . . . . . . . . . . . . . . .
5.1.4 Servidores de Banco de Dados . . . . . . .
5.2 Verses e Configuraes . . . . . . . . . . . . . .
5.2.1 Google Hacking . . . . . . . . . . . . . . .
5.2.2 Anlise do SSL . . . . . . . . . . . . . . .
5.3 Verificando Virtual Hosts . . . . . . . . . . . . . .
5.4 Usando Nikto . . . . . . . . . . . . . . . . . . . .
5.5 Spidering . . . . . . . . . . . . . . . . . . . . . .
5.6 Fluxograma de funcionamento . . . . . . . . . . .
5.7 Identificao dos pontos de entrada de informao
5.7.1 Requisies . . . . . . . . . . . . . . . . .
5.7.2 Respostas . . . . . . . . . . . . . . . . . .
6 Identificao de Vulnerabilidades
6.1 Mtodos de Identificao . . . . . .
6.1.1 Ferramentas . . . . . . . . .
6.2 Tipos de Vulnerabilidades . . . . .
6.2.1 Exposio de Informao . .
6.2.2 Configuraes e Manuteno
6.2.3 Validao de Dados . . . . .
6.2.4 Disponibilidade . . . . . . .
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
36
37
38
38
39
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
41
41
44
45
46
47
47
47
47
48
50
51
51
53
53
.
.
.
.
.
.
.
55
55
55
58
59
66
70
77
Histrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
7.2
Preparao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
7.2.1
84
7.2.2
Desative o SafeBrowsing . . . . . . . . . . . . . . . . . . . . . . . . .
84
7.2.3
85
7.2.4
Desative o Prefetching . . . . . . . . . . . . . . . . . . . . . . . . . .
86
7.2.5
86
7.2.6
87
7.2.7
87
7.2.8
88
Usando a ferramenta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
7.3.1
Configurao Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
7.3.2
Funcionalidades Basicas . . . . . . . . . . . . . . . . . . . . . . . . .
93
7.3.3
Reenvio e Fuzzing . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
7.3.4
Decode e Encode . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
7.3
8 Consideraes finais
8.1
tica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comunicao, distribuio e reproduo no autorizada.
99
99
5
Prefcio
Desde nosso primeiro contato com computadores que tinham comunicao virtual com
outros em varias partes do mundo, na dcada de 80, atraves da rede BITNET - Because
Its Time NETwork, a vida acadmica ficou mais fcil e mais vulnervel. Mais fcil, pois
temos acesso a informao com muito mais agilidade; mais vulnervel, pois podemos perder
a privacidade com muito mais facilidade.
Seguindo alguns cuidados com as configuraes que fazemos em nossos sistemas e aplicaes, podemos ficar menos preocupados quando navegamos pela grande rede.
A inteno deste material deixar os internautas mais atentos e ao mesmo tempo mais
tranquilos. Quem aguentar ver!!
Captulo 1
Introduo
A introduo tem por objetivo nivelar a perspectiva sobre o contedo usado como base
para o desenvolvimento do curso. Nessa introduo veremos uma reviso sobre o protocolo
HTTP e seus recursos.
1.1
1.1.1
Exemplo de Requisio
1.1.2
Exemplo de Resposta
HTTP/ 1 . 1 200 OK
Date : Fri , 22 Mar 2013 0 1 : 3 1 : 1 7 GMT
S e r v e r : Apache
Accept Ranges : b y t e s
3
http://en.wikipedia.org/wiki/Browser_wars
1.1.3
URI
1.1.4
Mtodos
Os clientes de um servidor web podem usar vrios mtodos disponveis para realizar suas
requisies a um servidor web. Ao todo existem 8 mtodos disponveis, sendo eles: GET,
POST, HEAD, TRACE, OPTIONS, CONNECT, PUT, DELETE.
Os mtodos mais importantes so: GET e POST.
O mtodo GET serve para solicitar pginas ao servidor web, podendo tambm enviar
dados como parmetros.
O mtodo POST serve para enviar dados ao servidor web para processamento. A diferena principal entre os mtodos que o mtodo GET envia os dados via URI e o mtodo
POST envia os dados usando o payload HTTP.
Os outros mtodos servem respectivamente para:
HEAD - Obtm somente o cabealho HTTP. uma variao do GET sem obter os recursos
solicitados.
Acompanhe o exemplo a seguir(requisio e resposta).
1 HEAD http : / / p o r t a l . c b p f . br HTTP/ 1 . 1
2 Host : p o r t a l . c b p f . br
3 User Agent : M o z i l l a / 5 . 0 ( Macintosh ; I n t e l Mac OS X 1 0 . 8 ; rv : 1 7 . 0 )
Gecko /20100101 F i r e f o x / 1 7 . 0
4 Accept : t e x t / html , a p p l i c a t i o n / xhtml+xml , a p p l i c a t i o n /xml ; q = 0 . 9 , / ;
q =0.8
5 Accept Language : en US , en ; q =0.5
6 Proxy Connection : keep a l i v e
7 Content l e n g t h : 0
1
2
3
4
5
6
7
HTTP/ 1 . 1 200 OK
Date : Fri , 22 Mar 2013 0 2 : 2 8 : 5 0 GMT
S e r v e r : Apache
X Powered By : PHP/ 5 . 2 . 8
Set Cookie : CBPF=224 r75rcj3aumndbiv5ok1c5n3 ; path=/
E x p i r e s : Thu , 19 Nov 1981 0 8 : 5 2 : 0 0 GMT
Cache C o n t r o l : no s t o r e , no cache , must r e v a l i d a t e , post check =0,
pre check=0
8 Pragma : no c ac h e
9 Vary : Accept Encoding
10 Content Type : t e x t / html ; c h a r s e t=i s o 8859 1
PUT - Envia um recurso
Acompanhe o exemplo a seguir.
1 PUT http : / / p o r t a l . c b p f . br HTTP/ 1 . 1
2 Host : p o r t a l . c b p f . br
3 User Agent : M o z i l l a / 5 . 0 ( Macintosh ; I n t e l Mac OS X 1 0 . 8 ; rv : 1 7 . 0 )
Gecko /20100101 F i r e f o x / 1 7 . 0
10
4
5
6
7
1
2
3
4
5
6
7
HTTP/ 1 . 1 200 OK
Date : Fri , 22 Mar 2013 0 2 : 2 8 : 5 0 GMT
S e r v e r : Apache
X Powered By : PHP/ 5 . 2 . 8
Set Cookie : CBPF=l o t 9 g 3 8 0 q q k h e 0 8 c 6 9 s p c d t j 8 4 ; path=/
E x p i r e s : Thu , 19 Nov 1981 0 8 : 5 2 : 0 0 GMT
Cache C o n t r o l : no s t o r e , no cache , must r e v a l i d a t e , post check =0,
pre check=0
8 Pragma : no c ac h e
9 Vary : Accept Encoding
10 Content Type : t e x t / html ; c h a r s e t=i s o 8859 1
DELETE - Exclui um recurso
Acompanhe o exemplo a seguir.
1 DELETE http : / / p o r t a l . c b p f . br HTTP/ 1 . 1
2 Host : p o r t a l . c b p f . br
3 User Agent : M o z i l l a / 5 . 0 ( Macintosh ; I n t e l Mac OS X 1 0 . 8 ; rv : 1 7 . 0 )
Gecko /20100101 F i r e f o x / 1 7 . 0
4 Accept : t e x t / html , a p p l i c a t i o n / xhtml+xml , a p p l i c a t i o n /xml ; q = 0 . 9 , / ;
q =0.8
5 Accept Language : en US , en ; q =0.5
6 Proxy Connection : keep a l i v e
7 Content l e n g t h : 0
1
2
3
4
5
6
7
HTTP/ 1 . 1 200 OK
Date : Fri , 22 Mar 2013 0 2 : 2 8 : 5 0 GMT
S e r v e r : Apache
X Powered By : PHP/ 5 . 2 . 8
Set Cookie : CBPF=1r8h5mvgp2be72u41s1ak04b33 ; path=/
E x p i r e s : Thu , 19 Nov 1981 0 8 : 5 2 : 0 0 GMT
Cache C o n t r o l : no s t o r e , no cache , must r e v a l i d a t e , post check =0,
pre check=0
8 Pragma : no c ac h e
9 Vary : Accept Encoding
10 Content Type : t e x t / html ; c h a r s e t=i s o 8859 1
TRACE - Ecoa o pedido, de maneira que o cliente possa saber o que os servidores
intermedirios esto mudando em seu pedido.
Comunicao, distribuio e reproduo no autorizada.
11
8859 1
HTTP/ 1 . 1 200 OK
Date : Fri , 22 Mar 2013 0 2 : 2 8 : 5 0 GMT
S e r v e r : Apache
X Powered By : PHP/ 5 . 2 . 8
Set Cookie : CBPF=sfkeukpas8mte3nv57m858a5f2 ; path=/
E x p i r e s : Thu , 19 Nov 1981 0 8 : 5 2 : 0 0 GMT
Cache C o n t r o l : no s t o r e , no cache , must r e v a l i d a t e , post check =0,
pre check=0
8 Pragma : no c ac h e
9 Vary : Accept Encoding
10 Content Type : t e x t / html ; c h a r s e t=i s o 8859 1
CONNECT - Abre um tnel para o servidor ser usado como proxy
Acompanhe o exemplo a seguir.
12
5
6
1
2
3
4
5
6
7
1
2
3
4
1.1.5
8859 1
Cdigos de Resposta
O protocolo HTTP usa cdigos numricos para identificar o tipo de resposta. Existem 5
classes, com as seguintes designaes.
1xx Informational
100 Continue
2xx Success
200 OK
3xx Redirection
301 Moved Permanently
302 Redirect
304 Not Modified
4xx Client Error
400 Bad Request
401 Not Unauthorized
403 Forbidden
404 File not found
5xx Server Error
Comunicao, distribuio e reproduo no autorizada.
13
1.1.6
Cookies
Os cookies so elementos do protocolo HTTP que so enviados ao navegador pelo servidor, com o objetivo de lembrar informaes de um usurio. formado por uma cadeia de
caracteres, organizados de forma cadeia/valor, separados por ponto-e-vrgula. Seus principais
usos so a manuteno de uma sesso (que no e suportado pelo protocolo) e a autenticao
de usurios.
A seguir, podemos observar essas caractersticas no cookie enviado pelo www.cbpf.br.
Set-Cookie:
CBPF=sfkeukpas8mte3nv57m858a5f2; path=/
1.1.7
Autenticao HTTP
A autenticao serve para identificar o usurio para a aplicao web ou para o servidor
web. Geralmente usada uma combinao de usurio e senha, o que garante somente um
dos requisitos para uma boa autenticao.
Os requisitos para uma boa autenticao se baseiam em:
Algo que voc sabe - geralmente uma senha
Algo que voc - geralmente um ser humano (biometria)
Algo que voc tem - geralmente um token ou smartcard
O protocolo HTTP possui dois mtodos nativos para autenticao: Basic e Digest. Embora existam somente esses dois mtodos no protocolo, a autenticao geralmente pode ser
feita utilizando certificados no cliente, de forma integrada ao ambiente de rede (Single Sign
On 4 ), ou baseada em formulrios.
4
14
http://en.wikipedia.org/wiki/Single_sign-on
1.1.8
Controle de Sesso
O protocolo HTTP um protocolo sem controle de estado, logo a aplicao deve implementar uma forma de fazer o agrupamento de requisies em uma sesso, ou seja, a aplicao
deve fazer o controle de sesso.
Os mtodos mais usados para fazer o controle de sesso so atravs de:
cookies
codificao da URL
campos hidden em formulrios
5
RFC 2617
http://pt.wikipedia.org/wiki/Base64
7
RFC 2617
8
https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API
6
15
16
RFC 2965
RFC 3986
1.1.9
HTTPS
http://en.wikipedia.org/wiki/Web_of_trust
http://en.wikipedia.org/wiki/Public_key_infrastructure
17
http://www.gris.dcc.ufrj.br/news/apple-lanca-atualizacao-de-seguranca-para-certific
http://www.computerworld.com/s/article/9219663/Hackers_may_have_stolen_over_
200_SSL_certificates
http://technet.microsoft.com/en-us/security/advisory/2607712
Problemas do HTTPS
Alm do risco do comprometimento de uma autoridade certificadora, um outro problema
do uso de HTTP o uso cada vez mais frequentes de certificados auto-assinados. O uso
do certificado auto-assinado no um problema, mas as informaes que so passadas aos
usurios para contornar as mensagens de erro apresentados por seu uso so.
Veja na imagem 1.1 o exemplo de instrues para contornar o uso de certificados autoassinados.
18
19
20
Captulo 2
Auditorias Web
Se voc conhece o inimigo e conhece a si mesmo, no precisa temer o resultado de
cem batalhas. Se voc se conhece mas no conhece o inimigo, para cada vitria
ganha sofrer tambm uma derrota. Se voc no conhece nem o inimigo nem a
si mesmo, perder todas as batalhas...
Sun Tzu
2.1
Diversos desenvolvedores de solues web acreditam estar protegendo suas aplicaes com
atravs da implantao de certificados nos seus servidores. Existe no mercado, at empresas
que vendem sistemas que monitoram e testam a qualidade dos certificados SSL dizendo
oferecer aos seus clientes uma melhor segurana em suas aplicaes web. Na realidade, o
uso de certificados SSL somente atua na segurana da comunicao, garantindo assim a
confidencialidade dos dados trafegados.
Em nenhum momento o SSL protege a aplicao de falhas, at porque o SSL no
implantado na aplicao, e sim no servio que disponibilizar a aplicao.
2.2
O desenvolvimento de aplicaes web gerenalistas tem aumentado devido a grande demanda de aplicaes que tivessem um ncleo robusto juntamente com uma alta capacidade
de customizao.
Para isso, aplicaes web comearam a ser desenvolvidas como plataformas de contedo
e sua customizao comeou a ser feita com a instalao de mdulos.
Aplicaes Web comuns so:
CMS
21
2.3
2.3.1
Tipos de Auditorias
BlackBox vs WhiteBox
2.4
Metodologia de ataque
A metodologia de ataque uma aplicao web cclica. Ele consiste de 4 fases1 , sendo
eles:
Reconhecimento - Fase de pesquisa sobre a aplicao
Mapeamento - Fase para entender como a aplicao funciona
Descoberta - Fase de busca por vulnerabilidades
Explorao - Fase de execuo dos ataques
So fases iterativas e realimentadas, pois a cada fase temos uma nova perspectiva sobre
a aplicao.
1
22
2.4.1
Reconhecimento
A fase da pesquisa sobre a aplicao importante para determinar o foco dos ataques.
Nessa fase interessante determinar os diagramas de arquitetura da aplicao, informaes
sobre o procedimento de autenticao, informaes sobre o procedimento de recuperao de
senha, informaes sobre a infraestrutura, como caches, balanceadores de carga, firewall de
aplicao, entre outras informaes sobre a rede alvo.
2.4.2
Mapeamento
A fase para entender como a aplicao funciona em conjunto com sua infraestrutura.
Os primeiros passos envolvem a execuo de varreduras de portas, checagem de verso de
aplicaes e dependncias, assim como a determinao do sistema operacional e do servidor
web.
Nessa fase, tambm devero ser mapeados os relacionamentos da aplicao com outros
contedos, como, por exemplo, outras pginas dentro do mesmo servidor web. Diversas
aplicaes contam com recursos como o sitemap ou mapa do site, que fornece um bom
comeo para essa fase.
2.4.3
Descoberta
2.4.4
Explorao
2.5
Tipos de falhas
A seguir veremos algumas categorias de falhas esperadas em aplicaes web. Essa listagem no extensiva somente para termos uma noo antes de entrarmos mais profundamente nos prximos captulos.
Comunicao, distribuio e reproduo no autorizada.
23
2.5.1
Exposio de Informaes
Esse tipo de falha permite descobrir informaes sobre a aplicao. Esse tipo de informao pode ser: informaes sobre a infraestrutura, informaes sobre correes, informaes
sobre verso de dependncias externas, informaes sobre armazenamento de dados e informaes sobre usurios e senhas.
2.5.2
Esse tipo de falha comum em servidores web que no foram configurados de forma especfica para a aplicao. Assim, esses servidores web, com sua configurao padro expem
sua assinatura, verso, e outras informaes que podem ser teis para ataques direcionados.
2.5.3
2.5.4
Falhas de Disponibilidade
Categoriza vulnerabilidades que afetam a capacidade do sistema em responder s requisies feitas pelos clientes (usurios, outros sistemas, monitoramento, . . . ) conforme as regras
que so estabelecidas para cada sistema. Ou seja, afetam a capacidade do servio estar
disponvel quando requisitado.
24
Captulo 3
Reconhecimento
Essa a primeira fase das quatro existentes na metodologia de teste de invaso em
aplicaes web1 .
Existem diversas maneiras de iniciar o reconhecimento, entre elas pesquisas na Internet,
pesquisas direcionadas com o GHDB - Google Hacking Database 2 , pesquisas em forums,
mdias sociais e blogs pessoais.
Informaes que podem ser encontradas:
Nomes de funcionrios
Identificadores de usurios
Informaes diversas sobre usurios
Tecnologias empregadas
Servidores e Topologia de Rede
Configurao dos componentes
Recursos disponibilizados pelos servidores web
Arquivos robots.txt
Outras informaes importantes so relacionadas a infraestrutura. Exemplos so:
Balanceadores de Carga
Firewall de aplicao Web
Proxies
Informaes sobre o host, como vulnerabilidades e verses de sistema
1
2
SANS
http://www.hackersforcharity.org/ghdb/
25
3.1
WHOIS
26
cbpf.br
CENTRO BRASILEIRO DE PESQUISAS FISICAS
033.654.831/0014-50
Marita Maestrelli
BR
MAM214
MAM214
MAM214
MAM214
cbpfsu1.cat.cbpf.br 152.84.253.2
20130320 AA
20130320
p0m1.cat.cbpf.br 152.84.253.220
20130320 AA
20130320
cbpfsu2.cat.cbpf.br 152.84.253.3
20130320 AA
20130320
22822 RSA/SHA-1 8D87F19358A2CD935A5FDD94016326CA42062764
20130320 DSOK
20130320
22822 RSA/SHA-1 299970DF51DDB96A5AC811B015C26CC981D44EBB32C6216CA1525153A31
20130320 DSOK
20130320
before 19950101
20121206
published
nic-hdl-br:
person:
e-mail:
created:
MAM214
Marita Maestrelli
marita@cbpf.br
19980904
Comunicao, distribuio e reproduo no autorizada.
27
Podemos fazer algumas consultas para obter mais informaes sobre domnios, acompanhe a seguir:
$ whois -h whois.registro.br 033.654.831/0014-50
% Copyright (c) Nic.br
% The use of the data below is only permitted as described in
% full by the terms of use (http://registro.br/termo/en.html),
% being prohibited its distribution, comercialization or
% reproduction, in particular, to use it for advertising or
% any similar purpose.
% 2013-03-22 08:57:33 (BRT -03:00)
owner:
ownerid:
responsible:
country:
owner-c:
created:
changed:
nic-hdl-br:
person:
e-mail:
created:
changed:
MAM214
Marita Maestrelli
marita@cbpf.br
19980904
20030811
domain:
cbpf.br
3.2
DNS
3.2.1
29
3.2.2
Tipos de registro
3.3
3.4
Redes Sociais
31
33
34
Captulo 4
Mapeamento
O mapeamento de uma aplicao web um processo divido em fases bem definidas. Esse
processo realizado de acordo com o diagrama 4.1.
4.1
Mapeamento de portas
4.2
Identificao do SO e Verso
A identificao do Sistema Operacional importante para determinar possveis vulnerabilidades no sistema anfitrio. Embora no seja esse o foco, essas vulnerabilidades podem
facilitar a descoberta de vulnerabilidades na aplicao web.
Acompanhe a seguir um exemplo com o nmap.
$ sudo nmap -sS -O 200.20.94.130
1
O Network Mapper um softwares mais usados para varreduras de portas. Mais informaes sobre
varreduras podem ser obtidas em: http://nmap.org/book/man-port-scanning-techniques.html
37
4.3
NSE Scripts
O nmap tambm possui a possibilidade de uso de scripts, chamado Nmap Scripting Engine. Esse modo extende o uso da ferramente para algo alm de mapear redes e enumerao
de servios, ele aplica funes de bruteforce, ataques DoS e at mesmo descoberta de vulnerabilidades. Os scripts podem ser escritos e compartilhados por qualquer usurio no objetivo
de automatizar as tarefas dirias.
A linguagem utilizada a Lua, pequena e flexvel, geralmente utilizada para expandir
funes de programas e jogos. Esse post no mostrar como desenvolver os scripts, mas s
como eles so utilizados.
Os scripts por padro ficam no diretrio /usr/local/share/nmap/scripts com a extenso .nse.
4.3.1
Categorias de scripts
4.3.2
Fases
Prerule scripts: So executados antes do Nmap recolher qualquer informao sobre o alvo.
Host scripts: Ocorre durante o processo de varredura, logo depois da varredura de portas,
servios e sistema operacional.
Service scripts: So executados em servios especficos no host.
Postrule scripts: Esses scripts rodam depois que toda a varredura for feita. Geralmente
auxiliam na formatao de relatrios.
Sabendo das informaes acima, vamos fazer uma verificao dos mtodos do protocolo
HTTP que so permitidos no www.cbpf.br.
$ nmap --script=http-methods.nse --script-args http-methods.retest=1 -p80 www.cbpf.br
Starting Nmap 6.25 ( http://nmap.org ) at 2013-03-22 10:10 BRT
Nmap scan report for www.cbpf.br (152.84.253.9)
Host is up (0.71s latency).
rDNS record for 152.84.253.9: cbpfsu6.cat.cbpf.br
PORT
STATE SERVICE
80/tcp open http
| http-methods: GET HEAD POST OPTIONS
Comunicao, distribuio e reproduo no autorizada.
39
40
Captulo 5
Identificao da Aplicao
5.1
Infraestrutura Web
5.1.1
Load Balancers
0 data bytes
...
...
...
...
...
...
...
...
Alm de balancear a carga entre os servidores, por vezes necessrio que o balanceador seja responsvel pelos mtodos de persistncia de conexo. Este ocorre pois diversas
aplicaes necessitam, por exemplo, de autenticao ou de controle de sesso.
Os mtodos de persistncia mais utilizados so:
Persistncia por endereo IP de origem
Persistncia baseada em Cookie
Persistncia baseada no hash da URI
Comunicao, distribuio e reproduo no autorizada.
43
5.1.2
WAF
Um firewall de aplicao web (do ingls, Web Application Firewall - WAF) um aparelho,
plugin de servidor, ou filtro que aplica um conjunto de regras para uma conexo HTTP.
Geralmente, essas regras abrangem ataques comuns como Cross-site Scripting (XSS) e SQL
Injection. Ao personalizar as regras para a aplicao em questo, muitos ataques podem ser
identificadas e bloqueadas. O esforo para realizar esta personalizao pode ser significativo
e precisa ser mantido conforme a aplicao modificada.
A deteco de ferramentas WAF tambm pode ser realizada com o uso do nmap. Acompanhe alguns exemplos a seguir.
NSE HTTP-WAF-DETECT
$ nmap -p80,443 --script http-waf-detect www.phpids.org
Starting Nmap 6.01 ( http://nmap.org ) at 2012-10-24 18:16 BRST
Nmap scan report for www.phpids.org (188.40.98.186)
Host is up (0.23s latency).
rDNS record for 188.40.98.186: nepal1.itratos.net
PORT
STATE SERVICE
80/tcp open http
443/tcp open https
| http-waf-detect: IDS/IPS/WAF detected:
|_www.phpids.org:443/?p4yl04d3=<script>alert(document.cookie)</script>
Nmap done: 1 IP address (1 host up) scanned in 16.22 seconds
NSE HTTP-WAF-FINGERPRINT
$ nmap --script=http-waf-fingerprint <targets>
PORT
STATE SERVICE REASON
80/tcp open http
syn-ack
| http-waf-fingerprint:
|
Detected WAF
|_
BinarySec version 3.2.2
LBMAP
O lbmap1 uma prova de conceito (PoC) e tambm pode ser utilizada para esse fim.
Acompanhe um exemplo a seguir:
1
44
https://github.com/wireghoul/lbmap
5.1.3
Servidores Web
APROF
A ferramenta aprof faz parte da suite da ferramenta lbmap, abordada anteriormente.
Ela permite, alm de identificar o servidor web, tambm permite identificar os mdulos
habilitados na instncia testada.
Veja um exemplo a seguir:
$ ./aprof www.cbpf.br
aprof - Apache profiler script v 0.2
Written by Eldar "Wireghoul" Marcussen - http://www.justanotherhacker.com
Analysing: www.cbpf.br/
Server signature: Apache
Attempting to identify modules:
mod_cgi detected
mod_info (restricted access) detected
mod_php detected
Checking what extensions have php bindings:
.php ... in use
.php3 ... in use
.php4 ... in use
.php5 ... not in use
.phtml ... not in use
.phps ... not in use
mod_status (restricted access) detected
Done!
2
www.defcon.org/images/defcon-16/dc16-presentations/defcon-16-henrique.pdf
http:
//media.blackhat.com/bh-us-12/Briefings/Ristic/BH_US_12_Ristic_Protocol_Level_WP.pdf
45
5.1.4
NMAP
Atravs da mesma maneira que identificamos servidores web, podemos identificar servidores de banco de dados. Veja o exemplo a seguir:
$ sudo nmap -sS -sV 200.20.94.130
Starting Nmap 6.25 ( http://nmap.org ) at 2013-03-22 09:52 BRT
Nmap scan report for 200.20.94.130
Host is up (0.062s latency).
Not shown: 991 closed ports
PORT
STATE
SERVICE
VERSION
25/tcp
filtered smtp
80/tcp
open
http
Apache httpd 2.2.15 ((Fedora))
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
443/tcp open
ssl/http
Apache httpd 2.2.15 ((Fedora))
445/tcp filtered microsoft-ds
593/tcp filtered http-rpc-epmap
3306/tcp open
mysql
MySQL 5.1.47
4444/tcp filtered krb524
5.2
5.2.1
Verses e Configuraes
Google Hacking
O GHDB ou Google Hacking Database um projeto que visa colecionar padres de busca
que, ao serem usadas no buscador do Google podem revelar informaes importantes sobre
determinado domnio.
Ele pode ser acessado atravs da URL http://www.hackersforcharity.org/ghdb/. No
site, possvel encontrar de forma organizada e categorizada como pesquisar no buscador do
Google determinadas informaes.
Um exemplo de informaes interessantes que podem ser obtidas com buscas usando
padres no GHDB como encontrar arquivos com possveis nomes de usurios. Basta ir
em Files containing usernames, e procurar o arquivo de interesse. Na terceira coluna,
possvel obter a sintaxe de procura no buscador do Google.
Embora o site seja bem organizado, existe uma iniciativa bem parecida que se chama
Google Dorks. Ela pode ser acessada atravs da URL http://www.exploit-db.com/
google-dorks/. No momento da redao desse resumo, ela estava mais atualizada que a
anterior.
5.2.2
Anlise do SSL
A anlise dos certificados SSL pode ser til para determinar possveis vulnerabilidades
tanto na aplicao, quanto no certificado emitido.
Veja, na imagem 5.1, um relatrio3 da ferramenta SSL Labs4 , da Qualys.
Embora no seja possvel ver os detalhes do relatrio na imagem, j podemos examinar
que o certificado SSL est sucetvel ao Ataque BEAST5 e que ele no atente completamente
nenhum dos quatro requisitos avaliados.
5.3
Um Virtual Host uma maneira de servir mltiplos sites em um mesmo servidor fsico.
Essa tcnica utilizada na configurao do servidor web, no sendo portanto, uma virtualizao. Esta tcnica, geralmente, utilizada para alocar melhor os recursos e diminuir custos
com a hospedagem de sites, mas tambm apresenta problemas quanto a segurana, pois em
caso de uma vulnerabilidade no servidor, todos os sites estaro espostos a ela.
Existem duas formas de realizar Virtual Hosting. Elas so atravs de um nico endereo IP que serve todos os sites ou vrios endereos IP, um endereo para cada site, todos
associados no mesmo servidor.
3
Disponvelem:https://www.ssllabs.com/ssltest/analyze.html?d=p0m1.cat.cbpf.br
www.ssllabs.com
5
Mais informaes em:
https://community.qualys.com/blogs/securitylabs/2011/10/17/
mitigating-the-beast-attack-on-tls
4
47
5.4
Usando Nikto
Nikto 7 um scanner de servidor web que realiza testes abrangentes contra servidores para
identificar vrios itens, incluindo mais de 6.500 arquivos/CGIs potencialmente perigosos,
cheques de verses desatualizadas de mais de 1250 servidores, e os problemas especficos de
verso em mais de 270 servidores. Ele tambm verifica a existncia de itens de configurao
do servidor, tais como a presena de vrios arquivos de ndice, opes do servidor HTTP, e
vai tentar identificar o servidores web e o software instalado. Itens de verificao e plugins
so atualizados com freqncia e podem ser atualizado automaticamente.
Nikto no foi concebido como uma ferramenta muito furtiva. Ele ir testar um servidor
web no tempo mais rpido possvel, e bastante bvio em arquivos de log. No entanto, h
suporte para Libwhisker 8 , que usa mtodos anti-IDS no caso de voc querer experiment-lo
6
48
49
5.5
Spidering
O nosso objetivo o de criar um mapa da aplicao com todos os pontos de acesso para
a aplicao. Isto ser til para a segunda fase do teste de penetrao. Voc pode usar uma
ferramenta como o wget 9 para recuperar todas as informaes publicadas pela aplicao.
Acompanhe o exemplo a seguir, onde mapeamos o cabealho:
$ wget -S www.cbpf.br
--2013-03-22 12:08:51-- http://www.cbpf.br/
Resolving www.cbpf.br (www.cbpf.br)... 152.84.253.9
Connecting to www.cbpf.br (www.cbpf.br)|152.84.253.9|:80... connected.
HTTP request sent, awaiting response...
9
50
--.-K/s
in 0s
5.6
Fluxograma de funcionamento
5.7
51
5.7.1
Requisies
5.7.2
Respostas
53
54
Captulo 6
Identificao de Vulnerabilidades
O processo de descoberta de vulnerabilidade, se assemelha ao processo de descoberta de
informao, sendo que nesse momento, a aplicao web passa a receber trfego malicioso.
Logo aps a descoberta da vulnerabilidade pode-se dar inicio a fase de explorao delas.
A seguir, veremos alguns mtodos de identificao de vulnerabilidade e logo aps seus
tipos e como identific-las.
6.1
Mtodos de Identificao
6.1.1
Ferramentas
57
6.2
Tipos de Vulnerabilidades
6.2.1
Exposio de Informao
Esta categoria para vulnerabilidades que protegem dados sensveis de maneira insegura.
A proteo referida aqui inclui a confidencialidade e integridade dos dados durante seus ciclos
de vida, incluindo o armazenamento e transmisso dos dados.
Note que esta categoria destina-se a ser diferente de problemas de controle de acesso,
embora ambos falham para proteger os dados de forma apropriada. Normalmente, o objetivo
do controle de acesso a concesso de acesso a dados para alguns usurios, mas outros no.
Nesta categoria, estamos em vez preocupado com a proteo de dados sensveis que no se
destinam a ser revelado ou modificados por qualquer usurio da aplicao. Exemplos deste
tipo de dados sensveis podem ser chaves de criptografia, senhas, tokens de segurana ou
qualquer informao crtica de uma aplicao.
Comentrios HTML e versionamento
Comentrios em HTML ou informaes de versionamento podem expor informaes importantes sobre a aplicao, que, de certa maneira, podem acrescentar informaes para
viabilizar a descoberta de uma vulnerabilidade de maior gravidade.
Impacto As informaes contidas em comentrios HTML podem levar a descoberta de
itens como:
o fluxo de funcionamento da aplicao
rotinas de verificao de contedo
os mtodos de controle de sesso
observaes sobre a codificao
verses de frameworks de apoio utilizados
Exemplos Veja um exemplo na imagem 6.3.
Medidas Inspecione o cdigo da aplicao e dos templates buscando por comentrios
que possam ser impressos no cdigo HTML. interessante buscar tambm por possveis
comentrios em funes de debug ou que venham a descrever erros.
Comunicao, distribuio e reproduo no autorizada.
59
61
63
64
65
6.2.2
Configuraes e Manuteno
Arquivos de configurao
A vulnerabilidade relacionada a arquivos de configurao se concentra principalmente
nas informaes fornecidas por eles e o quanto isso pode impactar nos ativos da organizao
caso alguma brecha de segurana possa ser encontrada devido o no cumprimento de uma
boa prtica de configurao segura.
Impacto Informaes que podem ser encontradas em arquivos de configurao, podem
dizer respeito a:
informaes para acesso a servios externos (banco de dados, servios de log, etc)
comentrios sobre configuraes
verses de software, como ltima atualizao ou referncias externas
Medidas O cumprimento de boas prticas de segurana e recomendaes de configurao
feitas pelo fabricante desejado. necessrio verificar sempre se os arquivos de configurao
da aplicao esto protegidos contra acesso externo e tambm acesso interno de recursos no
autorizados da prrpia aplicao.
66
67
69
6.2.3
Validao de Dados
71
72
73
75
6.2.4
Disponibilidade
Slow HTTP
Essa vulnerabilidade est relacionada a configurao do servidor web e ao contrrio de
outros ataques que podem comprometer a disponibilidade da aplicao, ele no se caracteriza
pelo envio de grande quantidades de informaes de forma a exaurir os recursos para a
aplicao.
A explorao da vulnerabilidade Slow HTTP feita atravs atravs do esgotamento das
conexes possveis do servidor web com o uso de conexes lentas, deixando as demais sem
resposta.
Impacto O ataque de Slow Headers ocorre quando um atacante mantm as conexes do
servidor abertas enviando requisies HTTP parciais, submetendo os cabealhos subsequentes em um intervalo de tempo que impossibilita o servidor de fechar os sockets. Desta
maneira, o servidor web fica indisponvel porque o nmero de sockets disponveis diminui,
aumentando o uso de memria (principalmente se o servidor aloca uma thread para cada
conexo).
Uma das razes para esse comportamento que alguns servidores tm temporizadores de
no data, que so reiniciados toda vez que algum byte chega no socket. O grande problema
que para grande parte dos servidores web no existe um tempo limite para a requisio
como um todo. Um atacante pode, desta maneira, enviar um byte da requisio por vez
durante vrios minutos, ao invs de enviar toda a requisio em um nico pacote, mantendo
a conexo presa por tempo indeterminado.
Ataques de Slow HTTP POST acontecem quando o atacante mantm as conexes abertas enviando cabealhos de HTTP POST codificados com um campo de Content- Length
legtimo, informando a quantidade de dados esperada ao servidor web. Depois de concluir
o envio dos cabealhos HTTP POST, o corpo da mensagem enviado em longos intervalos
de tempo para prolongar a concluso da conexo e consumir os recursos do servidor. Como
Comunicao, distribuio e reproduo no autorizada.
77
79
80
81
82
Captulo 7
OWASP ZAP
Conforme mencionamos na pgina 56 o OWASP ZAP um proxy de interceptao com
diversos recursos para auditoria de aplicaes web.
A principal filosofia envolta no desenvolvimento da ferramenta que Voc no pode
construir aplicaes seguras se no conhece como elas so atacadas. Assim, a soluo
encontrada foi desenvolver uma ferramenta de fcil usabilidade, onde os desenvolvedores
poderiam testar suas prprias aplicaes.
7.1
Histrico
O OWASP ZAP foi lanado em Setembro de 20101 com a premissa de ser uma ferramenta
com ampla facilidade de uso e boa documentao.
A ferramenta open-source, com suporte a internacionalizao e com diversos idiomas
em sua base, inclusive com suporte ao portugus.
Finalmente, a ferramenta multi-plataforma, escrita em Java. Possui verses lanadas
com regularidade e uma verso lanada toda semana com as ltimas modificaes. Tambm
possui uma ampla variedade de extenses2 que extendem suas verificaes, assim ampliando
sua cobertura de testes.
7.2
Preparao
83
7.2.1
Durante a navegao normal e ao iniciar o navegador, seu sistema de extenses busca por
atualizaes das mesmas de modo a proporcionar uma melhor experincia de uso. Para uso
com o OWASP ZAP, esse trfego de rede insere elementos que podem poluir a visibilidade
do funcionamento da aplicao web.
Para desativar esse recurso, v em about:config, use o recurso localizar para encontrar
os itens app.update.enabled e extensions.update.enabled. Em seguida coloque seus valores
para false, conforme demonstrado na imagem 7.1.
7.2.2
Desative o SafeBrowsing
Durante a navegao cotidiana, o navegador verifica se os endereos requisitados pertencem a uma lista de endereos conhecidamente perigosos. Para uso com o OWASP ZAP,
esse trfego de rede insere elementos que podem poluir a visibilidade do funcionamento da
aplicao web.
Para desativar esse recurso, v em about:config, use o recurso localizar para encontrar os
itens browser.safebrowsing.enabled, browser.safebrowsing.malware.enabled, services.sync.prefs.sync.browser.
e services.sync.prefs.sync.browser.safebrowsing.malware.enabled. Em seguida coloque seus
valores para false, conforme demonstrado na imagem 7.2.
84
7.2.3
O HTTP Pipelining uma tcnica que permite enviar mltiplas requisies atravs de
uma conexo TCP estabelecida com o servidor. Isso ocorre de maneira assncrona, ou seja, o
cliente no precisa esperar a resposta da requisio feita para enviar a prxima requisio4 .
O uso desse recurso em conjunto com o OWASP ZAP pode impactar na usabilidade da
ferramenta. Para desativar esse recurso, v em about:config, use o recurso localizar para
encontrar os itens network.http.pipelining e network.http.pipelining.ssl. Em seguida coloque
seus valores para false, conforme demonstrado na imagem 7.2.
4
Mais informaes disponveis em:
sec8.1.2.2
http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#
85
7.2.4
Desative o Prefetching
O Prefetching um recurso do navegador que usa o tempo ocioso do navegador para realizar o download de pginas e documentos que o usurio possa vir a clicar. Algumas pginas
fornecem configuraes especificando quais contedos podem ser descarregados atravs desse
recurso de modo que seu funcionamento pode ser involuntario, desde que o navegador esteja
ocioso5 .
O uso desse recurso em conjunto com o OWASP ZAP pode impactar na poluio dos
dados mostrados na ferramenta. Para desativar esse recurso, v em about:config, use o
recurso localizar para encontrar os itens network.dns.disablePrefetch e network.prefetch-next.
Em seguida coloque seus valores para true e false, respectivamente, conforme demonstrado
na imagem 7.2.
7.2.5
Ao abrir o navegador ele automaticamente carrega a pgina inicial que foi previamente
configurada. Frequentemente, possvel que ao executarmos o navegador, o OWASP ZAP j
esteja em execuo, de modo que os dados carregados pela pgina poluam os dados coletados
anteriormente com o OWASP ZAP.
5
86
7.2.6
Para prover uma melhor experincia de uso, assim que o usurio comea a digitar algum
contedo, o navegador com base em suas preferncias sugere frases ou domnios que possam
ser de interesse do usurio.
Esses dados, obtidos atravs da coleta de informaes de navegao ou de informaes
de terceiros, como o Google, por exemplo, podem interferir nos dados que so enviados para
a aplicao web que estar sendo testada. Alm disso, caso esses dados sejam provenientes
de terceiros, o trfego envolvido ainda poder poluir os registros da aplicao.
Logo o uso desse recurso em conjunto com o OWASP ZAP pode impactar na poluio
dos dados mostrados na ferramenta assim como nos dados enviados para a aplicaes web
envolvida. Para desativar esse recurso, v em Preferncias, na aba Privacidade e configure
em Campo de endereo a opo Nada, conforme demonstrado na imagem 7.6.
7.2.7
Periodicamente, o navegador entra em contato com seu fabricante de modo a obter informaes sobre atualizaes e novas verses. A finalidade desse recurso prover ao usurio
a melhor experincia possvel em navegao web, assim permitindo que ele sempre desfrute
dos ltimos recursos disponveis, tanto para a navegao quanto em termos de segurana.
O uso desse recurso em conjunto com o OWASP ZAP pode impactar na poluio dos
Comunicao, distribuio e reproduo no autorizada.
87
7.2.8
opo Conexo para Configurao Manual de Proxy com os campos Endereo e Porta com
os valores localhost e 8080 6 , respectivamente.
6
Os valores podem alterar conforme a configurao do sistema. Consulte a seo 7.3.1 para saber qual a
porta que o OWASP ZAP estar usando em seu sistema
89
7.3
Usando a ferramenta
O OWASP ZAP uma ferramenta rica em recursos teis para auditoria em aplicaes
web. Veremos a seguir como utilizar alguns de seus recursos.
90
7.3.1
Configurao Inicial
Aps iniciar a ferramenta, o primeiro passo realizar sua configurao inicial. Para isso,
v no menu Ferramentas e selecione Opes 7 . Confira na imagem 7.8 a janela de opes.
91
aplicao. Para habilitar esse recurso, selecione o boto na barra de ferramentas do OWASP
ZAP com a imagem de uma lmpada.
92
7.3.2
Funcionalidades Basicas
93
94
Figura 7.12: Janela do OWASP ZAP aps navegar por alguns minutos
Tambm possvel usar essa funcionalidade atravs do quadro superior direito da
aplicao, selecionando o item e abrindo o menu de opes, selecionar Ataque e logo
em seguida Usar o sipder no site.
Navegao Forada podemos selecionar listas para descobrirmos diretorios e recursos at
ento no mapeados anteriomente. Esses recursos podem ser backups, versoes antigas
de arquivos renomeados, diretrios desprotegidos entre outros.
Tambm possvel usar essa funcionalidade atravs do quadro superior direito da
aplicao, selecionando o item e abrindo o menu de opes, selecionar Ataque e logo
em seguida Site com navegao forada.
Por padro so fornecidos com o OWASP ZAP algumas listas de diretrios que podem
ser usadas, mas a confeco de uma lista personalizada o ideal.
Parmetros podemos acompanhar os parmetros identificados pela ferramenta durante a
navegao e o spider. Esses itens so um ponto chave pois eles identificam os pontos
de entrada de informao da aplicao.
Comunicao, distribuio e reproduo no autorizada.
95
7.3.3
Reenvio e Fuzzing
O OWASP ZAP possui dois mecanismos interessantes para a alterao dos dados enviados
para a aplicao web. O reenvio feito de foma individual. O usurio deve selecionar a
requisio que gostaria de alterar e ento fazer o reenvio dela com parmetros escolhidos por
ele.
Confira na imagem 7.13 a utlilizao do recurso, que foi feita aps a seleo da requisio
(via histrico) e a seleo da opeo de Reenviar.
7.3.4
Decode e Encode
Frequentemente nos deparamos com informaes codificadas ao interagirmos com aplicaes web. Na grande maioria essas informaes esto codificadas em base64 9 . O OWASP
9
96
97
98
Captulo 8
Consideraes finais
Uma auditoria fornece uma viso profunda sobre a segurana dos ativos contemplados,
fundamentada tanto por informaes obtidas durante a mesma ou fornecidas pelo prprio
solicitante. Por sua natureza, uma atividade que exige, do lado do solicitante, confiana
para revelar informaes sensveis e permitir a realizao da auditoria e, do lado do auditor,
tica para lidar com informaes fornecidas ou descobertas com responsabilidade.
Outra questo importante diz respeito a transparncia de todo o processo da auditoria
junto ao solicitante. No se pode esperar que o solicitante v confiar cegamente no auditor e
esperar pacientemente a concluso da auditoria para receber resultados. Assim, o solicitante
deve ser informado periodicamente sobre o andamento da auditoria incluindo informaes
como quais procedimentos j foram realizados e quais sero executados at prximo reporte,
sem nunca fugir da metodologia previamente discutida com o mesmo.
8.1
tica
100