Puoi provare altre implementazioni di locate che indicizzano i file accessibili a tutti in un indice leggibile da tutti, in genere situato in /var/lib/locate/locatedb
o /var/cache/locate/locatedb
o qualcosa del genere.
Non vedo molto bisogno di un elenco di file per intensificare il tuo accesso su un server tipico. Di solito sapresti quale applicazione stai attaccando e recupererai i suoi file di configurazione e il suo database e otterrai le credenziali in questo modo. Potresti provare file come .netrc
, .ssh/id_rsa
e .ssh/config
per vedere se l'account può essere un gateway per altri account. Se non sei sicuro di cosa potrebbe essere in esecuzione sulla scatola, prova un sacco di nomi di file plausibili.
L'unica cosa che è un po' lunga da esaurire sono i valori PID, per esplorare ciò che è in esecuzione. Occorrono 32k richieste per esaurire pid_t
sotto Linux per impostazione predefinita, e puoi controllare il valore massimo in /proc/sys/kernel/pid_max
. La riga di comando è in /proc/PID/cmdline
; non puoi vedere l'elenco dei file aperti (hai bisogno di readlink
per quello) ma puoi vedere il loro contenuto (cat /proc/PID/fd/0
…).
Per il caso specifico di un servizio di compilazione, controlla i file di configurazione di quel servizio. Questo dovrebbe aiutarti a individuare il repository git. Se sei stato in grado di individuare un git checkout, cerca in .git/index
e .git/logs/HEADS
e forse altri file in .git/logs
(sperimenta con quel servizio per vedere quali rami vengono utilizzati e quali operazioni utilizza). Questo dovrebbe permetterti di recuperare gli ID oggetto che puoi leggere da .git/objects
.
Oltre a trovare un database di localizzazione, non riesco a pensare a un modo per elevare l'accesso ai file di lettura in file di elenco con una configurazione tipica.