Você está na página 1de 12

########################################## # # # Curso Hacking Redes Modulo I # # Parte Teorica II # # Autor: Park # # # ########################################## Assuntos Abordados: 1- Protocolos TCP UDP

IP SSH HTTPS SSL 2 - Tecnicas de Scanning Complete Scan Half Scan Stealth Scan | |_____ UDP Scan |_____ Ninja Scan |_____ Decoy Scan |_____ RFC 793 |_____ Ping Sweep ################################################## # IP - Internet Protocol # ################################################## Com certeza o protocolo mais conhecido de todos,quem nunca viu ou ouviu,vou invadir ele pelo IP,mas muito nem sabem como funciona,esse protocolo. Como ja disse uma vez minha inteno com esse curso,no deixar experts em redes,e sim dar uma base sobre os principais protocolos para que vcs possam entender como cada ataque funciona,para assim poder se defender ou at contra-atacar. O endereo IP, a nossa identificao na internet,este um endereo unico de 32 Bytes pois sao 4 octetos xxx.xxx.xxx.xxx,sendo esta faixa de 0.0.0.0 at 255.255.255.255.O protocolo IP atua na Camada 2 do Protocolo TCP/IP,sendo esta chamada de camada de Internet. Atualmente o protocolo IP esta em sua verso 4,conhecida como IPv4 mas ja existem implantaes para uma nova verso a chamada IPv6,nesse link abaixo segue um curso muito bom sobre o mesmo: http://curso.ipv6.br/

O protocolo IP responsavel por fazer o endereamento dos pacotes,e sem ele no haveria comunicao na internet,os endereos IPs sao divididos em dois tipos internos e externos... *Internos ou Privados: So Ips inacessiveis por pessoas que esto na rede externa ou seja na internet,esses ips sao visiveis apenas na rede local. Ex: Se voc tem um modem ADSL(Banda Larga Normal) e ligado nele tem um switch para dividir essa internet com varios computadores,normalmente o IP deles comeara com 192.168,experimente pingar entre as maquinas de sua rede e veja que elas responderam,mas faa o teste de uma maquina externa,e veja o que acontece.... C:\>ping 192.168.3.10 Disparando contra 192.168.3.10 com 32 bytes de dados: Esgotado o tempo limite do pedido. Esgotado o tempo limite do pedido. Estatsticas do Ping para 192.168.3.10: Pacotes: Enviados = 2, Recebidos = 0, Perdidos = 2 (100% de perda), Vejam que no consegue pingar,mas como entro na internet e um site me responde enviando a sua pagina ?? Isso simpels,existe um recurso chamado NAT(Network Address Translator),ele faz a conversao de um IP publico para um ou Varios IPs Privados...notem que voc esta numa rede local,e alguem faz download no rapidshare,se voc tentar fazer download tambem no vai conseguir,porque todas as maquinas daquela rede mesmo tendo endereos "IP internos" diferentes,compartilham o mesmo endereo IP externo.Mesmo tendo essa desvantagem,o NAT na minha opnio uma grande forma de segurana,e ainda posos arriscar que por existir esse recurso 80% dos ataques no acontecem. *Externos ou Publicos: So Ips Acessiveis por outros IPs externos na internet,para vc que usa internet discada(Dial-UP) ou que se conecta direto do modem ADSL,voc possui um IP publico,note que qualquer pessoa pode ter contato direto com vc.Vou pingar um IP Publico ou Externo C:\>ping 64.233.163.104 Disparando contra 64.233.163.104 com 32 bytes de dados: Resposta Resposta Resposta Resposta de de de de 64.233.163.104: 64.233.163.104: 64.233.163.104: 64.233.163.104: bytes=32 bytes=32 bytes=32 bytes=32 tempo=55ms tempo=55ms tempo=55ms tempo=55ms TTL=51 TTL=51 TTL=51 TTL=51

Estatsticas Pacotes: Aproximar um Mnimo =

do Ping para 64.233.163.104: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda), nmero redondo de vezes em milissegundos: 55ms, Mximo = 55ms, Mdia = 55ms

Mas como identificar qual IP publico ou privado ?? os endereos IP sao divididos em classe,para ser mais exato so 5 mas usamos apenas 3,estas so Classe A,Clase B e Classe C. Faixa de IPs das Classe GERAL Faixa de IPs Classe A -> 1.0.0.0 at 126.0.0.0 Faixa de IPs Classe B -> 128.0.0.0 at 191.255.0.0 Faixa de IPs Classe C -> 192.0.0.0 at 223.255.255.254 Faixa de IPs das Classe Privada Faixa de IPs Classe A -> 10.0.0.0 at 10.255.255.255 Faixa de IPs Classe B -> 172.16.0.1 at 172.31.255.254 Faixa de IPs Classe C -> 192.168.0.0 at 192.168.255.255 A classe mais usada a C afinal ela a mais adequada para pequenas redes,e mesmo sendo pequena ele comporta 256 Micros!! Diviso Host e Rede + Mascara de Sub-rede: Nuss o que isso tudo ??? No precisa se preocupar no tem nada de complexo nisso,vou mostrar na pratica!!! Endereo IP: 192.168.0.1 Mascara de Sub-Rede: 255.255.255.0 Mas o que isso signifca ?? Vejam bem a mascara de sub-rede eh para definir qual o espao para a Rede e qual espao para Host,vejam que a mascara 255.255.255.0,ate onde tem 255 a parte da rede onde tem o 0 para host ou seja...o endereo da rede 192.168.0.0 mas o que isso quer dizer ??? Quer dizer que todos os computadores que tb tiverem a mesma mascara de sub-rede e IP entre 192.168.0.1 at 192.168.0.254 esto na mesma rede,pois s a ultima parte varia!!! Mas porque ate 254 e nao ate 255 ??? Pq 255 endereo broadcast de uma rede normal!! Como eu ja expliquei a vcs na parte de DHCP,que um pc sem IP envia um broadcast para rede pedindo um IP,ento qualquer endereo IP que no fim estiver 255 o endereo de Broadcast daquela rede!! ###################################### # UDP - User Datagram Protocol # ###################################### Outro programa muito conhecido pela turma of Service),justamente pq o protocolo UDP no orientado a conexo,sendo assim,no conexo e nem reenvia pacotes corrompidos outros protocolos usam ele como o DNS e o que gosta de fazer DoS(Denial um protocolo rpido,pois precisa estabelecer uma e nem os confere!!!Alguns DHCP.

O UDP um protocolo da camada 3 da pilha TCP/IP,se ele no confiavel para que us-lo ?? o UDP muito usado em videos pela internet,no esses como os do youtube que ficam armazenados em um servidor,mas video em tempo real,como os jogos que so transmitidos pela globo via

internet. Como o TCP que iremos falar,o UDP tambem eh baseado em portas e como o TCP ele possui mais de 65 mil portas!!! Confiram as portas UDP no computador de vcs: C:\>netstat -an Conexes ativas Proto UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP UDP Endereo local 0.0.0.0:445 0.0.0.0:500 0.0.0.0:1434 0.0.0.0:1704 0.0.0.0:4500 0.0.0.0:6001 127.0.0.1:123 127.0.0.1:1051 127.0.0.1:1900 127.0.0.1:3642 127.0.0.1:3756 127.0.0.1:6985 192.168.0.194:9 192.168.0.194:123 192.168.0.194:137 192.168.0.194:138 192.168.0.194:1900 192.168.75.1:123 192.168.75.1:137 192.168.75.1:138 192.168.75.1:1900 192.168.111.1:123 192.168.111.1:137 192.168.111.1:138 192.168.111.1:1900 Endereo externo *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* *:* Estado

################################## # SSH - Secure Shell # ################################## No priemira aula pratica vocs viram o Telnet,que um protocolo e um programa para conexo remota,mas como eu disse,ele no possui criptografia,e o SSH por sua vez possui a criptografia RSA,dando uma camada a mais de segurana,as suas conexes remotas,o SSH atua na camada 4 do protocolo TCP/IP,Atuando na Porta 22,um servidor muito conhecido do SSH o OpenSSH...vejam alguns sites usando OpenSSH... C:\>nmap -vv -PN -p 22 -sV xxxxxx.com.br Starting Nmap 5.21 ( http://nmap.org ) at 2010-03-30 11:56 Hora oficial do Brasi l NSE: Loaded 4 scripts for scanning. Initiating Parallel DNS resolution of 1 host. at 11:56 Completed Parallel DNS resolution of 1 host. at 11:56, 0.11s elapsed

Initiating SYN Stealth Scan at 11:56 Scanning xxxxx.com.br (174.132.xxx.xxx) [1 port] Discovered open port 22/tcp on 174.132.xxx.xxx Completed SYN Stealth Scan at 11:56, 0.45s elapsed (1 total ports) Initiating Service scan at 11:56 Scanning 1 service on xxxxxx.com.br (174.132.xxx.xxx) Completed Service scan at 11:56, 0.38s elapsed (1 service on 1 host) NSE: Script scanning 174.132.xxx.xxx. NSE: Script Scanning completed. Nmap scan report for xxxx.com.br (174.132.xxx.xxx) Host is up (0.25s latency). Scanned at 2010-03-30 11:56:25 Hora oficial do Brasil for 1s PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 4.3 (protocol 2.0) Read data files from: C:\WINDOWS\system32 Service detection performed. Please report any incorrect results at http://nmap. org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 2.89 seconds Raw packets sent: 1 (44B) | Rcvd: 1 (44B) O SSH como o telnet usado para conexes remotos via shell,sendo muito usado por usurios *nix,nas aulas praticas ensino como montar um servidor SSH e como se conectar atravez de um cliente,tanto no Windows quanto no BackTrack. ####################################################################### ### # HTTPS - HyperText Transfer Protocol Secure + SSL - Secure Socket Layer # ####################################################################### ### Tcharammmm.....Segurana total agora,ser ?? o HTTPS veio para suprir as necessidades de segurana do HTTP,pois como no tem criptografia os dados eram facilmente interceptados,conhecem a tecnica Homen no Meio?? Mais conhecida como Man In The Middle,pronto com ela eh facilmente possivel obter senhas e logins de usurios via HTTP,por isso a netscape resolveu inventar o SSL,sendo esse protocolo uma camada entre a camada de aplicao e a camada de transporte.... Aplicao ----------------------Transporte

SSL

O SSL + HTTPS + TLS,ser melhor abordado nas aulas praticas!!! #################################################### # TCP - Transmission Control Protocol # #################################################### Olha ele ai!!! Deixei por ultimo,pensaram que eu esqueci dele ?? O mais

badalado,O mais usado,O mais seguro...aff quanta babao!!! O TCP atua na camada 3 do protocolo TCP/IP, orientado a conexo ou seja,a comunicao atravez dele segura,pois vc sabe que ao enviar um pacote via TCP ele vai chegar ao seu Destino de maneira correta,o TCP o protocolo que se encarrega de quebrar os pacotes e depois remonta-los no destino,e se um pacote vier faltando ele se encarrega de pedir a retransmisso,o TCP para poder enviar um arquivo ou estabelecer uma conexo,ele usa um metodo chamado de 3 hay-handshake ou seja uma comunicao em 3 vias. Ex: Quando um cliente quer acessar um servidor Telnet na porta 23 ele envia um pacote SYN para o Servidor. Cliente Servidor

SYN + Porta 23 --------------------------------|> Porta de Origem (Acima de 1024) Porta de Destino (23)

Se o servidor aceitar a conexo ele envia um pacote SYN/ACK de volta para o cliente. Cliente Servidor

SYN/ACK + Porta(Acima de 1024) <--------------------------------Apos o cliente receber o pacote com os flags SYN/ACK ativados ele envia um ACK para confirmar o estabelecimento de conexo Cliente Servidor

ACK + Porta 23 -----------------------------------> E apos isso a conexo entre em modo ,como podem observar abaixo... C:\Documents and Settings\Bernardo>netstat -an Conexes ativas Proto TCP TCP TCP TCP TCP TCP Endereo local 0.0.0.0:135 0.0.0.0:445 0.0.0.0:912 127.0.0.1:1050 127.0.0.1:1079 192.168.0.194:2224 Endereo externo 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 127.0.0.1:1704 127.0.0.1:1080 192.168.75.129:23 Estado LISTENING LISTENING LISTENING ESTABLISHED ESTABLISHED ESTABLISHED

Vocs viram acima eu falando sobre Flags mas o que so eles ?? Flags so sinalizaes que dizem qual operao o TCP deve executar,ele possui 6 Flags,esses so: SYN -> Usado na sincronizao dos pacotes PUSH -> Fora a Conexo ACK -> Flag de confirmao URG -> RST -> Reseta uma conexo FIN -> Finaliza uma conexo Mas desses 6,vocs precisam se preocupar apenas com 4 SYN,ACK,RST e FIN Pois estes so os mais usados,na parte de Scanning vou mostrar como se comporta cada Flag desse,diante de portas abertas,fechadas e filtradas.

Tecnicas de Scanning

################################# ## Complete Scan - TCP Connect ## ################################# Tem por objetivo principal detectar portas abertas e fechadas,um tipo de scanner completo,mas no muito bom pois ele completa as trs vias do three-way handshake,sendo facil,de ser detectado por um ids ou firewall: Sintaxe no Nmap Nmap -sT -p xx ip_do_alvo Sintaxe no Hping hping -T -p xx ip_do_alvo Portas Abertas Cliente Servidor

SYN--------> <----SYN/ACK ACK--------> RST/ACK----> Portas Fechadas

Cliente

Servidor

SYN--------> <--------RST Portas Filtradas Cliente Servidor

SYN--------> ################################ ## Half-Scan - SYN Scan ## ################################ Um scanner mais apurado,pois no completa as 3 fases do three-way handshake,sendo mais dificil de ser detectado,tambem uma tecnica para detectar portas abertas e portas fechadas. Sintaxe no Nmap Nmap -sS -p xx ip_do_alvo Sintaxe no Hping Hping --syn -p xx ip_do-alvo Portas Abertas Cliente Servidor

SYN--------> <----SYN/ACK RST--------> Portas Fechadas Cliente Servidor

SYN--------> <----RST/ACK Portas Filtradas Cliente Servidor

SYN-------->

################################ ## Stealth - ACK Scan ## ################################ Stealth scan a tecnica de port scanning que procura ser mais camuflada possivel.Essa tecnica permite ao atacante enviar pacotes ao host alvo com algumas ou todas as flags setadas,tal metodo usado para descobrir regras de filtragem de firewall. Sintaxe do Nmap Nmap -sA -p xx ip_do_alvo Sintaxe do Hping Hping3 --ack -c 4 -p xx ip_do_alvo Portas Abertas ou Fechadas Cliente Servidor

ACK -----------> <------------RST Portas Filtradas Cliente Servidor

ACK -----------> ################################ ## RFC 793 ## ################################ De acordo com a RFC 793,portas abertas no devem responder aos flags FIN ou do tipo Xmas(FIN,PUSH,URG) e portas fechadas devem responder com os flags RST/ACK,mas em sistemas microsoft isso no ocorre pois em portas abertas ou fechadas,ele devolve flags RST/ACK. Sintaxe no Nmap Nmap -sF -p xx ip_do_alvo Sintaxe no Hping hping3 --fin -c 4 -p xx ip_do_alvo Portas Abertas ou Fechadas Microsoft Cliente Servidor

FIN -------------> <--------- RST/ACK Portas Filtradas Microsoft e Linux Cliente Servidor

FIN -----------> <----- S/Resposta Portas Abertas Linux Cliente Servidor

FIN -----------> <------S/Resposta Portas fechadas Linux Cliente Servidor

FIN -----------> <------------ RST ################################ ## UDP SCAN ## ################################ Nesse scan usado o protocolo UDP,protocolo no qual no orientado a conexo,seu scan bastante lento e muito incerto,mas bastante util na deteco de portas abertas para servios que usam UDP. Sintaxe no Nmap: #nmap -sU -p xx ip_do_alvo Sintaxe no Hping3: #hping3 Portas Abertas ou Filtradas Cliente Servidor

UDP -----------> <------------ S/Resposta

Portas Fechadas Cliente Servidor

UDP -----------> <------------ ICMP Port Unreachable ################################ ## Ping Sweep ## ################################ Rede Externa Nesse metodo o scanner envia trs pacotes,um ICMP ECHO Request Codigo 8,um TCP SYN para a porta 442(HTTPS) e um TCP ACK para a porta 80(HTTP),pois se o host no responder ao pacote ICMP como est sendo muito normal nas redes,ele deve responder com um rst na porta 80 ou na porta 442. Cliente Servidor

ICMP Echo Request---------------> SYN + Port HTTPS(443)-----------> ACK + Port HTTP(80)------------->

Rede Interna Ele apenas faz um ping usando o ARP. Cliente Servidor

ARP Request-------------> <---------------ARP Reply Sintaxe no Nmap: Nmap -sP -vv ip_do_alvo ################################ ## Decoy Scanning ## ################################ Metodo no qual o scanner envia varios endereos de ip para o alvo,com o seu ip no meio desses ips spoofados,para que o mesmo no consiga saber qual o verdadeiro host fez o escaneamento,essa tecnica muito util

para evitar bloqueio de Firewall e IDS. Sintaxe do Nmap: nmap -D xxx.xxx.xx.xx,yy.yy.yyy.yyy,aaa.a.aaa.aaa ip_do_alvo ################################ ## Ninja Scan ## ################################ Tem por obejetivo esconder ao maximo a origem do atacante,usando varios metodos de spoofing dentre eles o decoy,ip spoofing e mac spoofing,alterando tambem a origem dos pacotes. Sintaxe no Nmap: nmap -vv -PN -sA -p xx -g xx --spoof-mac xx -S xxx.xxx.xxx.xxx -D xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx -e iface ip_do_alvo ################################ ## Iddle Scan ## ################################ Usa um outro computador para fazer uma varredura,em um host sem que tenha contato direto com o mesmo. Sintaxe no Nmap: nmap -sI ip_spoofado -p xx ip_do_alvo