Perms abuse

Linux privilege escalation

como hemos visto anteriormente en la sección de Linux basics, los permisos permiten administrar las posibilidades y limites que tiene cada usuario en el sistema, si no estas familiarizado con los permisos en Linux primero ve al articulo sobre permisos en linux haciendo click aquí

Cuando se aplican permisos incorrectos a los usuarios en el sistema es muy fácil abusarlos para escalar privilegios ya que posiblemente podríamos modificar archivos importantes a nuestro gusto. Veremos como escalar privilegios de forma manual y con la herramienta LSE (Linux Smart Enumeration) que nos permite escalar privilegios de manera fácil y automática con estas vulnerabilidades.

Explotación manual

  • primero hay que buscar los archivos donde tenemos permisos en el sistema

find / -writable 2>/dev/null # buscar desde la raiz archivos donde tengamos permiso de escritura
find / -readable 2>/dev/null # buscar desde la raiz archivos donde tengamos permiso de lectura

Si encontramos archivos con permisos de escritura, podemos consultarlos en gtfobins para ver si podemos escalar privilegios desde la guía que nos ofrece, de igual manera con los que hay con permiso de lectura :

Explotación Automática (LSE)

curl "https://github.com/diego-treitos/linux-smart-enumeration/releases/latest/download/lse.sh" -Lo lse.sh;chmod 700 lse.sh
wget "https://github.com/diego-treitos/linux-smart-enumeration/releases/latest/download/lse.sh" -O lse.sh;chmod 700 lse.sh

Podemos utilizar cualquiera de estos dos comandos para instalar y ejecutar automáticamente LSE, aunque no viene mal ver la lista de parámetros :

Use: ./lse.sh [options]

 OPTIONS
  -c           Disable color
  -i           Non interactive mode
  -h           This help
  -l LEVEL     Output verbosity level
                 0: Show highly important results. (default)
                 1: Show interesting results.
                 2: Show all gathered information.
  -s SELECTION Comma separated list of sections or tests to run. Available
               sections:
                 usr: User related tests.
                 sud: Sudo related tests.
                 fst: File system related tests.
                 sys: System related tests.
                 sec: Security measures related tests.
                 ret: Recurren tasks (cron, timers) related tests.
                 net: Network related tests.
                 srv: Services related tests.
                 pro: Processes related tests.
                 sof: Software related tests.
                 ctn: Container (docker, lxc) related tests.
                 cve: CVE related tests.
               Specific tests can be used with their IDs (i.e.: usr020,sud)
  -e PATHS     Comma separated list of paths to exclude. This allows you
               to do faster scans at the cost of completeness
  -p SECONDS   Time that the process monitor will spend watching for
               processes. A value of 0 will disable any watch (default: 60)
  -S           Serve the lse.sh script in this host so it can be retrieved
               from a remote host.

Last updated