Jour 7 OSCP | Recherche et manipulation de texte

Reading Time: ( Word Count: )

décembre 26, 2020
Nextdoorsec-course

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 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 -i kali * example1.txt:kali est mon système d'exploitation préféré example2.txt:Le système le plus utilisé pour le pentesting est Kali example3.txt:J'aime kali
┌──(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 ubuntu est un OS très puissant pour les pentesters, ubuntu is life, ubuntu is all.
┌──(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 J'ai entendu dire que les hackers avaient des hobbies, comme le crochetage de serrure, HackNet, OverTheWire, etc.
┌──(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)-[~] └─$ date | awk '{print $3,$2,$4}' Dec 26 2020
┌──(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 ?
Aydan

Aydan

Author

Aydan, a cybersecurity ace and AI visionary, thrives on the frontlines of offensive security. His passion birthed NextdoorSec, a groundbreaking cybersecurity firm. A relentless pioneer, Aydan is persistently pushing boundaries, shaping the future of the digital world one byte at a time.

Other interesting articles

« Apple neutralise les vulnérabilités exploitées : Une mise à jour complète »

Apple a mis en place des améliorations de sécurité pour neutraliser les vulnérabilités de type "zero-day" ...

« Risques invisibles : Comment la clé volée de Microsoft pourrait débloquer plus de choses que prévu »

Le vol présumé d'une clé de sécurité de Microsoft pourrait avoir permis à des espions liés à Pékin de violer bien ...

« La performance de l’IA de ChatGPT : Au-delà du test de Turing ou pas tout à fait ? »

ChatGPT, un chatbot d'intelligence artificielle d'OpenAI, a fait des vagues dans le paysage technologique grâce à ...
0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *