# Privilege Escalation - Linux

## Enumeration

`lsb_release`

> Devuelve información sobre la distribución instalada

`hostname`

> Devuelve el hostname de la maquina. (e.g. Ubuntu-3487340239)

`uname -a`

> Devuelve información adicional sobre el kernel usado en el sistema

`which /algun_ejecutable-base64`

> Se utiliza para localizar la ruta completa de un ejecutable en el sistema $PATH

`/proc/version`

> Contiene información sobre la versión del kernel y datos adicionales como si un compilador (por ejemplo, GCC) está instalado

`/etc/issue`

> Este archivo suele contener información sobre el sistema operativo, pero puede personalizarse o modificarse fácilmente.

`env`

> Muestra variables de entorno (a veces los users guardan contraseñas aqui)

<figure><img src="/files/aRtik3BiQIhWem5bhhwp" alt=""><figcaption></figcaption></figure>

`sudo -l`

> Listar todos los comandos que tu usuario puede ejecutar usando `sudo`

`id`

> Muestra una visión general de los privilegios del usuario y su grupo![](/files/d1Qa6eOo1pG84P5Uukth)

`/etc/passwd`

> Puedes leer el archivo `etc/passwd` para identificar los usuario que hay en el sistema

<figure><img src="/files/6yUqC0DNGPCGlsnAx45a" alt=""><figcaption></figcaption></figure>

### Netstat Command

El comando `netstat` puede utilizarse con varias opciones diferentes para recopilar información sobre las conexiones existentes: `netstat -a` : Muestra todos los puertos de escucha y las conexiones establecidas. `netstat -at or netstat-au` : Se utilizarse para listar protocolos TCP o UDP `netstat -l` : Lista los puertos en modo «escucha». Se puede utilizar con la opción «-t» para listar sólo los puertos que están a la escucha utilizando el protocolo TCP

<figure><img src="/files/MLopHLgmUMTvE9ndyGR8" alt=""><figcaption></figcaption></figure>

`netstat -s` Lista estadísticas de uso de red por protocolo. Tambien se puede utilizar con las opciones -t o -u para limitar la salida a un protocolo específico![](/files/ksAut8QsJlEIWbmdqBKW)

`netstat -tp` : Lista las conexiones con el nombre del servicio y la información PID. También se puede utilizar con la opción `-l` para listar los puertos de escucha

<figure><img src="/files/EQg44YeVdWSdhHmagmz2" alt=""><figcaption></figcaption></figure>

`netstat -i` : Muestra las estadísticas de la interfaz

<figure><img src="/files/jmKrQvjIXZWT2Pf1L6Hw" alt=""><figcaption></figcaption></figure>

### Find Command

`find` files:

`find . -name flag1.txt` : Encuentra el archivo llamado «flag1.txt» en el directorio actual

`find /home -name flag1.txt` : Encuentra el archivo llamado «flag1.txt» en el directorio /home

`find / -type d -name config` : Busca el directorio config en «/».

`find / -type f -perm 0777` : Busca los archivos con permisos 777 (archivos legibles, escribibles y ejecutables por todos los usuarios)

`find / -perm a=x` : Busca ficheros ejecutables

`find /home -user frank` : Busca todos los archivos del usuario «frank» en «/home».

`find / -mtime 10` : Busca los archivos modificados en los últimos 10 días

`find / -atime 10` : Busca los archivos a los que se ha accedido en los últimos 10 días

`find / -cmin -60` : Busca los archivos modificados en la última hora (60 minutos)

`find / -amin -60` : Busca los archivos a los que se ha accedido en la última hora (60 minutos)

`find / -size 50M` : Buscar ficheros con un tamaño de 50 MB

### Ps Command

La salida del `ps` (Estado del Proceso) mostrará lo siguiente;

PID: El ID del proceso (único para el proceso) TTY: Tipo de terminal utilizado por el usuario Tiempo: Cantidad de tiempo de CPU utilizado por el proceso (NO es el tiempo que el proceso ha estado ejecutándose) CMD: El comando o ejecutable que se está ejecutando (NO mostrará ningún parámetro de la línea de comandos)

`ps` tiene alguna opciones utiles:

`ps aux` : Muestra todos los procesos de todos los usuarios

`ps -A` : Devuelve todos los procesos en ejecución, pero muestra menos información

`ps axjf` : Devuelve en forma de tree, los procesos

<figure><img src="/files/N7nrx8zAWY4myEScmKo6" alt=""><figcaption></figcaption></figure>

### Automated Enumeration Tools

* <mark style="color:green;">LinPeas</mark> : <https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/linPEAS>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://eldeim.gitbook.io/brain_fuck/notes/linux-hardening/privilege-escalation-linux.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
