He encontrado una vulnerabilidad de recorrido de ruta que me permite leer cualquier ruta en el servidor que no requiera sudo
.
Para aprovechar al máximo esto, me gustaría saber qué archivos existen en cada directorio para poder leerlos.
En otras palabras, puedo hacer cat /any/path
, pero no ls /any/path
ni sudo cat /any/path
. Entonces, ¿cómo puedo encontrar tantos archivos como sea posible para cat
them (sin probar todas las posibilidades ...)
La lectura de archivos especiales como dev o proc, o los archivos presentes en la mayoría de las distribuciones de Linux está bien. Por ejemplo, si pudiera leer la base de datos locate
s /var/lib/mlocate/mlocate.db
, el problema se resolvería, pero no puedo porque no tengo sudo
.
Si no hay una respuesta ideal que enumere todos , también me interesan las respuestas que enumeran una gran cantidad de archivos existentes.
En este caso en particular, el recorrido ocurre dentro de una VM remota, por lo que el objetivo principal no es el objetivo principal: lo que me interesa es el código fuente confidencial que se puede encontrar en la VM. Pero las rutas de escalada de privilegios muy comunes también son bienvenidas, ya que nos darían mlocate
y resolverían el problema, además de ser directamente útiles en otros sistemas.
Más precisamente, el sistema en mi caso es una compilación en el servicio Git push análogo a las páginas GitHub / GH (asumiendo que cada compilación Jekyll se ejecuta en VM, lo cual no sé). Mencionar esto porque ya lo han solucionado los proveedores, por supuesto :) Soy yo quien crea el repositorio de Git: ese es el vector de ataque, por lo que leer el repositorio de Git no es muy interesante.