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 ?
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).
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)
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.
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
As rotas sempre serão diferentes.
Se quisermos os Autonomous Systems (AS) basta adicionarmos a opção -A
traceroute knz.wiki.br -A
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
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.
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).