Annonce

Réduire
Aucune annonce.

[Kali Linux] IV - Guide du pentester débutant

Réduire
X
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Tutoriel [Kali Linux] IV - Guide du pentester débutant

    Chapitre IV-Guide du débutant sur Kali-Linux


    Découvrir les systèmes qui composent notre cible :


    Dans le précédent chapitre nous avons pu voir ensemble comment récolter des informations sur notre cible. Maintenant il est temps de passer à l’étude des systèmes dont est dépendants la cible ainsi que leurs moyens de communication. C’est à dire que l’on va plu s’attarder sur ce qu’il y a derrière l’IP cible.

    Pour cela nous allons aborder un peu plus en avant nmap mais aussi d’autres Tools qui pourront au cas où faire avancé nos recherches. Car vous serez confronté assez souvent au cas de figure où nmap est bloqué, du coup vous devrez alors soit changer de protocole de travail ou de scan tout simplement pour essayer de duper la cible.

    1)Identifier les machines

    On repart sur nmap.

    Ouvrez un terminal et tapez ceci :

    Code:
    # nmap  -n –sP [ip cible]
    Moi j’ai mis celle de nmap.org : 173.255.4.189

    Regarder ce qu’il se passe : Failed to resolve –n

    Explication des commandes :

    -n/-R: Ne jamais résoudre les noms DNS/Toujours résoudre [résout les cibles actives par défaut] L’option -sP: Ping Scan - Ne fait que déterminer si les hôtes sont en ligne -P0: Considère que tous les hôtes sont en ligne -- évite la découverte des hôtes
    On pourrait essayer par TCP avec la commande –sN et sans l’option –n.

    Allez c’est repartis tapez :

    Code:
     # nmap –sP  [ip cible]
    Pareil impossible

    Code:
    # nmap –sN 173.255.4.189
    // idem
    On va gruger et utiliser l’option –Pn qui va considérer tous les hôtes comme connecte.

    Code:
    # nmap -Pn 173.255.4.189

    On a une réponse notre demande SYN ou demande de connexion a été accepter et il nous indique que le serveur est up. Vous voyez si un port est fermé, on va en essayez un autre, sinon on va essayer de faire la demande différemment cela ne veut pas dire pour autant que c’est finis mais qu'il faut choisir une autre voie ou port dans notre cas.

    On va utiliser un autre Tools intéressant de Kali :

    Nping

    http://nmap.org/nping
    Code:
    # nping –h
    # nping [Ip Cible]
    Et la on a une réponse à nos paquets génial enfin. ET directement dans avoir besoin de trop réfléchir.
    Alors pourquoi lui fait le travail que nmap a eu tant de mal ?
    C’est juste une histoire de protocole d’où l’intérêt d’apprendre les cours hackademics sur les réseaux .
    Nping utilise Le protocole ICMP (Internet Control Message Protocol). Lorsqu’un bug ou une erreur au sein d’un réseau est trouvé c’est par le protocole ICMP qu’elles sont signalées. Donc on est presque certain d’avoir un retour. Cependant il peut arriver que le scan sur ce type de protocole soit bloqué la aussi on peut gruger et utiliser Nping sur TCP comme ceci :

    Code:
    # nping –tcp [Ip Cible]

    Essayer les 2 et regarder leurs différences et les réponses envoyées.
    Bien nous avons eu confirmation que notre objectif est up.
    Nous souhaitons maintenant avoir un aperçu de ce qui tourne dessus les machines, Os et j’en passe tout ce qui pourrait nous aiguiller pour plus tard la mise en place de notre attaque.
    On reviens à nmap faudra vous y faire car il est le plus utilisé des scanners de réseaux tant ses options sont nombreuses. Allez go tapez ceci :

    Code:
    # nmap –O [Ip Cible]
    Faite le sur vous-même ou un site cible(le votre serais mieux) et regardez le résultat.

    P0f

    Alors celui la on en parle peu pourtant il existe sur Kali et il est efficace.

    http://lcamtuf.coredump.cx/p0f3/

    Sur certaines versions de Kali il y a que la version 2.08 vérifier en allant :

    A > Kali linux > >p0f

    Regardez à l’entête de votre terminal si vous avez 3.07b c’est bon sinon faite ce qui suit :
    Open Terminal et tapez :
    Avant de procéder à son installation vous devez installer le paquet « libcap-dev »

    Code:
    # apt-get install libcap-dev
    Puis télécharger p0f la dernière version :
    Code:
    #  wget http://lcamtuf.coredump.cx/p0f3/releases/p0f-latest.tgz
    Après avoir téléchargé p0f vous le placer dans le répertoire /opt/ puis procédé comme suit :

    Code:
    #   tar xzvf p0f-latest.tgz
    #       cd p0f-3.07b
    Et enfin on lance le script :
    #        ./build.sh

    Voila on peut le tester :

    Code:
    # p0f –h
    # p0f –i [interface] –L  -o  /tmp/resultat.txt
    -I Iface - demande p0f à écouter sur une interface réseau spécifique. Sur Un * x, vous
    doit référencer l'interface par nom (par exemple, eth0). Sous Windows,
    vous pouvez utiliser l'index de l'adaptateur à la place (0, 1, 2 ...).

    Plusieurs paramètres-i ne sont pas pris en charge; vous devez exécuter
    instances distinctes de p0f pour cela. Sous Linux, vous pouvez spécifier
    «All» pour accéder à une pseudo-dispositif qui combine le trafic sur
    toutes les autres interfaces; la seule limitation est que libpcap volonté
    ne pas reconnaître des trames VLAN marqués dans ce mode, qui peut être
    un problème dans certaines des configurations.

    Si vous ne spécifiez pas une interface, libpcap pourra probablement prendre
    la première interface de travail dans votre système.

    -L - répertorie toutes les interfaces réseau disponibles, puis se ferme. Particulièrement
    utiles sur Windows, où le système pour généré les noms d'interface
    sont impossibles à mémoriser.

    -O nom_fichier - ajoute des données de journaux grep-friendly dans le fichier spécifié. Le journal
    contient toutes les observations faites par p0f sur chaque Connexion correspondante
    , et peut se développer.

    Une seule instance de p0f doit être écrit dans un fichier particulier
    à un moment donné; si elle est pris en charge, le verrouillage consultatif est utilisé pour
    éviter les problèmes.
    Testons avec :

    Code:
    # p0f –I eth0 –L
    Ensuite ouvrez votre navigateur et aller sur http://nmap.org/ retourner sur votre Terminal et regardez ce qui s’est passé.
    Petite traduction de l’accueil du site officiel de p0f :

    P0f est un outil qui utilise un ensemble de mécanismes de fingerprinting sophistiqués, purement passives pour identifier les cibles derrière les communications TCP / IP accessoires (souvent aussi peu que un seul SYN normale) sans interférer en aucune façon. La version 3 est une réécriture complète du code source original, intégrant un nombre important d'améliorations à des empreintes digitales au niveau du réseau, et l'introduction de la capacité de raisonner sur des charges utiles de niveau de l'application (par exemple, HTTP).
    Certains des capacités de p0f comprennent:
    • Identification hautement évolutive et extrêmement rapide du système d'exploitation et les logiciels sur les deux extrémités d'une connexion TCP à la vanille - en particulier dans les milieux où nmap sondes sont bloqués, trop lent, peu fiable, ou seraient tout simplement déclencher des alarmes.
    • Mesure de la disponibilité du système et le raccordement de réseau, de la distance (y compris la topologie derrière un NAT ou des filtres de paquets), les préférences de langue de l'utilisateur, et ainsi de suite.
    • Détection automatique de partage de connexion / NAT, équilibrage de charge, et les configurations de proxy au niveau de l'application.
    • Détection des clients et des serveurs qui forgent les états déclaratifs tels que X-Mailer ou User-Agent.
    http://www.stearns.org/p0f/

    Plutôt pas mal non alors pourquoi sans priver !

    Nous avons identifié notre cible, nous avons pu mettre à nu certains des systèmes tournant dessus maintenant on va passer à l’énumération. Et nous avons un nouveau mot à notre Arc le FingerPrinting alors voyons ensemble avant de passer à la suite ce qu’il signifie.
    A l’époque on utilisait beaucoup les cookies mais voila beaucoup les supprime quotidiennement il vide leurs caches continuellement pour ne pas laisser de traces. Mais vous oubliez une chose essentiel que tout bon hacker débutant devrais savoir Google est le King. Si si il passe partout où il veut quand il veut et même si on essais de le bloquer par tous les moyens il arrivera à passer sur votre site. Lorsque vous naviguez avec votre navigateur vous avez ce que l’on appelle une signature propre avec votre fuseau horaire, police d’écriture, extensions installés,…Tout a été fait pour que vous soyez standardisés même si vous ne faite rien, vous devrez mettre à jour vos logiciels et même si vous passez par un réseau (tor, n’importe…) vous y laisserais quoi que vous fassiez votre signature. Comment y réchapper allez je donne la solution arrêter Internet complètement, mettez vous un casque en aluminium sur la tête avec un clairon pour appeler votre femme car c’est impossible. Donc par conséquent le FingerPrinting est l’art de rechercher des informations sur les utilisateurs du réseau.

    Vous voyez ces traces même infimes nous permettent par la suite de lancer des scans plus précis et de passer outre certains blocages.

    2) Enuméré notre système cible :

    Cela consiste à récolter tous les ports ouverts et instances disponibles sur notre cible. On peut le faire au même moment que le chapitre récolte d’informations mais cela n’est pas obligatoire. Si vous voulez vraiment avoir un maximum d’informations sur une cible il faut de la patience et prendre au sérieux ces phases préliminaires avant l’exploitation car sinon vous passerez peut-être au travers d’un bug.

    Scannons les ports :

    Go sur Nmap encore.

    On va utiliser nmap directement sans options par défaut donc, il utilise un scan sur le protocole TCP SYN qui est en fait une demande de connexion. Le serveur reste en attente d’un retour ACK. Mais ce n’est pas grave car ce qui nous intéresse c’est le retour des paquets SYN/ACK qui nous permettra de déterminer les diiférents ports open.

    Code:
    # nmap www.google.fr

    Regardez ce qui se passe :
    Nous allons affiner notre recherche avec l’option –p qui va nous permettre de préciser le port que l’on désire scanner :

    Code:
    # nmap -p 80 www.google.fr

    Ou

    Code:
    # nmap -p 443 www.google.fr –oA /tmp/resultat_p443.txt

    -oA <basename>: Sortie dans les trois formats majeurs en même temps.

    -p <port ranges>(Ne scanne que les ports spécifiés)
    Cette option spécifie quels ports vous voulez scanner et remplace le comportement par défaut. Les ports peuvent être spécifiés un à un ou par plages (séparés par des tirets, notamment 1-1023). Les valeurs de début ou de fin des plages peuvent être omises, de sorte que Nmap utilisera les ports 1 et 65 535, respectivement. Ainsi, vous pouvez spécifier -p- pour scanner tous les ports de 1 à 65 535. Le scan du port 0 est autorisé si spécifié explicitement. Pour ce qui est du scan du protocole IP (-sO), cette option spécifie les numéros de protocoles que vous souhaitez scanner (0-255).
    Lorsque vous scannez à la fois des ports TCP et UDP, vous pouvez spécifier un protocole particulier en préfixant les numéros de ports par T: (pour TCP) ou U: (pour UDP). Le qualificateur reste actif à moins que vous n'en indiquiez un autre. Par exemple, l'argument -p U:53,111,137,T:21-25,80,139,8080scannerait les ports UDP numéros 53 111 et 137 et les ports TCP de 21 à 25 inclusivement, 80, 139 et 8080. Notez que si vous voulez à la fois scanner TCP et UDP, vous devez spécifier -sU et au moins un type de scan TCP (comme -sS, -sF ou -sT). Si aucun qualificateur de protocole n'est spécifié, les numéros de ports sont alors valables pour tous les protocoles.
    On va alors tapez ceci :
    Code:
    # nmap –p0-65535 www.google.fr
    Vous allez ainsi scanner tous les ports de 0 à 65535 (c’est un maximum).Bon on sait déjà que l’on n’aura pas plus de réponses sur cette cible.
    Cela va nous apporter en quelque sorte la preuve qu’un système tourne derrière ces ports.

    Code:
    # nmap -sV www.google.fr

    Je passerais sur la version graphique zenmap Souvent j’ai lu des personnes demandant la différence entre les 2. Zenmap estjuste la version graphique avec console de nmap et nmap est la version en ligne de commande. Je préfère utiliser nmap car il y a plus de satisfaction à travailler à Mano que bosser sur des interfaces à boutons qui mâche le boulot.Surtout cela permet de comprendre ce que l'on fait. Après chacun fait comme il veut mais je passe sur Zenmap.

    Amap

    https://www.thc.org/thc-amap/

    Il permet de retrouver les services en écoute sur un port "non standard" en utilisant entre autre le Grabs de bannière. Il tente de retrouver les applications en envoyant des paquets sur des ports non conventionnels.
    Le grab de bannière oui tiens encore un mot inconnu au bataillon me dirait vous. Dans l’énumération on va rechercher en priorité 2 choses :

    -Le grab de bannière
    -L’énumération des extensions
    Une bannière est tout ce qui concerne les informations des systèmes visés lorsque l’on se connecte à un port.
    Avant de passer à Amap on va éclaircir ce point.

    Ce que l’on peut conclure c’est qu’il ne faut pas rester figé sur TCP/IP il existe d’autres protocoles souvent secondaires qui peuvent être exploité au cas ou.Rappellez vous le but de cette partie est d’avoir L’OS, la version, la licence, l’éditeur,… bref toutes informations utiles pour la partie identification de vulnérabilité.
    Revenons à nos Tools by Kali car le but de se guide est avant tout de vous familiariser. Bien pour Amap, ouvrez un terminale et tapez ce qui suit :

    Code:
    # amap –h
    # amap –bq [ip cible] 1-100
    On va par cet exemple essayer de mieux comprendre l’utilité d’Amap. On va lancer nmap sur notre propre système local en visualisant le port 21 (protocole FTP) :

    Code:
    # nmap -sV -p 21 127.0.0.1
    Regardez les résultats puis :
    Code:
    # amap 127.0.0.1 21
    Pareil visualiser les résultats.

    On va procéder de la même façon pour le protocole http (port 80) :

    Code:
    # nmap -sV -p 80 127.0.0.1
    # amap 127.0.0.1 80
    Vous commencez à piger le truc et surtout l’importance d’utiliser plusieurs scanners de ports différents.

    Code:
    # amap 127.0.0.1 -b –v –d 25

    Visualiser le résultat.

    Par conséquent on peut conclure que l’on doit durant cette phase énumérer tous les services et entrées DNS pour découvrir : combien d’utilisateurs , de computeurs, les ip , ports,etc… confondent notre cible.
    Le petit plus de Amap.
    On peut l’utiliser sur des résultats de nmap (En complèment) :

    Code:
    #  nmap -sS -oM results.nmap -p 1-65535 TARGET
    http://nmap.org/man/fr/man-briefoptions.html

    Puis utilisation du résultat sur Amap

    Code:
    # amap -i results.nmap -o results.amap -m
    Il y a beaucoup à dire encore mais la on est dans un guide de présentation des Tools.

    Amap tente d'identifier les applications, même si elles sont en cours d'exécution sur un autre port que la normale. D’où l’intérêt vu son interactivité avec nmap de l’utiliser afin d’affiner nos recherches. Il identifie également les applications non-ascii base. Ce résultat est obtenu par l'envoi de paquets de déclenchement, et en regardant les réponses dans une liste de chaînes de réponse.

    On voit que dans le cas du serveur FTP (21) tout était facile. Il est plus difficile de contraindre Apache de se présenter comme IIS.

    Solution pour éviter ce genre de scan :

    L'unique chose à faire c'est imposer à Apache de ne pas afficher sa version. Pour ce faire, dans le fichier de configuration httpd.conf(/etc/httpd/conf/httpd.conf), il faut retrouver la ligne suivante :

    Code:
    ServerSignature On
    et la changer en :

    Code:
    ServerSignature Off
    À la suite de cette opération, sur les pages générées par le serveur (les informations sur erreurs, etc.), le pied de page ne contiendra pas de nom du serveur. Ensuite, au-dessous de cette ligne, nous ajoutons :

    Code:
    ServerTokens Prod
    Ainsi Apache ne donnera pas de numéro de version dans la bannière.

    3)Enumération DNS :

    L’énumération DNS est le processus de localisation de tous les serveurs DNS et des entrées DNS pour une organisation. L’Énumération DNS va nous permettre de recueillir des informations essentielles sur l'organisation tels que les noms d'utilisateur, des noms d'ordinateur, les adresses IP,…
    Par transition, nous allons parler du Tools DNS Tracer. Petit mais costaud :
    http://www.mavetju.org/unix/dnstracer-man.php
    Rappel : Un traceroute permet de nous montrer la topologie du réseau ciblé. Traceroute utilise le proto UDP mais peut aussi utiliser ICMP ce qui est très intéressant.

    Astuce : affectez le port TCP 53 aux paquets envoyé avec traceroute car ce port n'est généralement pas filtré par les systèmes de filtrage comme le pare feu.

    Ouvrez un terminale et mettez la commande suivante :

    Code:
    # dnstracer -v nmap.org > /root/dnsResultat.txt

    On considère pour vrai tous ce que l’on envois et reçois puis on demande de créé un fichier dans root avec le résultat. Sur l’url ci-dessus ,il y a un autre exemple testé le. Pour l’instant vous ne faite rien de mal vous regardez avec les scans vous ne touchez pas.
    L’ Exemple nous indique que l'on part des serveurs root ( -s . ) en ipv4 ( -4 ) sans cache ( -c )

    Code:
    # dnstracer google.com -s . -4 -c | head -15
    Maltego

    http://paterva.com/

    Pour finir sur les Tools Kali je me devais vous parlez de Maltego. Tout spécialiste de Social Engineering ou Reverse Social Engineering connais ce Tools. Il permet de récupérer un maximum d’informations sur une cible et entre tout à fait dans le cadre de cette phase d’Enumération.
    Kali-Linux>Récupérations d’informations>Analyse DNS> Maltego
    A l’ouverture il vous demandera un email et un passé renseignez le logiciel et laisser tourner. Il permet de récolter ces types d’informations :

    • Noms de domaine

    • Whois information

    • L’architecture de l’ensemble du réseau

    • Adresses IP d’une cible

    • Adresses e-mail associé au nom d’une personne

    • Sites Web associé au nom d’une personne

    • Numéro de téléphone associé au nom d’une personne

    • Les entreprises et organisations associées au nom d’une personne

    • Des blogs pour les tags et les phrases spécifiques

    • Les métadonnées des fichiers à partir de domaines cibles
    On peut l’utiliser simplement en demandant des informations sur une personne ou un pseudo mais aussi dans notre cas en le renseignant du nom d’un site. Il va lister tout ce qu’il pourra trouver sur ce site. Sachez toutefois que SE est important lors d’une phase de post-Exploitation mais il ne fait en aucun cas de vous un hackeur. Le SE n’est qu’une des techniques qui englobent le Hacking, elles possèdent des ramifications assez vaste avec des sous-domaines plus ou moins contestables. Mais lors des plus grands coups de hacking il est vrai que le SE a démontré sa puissance. Vous n’imaginez pas tous les cas de figure en phase d’exploitation. Se limiter à du SE ne vous amènera pas très loin.
    Bon allez on va chercher des informations :

    On déplace les plug-ins à gauche au centre pour les activer
    On clic gauche 2X afin d'avoir le pop up de réglage la vous mettez un titre et l’url en dessous de la cible

    Ensuite vous faite clic droit sur votre projet et lancez l'alias correspondant
    Pour ma part je lance tout sur All
    Ensuite vous aurez encore des pop up cliquez dessus et n'oublier pas de cocher j'accepte
    Entrer un format en kb pour les images puis lancer


    Pour consulter aller dessus cliquer gauche et visualiser les informations à droite dans détails.
    Vous avez une magnifique arborescence du site avec tout ce qui le rattache.


    Vous pouvez aller plus loin et refaire des recherches sur un de ses sous branches. Imaginons qu'à cet instant on est un nom qui s'affiche vous pouvez faire des recherches sur cette personne afin plus tard si vous découvrez une faille XSS sur son site avoir assez de renseignement pour une attaque par email soit en essayant de récupéré ses cookie via url XSS, soit via Phishing ou même spear Phishing etc...

    La c'est du domaine du Hacking plus des Tools donc Go apprendre les attaques et failles afin d'utiliser notre récolte d'information intelligemment.

    Imaginons qu'après recherche sur la personne ou son email on retrouve un organisme de voyage. On retrouve sur facebook que cette personne va effectuer un voyage en Grèce. Il est très aisé de duper la personne pour peu qu'on a de l'ingéniosité.
    Sachez que j'apprends en annexe le Mentalisme depuis 1 an et que je l'ai utilisé fréquemment pour arriver à mes fins dans mon travail. Si le SE nous permet d'arriver à cerner une personne parfois c'est la manipulation qui va entrainer la finalisation de l'attaque.

    N'oubliez pas que la théorie c'est bien mais utiliser des techniques pour de mauvaises intentions peuvent entrainer de lourdes peines judiciaires. On est à l’abri chez soi mais on ne se rend pas compte que ce que l'on peut faire avec son pc peut être autant puni par la loi que si vous alliez dans la rue attaquez une personne. Alors pensez bien à chacun de vos actes sur Internet.

    Voila qui clos ce chapitre nous verrons dans le suivant comment utiliser un scanner de vulnérabilité et décortiquer ensemble les données reçues. Par la suite la dernière phase sera de voir ensemble suivant les différents types de retour du scan vuln ce que nous pouvons faire. Je pense qu’il est souhaitable d’apprendre les failles et les attaques. Mais La encore sur ce guide sur Kali vous verrez que suivant le cas de figure vous pourrez aisément utilisez soit Metasploit, soit d’autres packages que je vous indiquerez. Le but étant l’intrusion finale de la cible.
    Je n'ai pas parler des Tools snmpwalk,snmpcheck,... car ils méritent un chapitre à eux. Je pense que j'introduirais sur ces Tools avant les Tools de vulnérabilités au prochain chapitre.

    Merci de m’avoir lus et rendez vous au prochain guide des Tools de Kali : chapitre V-Recherche de Vulnérabilité.

    PS: Je ne suis pas à l'aise pour expliquer et je me perds parfois dans ce que j'essais d'exprimer ,je suis désoler si je commet des erreurs car je travaille sans filet juste avec office word et Kali et réussir à suivre un fil conducteur est un exercice assez difficile surtout quand on veut tout dire dans un poste tout en conservant la charte White. J'essais simplement de simplifier au maximum tout ce que j'ai pu apprendre et le partager avec vous,car je ne souhaite pas continuer dans ce domaine n'ayant pas assez de compètences. J'ai repris mon ancienne activité médicale(faut bien manger). Je souhaite me consacrer juste par la suite à l'apprentissage du C et C++.

    Merci de votre compréhension.
    Dernière modification par DreAmuS, 22 juillet 2014, 12h42.

  • #2
    Vraiment très bon tuto ! Ce serait juste peut-être plus intéressant si tu expliquais clairement à quoi servaient chacune des manipulations effectuées (le but de la manip') afin que les débutants (comme moi) puisse comprendre petit à petit et approfondir sa recherche par après !

    Sinon, cela m'a vraiment aidé à mieux comprendre l'utilisation de plusieurs des outils de Kali Linux : surtout nmap !

    Merci

    Commentaire


    • #3
      bonjour je voudrais avoir les trois dernières chapitres.mercie

      Commentaire

      Chargement...
      X