Sie können andere Lokalisierungsimplementierungen ausprobieren, die weltweit zugängliche Dateien in einem allgemein lesbaren Index indizieren, der sich normalerweise unter /var/lib/locate/locatedb
befindet oder /var/cache/locate/locatedb
oder so ähnlich.
Ich sehe keinen großen Bedarf für eine Dateiliste, um Ihren Zugriff auf einen typischen Server zu eskalieren. Normalerweise wissen Sie, welche Anwendung Sie angreifen, und rufen ihre Konfigurationsdateien und ihre Datenbank ab und erhalten auf diese Weise Anmeldeinformationen. Sie können Dateien wie .netrc
ausprobieren , .ssh/id_rsa
und .ssh/config
um zu sehen, ob das Konto ein Gateway zu anderen Konten sein kann. Wenn Sie sich nicht sicher sind, was auf der Box läuft, probieren Sie viele, viele plausible Dateinamen aus.
Das einzige, was ein bisschen lang zu erschöpfen ist, sind die PID-Werte, um zu erkunden, was läuft. Es sind 32.000 Anfragen erforderlich, um pid_t
auszuschöpfen unter Linux standardmäßig, und Sie können den Maximalwert in /proc/sys/kernel/pid_max
überprüfen . Die Befehlszeile befindet sich in /proc/PID/cmdline
; Sie können die Liste der geöffneten Dateien nicht sehen (Sie benötigen readlink
dafür), aber Sie können ihren Inhalt sehen (cat /proc/PID/fd/0
…).
Überprüfen Sie für den speziellen Fall eines Build-Dienstes die Konfigurationsdateien dieses Dienstes. Das sollte Ihnen helfen, das Git-Repository zu finden. Wenn Sie einen Git-Checkout finden konnten, schauen Sie in .git/index
nach und .git/logs/HEADS
und vielleicht andere Dateien in .git/logs
(Experimentieren Sie mit diesem Dienst, um zu sehen, welche Zweige verwendet werden und welche Operationen er verwendet). Damit sollten Sie Objekt-IDs abrufen können, die Sie dann aus .git/objects
lesen können .
Abgesehen davon, dass ich eine Locate-Datenbank gefunden habe, fällt mir keine Möglichkeit ein, den Zugriff auf Lesedateien auf Listendateien mit einer typischen Konfiguration zu erhöhen.