IP SPOOF

Seguinte... spoofing eh quando se faz um computador pensar que esta
conectado com certa pessoa, e na verdade esta com outra. E essa e a
maior falha de seguranca de programas que usam a sua forma de
autenticacao pelo IP/host e nao por senha ou coisa parecida. Alguns
exemplos de services que confiam no host sao Rlogin e Mountd, ou seja
se uma maquina esta confiando em *.lame.net e vc conseguir spoofar um
host de *.lame.net, tera acesso a essa maquina independente de senha. 

OBS: Bom, agora irei falar de protocolos, voce precisara de alguns
conhecimentos dos tais para entender as explicacoes seguintes, dado o
recado...

Ta mas e exemplos praticos? Vamos comecar pelo protocolo TCP, uma das
suas caracteristicas e a autenticacao pelo 3 way handshake para
iniciar a conexao ok mas, o que e isso? Ilustrando...

-[ TCP

Normalmente

Maq1     Maq2
 __       __
|  |__1_>|  | SYN ftp.hackers.com.br -> www.hackers.com.br PEDIDO
|  |<_2__|  | ACK www.hackers.com.br -> ftp.hackers.com.br ACEITACAO
|  |__3_>|  | FIN ftp.hackers.com.br -> www.hackers.com.br CONEXAO
|__|     |__|

Maq1(Cliente  ftp.hackers.com.br)
Maq2(Servidor www.hackers.com.br)

1 - E o pedido de conexao com a maquina SYN
2 - E a aceitacao do pedido             ACK
3 - O cliente efetua a conexao em si    FIN

Spoofed

Maq1     Maq2
 __       __
|  |__1_>|  | SYN ftp.hackers.com.br -> www.hackers.com.br PEDIDO
|  |<_2__|  | ACK www.hackers.com.br -> ftp.hackers.com.br ACEITACAO
|  |     |  | TIMEOUT ou RST 
|__|     |__|

Maq1(Cliente  ppp1337.uol.com.br)
Maq2(Servidor www.hackers.com.br)

1 - ppp1337.uol.com.br se ¨camufla¨ de ftp.hackers.com.br e pede a
conexao SYN
2 - www.hackers.com.br achando que esta falando com ftp.hackers.com.br
aceita ACK
3 - Como ftp.hackers.com.br apenas recebe o ACK sem ter pedido SYN a
www.hackers.com.br, ele nao responde, e sem resposta
www.hackers.com.br termina a conexao. RST

Esse e o maior problema de se spoofar uma conexao TCP, o FIN, pois se
vc enviar um pedido de conexao com o IP spoofado, ele enviara o ACK
para esse IP, e como o IP provavelmente nao respondera, sera terminado
o processo de conexao sem ela ser efetuada, isso porque o cliente nao
enviou o FIN.

E como Mr.Mitnick spoofou uma conexao TCP? Isso aconteceu por que no
caso dele, o sistema operacional trabalhava com o sequence predication
ou seja, no ACK, o servidor envia um numero, e que se advinhado pelo
cliente, ele podera envia-lo normalmente assim efetuando a conexao.
Mas advinhado? Isso ai e que essa sequencia tem uma ordem e se o
spoofador advinhar essa ordem, eh festa. Exemplificando se o seq foi
666, com a ordem sendo de 5 em 5, o proximo seria 671.

Acho que esta faltando algo... UDP! Udp e um protocolo projetado pra
ser usado em mensagens e transferencias mais rapidas de dados, mas
essa rapidez e coseguida atraves da nao autenticacao das mensagens,
entao seria mais ou menos como 1 way handshake, e a conexao e aceita
logo na primeira e unica etapa. Exemplo...

-[ UDP

Normal

Maq1     Maq2
 __       __
|  |     |  |
|  |__1_>|  | ftp.hackers.com.br -> www.hackers.com.br ACEITACAO
|  |     |  |
|__|     |__|

Maq1(Cliente  ftp.hackers.com.br)
Maq2(Servidor www.hackers.com.br)

1 - Nesse caso a aceitacao e direta

Spoof

Maq1     Maq2
 __       __
|  |     |  |
|  |__1_>|  | ftp.hackers.com.br -> www.hackers.com.br ACEITACAO
|  |     |  |
|__|     |__|

Maq1(Cliente  ppp1337.uol.com.br)
Maq2(Servidor www.hackers.com.br)

1 - Nesse caso a aceitacao e direta, sem a confirmacao de que
ftp.hackers.com.br e ppp1337.uol.com.br spoofado.

Acho que ja deu pra ter uma nocao pelo menos basica de como funciona o
spoof de IP protocolo por protocolo. Com essas tecnicas podem-se fazer
ferramentas mais sofsticadas que usem o IP spoofing pra varias
finalidades como portscan, dos attacks, etc...




1