Terminal Tuts

Top 5 der fortgeschrittenen Verwendungen des 'Find'-Befehls (von Hackern verwendet)

Top 5 der fortgeschrittenen Verwendungen des 'Find'-Befehls (von Hackern verwendet)

In diesem Tutorial helfen wir Ihnen, die Verwendung des Befehls "Suchen" in Linux durch die fünf wichtigsten geheimen Verwendungen des Befehls "Suchen" zu meistern. Beginnend mit einer etwas komplexen Verwendung von 'find' bewegen wir uns in Richtung der Vorabausführung. Ohne viel Zeit zu verschwenden, lass uns zum Tutorial springen.

So finden Sie die Dateien mit einer bestimmten Tiefe?

Wenn Sie unter Umständen nicht die gesamte Verzeichnisstruktur durchsuchen möchten oder Ihre Suche innerhalb des aktuellen Verzeichnisses oder dessen Unterverzeichnisse einschränken möchten, dann können Sie das Tiefe Befehl.

Befehl:

finden ./ -Name *.gz 2>&1|grep -vi permiss

Finden ohne definierte Tiefe

Ausgabe:

./test_level_1/test_level_2/test_level_3/test_level3.Teer.gz ./test_level_1/test_level_2/test_level2.Teer.gz ./test_level_1/test_level1.Teer.gz

Der obige Befehl sollte die gesamte Datei mit einer Erweiterung durchsuchen .gz. Es sollte rekursiv nach der angegebenen Datei direkt aus dem genannten Verzeichnis suchen. Sie können den Teil „2>&1|grep -vI permiss“ ignorieren, um den Fehler zu ignorieren (Permission Denied).

Wenn das Dateien aus allen Direktiven anzeigt, wie können wir dann unsere Suche einschränken??

Sie können den folgenden Befehl verwenden, um dies zu ermöglichen.

Befehl:

Finden ./ -maxdepth 3 -name *.gz 2>&1|grep -Ich erlaube

Ausgabe:

./test_level_1/test_level_2/test_level2.Teer.gz ./test_level_1/test_level1.Teer.gz

Befehlssuche mit Max. Tiefe 3

Wie im angegebenen Befehl gezeigt, sollte es die Ergebnisse aus dem aktuellen Verzeichnis und seinen beiden Unterverzeichnissen abrufen.

So finden Sie die Dateien, die einem bestimmten Benutzer gehören?

Nehmen wir an, Sie haben einen Webserver und stellen sich vor, dass ein Hacker den Schadcode in Ihre Dateien eingeschleust hat. Nach der Untersuchung haben Sie festgestellt, dass der XYZ-Benutzer es getan hat. Um das Problem zu beheben, möchten Sie jedoch alle Dateien auflisten, die dem XYZ-Benutzer gehören. In unserem Fall sind dies die betroffenen Dateien. In diesem Fall sollte dir der folgende Befehl sehr helfen.

Befehl:

finden ./ -user sfusate -name "*.txt" 2>&1|grep -Ich erlaube

Suchen der Dateien mit own durch einen Benutzer

Wie im obigen Screenshot gezeigt, listen wir die Dateien auf, um sicherzustellen, dass sie auch einem anderen Benutzer gehören. Der Befehl 'pwd' zeigt an, dass wir den nächsten Befehl aus demselben Verzeichnis ausführen. Schließlich gibt uns der Befehl 'find' mit dem Flag als '-user' die Möglichkeit, die Dateien mit der Erweiterung als '.TXT.' außerdem im Besitz des Benutzers 'sfusate', wie oben gezeigt.

So löschen Sie alle Dateien, die einem Benutzer gehören, mit dem Befehl 'find'?

Der beste Zweck, alle Dateien eines Benutzers abzurufen, ist nützlicher, wenn Sie alle Dateien löschen möchten, die diesem bestimmten Benutzer gehören.

Wenn Sie unseren Fall eines gehackten Webservers erweitern, können Sie, sobald Sie alle Dateien durch den XYZ-Benutzer identifiziert haben, den Zeitpunkt, zu dem Sie diese Dateien löschen möchten, den folgenden Befehl verwenden.

Befehl:

finden ./ -user sfusate -name "*.txt" -exec rm  \; 2>&1|grep -vi permiss

Löschen aller Dateien, die einem Benutzer gehören, mit dem Befehl find

Der Screenshot zeigt, dass wir alle Dateien auflisten, die einem Benutzer 'sfusate' gehören. Bei der nächsten Ausführung löschen wir alle Dateien mit der Erweiterung '.TXT. Der dritte Befehl bestätigt, alle '.TXT.' Dateien unter dem aktuellen Verzeichnis und dessen Unterverzeichnis, das einem Benutzer 'sfusate' gehört, wurde gelöscht.

So finden Sie die Dateien mit bestimmten Dateiberechtigungen?

In diesem Fall ist unser Hacker ziemlich schlau. Er erstellt keine neuen Dateien oder ändert die Eigentümerschaft. Er optimiert die Dateiberechtigung und lässt den Dateibesitzer unberührt. Was genau macht er? Er schnappt sich den Systembenutzer und beschränkt die Dateiberechtigung auf diesen bestimmten Benutzer.

Wenn Sie jemals in diese Situation geraten, müssen Sie die Dateien mit der Dateiberechtigung für einen Benutzer oder eine Gruppe finden. Um Ihnen dabei zu helfen, haben wir den folgenden Befehl.

Befehl:

finden . -perm -g=w -type f -exec ls -l  \; 2>&1|Schwanz -n 5

Ausgabe:

-rwxrwxrwx. 1 ceyoung-Domainbenutzer 2315 28. August 00:12 ./monitordataload/setenv_dsmdevops.sh -rwxrwxrwx. 1 ceyoung-Domainbenutzer 2251 28. August 00:12 ./monitordataload/setenv_dsmdevops_prod.sh -rwxrwxrwx. 1 ceyoung-Domainbenutzer 2261 28. August 00:12 ./monitordataload/setenv_dsmdevops_tailoring.sh -rwxrwxrwx. 1 ceyoung-Domainbenutzer 2405 28. August 00:12 ./monitordataload/updateRecord.sh -rwxrwxrwx. 1 Nikhshah-Domain-Benutzer 2253 23. August 04:35 ./dsmdevops-19.8.0/README.md

Dateien mit Schreibberechtigung für die einzige Gruppe

Das gegebene Bild zeigt, wenn wir das Argument als -g=w übergeben, sollte es alle Dateien anzeigen, die Schreibrechte für die Gruppe haben. Auf der anderen Seite, wenn Sie g=w sagen, wie im zweiten Befehl gezeigt, sollte es darauf beschränkt sein, die Dateien anzuzeigen, die nur Schreibrechte haben.

Da wir keine Dateien mit nur Schreibberechtigung haben, werden 0 Ergebnisse angezeigt.

So löschen Sie die Dateien mit den Befehlen 'inode' und 'find'?

Jetzt ist unser Hacker schlauer geworden, diesmal hat er den Klon bestehender Dateien mit dem Dateinamen erstellt, wie im folgenden Beispiel gezeigt.

Anzeigen der iNodes

Wie im gegebenen Beispiel gezeigt, haben wir zwei Testdateien:

Nehmen wir an, der "Test"?.txt'-Dateien sind betroffene Dateien, die vom Angreifer erstellt wurden. Sie möchten diesen bösartigen Code/diese Datei löschen. Als die '?' Ist ein eindeutiges Zeichen, wird es beim Auslösen des rm-Befehls nicht als Parameter angenommen. Wenn Sie den Befehl 'rm test*.' Es sollte alle Dateien löschen, die das Wort 'test . enthalten.'

Um dies zu überwinden, muss man den 'inode' verwenden.' Das angegebene Bild zeigt den Befehl zum Anzeigen der Inodes.

Befehl:

ls -il

Es sollte Inodes für alle Dateien geben und es wird in der ersten Spalte angezeigt. Für die Datei 'test?.txt' der Inode ist 266534.

Kommen wir nun dazu, wie man diese Dateien mit dem Inode löschen kann.

Befehl:

Finde -inum 266534 -exec rm  \;

Löschen der Dateien mit Inode

Wie im Screenshot gezeigt, sollte der Befehl 'ls' mit einem Inode die Datei 'test . anzeigen?.txt' mit Inode-Detail.

Nach dem Löschen der Datei mit find und inode beweist der Befehl 'ls', dass die Datei erfolgreich gelöscht wurde.

Fazit

Hier dreht sich alles um die vorzeitige Verwendung des Befehls 'find'. Hoffe es hat dir gefallen. Bleiben Sie auf dem Laufenden bei FOSS Linux für viele solcher Tricks, Tipps, die beste Verwendung von Linux und die fortgeschrittene Verwendung von Linux und Befehle in Linux.

So zeigen Sie den FPS-Zähler in Linux-Spielen an
Linux-Gaming bekam einen großen Schub, als Valve 2012 die Linux-Unterstützung für den Steam-Client und seine Spiele ankündigte. Seitdem haben viele AA...
Herunterladen und Spielen von Sid Meier's Civilization VI unter Linux and
Einführung in das Spiel Civilization 6 ist eine moderne Version des klassischen Konzepts, das in der Reihe der Age of Empires-Spiele eingeführt wurde....
So installieren und spielen Sie Doom unter Linux
Einführung in Doom Die Doom-Serie entstand in den 90er Jahren nach der Veröffentlichung des ursprünglichen Doom. Es war sofort ein Hit und seitdem hat...