Scanning (NOTES)

Written by KnZ (Lucca Magalhaes)


Analisando Rotas com traceroute

A partir dessa técnica podemos identificar a rota que os pacotes fazem até chegar no alvo, é possível identificar filtros e estudar como burlar esses sistemas de segurança, este que pode ser feito pelo uso de diversos pacotes até termos um resultado positivo. Conclui-se que é uma boa prática fazer essa análise para ter uma noção prévia de como será a reação do alvo.

Nosso alvo aceita protocolo UDP ?

Nosso alvo aceita protocolo ICMP (ping) ?

Nosso alvo aceita protocolo TCP ?

Quais portas estão abertas ?

Segue a imagem

Quando o TTL (Time To Live) se tornar 0, o roteador descarta o pacote e retorna uma mensagem ICMP, tipo 11 (Time exceeded) e código 0 (TTL expirou em trânsito).

Segue a imagem2

TTL’s

64 - Sistemas Linux

128 - Sistemas Windows

255 - Unix

Vale ressaltar que a cada hop é drecementado 1 TTL (-1), esse que terá saída do roteador (remetente) até o destino (knz.wiki.br). Deve-se considerar que este não será padrão e consequentemente(dependendo da situação) terá valores diferentes dos que foram passados nessa anotação. Cada forward do pacote decrementará 1 do TTL, pode-se confirmar realizando uma análise mais profunda com o Wireshark, capturando o mesmo pacote com diferentes pontos de fowarding (Podemos realizar esse teste com e sem VPN para termos noção). Podemos ver o endereço mudando por pontos e o TTL diminuindo, consequentemente.

Devemos considerar utilizar dessa técnica quando suspeitarmos a existência de um firewall (mecanismo de segurança). Essa análise pode ser feita a partir do envio de pacotes com diversos protocolos até que um seja aceito.

Traceroute (utilitario para traçar a rota)

Segue a imagem3

Essas tentativas são feitas para medir o tempo de resposta de cada pacote.

Os três * (***) indicam que houve falha ao entregar o pacote, esse por ter excedido o tempo (delimitado por padrão em cada pacote) como também pode ter sofrido um bloqueio por parte do servidor em consequência ao protocolo usado.

Nota-se que por padrão esse utilitário utiliza UDP como protocolo.

Também é possível perceber que no (3°) HOP houveram três hosts, talvez haja um load-balancer.

Segue a imagem4

O *, nesse caso, indica que o pacote excedeu o tempo e por padrão foi excluído

Podemos alterar esse tempo padrão utilizando a opção -w

traceroute site -w 7

Podemos indicar o máximo de hops utilizando a opção -m 35

traceroute site -w 7 -m 35

Caso queira um resultado a partir de um determinado hop, mais limpo assim por dizer, devemos utilizar a opção -f

traceroute site -w 7 -m -f 3

Segue a imagem5

As rotas sempre serão diferentes.

Se quisermos os Autonomous Systems (AS) basta adicionarmos a opção -A

traceroute knz.wiki.br -A

Segue a imagem6

Por fim, a opção -n faz com que não exiba o hostname (knz.wiki.br) no resultado.

traceroute knz.wiki.br -n

Diferentes protocolos ao enviar pacotes.

O traceroute por padrão utiliza o protocolo UDP, podemos utilizar outros pacotes com o traceroute com fim de analisar o comportamento que nosso alvo terá.

-I (ICMP)

-T (TCP)

Para melhor compreensão de como esse processo acontece recomendo a utilização do analisador de pacotes Wireshark

Segue a imagem7

Este é o funcionamento por padrão (UDP <- Protocolo). É possível a utilização de uma ou mais opções listadas acima.

Caso haja mais interesse, recomendo a leitura do manual man traceroute.

Devemos analisar se nosso destino bloqueia portas altas, caso bloqueie iremos receber um RST.

Será que pacotes TCP ou ICMP (Echo Request) são aceitos? <- esse pensamento é interessante, sempre que houver algo que nos bloqueie deveriamos pensar “O que alguém mais experiente faria?”

Vale ressaltar que quando utilizado a opção -T (TCP) a porta padrão será 80.

Segue a imagem8

Podemos mudar essa porta padrão utilizando a opção -p.

Podemos forçar a utilização da porta 53 com a opção -U (UDP porém forçado, esse que por padrão utiliza a porta 53 - DNS).

[QnSx@0x7359]$cd ~