Elevacion de privilegios en linux - part1

- 4 mins read

Linux PrivEsc: Comandos y Técnicas

Bienvenido a nuestra serie donde exploraremos técnicas y comandos para la recolección de información en sistemas Linux orientados a pruebas de elevación de privilegios (PrivEsc).

¡Bienvenido al Mundo Linux: Conoce Tu Sistema!

Comandos

  • uname -a
    Muestra información completa del kernel, arquitectura y versión del sistema.
  • whoami
    Indica el usuario actual.
  • id
    Muestra el UID, GID y grupos del usuario.
  • arch
    Presenta la arquitectura del procesador de forma resumida.
  • hostnamectl
    Proporciona detalles extendidos del host, incluyendo sistema operativo y versión.
  • lsb_release -a
    Ofrece información detallada sobre la distribución de Linux instalada.

Descubre Cada Rincón: Información del Sistema al Detalle

Comandos

  • hostname
    Visualiza el nombre del host de la máquina.
  • cat /etc/os-release
    Muestra detalles básicos sobre la distribución de Linux.
  • uptime
    Revela el tiempo de actividad y carga del sistema.
  • lsb_release -a
    Información completa de la distribución y versión.
  • dmesg | tail
    Muestra los últimos mensajes del sistema, útil para detectar errores o cambios recientes.
  • systemctl status
    Revisa el estado general de los servicios del sistema.

¡Conecta y Explora!: Revela el Mundo de la Red en Linux

Comandos

  • ifconfig o ip addr
    Muestra la configuración de red y las direcciones IP asignadas.
  • netstat -tulpn
    Lista los puertos abiertos y los servicios asociados.
  • ping 8.8.8.8
    Verifica la conexión a Internet enviando paquetes de prueba.
  • ss -tulpn
    Alternativa moderna a netstat, con información detallada sobre conexiones.
  • nmap -sS localhost
    Realiza un escaneo de puertos en el sistema local para detectar servicios.
  • tcpdump -i eth0
    Captura tráfico de red en la interfaz especificada (requiere privilegios).

Usuarios y Permisos: El ADN de la Seguridad en tu Sistema

Comandos Sencillos

  • cat /etc/passwd
    Lista los usuarios existentes en el sistema.
  • cat /etc/group
    Muestra los grupos definidos y sus miembros.
  • ls -la /home
    Examina los permisos y propietarios de los directorios de usuario.
  • getent passwd
    Recupera la información de usuarios desde la base de datos del sistema.
  • sudo awk -F: '{print $1, $3, $4}' /etc/passwd
    Extrae y muestra de forma ordenada nombre de usuario, UID y GID.
  • chmod -c 755 <archivo>
    Cambia los permisos de un archivo y muestra los cambios realizados (útil para verificar configuraciones).

¡Sudo al Rescate!: Domina la Llave Maestra de los Comandos

Comandos Sencillos

  • sudo -l
    Lista los comandos que el usuario puede ejecutar con sudo.
  • cat /etc/sudoers (con precaución o usando visudo)
    Revisa la configuración de sudo y sus permisos.
  • sudo visudo -c
    Verifica la sintaxis del archivo sudoers sin modificarlo.
  • sudo -S
    Permite leer la contraseña desde la entrada estándar para scripts.
  • grep -E '^Defaults' /etc/sudoers
    Filtra y muestra las configuraciones avanzadas definidas en sudoers.

Detrás del Telón: Revela los Secretos del Kernel y Hardware

Comandos Sencillos

  • uname -r
    Muestra la versión actual del kernel de Linux.
  • lscpu
    Proporciona información sobre la CPU y su arquitectura.
  • dmesg | less
    Permite revisar los mensajes del sistema generados por el kernel.
  • lsmod
    Lista los módulos del kernel que están actualmente cargados.
  • sudo lshw -short
    Presenta un resumen del hardware instalado (puede requerir instalación previa).
  • dmidecode -t system
    Extrae información detallada del hardware a nivel del sistema.

Cronómetro en Acción: Domina las Tareas Programadas

Comandos Sencillos

  • cat /etc/crontab
    Visualiza las tareas programadas a nivel de sistema.
  • ls /etc/cron.*
    Revisa los directorios que contienen scripts programados (daily, weekly, etc.).
  • crontab -l
    Lista las tareas programadas del usuario actual.
  • sudo grep -R "cron" /var/log
    Busca entradas relacionadas con cron en los logs del sistema.
  • sudo systemctl list-timers
    Muestra los timers activos que gestionan tareas programadas en sistemas modernos.

El Misterio de las Variables: Descubre los Secretos del Entorno

Comandos Sencillos

  • env
    Lista todas las variables de entorno actuales.
  • printenv
    Alternativa para visualizar variables específicas.
  • echo $PATH
    Muestra las rutas configuradas en la variable PATH.
  • set | less
    Presenta todas las variables y funciones definidas en la sesión de shell.
  • export VAR=value
    Configura y exporta nuevas variables al entorno.
  • grep -R "PATH" ~/.bashrc
    Busca configuraciones relacionadas con PATH en el archivo de inicio del shell.

¡Detective en Acción!: Encuentra Archivos con Permisos Inseguros

Comandos Sencillos

  • find / -perm -2 -type f 2>/dev/null
    Busca archivos que sean escribibles por cualquiera (world-writable).
  • find / -perm -4000 2>/dev/null
    Localiza archivos con el bit SUID activado, potencialmente vulnerables.
  • find / -user root -perm /6000 -exec ls -la {} \; 2>/dev/null
    Identifica archivos críticos propiedad de root con permisos especiales.
  • sudo find / -xdev -perm /4000 -type f -exec ls -la {} \;
    Realiza una búsqueda más controlada en la partición raíz.
  • stat <archivo>
    Muestra detalles completos de permisos y atributos de un archivo específico.

Tu Historia en Comandos: Analiza y Aprende de Tu Pasado

Comandos Sencillos

  • history
    Muestra el historial de comandos ejecutados en la sesión.
  • ps aux
    Lista todos los procesos activos en el sistema.
  • ls -R /etc
    Realiza una búsqueda recursiva en el directorio de configuración (¡ojo, puede generar mucha salida!).
  • grep "sudo" ~/.bash_history
    Filtra el historial para ver específicamente los comandos ejecutados con sudo.
  • pstree
    Visualiza la jerarquía de procesos en forma de árbol.
  • last -a
    Muestra información sobre los últimos inicios de sesión en el sistema.