Scanning

FIKARA BILALFIKARA BILAL
6 min read

Le scan d’un réseau ou d’une application permet d’identifier des vulnérabilités sur les services ou des applications qui s’exécutent. C’est une étape assez cruciale qui permet de détecter des failles de sécurité potentielles. Plusieurs outils de scan peuvent être utilisés dans ce cas.

Il existe plusieurs type de scans:

  • le scan de ports permet d’identifier des ports ouverts sur un système. Ces ports peuvent donc indiquer des services actifs qui peuvent être exploités. Nmap est l’outil le plus connu utilisé pour ce type de scan. Il existe aussi Naabu ou encore Rustscan.

  • le scan web permet d’explorer les applications web dans le but de détecter des failles commes les injections SQL, les failles XSS, CSRF et d'autres vulnérabilités spécifiques aux applications web. Des outils comme Nikto, Burp Suite peuvent être utilisés pour ce type de scan

  • le scan réseau permet d’analyser l’ensemble d’un réseau dans le but d’identifier les appareils connectés, les services et aussi les configurations réseau pouvant être vulnérables

  • le scan de vulnérabilités permet de rechercher des failles de sécurité qui sont connues dans les systèmes. Ils sont généralement utilisés dans le cadre d’audit de sécurité et fournissent des rapports détaillés. Des outils comme Nessus, Qualys peuvent être utilisés dans ce cas. Ces deux outils sont payants, mais disposent aussi de plans limités qui sont gratuits. Nikto peut aussi être utilisé.

Naabu

Naabu est un scanner de ports devéloppé par Project Discorvery et écrit en langage Go, pour identifier les services ouverts sur une machine ou un réseau. Il est connu pour être plus rapide, avec beaucoup d’options, comme le fait de pouvoir exclure des ports, scanner toute une liste de ports ou encore le combiner avec Nmap pour avoir des résultats plus détaillés. Vous pouvez l’installer directement via Github.

Installez d’abord Go sur votre machine avec la commande suivante:

sudo apt install golang-go

Installez ensuite l’outil Naabu

go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest

Options

  • naabu -h : l’option -h permet de lister toutes les options de Naabu

  • naabu -host [DOMAIN/IP] -exclude-ports [PORT,PORT] -json

    • l’option -host définit le domaine ou l’adresse IP à scanner

    • l’option -p permet de scanner un port spécifique

    • l’option -exclude-ports permet d’exclure des ports lors du scan

    • l’option -json permet d’avoir les résultats en format JSON

  • naabu -list [domains.txt] -o [output.json]

    • L’option -list ou -l effectue un scan avec un fichier contenant une liste de domaines ou d’adresses IP

    • l’option -o pour sauvegarder les résultats dans un fichier

  • naabu -host [DOMAIN/IP] -p [PORTS] -nmap-cli 'nmap -sV -Pn'

    • L’option -nmap-cli permet d’exécuter la commande nmap directement sur les résultats obtenus. Nmap doit être déjà installé pour que ca fonctionne.

    • Cette commande exécute Naabu pour scanner les ports spécifiés sur le domaine puis lance le service nmap sur chaque port.

Il est aussi possible de combiner Naabu avec ASNmap avec la commande suivante:

  •         asnmap -a ASXXXX -silent | naabu -p 22,80 -silent
    

Cette commande va d’abord récupérer les plages d’adresses IP associées à l’ASN en mode silent et ensuite scanner les ports 22 et 80 avec Naabu. Si vous n’êtes pas familier avec ASNMAP, vous pouvez lire un article à ce sujet ici.

Rustscan

RustScan est aussi un scanner de ports, écrit en langage Rust, beaucoup plus rapide et capable d’intégrer des outils comme Nmap pour des analyses plus détaillées. RustScan redirige directement ses résultats vers Nmap pour d’autres anlayses. Il est aussi possible de les modifier à votre guise.

Vous pouvez accéder au dépôt depuis la biliothèque officiel sur Github.

Téléchargement sur Kali Linux

Téléchargez le fichier d’installation depuis le terminal. Il existe plusieurs versions de Rustscan.

wget https://github.com/RustScan/RustScan/releases/download/2.0.1/rustscan_2.0.1_amd64.deb

Se déplacer vers le dossier Downloads et modifiez les permissions du fichier installé en le rendant exécutable.

cd Downloads
sudo chmod +x rustscan_2.0.1_amd64.deb

Installez le package Debian

sudo dpkg -i rustscan_2.0.1_amd64.deb

En cas de problèmes, exécutez la commande suivante:

sudo apt update
sudo apt upgrade

Si vous rencontrez des problèmes de dépendances, exécutez la commande suivante :

sudo apt-get install -f

RustScan devrait être maintenant installé .

Options

  • rustscan -a [DOMAINE/IP] -p [PORT,PORT] -b -g

    • l’option -a spécifie l’adresse ou le domine cible

    • l’option -p permet de spécifier un ou plusieurs ports

    • l’option -b permet de limiter la bande passante et éviter de surcharger le réseau pendant le scan.

    • l’option -g simplifie l’analyse qui n'affiche que les ports ouverts détectés, sans les détails de Nmap

  • rustscan -a [DOMAINE/IP] -- -sV --script vuln

    • l’option -- termine les arguments de RustScan. Tous les argument suivants sont directement passés à Nmap

    • l’option -sV de Nmap active la détection des services et leurs versions sur les ports ouverts

    • l’option --script vuln détecte les vulnérabilités sur les services

Ici on scanne les ports 22,80 et 445 de l’adresse 192.168.2.96. Le double-tiret indique les options sont passées à Nmap, avec l’option -sV, pour détecter la version des services.

Nmap

Nmap est un outil de scan qui permet aussi d’analyser un réseau ou une application web pour identifier des vulnérabilités potentielles. Il est utilisé pour scanner les ports et identifier les services actifs.

La documentation officielle de nmap se retrouve sur le site officiel.

Pour installer nmap , utilisez la commande suivante:

sudo apt install nmap

Options

  • nmap -h : l’option -h permet de lister toutes les options de nmap

  • nmap -sn 192.168.1.0/24

    • Cette commande exécute un scan de découverte réseau aussi appelé ping scan. Elle scanne toute les adresses dans la plage 192.168.1.1 à 192.168.1.254.

    • L’option -sn indique à nmap de ne pas effectuer de scan de ports, mais vérifie simplement les hôtes actifs sur le réseau

  • nmap -sS -sV -O --script vuln [IP_ADRESS]

    • l’option -sS effectue un scan SYN rapide et discret. Il n’établit pas de connexion complète avec la cible,ce qui rend l’analyse moins visible par des sytèmes de détection par exemple.

    • l’option -sV permet de détecter les versions des services en cours sur les ports ouverts sur la machine

    • l’option -O permet de déterminer le système d’exploitation de la cible

    • l’option --script vuln exécute des scripts qui permettent de détecter les vulnérabilités connues sur la cible.

  • nmap -T4 -sC -p 80,21 [IP_ADRESS]

    • l’option -T4 permet de définir le niveau d'agressivité du scan et va de -T0 à T5. Cela permet de définir la vitesse d’exécution du scan, ce qui peut la rendre plus rapide, mais aussi détectable par des systèmes de détection

    • l’option -sC exécute les scripts par défaut de nmap via le Nmap Scripting Engine (NSE) pour la détection de versions et la recherche de vulnérabilités.

    • l’option -p spécifie les ports à scanner

Voici un document qui détaille toutes les options de nmap : Nmap-Cheat-Sheet.pdf

nmap -T4 -sC -sV 10.192.160.244

La commande suivante utilise l’outil nmap pour une analyse sur l’adresse 10.192.160.244. On voit donc que 4 ports TCP ont été trouvés ainsi que des services ssh, dnsmasq et http.

À noter, qu’il est important de rappeler que l'utilisation de ces outils doit toujours se faire dans un cadre légal.

0
Subscribe to my newsletter

Read articles from FIKARA BILAL directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

FIKARA BILAL
FIKARA BILAL

As a newcomer to the cybersecurity industry, I'm on an exciting journey of continuous learning and exploration. Join me as I navigate, sharing insights and lessons learned along the way