beafn28
  • 👩‍💻¡Bienvenidos a mi HackBook!
  • WRITEUPS
    • DockerLabs
      • BuscaLove
      • Amor
      • Injection
      • BorazuwarahCTF
      • Trust
      • Picadilly
      • Pinguinazo
      • AguaDeMayo
      • BreakMySSH
      • NodeClimb
      • Move
      • Los 40 ladrones
      • Vulnvault
      • Pntopntobarra
      • Library
      • Escolares
      • ConsoleLog
      • Vacaciones
      • Obsession
      • FirstHacking
      • SecretJenkins
      • HedgeHog
      • AnonymousPingu
      • ChocolateLovers
      • Dockerlabs
      • Pressenter
      • Candy
      • JenkHack
      • ShowTime
      • Upload
      • Verdejo
      • WalkingCMS
      • WhereIsMyWebShell
      • Whoiam
      • Winterfell
      • -Pn
      • Psycho
      • Mirame
      • Backend
      • Paradise
      • Balurero
      • Allien
      • Vendetta
      • FindYourStyle
      • Stellarjwt
      • File
      • Redirection (Por completar)
      • Extraviado
      • Patriaquerida
      • Tproot
      • Internship
      • Walking Dead
      • Bicho (Por completar)
      • BaluFood
    • TryHackMe
      • Brooklyn Nine Nine
      • Blue
    • HackTheBox
      • Nibbles
      • Starting Point
        • Meow
        • Fawn
        • Dancing
        • Redeemer
        • Appointment
        • Sequel
        • Crocodile
        • Responder
        • Three
        • Archetype
        • Oopsie
        • Vaccine
        • Unified
        • Explosion
        • Preignition
        • Mongod
        • Synced
        • Ignition
        • Bike
        • Funnel
        • Pennyworth
        • Tactics
        • Included
        • Markup
        • Base
      • BoardLight
      • Cap
      • TwoMillion
      • Lame
      • Legacy
      • Devel
      • Beep
      • Optimum
      • Arctic
      • Jerry
      • Sau
      • GoodGames
      • Challenges
        • Emdee five for life
        • MarketDump
      • Intro to Dante
      • Heist
      • OpenAdmin
      • Nest
      • Curling
    • Vulnhub
      • Wakanda
      • Election (Por terminar)
    • The Hacker Labs
      • Avengers
      • Can you hack me?
      • Fruits
      • Microchoft
      • TickTakRoot
      • Grillo
      • Mortadela
      • Zapas Guapas
      • Sal y Azúcar
      • Cyberpunk
      • Papafrita
      • PizzaHot
      • Decryptor
      • Academy
      • Cocido andaluz
      • Find Me
      • Quokka
      • Campana Feliz
      • Bocata de Calamares
      • Casa Paco
      • Torrijas
    • Vulnyx
      • Fuser
      • Blogguer
      • Lower
      • Exec
      • Diff3r3ntS3c
      • Hacking Station
      • Experience
      • Eternal
      • Agent
      • Infected
      • Admin
      • War
      • Hosting
    • OverTheWire
      • Natas
        • Nivel 0-5
        • Nivel 6-11
        • Nivel 12-17
        • Nivel 18-23
        • Nivel 24-29
        • Nivel 30-34
      • Leviathan
        • Nivel 0-7
      • Krypton
      • Bandit
        • Nivel 0-10
        • Nivel 11-20
        • Nivel 21-30
        • Nivel 31-34
    • Proving Ground Play
      • Monitoring
      • DriftingBlues6
  • APUNTES HACKING
    • Pentesting Basics
      • Web Enumeration
      • Public Exploits
      • Types of Shells
      • Privilege Escalation
      • Transfering Files
    • Network Enumeration with NMAP
      • Host Discovery
      • Host and Port Scanning
      • Saving the Results
      • Service Enumeration
      • Nmap Scripting Engine
      • Performance
      • Firewall and IDS/IPS Evasion
    • Footprinting
      • Domain Information
      • Cloud Resources
      • FTP
      • SMB
      • NFS
      • DNS
      • SMTP
      • IMAP/POP3
      • SNMP
      • MySQL
      • MSSQL
      • Oracle TNS
      • IPMI
      • Linux Remote Management Protocols
      • Windows Remote Management Protocols
    • Information Gathering - Web Edition
      • WHOIS
      • DNS
        • Digging DNS
      • Subdomains
        • Subdomain Bruteforcing
        • DNS Zone Transfers
        • Virtual Hosts
        • Certificate Transparency Logs
      • Fingerprinting
      • Crawling
        • robots.txt
        • Well-Known URIs
        • Creepy Crawlies
      • Search Engine Discovery
      • Web Archives
      • Automating Recon
    • Vulnerability Assessment
      • Vulnerability Assessment
      • Assessment Standards
      • Common Vulnerability Scoring System (CVSS)
      • Common Vulnerabilities and Exposures (CVE)
    • Nessus
      • Getting Started with Nessus
      • Nessus Scan
      • Advanced Settings
      • Working with Nessus Scan Output
      • Scanning Issues
    • OpenVAS
      • OpenVAS Scan
      • Exporting The Results
    • Reporting
    • File Transfers
      • Windows File Transfer Methods
      • Linux File Transfer Methods
      • Transferring Files with Code
      • Miscellaneous File Transfer Methods
      • Protected File Transfers
      • Catching Files over HTTP/S
      • Living off The Land
      • Detection
      • Evading Detection
    • Shells & Payloads
      • Anatomy of a Shell
      • Bind Shells
      • Reverse Shells
      • Payloads
        • Automating Payloads & Delivery with Metasploit
        • Crafting Payloads with MSFvenom
        • Infiltrating Windows
        • Infiltrating Unix/Linux
        • Spawning Interactive Shells
      • Introduction to Web Shells
        • Laudanum, One Webshell to Rule Them All
        • Antak Webshell
        • PHP Web Shells
      • Detection & Prevention
    • Metasploit
      • MSFConsole
      • Modules
      • Targets
      • Payloads
      • Encoders
      • Databases
      • Plugins
      • Sessions
      • Meterpreter
      • Writing and Importing Modules
      • Introduction to MSFVenom
      • Firewall and IDS/IPS Evasion
    • Password Attacks
      • John The Ripper
      • Network Services
      • Password Mutations
      • Password Reuse / Default Passwords
      • Attacking SAM
      • Attacking LSASS
      • Attacking Active Directory & NTDS.dit
      • Credential Hunting in Windows
      • Credential Hunting in Linux
      • Passwd, Shadow & Opasswd
      • Pass the Hash (PtH)
  • WEB SECURITY
    • Path Traversal
    • SQL Injection
    • Control de Acceso
  • Mis CTFs
    • Pequeñas Mentirosas
    • CryptoLabyrinth
    • Elevator
    • Facultad
  • PREPARAR EJPTv2
    • Máquinas
    • Curso de Mario
      • Presentación + Preparación de Laboratorios
      • Conceptos Básicos de Hacking
      • Explotación de Vulnerabilidades y Ataques de Fuerza Bruta
      • Explotación vulnerabilidades Web
      • Enumeración y Explotación del Protócolo SMB, SAMBA, SNMP, IIS y RDP
      • Hacking Entornos CMS
      • Escalada de Privilegios + Post Explotación
      • Pivoting con Metasploit
  • Preparar OSCP
    • Información
    • Máquinas
      • Linux
        • Fácil
        • Medio
        • Difícil
      • Windows
        • Fácil
        • Medio
        • Difícil
Powered by GitBook
On this page
  • Los Shells Nos Conectan, los Payloads Nos Entregan Shells
  • ¿Por qué Obtener un Shell?
  • Los Payloads nos Entregan Shells
  • Preparación para el Compromiso de CAT5 Security
  • Conceptos Básicos de Shell
  • Conceptos Básicos de Payload
  • Obtener un Shell en Windows
  • Obtener un Shell en Linux
  • Implementar un Web Shell
  • Detectar un Shell o Payload

Was this helpful?

  1. APUNTES HACKING

Shells & Payloads

PreviousEvading DetectionNextAnatomy of a Shell

Last updated 7 months ago

Was this helpful?

Los Shells Nos Conectan, los Payloads Nos Entregan Shells

Un shell es un programa que proporciona a un usuario una interfaz para introducir instrucciones en el sistema y ver la salida en formato de texto (Bash, Zsh, cmd y PowerShell, por ejemplo). Como profesionales de la seguridad de la información y testers de penetración, un shell a menudo es el resultado de explotar una vulnerabilidad o eludir medidas de seguridad para obtener acceso interactivo a un host. Es común escuchar las siguientes frases en conversaciones sobre una sesión de prueba o práctica reciente:

  • "¡Atrapé un shell!"

  • "¡Hice popping a un shell!"

  • "¡Caí en un shell!"

  • "¡Estoy dentro!"

Estas frases suelen significar que la persona ha explotado exitosamente una vulnerabilidad en un sistema y ha podido obtener control remoto del shell del sistema operativo del objetivo. Este es un objetivo común para los pentesters al intentar acceder a una máquina vulnerable. La mayor parte de este módulo se centrará en lo que ocurre después de la enumeración y la identificación de exploits prometedores.

¿Por qué Obtener un Shell?

Recuerda que un shell nos da acceso directo al sistema operativo, comandos del sistema y al sistema de archivos. Si logramos el acceso, podemos empezar a enumerar el sistema en busca de vectores que nos permitan escalar privilegios, pivotar, transferir archivos, y más. Sin una sesión de shell, nuestras opciones para avanzar en una máquina objetivo son muy limitadas.

Además, establecer un shell nos permite mantener la persistencia en el sistema, dándonos más tiempo para trabajar. Facilita el uso de nuestras herramientas de ataque, la exfiltración de datos, la recopilación, almacenamiento y documentación de todos los detalles de nuestro ataque, como veremos en las siguientes demostraciones.

Es importante señalar que establecer un shell significa casi siempre que estamos accediendo a la CLI (Interfaz de Línea de Comandos) del sistema operativo, lo que puede hacernos más difíciles de detectar en comparación con acceder remotamente a una shell gráfica mediante VNC o RDP. Otro beneficio significativo de dominar las interfaces de línea de comandos es que son más difíciles de detectar que los shells gráficos, más rápidas para navegar por el sistema operativo y más fáciles de automatizar.

En este módulo, examinaremos los shells desde las siguientes perspectivas:

Perspectiva
Descripción

Computación

El entorno de usuario basado en texto que se utiliza para administrar tareas y enviar instrucciones en un PC. Piensa en Bash, Zsh, cmd y PowerShell.

Explotación y Seguridad

Un shell es a menudo el resultado de explotar una vulnerabilidad o eludir medidas de seguridad para obtener acceso interactivo a un host. Un ejemplo sería activar EternalBlue en un host Windows para acceder remotamente al cmd-prompt en el sistema.

Web

Un web shell es similar a un shell estándar, pero explota una vulnerabilidad (a menudo la capacidad de cargar un archivo o script) que proporciona al atacante una manera de emitir instrucciones, leer y acceder a archivos, y potencialmente realizar acciones destructivas en el host subyacente. El control del web shell se realiza frecuentemente llamando al script dentro de una ventana del navegador.

Los Payloads nos Entregan Shells

Dentro de la industria de TI, un payload puede definirse de varias formas:

  • Redes: La parte de datos encapsulada de un paquete que atraviesa las redes informáticas modernas.

  • Computación Básica: Un payload es la porción de un conjunto de instrucciones que define la acción a realizar. La información de encabezados y protocolo se elimina.

  • Programación: La parte de datos referenciada o transportada por la instrucción del lenguaje de programación.

  • Explotación y Seguridad: Un payload es código diseñado con la intención de explotar una vulnerabilidad en un sistema informático. El término "payload" puede describir varios tipos de malware, incluidos pero no limitados a ransomware.

En este módulo, trabajaremos con muchos tipos diferentes de payloads y métodos de entrega dentro del contexto de otorgarnos acceso a un host y establecer sesiones de shell remoto en sistemas vulnerables.

Preparación para el Compromiso de CAT5 Security

Somos un tester de penetración trabajando para CAT5 Security, y estamos preparándonos para realizar un compromiso para nuestro cliente, Inlanefreight. Los miembros más experimentados del equipo de CAT5 quieren evaluar nuestras habilidades con shells y payloads antes de incluirnos en el compromiso real.

La evaluación final de este módulo consiste en una serie de desafíos que CAT5 Security ha creado para probar nuestras habilidades. Completar el desafío significa que hemos pasado la evaluación.

Conceptos Básicos de Shell

Replicar la capacidad de obtener un shell bind y reverse:

  1. Shell bind en un host Linux.

  2. Shell reverse en un host Windows.

Conceptos Básicos de Payload

  1. Demostrar el lanzamiento de un payload desde Metasploit Framework (MSF).

  2. Demostrar la búsqueda y construcción de un payload desde PoC en ExploitDB.

  3. Demostrar conocimiento en la creación de payloads.

Obtener un Shell en Windows

Usando los resultados de la recon proporcionada, crear o utilizar un payload que explote el host y proporcione un shell de vuelta.

Obtener un Shell en Linux

Usando los resultados de la recon proporcionada, crear o utilizar un payload que explote el host y establezca una sesión de shell.

Implementar un Web Shell

  1. Demostrar conocimiento de web shells y aplicaciones web comunes, identificando una aplicación web común y su lenguaje correspondiente.

  2. Usar los resultados de la recon proporcionada para desplegar un payload que proporcione acceso a un shell desde el navegador.

Detectar un Shell o Payload

Detectar la presencia de un payload o un shell interactivo en un host mediante el análisis de la información relevante proporcionada.

688KB
Shells_Payloads_Module_Cheat_Sheet.pdf
pdf