GREY-X // LINUX LAB
LEARN THE TERMINAL
Lorsqu’on commence la cybersécurité, on rencontre rapidement Linux.
Kali Linux, Debian, Ubuntu, Arch et de nombreuses autres distributions sont utilisées dans les environnements de développement, d’administration système, de sécurité offensive et de sécurité défensive.
Mais avant d’apprendre des outils complexes, il faut maîtriser quelque chose de beaucoup plus fondamental :
le terminal.
La ligne de commande permet de contrôler un système avec précision, d’automatiser des tâches et surtout de comprendre ce qui se passe réellement sur une machine.
01 // Se déplacer dans le système
Link to heading
La première chose à maîtriser est la navigation dans l’arborescence Linux.
Afficher le répertoire courant :
pwd
Lister les fichiers :
ls
Afficher davantage d’informations :
ls -la
Changer de répertoire :
cd /var/log
Revenir au répertoire précédent :
cd ..
Revenir au répertoire personnel :
cd ~
Ces commandes constituent la base de la navigation sous Linux.
02 // Créer et manipuler des fichiers
Link to heading
Créer un fichier vide :
touch notes.txt
Créer un répertoire :
mkdir laboratoire
Créer plusieurs répertoires :
mkdir -p projet/{logs,data,backup}
Copier un fichier :
cp notes.txt sauvegarde.txt
Déplacer ou renommer un fichier :
mv notes.txt notes-old.txt
Supprimer un fichier :
rm notes-old.txt
Supprimer un répertoire et son contenu :
rm -r laboratoire
⚠️ rm ne possède pas de corbeille par défaut. Une mauvaise commande peut donc supprimer des données immédiatement.
03 // Lire le contenu des fichiers
Link to heading
Afficher rapidement un fichier :
cat fichier.txt
Lire un fichier page par page :
less fichier.txt
Afficher les premières lignes :
head fichier.txt
Afficher les dernières lignes :
tail fichier.txt
Suivre un fichier en temps réel :
tail -f /var/log/syslog
Cette dernière commande est particulièrement utile pour analyser des logs pendant un test ou un dépannage.
04 // Rechercher des fichiers et du contenu
Link to heading
Rechercher un fichier :
find /home -name "notes.txt"
Rechercher du texte dans un fichier :
grep "error" fichier.log
Rechercher récursivement :
grep -R "password" ./projet/
Combiner plusieurs commandes :
cat fichier.log | grep "ERROR"
Dans Linux, cette capacité à combiner les commandes avec | devient rapidement essentielle.
05 // Comprendre les permissions
Link to heading
Afficher les permissions :
ls -l
On peut obtenir :
-rw-r--r-- 1 user user 1234 fichier.txt
Les permissions principales sont :
r = read
w = write
x = execute
Modifier les permissions :
chmod +x script.sh
Modifier le propriétaire :
sudo chown user:user fichier.txt
Les permissions sont fondamentales en sécurité Linux.
Une mauvaise configuration peut permettre à un utilisateur d’accéder ou de modifier des fichiers qui devraient rester protégés.
06 // Identifier l'utilisateur
Link to heading
Savoir avec quel compte on travaille est important.
whoami
Afficher les informations de l’utilisateur :
id
Afficher les utilisateurs actuellement connectés :
who
Changer temporairement d’utilisateur :
su - utilisateur
Exécuter une commande avec des privilèges administrateur :
sudo commande
07 // Gérer les processus
Link to heading
Afficher les processus :
ps aux
Surveiller les processus en temps réel :
top
Ou, si disponible :
htop
Rechercher un processus :
ps aux | grep nginx
Arrêter un processus :
kill PID
Forcer l’arrêt lorsque cela est nécessaire :
kill -9 PID
Il est préférable d’utiliser d’abord un signal normal avant de recourir à kill -9.
08 // Comprendre le réseau
Link to heading
Pour quelqu’un qui s’intéresse au pentesting réseau, ces commandes sont indispensables.
Afficher les interfaces :
ip addr
Afficher les routes :
ip route
Tester la connectivité :
ping 8.8.8.8
Résoudre un nom DNS :
dig example.com
Voir les connexions réseau :
ss -tunlp
Afficher les informations ARP/voisins :
ip neigh
Ces commandes permettent déjà d’obtenir une vision intéressante de l’état réseau d’une machine.
09 // Installer des logiciels
Link to heading
Sur Debian, Ubuntu et Kali Linux, le gestionnaire de paquets le plus courant est apt.
Mettre à jour l’index :
sudo apt update
Mettre à jour les paquets :
sudo apt upgrade
Installer un paquet :
sudo apt install nmap
Supprimer un paquet :
sudo apt remove nmap
Rechercher un paquet :
apt search nmap
10 // L'espace disque et la mémoire
Link to heading
Afficher l’espace disque :
df -h
Voir la taille d’un répertoire :
du -sh /var/log
Afficher la mémoire disponible :
free -h
Ces commandes sont particulièrement utiles lorsqu’un système commence à manquer de ressources.
11 // Les redirections et les pipes
Link to heading
L’un des concepts les plus puissants du terminal est la possibilité de connecter plusieurs commandes.
Par exemple :
ps aux | grep ssh
Le résultat de ps aux est envoyé à grep.
Rediriger une sortie vers un fichier :
ip addr > interfaces.txt
Ajouter à un fichier existant :
ip route >> network.txt
Lire ensuite le résultat :
cat network.txt
C’est cette logique de combinaison qui rend le shell particulièrement puissant.
12 // Les commandes à retenir
Link to heading
Pour commencer, il n’est pas nécessaire de mémoriser des centaines de commandes.
Maîtrisez d’abord celles-ci :
pwd → emplacement actuel
ls → fichiers et répertoires
cd → changer de répertoire
mkdir → créer un répertoire
touch → créer un fichier
cp → copier
mv → déplacer / renommer
rm → supprimer
cat → afficher
less → lire
grep → rechercher du texte
find → rechercher des fichiers
chmod → permissions
chown → propriétaire
whoami → utilisateur actuel
ps → processus
kill → arrêter un processus
ip → réseau
ss → sockets / connexions
df → espace disque
free → mémoire
sudo → privilèges administrateur
13 // Le terminal avant les outils
Link to heading
Dans le domaine de la cybersécurité, il est facile de se concentrer directement sur les outils.
Mais avant Nmap, Burp Suite, Wireshark, Metasploit ou Hashcat, il faut savoir travailler confortablement avec le système qui les exécute.
Comprendre Linux permet de mieux comprendre :
- les processus ;
- les permissions ;
- les fichiers ;
- les services ;
- le réseau ;
- les logs ;
- les utilisateurs ;
- les privilèges.
C’est cette base qui permet ensuite d’aller plus loin.
┌──────────────────────────────────────┐
│ GREY-X │
│ │
│ LINUX → NETWORK → SECURITY │
│ │
│ MASTER THE FUNDAMENTALS │
└──────────────────────────────────────┘
Avant d’apprendre à attaquer un système, apprenez d’abord à le comprendre.