Intro
Hallo mede-hackers, hoewel we niet veel meer hebben gedaan dan het behandelen van commando’s, is het een noodzakelijke stap voordat je begint met hacken. In het begin probeerde ik te “hacken” met Youtube-tutorials, maar als je op een punt komt dat iets niet werkt en het niet meteen kunt oplossen, wordt het frustrerend. Dus om echte hackers te worden en geen scriptkiddies, moeten we weten hoe we problemen kunnen oplossen en bepaalde tools kunnen gebruiken om ons leven op de lange termijn gemakkelijker te maken. En vertrouw minder op forums, tips en trucs van anderen.
Vandaag behandelen we vier commando’s: grep, sed, cut en awk. Dit zijn commando’s die we vaak zullen gebruiken om tekstbestanden er op een bepaalde manier uit te laten zien voordat we ze naar andere tools of commando’s sturen. Of om grote logboeken menselijk leesbaar te maken en erin te zoeken.
Grep
Laten we beginnen met de populairste, grep. Grep staat voor Global Regular Expression Print.
Grep zoekt naar patronen in tekstbestanden, meer specifiek naar reguliere expressies en voert elke regel met een overeenkomst uit of drukt deze af op de standaarduitvoer.
┌──(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
Hierboven hebben we gezocht naar het woord“kali” in het“passwd” bestand. Grep is standaard hoofdlettergevoelig, dus het vond slechts twee resultaten en drukte de regel af die deze resultaten bevatte. Met de optie“-i” werden drie resultaten gevonden, die“Kali” met een hoofdletter bevatten.
Een ander nuttig voorbeeld is zoeken in alle bestanden in de huidige map. Daarom gebruiken we een sterretje(*) na het zoekpatroon.
We kunnen ook recursief zoeken, d.w.z. alle bestanden onder elke map lezen voor een tekenreeks “kali” met de optie“-r“.
En het laatste voorbeeld is om de exacte zoekreeks af te drukken met de optie“-x“.
┌──(kali㉿kali)-[~] └─$ grep -r kali etc/ etc/theHarvester/names_small.txt:kalinovski-k etc/theHarvester/names_small.txt:kalithies etc/theHarvester/names_small.txt:sayasukalirik etc/theHarvester/namen_klein.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 staat voor stream editor en het kan functies uitvoeren zoals zoeken, vinden en vervangen, invoegen of verwijderen in tekstbestanden. Meestal gebruikt om te zoeken en te vervangen.
Standaard vervangt het sed commando de eerste herhaling van het patroon in elke regel, en het zal niet de tweede, derde…herhaling in de regel vervangen, zoals hieronder te zien is.
Door de optie“g” toe te voegen, die staat voor globaal, vervangen we alle voorkomens. Als je alleen de eerste, tweede of derde herhaling van het patroon wilt vervangen, gebruik dan 1, 2 of 3.
Sed is een krachtig commando, dus we kunnen veel meer doen dan grep. We zullen ze later meer in actie zien.
┌──(kali㉿kali)-[~] └─$ cat kali.txt | sed 's/ubuntu/kali/' kali is een zeer krachtig OS voor pentesters, ubuntu is leven, ubuntu is alles.
┌──(kali㉿kali)-[~] └─$ cat kali.txt | sed 's/ubuntu/kali/g' kali is een zeer krachtig OS voor pentesters, kali is leven, kali is alles.
Snijden
Het commando knippen wordt gebruikt om een stuk tekst van een regel af te knippen en naar de standaarduitvoer te sturen. Knippen kan worden gebruikt om delen van een regel te knippen op basis vande positie, het teken en het veld.
De meest gebruikte schakelaars zijn“-f” voor het veldnummer dat we knippen en“-d” voor het scheidingsteken van het veld.
┌──(kali㉿kali)-[~] └─$ cat kali2.txt | cut -d "," -f1 Ik heb gehoord dat hackers hobby's hebben
┌──(kali㉿kali)-[~] └─$ cat kali2.txt | cut -d "," -f3 HackNet
De uitvoer van de opdracht cat wordt doorgegeven aan cutdie het gespecificeerde veld afdrukt met “,“ als scheidingsteken gebruikt.
Awk
“Awk” is een scripttaal ontworpen voor geavanceerde tekstverwerking op de commandoregel, meestal gebruikt als rapportage- en analysetool. We kunnen zeggen dat “awk” de geavanceerde versie is van het“cut” commando.
Standaard is het scheidingsteken tussen velden een spatie. In tegenstelling tot “knippen” kunnen we meer dan één teken als veldscheidingsteken definiëren. Laten we een paar voorbeelden geven.
┌──(kali㉿kali)-[~] └─$ echo "Hoe::ben::je?" | -F "::" '{print $1,$2,$3}' Hoe gaat het?
┌──(kali㉿kali)-[~] └─$ echo "Hoe=:=:ben=:=:jij?" | -F "=:=:" '{print $1,$2,$3}' Hoe gaat het?
0 reacties