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.