Intro
Bonjour chers hackers, bien que nous n’ayons pas fait plus qu’aborder les commandes, c’est une étape nécessaire avant de se lancer dans le hacking. Au début, j’essayais de « bidouiller » avec des tutoriels sur Youtube, mais lorsque vous arrivez au point où quelque chose ne fonctionne pas et que vous ne pouvez pas le résoudre immédiatement, cela devient frustrant. Pour devenir de vrais hackers et non des script kiddies, nous devons donc savoir comment dépanner et utiliser certains outils pour nous faciliter la vie à long terme. Et moins se fier aux forums, aux conseils et aux astuces des autres.
Aujourd’hui, nous aborderons quatre commandes : grep, sed, cut et awk. Il s’agit de commandes que nous utiliserons assez souvent lorsque nous traiterons des fichiers texte et que nous leur donnerons une certaine apparence avant de les passer à d’autres outils ou commandes. Ou pour rendre les grands journaux lisibles par l’homme et y effectuer des recherches.
Grep
Commençons par le plus populaire, grep. Grep est l’acronyme de Global Regular Expression Print.
Grep recherche des motifs dans les fichiers texte, plus précisément des expressions régulières, et affiche ou imprime toute ligne contenant une correspondance sur la sortie standard.
┌──(kali㉿kali)-[~] └─$ grep Kali /etc/passwd kali:x:1000:1000:Kali,,:/home/kali:/usr/bin/zsh
┌──(kali㉿kali)-[~] └─$ grep -i kali /etc/passwd kali:x:1000:1000:Kali,,,:/home/kali:/usr/bin/zsh
Ci-dessus, nous avons recherché le mot« kali » dans le fichier« passwd« . Grep étant sensible à la casse par défaut, il n’a trouvé que deux résultats et a imprimé la ligne qui les contenait. En utilisant l’option« -i« , il a trouvé trois résultats, contenant« Kali » avec une lettre majuscule.
Un autre exemple utile est celui de la recherche dans tous les fichiers du répertoire actuel. C’est pourquoi nous utiliserons un astérisque(*) après le motif de recherche.
Nous pouvons également effectuer une recherche récursive, c’est-à-dire lire tous les fichiers sous chaque répertoire pour la chaîne « kali » avec l’option« -r« .
Le dernier exemple permet d’imprimer la chaîne de recherche exacte, en utilisant l’option« -x« .
┌──(kali㉿kali)-[~] └─$ grep -r kali etc/ etc/theHarvester/names_small.txt :kalinovsky-k etc/theHarvester/names_small.txt :kalithies etc/theHarvester/names_small.txt:sayasukalirik etc/theHarvester/names_small.txt:chakali etc/theHarvester/names_small.txt:kalintv6 ...
┌──(kali㉿kali)-[~] └─$ grep -r -x kali etc/ etc/theHarvester/dns-big.txt:kali etc/hostname:kali
Sed
Sed est l’abréviation de « stream editor » (éditeur de flux) et peut exécuter des fonctions telles que la recherche, la recherche et le remplacement, l’insertion ou la suppression dans des fichiers texte. Le plus souvent, il s’agit de trouver et de remplacer.
Par défaut, la commande sed remplace la première occurrence du motif dans chaque ligne, et ne remplace pas la deuxième, la troisième… occurrence dans la ligne, comme on peut le voir ci-dessous.
En ajoutant l’option« g » pour global, nous remplaçons toutes les occurrences. Si vous ne souhaitez remplacer que la première, la deuxième ou la troisième occurrence du motif, utilisez 1, 2 ou 3 à la place.
Sed est une commande puissante, il y a donc beaucoup plus de choses que nous pouvons faire comme c’est le cas avec grep. Nous les étudierons plus en détail dans la suite de l’action.
┌──(kali㉿kali)-[~] └─$ cat kali.txt | sed 's/ubuntu/kali/' kali est un OS très puissant pour les pentesters, ubuntu est la vie, ubuntu est tout.
┌──(kali㉿kali)-[~] └─$ cat kali.txt | sed 's/ubuntu/kali/g' kali est un OS très puissant pour les pentesters, kali est la vie, kali est tout.
Couper
La commande cut permet de couper une section de texte d’une ligne et de l’afficher sur la sortie standard. Cut peut être utilisé pour couper des parties d’une ligne par position d’octet, caractère et champ .
Les commutateurs les plus couramment utilisés sont« -f » pour le numéro du champ à découper et« -d » pour le délimiteur de champ.
┌──(kali㉿kali)-[~] └─$ cat kali2.txt | cut -d "," -f1 J'ai entendu dire que les hackers avaient des hobbies.
┌──(kali㉿kali)-[~] └─$ cat kali2.txt | cut -d "," -f3 HackNet
La sortie de la commande cat est transmise à cutqui imprime le champ spécifié en utilisant « ,« comme délimiteur.
Awk
« Awk » est un langage de script conçu pour le traitement de texte avancé sur la ligne de commande, principalement utilisé comme outil de rapport et d’analyse. On peut dire que « awk » est la version avancée de la commande« cut« .
Par défaut, le délimiteur de champ est un caractère espace. Contrairement à « cut », nous pouvons définir plus d’un caractère comme séparateur de champs. Prenons quelques exemples.
┌──(kali㉿kali)-[~] └─$ echo "How::are::you ?" | -F ": :" '{print $1,$2,$3}' Comment allez-vous ?
┌──(kali㉿kali)-[~] └─$ echo "How=:=:are=:=:you ?" | -F "=:= :" '{print $1,$2,$3}' Comment allez-vous ?
0 commentaires