In der vierten Woche der Blogreihe, in der wir verschiedene Hacker-Tools vorstellen, befassen wir uns mit Arjun. Zeitlich befinden wir uns immer noch in der Reconnaissance Phase, dass bedeutet das wir unser Zielsystem möglichst gut kennen lernen möchten. Anders als die vorherigen Tools ist unser Pentest-Tool #4 Arjun nicht in Kali Linux vorinstalliert.
Installation von Arjun
Wie in der Einleitung bereits erwähnt ist das Tool Arjun nicht in Kali Linux vorinstalliert. Dementsprechend müssen wir uns das Pentest-Tool #4 zunächst herunter laden. Ein öffentliches GitHub-Repository beinhaltet Arjun und gibt uns die Möglichkeit das Programm problemlos herunterzuladen.
Eine ausführliche Dokumentation von GitHub selber beschreibt, wie Nutzer sich ein Repository herunterladen können. Git ist eine Versionsverwaltungssoftware die vor allem in Entwicklerteams Verwendung findet. Diese Software besitzt einen Kommandozeilen Client, welche in bspw. Kali Linux vorinstalliert ist.
Um nun ein Repository herunterzuladen müssen Sie lediglich in Ihr Terminal eingeben: “git clone https://github.com/s0md3v/Arjun“. Hinter “git clone” kommt die Zieladresse unter der Repository zu finden ist, dass Sie gerne herunterladen möchten. Nachdem Sie diesen Befehl ausgeführt haben und der Download abgeschlossen ist, finden Sie in Ihrem aktuellen Verzeichnis einen Ordner mit dem Namen Arjun.
In diesem Ordner befindet sich das gesamte Repository mit bspw. der README.md Datei aber auch dem Hauptprogramm arjun.py.
Pentest-Tool #4 – Arjun
Die ersten beiden Tools, die wir in der Blogreihe behandelt haben, waren dafür da um versteckte Pfade zu finden. Das Pentest-Tool #4 kann gut im Anschluss eingesetzt werden, nachdem bereits versteckte Pfade und verschiedene Unterseiten gefunden werden konnten.
Denn die Aufgabe bzw. Funktion von Arjun ist es versteckte Funktionen in Form von HTTP-Parametern zu entdecken. Web-Anwendungen verwenden HTTP-Parameter um Nutzereingaben zu speichern und verwalten. Ein ähnliches Brute-Force vorgehen wie bei den ersten Pentest-Tools findet verschiedene Funktionen oder Parameter-Typen die von dem Webserver akzeptiert werden.
Im Gegensatz zu den bereits kennengelernten Tools muss bei Arjun keine Wörterliste angehängt werden, da diese bereits in dem Repository mit enthalten sind.
Pentest-Tool #4 in der Praxis
In unserem Beispiel führen wir Arjun nicht in Kali Linux, sondern auf einem iOS Gerät aus. Da die Installation und die Ausführung identisch ist mit der für Kali Linux, gibt es keinen Unterschied, ob unser Pentest-Tool #4 auf einem Linux oder iOS Gerät ausgeführt wird.
Nachdem wir das Repository heruntergeladen haben müssen wir uns in den Ordner bewegen, indem sich das Hauptprogramm befindet. In der Kommandozeile können wir dies durch den Befehl: “cd Arjun” (cd = change directory). Nun können wir das Tool direkt über die Kommandozeile starten, indem wir “python3 arjun.py -u https://www.it-sicherheit.de/anbieterverzeichnis” eingeben und anschließend ausführen.
Das Programm besteht aus einer Python-Datei, welche wir mit Python3 ausführen. Hinter dem Parameter -u geben wir die Zieladresse ein, welche wir auf verschiedene HTML-Parameter überprüfen möchten, in unserem Beispiel www.it-sicherheit.de/anbieterverzeichnis.
Die Ergebnisse zeigen, dass 6 verschiedene Parameter gefunden werden konnten. Diese Parameter könnten im Verlauf eines Pentests nun im nächsten Schritt analysiert werden um nach Schwachstellen zu suchen, welche durch die verschiedenen Parameter ausgenutzt werden könnten.