darcosion / Echosounder

petit programme marrant
MIT License
14 stars 1 forks source link

Implémentation Reverse PTR #30

Closed 1ntegrxl closed 2 years ago

1ntegrxl commented 2 years ago

Permet d'implémenter la fonctionnalité Reverse PTR. On peut trouver de la doc pour scapy DNS ici.

darcosion commented 2 years ago

Voici un premier jet d'implémentation : 8060d78453c96d091b6ff7778f721a283799954a A noter que cette implémentation ne se fait que pour une cible unique (second menu de gauche donc), je n'ai pas encore fait l'implémentation pour cible multiples en raison de problème d'implémentation des résultats sur graph... (je préfère attendre de résoudre #21 avant)

Au niveau echosounder, on utilise la lib dns de python, présente dans les packages par défaut (on aurait pu forger un packet DNS avec scapy, mais une implémentation depuis une lib standard de python, ça se refuse pas...). https://github.com/darcosion/Echosounder/blob/8060d78453c96d091b6ff7778f721a283799954a/echosounder.py#L31-L41

Niveau front, petite subtilité qu'on va devoir prendre en compte plus tard : on implémenter une entrée dans la partie data de l'objet nœud en y ajoutant un champs Reverse PTR. Je suis pas sûr que ça soit une bonne pratique. https://github.com/darcosion/Echosounder/blob/8060d78453c96d091b6ff7778f721a283799954a/static/main.js#L245

@msnassim @AlixCheval cette implémentation peut vous aider à vous rendre compte de l'objectif d'implémentation au plus simple d'une fonctionnalité de scan.

darcosion commented 2 years ago

Ok, en fait le reverse PTR ne peut pas se faire en scan généraliste malheureusement.

Il est impossible de distinguer une machine qui n'existe pas d'une machine qui ne répond pas au reverse PTR, donc si on scannait 256 machines, on aurait potentiellement 256 noeuds qui poperaient. ><