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
  • NIVEL 6
  • NIVEL 7
  • NIVEL 8
  • NIVEL 9
  • NIVEL 10
  • NIVEL 11

Was this helpful?

  1. WRITEUPS
  2. OverTheWire
  3. Natas

Nivel 6-11

PreviousNivel 0-5NextNivel 12-17

Last updated 9 months ago

Was this helpful?

NIVEL 6

Ingresamos las credenciales para el nivel 6.

  • Usuario: natas6

  • Contraseña: 0RoJwHdSKWFTYR5WuiAewauSuNaBXned

Tras iniciar sesión, nos encontramos con la página de inicio del Nivel 6. El mensaje indica que hay que ingresar una clave secreta. Por lo que también indagaremos por el código fuente.

Parece que el PHP está incluyendo un enlace a un archivo almacenado en la página web /includes/secret.inc. Vamos a añadir eso al final de nuestra URL, de la siguiente manera: http://natas6.natas.labs.overthewire.org/includes/secret.inc. Deberíamos llegar a una página en blanco, así que veamos el código fuente de la página.

Otro script PHP, con el código secreto que necesitamos. Volvamos a la página de inicio para introducirlo.

NIVEL 7

Ingresamos las credenciales para el nivel 7.

  • Usuario: natas7

  • Contraseña: bmg8SvU1LizuWjx3y7xkNERkHxGre0GS

Tras iniciar sesión, nos encontramos con la página de inicio del Nivel 7. Nos encontramos que hay dos apartados Home y About pero cuando se pulsa en ellos no se ve nada por lo que indagaremos en el código fuente.

El comentario en HTML sugiere que podemos obtener la contraseña desde el archivo etc/natas_webpass/natas8. Basándonos en esta pista, parece que estamos tratando con un Ataque de Traversal de Directorios.

Cuando hacemos clic en Home, la URL debería ser http://natas7.natas.labs.overthewire.org/index.php?page=home. Vamos a reemplazar "home" con /etc/natas_webpass/natas8. La URL final debería ser: http://natas7.natas.labs.overthewire.org/index.php?page=/etc/natas_webpass/natas8.

NIVEL 8

Ingresamos las credenciales para el nivel 8.

  • Usuario: natas8

  • Contraseña: xcoXLmzMkoIP9D7hlgPlh9XD7OgLAe5Q

Tras iniciar sesión, nos encontramos con la página de inicio del Nivel 8. El mensaje indica que hay que ingresar una clave secreta. Por lo que también indagaremos por el código fuente.

Parece que el código secreto que necesitamos está encriptado. Al revisar el código PHP, vemos que el "secreto" ingresado se convierte de binario a hexadecimal, se invierte y luego se codifica en base64.

Para obtener el "secreto", debemos realizar el proceso inverso. Empecemos abriendo la consola e iniciando PHP con el comando php -a. Luego, descodificamos la cadena en base64, revertimos el contenido y convertimos el hexadecimal de nuevo a binario para obtener la clave secreta.

Tras obtener el "secreto" desencriptado lo ingresamos en la página inicial del nivel.

NIVEL 9

Ingresamos las credenciales para el nivel 9.

  • Usuario: natas9

  • Contraseña: ZE1ck82lmdGIoErlhQgWND6j2Wzz6b6t

Tras iniciar sesión, nos encontramos con la página de inicio del Nivel 9. Nos aparece un buscador de palabras que tengamos en nuestra entrada por lo que miramos el código fuente para más información.

En el script PHP, la forma en que se utiliza la palabra “key” sugiere que podríamos insertar código arbitrario. A continuación, te explico cómo:

  1. Ejemplo de Comando: Si introducimos la palabra “password”, el comando passthru en el script PHP se ejecutará como:

    grep -i password dictionary.txt

    Dado que la clave se encapsula entre comillas y no hay filtrado de entrada, podemos insertar caracteres especiales.

  2. Inyección de Comando: Podemos aprovechar el separador de comandos ; para ejecutar múltiples comandos en una sola línea. Además, podemos usar el símbolo # para comentar el resto de la línea.

    Por ejemplo, si introducimos el siguiente texto en el campo de entrada:

    ; cat /etc/natas_webpass/natas10 #

    El comando passthru se ejecutará de la siguiente manera:

    grep -i ; cat /etc/natas_webpass/natas10 #

    Aquí, el símbolo # comentará el resto del texto después de cat /etc/natas_webpass/natas10, eliminando el archivo dictionary.txt de la ejecución.

NIVEL 10

Ingresamos las credenciales para el nivel 10.

  • Usuario: natas10

  • Contraseña: t7I5VHvpa14sJTUGV0cbEsbYfFP2dmOu

Tras iniciar sesión, nos encontramos con la página de inicio del Nivel 10. Nos aparece un buscador de palabras pero filtrando ciertos caracteres por razones de seguridad que tengamos en nuestra entrada por lo que miramos el código fuente para más información.

Parece que el script es el mismo que en el nivel 9, pero esta vez están filtrando los comandos ; y &.

Sin embargo, aún no han corregido cómo el script maneja la entrada para “key”. Por lo tanto, podemos explotar esta vulnerabilidad de manera similar a como lo hicimos en el nivel 9, pero en lugar de usar comandos, usaremos expresiones regulares.

Para ello, podemos ingresar la siguiente entrada en el campo de consulta:

.* /etc/natas_webpass/natas11 #

Explicación:

  • .*: Este patrón indica a grep que coincida con cualquier secuencia de caracteres, ignorando mayúsculas y minúsculas.

  • /etc/natas_webpass/natas11: Este es el archivo que queremos leer.

  • #: Este símbolo comenta el resto del comando, asegurando que dictionary.txt no se procese, evitando errores.

Así, el comando passthru se ejecutará como:

grep -i .* /etc/natas_webpass/natas11 #

Esto permite que grep lea el contenido de /etc/natas_webpass/natas11 mientras ignora dictionary.txt.

NIVEL 11

Ingresamos las credenciales para el nivel 11.

  • Usuario: natas11

  • Contraseña: UJdqkK1pTu6VLt9UHWAgRZz6sVUZ3lEk

Tras iniciar sesión, nos encontramos con la página de inicio del Nivel 11. Al parecer se nos muestra un mensaje en la que las cookies andan encriptadas por lo que veremos el código fuente para mas información.

Parece que las cookies están protegidas con cifrado XOR. Vamos a obtener la cookie cifrada con XOR que está utilizando el sitio. Iniciamos Burp Suite, intercepta el paquete y deberías obtener lo siguiente:

Si conoces cómo funciona un cifrado XOR, recordarás que se cumple la relación: A XOR B = C.

En este caso, sería: Datos_Originales XOR CLAVE = Datos_Cifrados.

Para obtener la clave, hacemos lo siguiente: Datos_Originales XOR Datos_Cifrados = CLAVE, dado que ya contamos con los Datos_Originales y los Datos_Cifrados.

Vamos a usar PHP y escribir el siguiente script para descifrar la clave.

El script anterior se ha diseñado utilizando la función xor_encrypt() del código original. Hemos configurado la cookie (después de decodificarla desde base64) como texto sin formato, y hemos usado como clave la versión codificada en JSON de la matriz predeterminada que ya conocemos.

Dado que estamos trabajando con dos valores ya conocidos, la salida de la función debe revelar la clave utilizada en el cifrado. Como se mencionó anteriormente, debido a que la clave es más corta que el texto sin formato, se repite. A partir de esto, podemos deducir que la clave es eDWo.

Al conocer la clave utilizada en este cifrado, podemos crear una nueva matriz, cifrarla con la misma clave y obtener un resultado que siga siendo válido. En este caso, nuestro objetivo es modificar la matriz original, cambiando el valor de showpassword a yes, luego cifrarla de la misma manera para generar una nueva cookie válida.

Esto generará la siguiente cadena: HmYkBwozJw4WNyAAFyB1VUc9MhxHaHUNAic4Awo2dVVHZzEJAyIxCUc5, que es la versión codificada del array modificado. El siguiente paso es configurar esta cadena como una nueva cookie.

Para hacerlo, accede al sitio web del desafío, abre la consola de herramientas para desarrolladores y escribe el siguiente comando:

document.cookie = "data=HmYkBwozJw4WNyAAFyB1VUc9MhxHaHUNAic4Awo2dVVHZzEJAyIxCUc5";

Esto establecerá la nueva cookie, y al actualizar la página, deberías ver el resultado esperado.