afsh4ck.gitbook.io Open in urlscan Pro
172.64.147.209  Public Scan

URL: https://afsh4ck.gitbook.io/ethical-hacking-cheatsheet/explotacion-de-vulnerabilidades/explotacion-en-web/file-uploads/otros...
Submission: On November 04 via api from US — Scanned from US

Form analysis 0 forms found in the DOM

Text Content

Cheatsheet
Más


BuscarCtrl + K
 * Introducción
   * 👾Ethical Hacking Cheatsheet
      * 📕Metodología OSSTMM
      * 📘MITRE ATT&CK
      * 🔢Proceso de Pentesting
      * 💻Instalación del entorno
         * 💻Instalación de VMWare
         * 💻Virtualizar Kali Linux
         * 🎨Personalización del entorno
     
      * 📔Organización y Notas
      * 👜Documentación
 * Sistemas básicos
   * 🐧Linux
   * 🪟Windows
   * 🍏MacOS
 * Recopilación de información
   * 🌐Google Hacking
      * 🌐Google Dorks
   
   * 💻Enumeración
      * 💻Metodología
      * 💻FTP
      * 💻SMB
      * 💻NFS
      * 💻DNS
      * 💻SMTP
      * 💻IMAP/POP3
      * 💻SNMP
      * 💻MySQL
      * 💻MSSQL
      * 💻Oracle TNS
      * 💻IPMI
      * 💻Protocolos de Administración Remota - Linux
      * 💻Protocolos de Administración Remota - Windows
      * 💻Footprinting Lab - Easy
      * 💻Footprinting Lab - Medium
      * 💻Footprinting Lab - Hard
   
   * 🔎Recopilación de información
      * 🔎Recopilación Pasiva
         * 🔎Subdominios - Pasiva
         * 🔎Identificar Tecnologías
         * 🔎Infraestructura - Pasiva
         * 🔎Fingerprinting
         * 🦭FOCA
         * 🧠OSINT
     
      * 💻Recopilación Activa
         * 💻Reconocimiento automatizado
         * 💻Nmap
         * 💻Nmap Scripting Engine
         * 💻Subdominios - Activa
         * 💻Infraestructura - Activa
         * 💻Virtual Hosts
         * 💻Evasión de IDS
         * 💻Escaneo Avanzado
         * 💻Lab - Recopilación
   
   * 🕸️Fuzzing
      * 🕸️Crawling
         * 🕸️Scrapy y ReconSpider
         * 🕸️Herramientas de Crawling
     
      * 🕸️Gobuster
      * 🕸️Ffuf
   
   * ☁️Hacking en CMS
   * 🍏Hacking en MacOS
 * Análisis de vulnerabilidades
   * 👾Análisis con Nmap
   * 👽Herramientas de Análisis
      * ⚙️Nessus
      * ⚙️OpenVAS
   
   * 🖖VPLE
 * Explotación de vulnerabilidades
   * 💣Explotación en Hosts
      * 🔥Acceso básico
      * 🐚Shells y Payloads
         * 🐚Bind Shells
         * 🐚Reverse Shells
         * 🐚Payloads
         * 💣Metasploit Payloads
         * 🐚TTY Shells
         * 🐚Webshells
            * 🐚Laudanum
            * 🐚PHP Webshell
        
         * 💣Lab de explotación
     
      * 🔎Buscador de exploits
      * 🔑Password Attacks
         * 🔑Cracking de Contraseñas
         * 🔑Bruteforce de Servicios
         * 🔑Password Mutations
         * 🔑Contraseñas por defecto
         * 🔑Windows Attacks
            * 🔑Atacando a SAM
            * 🔑Atacando a LSASS
            * 🔑Atacando Active Directory
            * 🔑Credential Hunting - Windows
        
         * 🔑Linux Attacks
            * 🔑Credential Hunting - Linux
            * 🔑Passwd, Shadow y Opasswd
        
         * 🔑Archivos Protegidos
         * 🔑Archivos Comprimidos
         * 🔑Políticas de Contraseñas
         * 🔑Administradores de Contraseñas
         * 🔑Labs de contraseñas
            * 🔑Lab de contraseñas - Easy
            * 🔑Lab de contraseñas - Medium
            * 🔑Lab de contraseñas - Hard
     
      * 👾Atacando Servicios Comunes
         * 👾Ataques a FTP
         * 👾Ataques a SMB
         * 👾Ataques a Bases de Datos
         * 👾Ataques a RDP
         * 👾Ataques a DNS
         * 👾Ataques a Emails
         * 👾Labs - Common Services
            * 👾Lab - Easy
            * 👾Lab - Medium
            * 👾Lab - Hard
     
      * 🔁Pivoting, Tunelling y Port Forwarding
         * 🔁Redes en Pivoting
         * 🔁Port Forwarding
         * 🔁Remote/Reverse Port Forwarding con SSH
         * 🔁Meterpreter Tunneling & Port Forwarding
         * 🔁Pivoting con Socat
         * 🔁SSH para Windows: plink.exe
         * 🔁Pivoting SSH con Sshuttle
         * 🔁Web Server Pivoting con Rpivot
         * 🔁Port Forwarding con Windows Netsh
         * 🔁Túnel DNS con Dnscat2
         * 🔁SOCKS5 Tunneling con Chisel
         * 🔁ICMP Tunneling con SOCKS
         * 🔁RDP y SOCKS Tunneling con SocksOverRDP
         * 🔁Pivoting: Skills Assessment
         * 🔁Port Forwarding dinámico
     
      * 🧨MetaSploit
      * 💊MsfVenom
      * 🐍Hydra
      * ❌BruteX
      * 🔄File Transfers
      * 💿Buffer Overflow en Linux
   
   * 💣Explotación en Web
      * 💡Web Proxies
         * 💡Configuración
         * 💡Interceptando solicitudes
         * 💡Interceptar respuestas
         * 💡Modificación automática
         * 💡Solicitudes repetidas
         * 💡Encoding / Decoding
         * 💡Herramientas de Proxy
         * 💡Burp Intruder
         * 💡Zap Fuzzer
         * 💡Burp Scanner
         * 💡Zap Scanner
         * 💡Extensiones
         * 💡Proxy: Skills Assestment
     
      * 💉SQL Injection
      * 💉SQLMap
         * 💉Introducción a SQLMap
         * 💉SQLMap - HTTP Request
         * 💉SQLMap - Manejo de errores
         * 💉SQLMap - Ajuste del ataque
         * 💉SQLMap - Enumeración Básica
         * 💉SQLMap - Enumeración Avanzada
         * 💉SQLMap - Bypass de protección web
         * 💉SQLMap - Explotación de S.O.
         * 💉SQLMap - Skills Assessment
     
      * 💉Command Injection
      * 💿Cross Site Scripting (XSS)
         * 💿XSS Stored
         * 💿XSS Reflected
         * 💿XSS DOM-Based
         * 💿XSS Discovery
         * 💿XSS Payloads
         * 💿Defacing con XSS
         * 💿Phising con XSS
         * 💿Session Hijacking
         * 💿Prevención de XSS
         * 💿XSS - Skills Assessment
     
      * ⬆️File Uploads
         * ⬆️Ausencia de validación
         * ⬆️Explotación de subida
         * ⬆️Client-Side Validation
         * ⬆️Filtros de Blacklist
         * ⬆️Filtros de Whitelist
         * ⬆️Filtros de tipo
         * ⬆️Cargas de archivos limitadas
         * ⬆️Otros ataques de carga
         * ⬆️Prevención en carga de archivos
         * ⬆️File Uploads - Skills Assessment
     
      * 💣DDoS Attack
      * 📁Local File Inclusion
      * 👨‍🍳Cyberchef
   
   * 💣Explotación en Redes
      * 😎Man in the middle
      * 🎣Phising
      * 🤼Ingeniería Social
      * 🔐Bruteforce a RRSS
      * 🌐Hacking WiFi
         * 🌐Conceptos básicos
         * 🌐Redes Básicas
         * 🌐Sniffing
         * 🌐Deauth
         * 🌐Redes ocultas
         * 🌐WEP Cracking
            * 🌐Ataque a WEP
            * 🌐Fake Autentication
            * 🌐Packet Injection
               * 🌐ARP Request Replay
               * 🌐Chop Chop
               * 🌐Fragmentation
           
            * 🌐Redes SKA
        
         * 🌐WPS Cracking
         * 🌐WPA/WPA2 Cracking
         * 🌐Rainbow Table
         * 🌐WPA/WPA2 Enterprise
   
   * 📕Diccionarios Custom
      * 📕Crunch
      * 📕CeWL
      * 📕Cupp
      * 📕DyMerge
 * Post Explotación
   * 💻Post Explotación
      * 👾Meterpreter
      * 🐈Mimikatz
      * 🔐LaZagne
      * 📩Procdump y lsass.exe
      * ↔️Movimientos Laterales
         * ↔️Pass the Hash (PtH)
         * ↔️Pass the Ticket (PtT) - Windows
         * ↔️Pass the Ticket (PtT) - Linux
     
      * 🚪Backdoor en binarios
      * 🦅Covenant
      * ⚔️Koadic
      * 💾Bases de datos
         * 💾MySQL
         * 💾PostgreSQL
     
      * ⚙️P.E. Avanzada
      * 🧼Borrado de evidencias
   
   * 🌋Escalada de Privilegios
      * 🐧Linux P.E.
         * 🐧Linux - Enumeración del entorno
         * 🐧Linux - Enumeración de servicios y componentes internos
         * 🐧Linux - Búsqueda de credenciales
         * 🐧Linux - Abuso de PATH
         * 🐧Linux - Abuso de comodines
         * 🐧Linux - Shells restringidos
         * 🐧Linux - Permisos especiales
         * 🐧Linux - Abuso de permisos Sudo
         * 🐧Linux - Grupos privilegiados
         * 🐧Linux - Capabilities
         * 🐧Linux - Servicios vulnerables
         * 🐧Linux - Abuso de Cron
         * 🐧Linux - Contenedores
         * 🐧Linux - Docker
         * 🐧Linux - Kubernetes
         * 🐧Linux - Logrotate
         * 🐧Linux - Técnicas varias
         * 🐧Linux - Exploits del kernel
         * ⬆️Linpeas
     
      * 🔴GTFOBins
 * Evasión de defensas
   * 🛡️Detección y evasión de defensas
      * 🛡️Load Balancing Detector
      * 🛡️Evasión de WAFs
      * 🛡️Evasión de Antivirus
      * 🛡️Herramientas de Evasión
 * Active Directory
   * ☁️Active Directory
      * ☁️Enumeración en AD
         * ☁️AD: Enumeración inicial del dominio
         * ☁️AD: Enumeración de controles de seguridad
         * ☁️AD: Enumeración con credenciales: desde Linux
         * 👁️PowerView
         * ☁️AD: Enumeración con credenciales: desde Windows
         * ☁️AD: Enumeración nativa en Windows
     
      * ☄️Sniffing desde el Foothold
         * ☄️LLMNR/NBT-NS Poisoning - Desde Linux
         * ☄️LLMNR/NBT-NS Poisoning - Desde Windows
     
      * 🔫Password Spraying
         * 🔫AD: Políticas de contraseñas
         * 🔫AD: Crear lista de usuarios
         * 🔫Password Spraying Interno - Desde Linux
         * 🔫Password Spraying Interno - Desde Windows
     
      * 🐺Kerberos
         * ⚔️Hacking en Kerberos
         * ⚔️Kerberoasting desde Linux
         * ⚔️Kerberoasting desde Windows
         * 🗝️Acceso a Credenciales
         * 🗝️Volcado de LSASS y SAM
         * 🗝️Credenciales cacheadas
         * 🗝️Pass the Hash
         * 🪙Token Impersonation
         * 🎟️ASK-TGT
         * 🎫Golden y Silver Tickets
         * 🐺Kerberos "Double Hop"
     
      * 🦸‍♂️ACLs - Access Control Lists
         * 🦸‍♂️ACLs Vulnerables
         * 🦸‍♂️Enumeración de ACLs
         * 🦸‍♂️Tácticas de abuso de ACLs
     
      * 🔄DCSync
      * ⬆️Acceso Privilegiado
      * ❤️‍🩹Vulnerabilidades en AD
      * ⚙️Malas configuraciones en AD
      * 🤝Relaciones de confianza
         * 🤝Ataque de confianza de dominio - Desde Windows
         * 🤝Ataque de confianza de dominio - Desde Linux
         * 🤝Abuso de confianza entre bosques - Desde Windows
         * 🤝Abuso de confianza entre bosques - Desde Linux
     
      * ☁️Vulnerable AD
      * ⬇️SAM
      * 🔐LDAP
      * 🔐NTDS
      * 🔐NTLM/SMB Relay
      * 🩸BloodHound
      * 🛡️Hardening en AD
      * 💻Técnicas adicionales de auditoría en AD
      * 💻AD - Skills Assestment I
      * 💻AD - Skills Assestment II
 * Hacking en entornos reales
   * ☁️AWS - Amazon Web Services
   * ⚔️Hacking en AWS
 * Anonimato y privacidad
   * 👹Anonimato y Privacidad
      * 🔒VPN
      * 🔒Proxy
      * 🔒Red TOR
      * 🔒Zero Knowledge Services
 * Machine Learning en Hacking
   * 🧠Machine Learning
      * 🧠Batea
      * 💀Pesidious
 * Writeups
   * 🟢Hack the Box
      * 🔴Freelancer (WIP)
      * 🟠Blurry
      * 🟠Zipping
      * 🟠Hospital
      * 🟢GreenHorn
      * 🟢Sea (WIP)
      * 🟢PermX
      * 🟢Boardlight
      * 🟢Bizness
      * 🟢Broker
      * 🟢Devvortex
      * 🟢CozyHosting
      * 🟢Codify
      * 🟢Analytics
      * ⚫Report Model
   
   * 🌐Over The Wire
      * 🌐Bandit
      * 🌐Natas
   
   * 🐋Dockerlabs
      * 🟢Move
      * 🟠Inclusion
      * ⚫Big Pivoting (WIP)

Con tecnología de GitBook
En esta página
 * Inyecciones en el nombre del archivo
 * Divulgación de directorio de carga
 * Ataques específicos de Windows
 * Ataques avanzados de carga de archivos

¿Te fue útil?





⬆️OTROS ATAQUES DE CARGA

Además de las cargas de archivos arbitrarias y los ataques de carga de archivos
limitados, existen otras técnicas y ataques que vale la pena mencionar, ya que
pueden resultar útiles en algunas pruebas de penetración web o pruebas de
recompensas por errores. Analicemos algunas de estas técnicas y cuándo podemos
usarlas.

--------------------------------------------------------------------------------

INYECCIONES EN EL NOMBRE DEL ARCHIVO

Un ataque de carga de archivos común utiliza una cadena maliciosa para el nombre
del archivo cargado, que puede ejecutarse o procesarse si el nombre del archivo
cargado se muestra (es decir, se refleja) en la página. Podemos intentar
inyectar un comando en el nombre del archivo y, si la aplicación web utiliza el
nombre del archivo dentro de un comando del sistema operativo, puede provocar un
ataque de inyección de comandos.

Por ejemplo, si nombramos un archivo como file$(whoami).jpg o file`whoami`.jpg o
file.jpg||whoami, y luego la aplicación web intenta mover el archivo cargado con
un comando del sistema operativo (por ejemplo, mv file /tmp), entonces nuestro
nombre de archivo inyectaría el comando whoami, que se ejecutaría, lo que
provocaría la ejecución remota del código. Puede consultar el módulo Command
Injection para obtener más información.

De manera similar, podemos usar un payload XSS en el nombre del archivo (por
ejemplo, <script>alert(window.origin);</script>), que se ejecutaría en la
máquina del objetivo si se le muestra el nombre del archivo. También podemos
inyectar una consulta SQL en el nombre del archivo (por ejemplo,
file';select+sleep(5);--.jpg), lo que puede provocar una inyección SQL si el
nombre del archivo se usa de manera insegura en una consulta SQL.

--------------------------------------------------------------------------------

DIVULGACIÓN DE DIRECTORIO DE CARGA

En algunos formularios de carga de archivos, como un formulario de comentarios o
un formulario de envío, es posible que no tengamos acceso al enlace de nuestro
archivo cargado y que no conozcamos el directorio de cargas. En tales casos,
podemos utilizar fuzzing para buscar el directorio de cargas o incluso utilizar
otras vulnerabilidades (por ejemplo, LFI/XXE) para encontrar dónde están los
archivos cargados leyendo el código fuente de las aplicaciones web, como vimos
en la sección anterior.

Otro método que podemos utilizar para revelar el directorio de subidas es forzar
mensajes de error, ya que a menudo revelan información útil para una mayor
explotación. Un ataque que podemos utilizar para provocar este tipo de errores
es subir un archivo con un nombre que ya existe o enviar dos solicitudes
idénticas simultáneamente. Esto puede hacer que el servidor web muestre un error
que indique que no se pudo escribir el archivo, lo que puede revelar el
directorio de subidas. También podemos intentar subir un archivo con un nombre
demasiado largo (por ejemplo, 5000 caracteres). Si la aplicación web no gestiona
esto correctamente, también puede generar un error y revelar el directorio de
subidas.

De manera similar, podemos probar varias otras técnicas para provocar un error
en el servidor y revelar el directorio de cargas, junto con información útil
adicional.

--------------------------------------------------------------------------------

ATAQUES ESPECÍFICOS DE WINDOWS

También podemos utilizar algunas técnicas específicas de Windows en algunos de
los ataques que discutimos en las secciones anteriores.

Uno de estos ataques consiste en utilizar caracteres reservados, como ( |, <, >,
*o ?), que suelen estar reservados para usos especiales, como comodines. Si la
aplicación web no sanitiza correctamente estos nombres o los encierra entre
comillas, pueden hacer referencia a otro archivo (que puede no existir) y
provocar un error que revele el directorio de carga. De forma similar, podemos
utilizar nombres reservados de Windows para el nombre del archivo cargado, como
( CON, COM1, LPT1 o NUL), que también pueden provocar un error, ya que la
aplicación web no podrá escribir un archivo con este nombre.

Por último, podemos utilizar la convención de nombres de archivo de Windows 8.3
para sobrescribir archivos existentes o hacer referencia a archivos que no
existen. Las versiones anteriores de Windows estaban limitadas a una longitud
corta para los nombres de archivo, por lo que utilizaban un carácter de tilde
(~) para completar el nombre del archivo, lo que podemos utilizar a nuestro
favor.

Por ejemplo, para hacer referencia a un archivo llamado (hacker.txt) podemos
usar (HAC~1.TXT) o (HAC~2.TXT), donde el dígito representa el orden de los
archivos coincidentes que comienzan con (HAC). Como Windows aún admite esta
convención, podemos escribir un archivo llamado (por ejemplo WEB~.CONF) para
sobrescribir el archivo web.conf. De manera similar, podemos escribir un archivo
que reemplace archivos confidenciales del sistema. Este ataque puede llevar a
varios resultados, como causar divulgación de información a través de errores,
causar un DoS en el servidor back-end o incluso acceder a archivos privados.

--------------------------------------------------------------------------------

ATAQUES AVANZADOS DE CARGA DE ARCHIVOS

Además de todos los ataques que hemos analizado en este módulo, existen ataques
más avanzados que se pueden utilizar con las funcionalidades de carga de
archivos. Cualquier procesamiento automático que se realice en un archivo
cargado, como codificar un video, comprimir un archivo o cambiar el nombre de un
archivo, puede ser explotado si no se codifica de forma segura.

Algunas bibliotecas de uso común pueden tener vulnerabilidades públicas que
explotan este tipo de vulnerabilidades, como la vulnerabilidad de carga de
archivos AVI que genera XXE en ffmpeg. Sin embargo, cuando se trabaja con código
y bibliotecas personalizadas, detectar estas vulnerabilidades requiere
conocimientos y técnicas más avanzados, lo que puede llevar a descubrir una
vulnerabilidad de carga de archivos avanzada en algunas aplicaciones web.

Existen muchas otras vulnerabilidades avanzadas de carga de archivos que no
analizamos en este módulo. Intente leer algunos informes de Bug Bounty para
explorar vulnerabilidades más avanzadas de carga de archivos.



AnteriorCargas de archivos limitadasSiguientePrevención en carga de archivos

Última actualización hace 1 mes

Este sitio utiliza cookies para ofrecer sus servicios y para analizar el
tráfico. Al navegar este sitio, aceptas la política de privacidad.

AceptarRechazar