HackMyVm #Venus — Bash Practica (nivel principiante)
- yccyyc9
- 15 ene
- 5 Min. de lectura
Ejercicios prácticos resueltos y explicados para mejorar las habilidades de Bash.

Es recomendable que conozcas los comandos básicos de Linux antes de proceder con este blog. Si aún no los conoces, te invito a darle un vistazo en mi blog "Linux — Comandos esenciales"
Aún así no te preocupes, trataré de explicar todo al detalle al inicio, y mientras más avancemos iré disminuyendo progresivamente las explicaciones para que puedas ir practicando y recordando lo visto para aprender mejor.
HackMyVm #Venus

Ahora sí, comenzamos!
En primer lugar accede a la web de Hackmyvm:
Crea un usuario y accede a “HMVLabs” y selecciona “Chapter 1: Venus”.
Una vez allí verás los datos para acceder:
Host: venus.hackmyvm.euPort: 5000User: hackerPass: havefun!Procede a abrir una terminal y en ella introducir los datos proporcionados.
Establece una conexión por SSH con el servidor ubicado en la dirección “venus.hackmyvm.eu”, e introduce el nombre de usuario “hacker”, para el puerto 5000.
ssh hacker@venus.hackmyvm.eu -p 5000Introduce la contraseña “havefun!”.
MISSION #1
Una vez hayas accedido haz un listado para ver que cositas nos trae el ejercicio:
hacker@venus:~$ lsmission.txt readme.txtPuedes leer la documentación en “readme.txt” si lo deseas. Por otro lado, la misión a realizar la tienes en “mission.txt”.
Para leer el contenido de la misión:
cat mission.txt
Presta especial atención a los enunciados!
Como puedes ver en este reto se especifica que la contraseña está en un fichero oculto. Recuerda que los ficheros ocultos comienzan con un punto “.”.
Pero ahora, cómo podías listar los ficheros ocultos?
En esta ocasión te dejo 2 formas de hacerlo:
ls -als -la
Como puedes ver ls -a hace que muestre todos los archivos incluyendo los ocultos. Por otro lado, ls -la es similar, pero nos da una información más detallada.
En este punto, aquí por lógica es probable que el archivo que contenga la pass sea “.myhiddenpazz”. Entonces para acceder al contenido del archivo:
cat .myhiddenpazzAhora copia el string que te ha salido al acceder al archivo y procede a acceder al usuario Sophia con:
su sophiaPega el string copiado anteriormente a continuación (ese mismo será su pass).
Una vez que hayas accedido a la usuaria Sophia, vuelve hacía atrás dónde tienes los archivos iniciales para conseguir la Flag:
cdAhora vuelve a listar:
lsAccede al archivo “flags.txt”
cat flags.txtFelicidades, ya tienes la Flag!
-“Mantendré la Flag oculta en este blog para que puedas hacerlo por ti mism@ y no dar la respuesta por hecha.”
Ahora vuelve a la pagina hackmyvm, y dirígete hacía el apartado “Flags”, y pega la Flag obtenida. Te debería salir lo siguiente:

Muy bien! Siguiente misión…
MISSION #2
Para seguir puedes hacer nuevamente “ls” para ver los archivos si no recuerdas el nombre, o acceder directamente:
cat mission.txt## ES ##
La usuaria angela ha guardado su password en un fichero pero no recuerda donde… solo recuerda que el fichero se llamaba whereismypazz.txt
Entonces cómo podríamos hacer para buscar el fichero por todo el sistema sin saber dónde está?
Para ello tenemos este comando, que lo que hará es buscar en todo el sistema de archivos comenzando desde la raíz y especificando el nombre del archivo que estamos buscando:
find / -name "whereismypazz.txt"Pero aquí hay un problema, y es que no soy Root, y por ende, saltan errores de permisos denegados:

Pero no te preocupes, existe fácil solución!
find / -name "whereismypazz.txt" 2>/dev/nullEl número “2” está asignado específicamente a los mensajes de error estándar en la terminal.
/dev/null se utiliza para descartar datos. Todo lo que se envía allí se descarta y no se muestra en la pantalla ni se guarda. Es cómo si fuera un agujero negro.
En conjunto 2>/dev/null es como decir “si hay algún mensaje de error, ignóralo y tíralo a la basura para que no salga en la pantalla”
Muy bien! Una vez lo tengas, ya debería salirte:
sophia@venus:~$ find / -name “whereismypazz.txt” 2>/dev/null/usr/share/whereismypazz.txtAhora simplemente accede:
cat /usr/share/whereismypazz.txtAquí ya te debería de salir la pass de Angela. Ahora simplemente vuelve a repetir el proceso anterior accediendo a Angela con “su”, e introduce su pass, busca la Flag y pégala en la web!
Felicidades!
MISSION #3
Nuevamente repite el proceso, accede a la misión.
## ES ##La password de la usuaria emma esta en la linea 4069 del fichero findme.txt
En este caso al hacer un “ls” y acceder al archivo “findme.txt” con un “cat”, surgirá un problemita:

Como verás, esta es una lista casi interminable, por lo que es imposible encontrar la línea 4069. Bueno, tampoco es imposible a no ser que quieras perder tu valiosa y hermosa vida contando línea por línea. Pero por suerte este no será tu caso, hagamoslo mejor:
cat findme.txt | awk 'NR==4069'“|”: Para pasar la salida de un comando como entrada a otro comando
“awk”: Para procesar y manipular texto
“NR==4069”: Seleccionará solo la línea número 4069 de la entrada que recibe
Sería cómo decir “lee el contenido del archivo findme.txt, y luego utiliza “awk” para seleccionar y mostrar únicamente la línea número 4069 de ese contenido”
Muy bien! Ya te debería salir la pass. Ahora vuelve a repetir el proceso de siempre, y pega la Flag en la web.
MISSION #4
## ES ##
La usuaria mia ha dejado su password en el fichero -.
Este ejercicio es similar al anterior ya que no sabemos donde se encuentra este fichero. Entonces para ello vamos a volver a hacer uso de “find” para buscar por todo el sistema. Pero esta vez incluiremos:
“.”: Para buscar desde el directorio actual en el que nos encontramos
“-type f”: Para buscar un tipo de elemento. En este caso archivos regulares. Los archivos regulares son simplemente archivos de datos común. Es decir, archivos de cualquier tipo, como imagenes, texto, ejecutables, etc.
Luego, nuevamente, haremos que se descarten los errores en pantalla.
emma@venus:~$ find . -type f 2>/dev/null./.bash_logout./.bashrc./-./flagz.txt./mission.txt./.profileemma@venus:~$ cat ./-Una vez obtenida la ruta, accedemos con “cat”, y volvemos a repetir el proceso de acceder a la usuaria y conseguir la Flag.
MISSION #5
## ES ##
Parece que la usuaria camila ha dejado su password dentro de una carpeta llamada hereiam
Entonces, volvemos a repetir el proceso de buscar en todo el sistema y omitiendo los errores en pantalla.
Esta vez, le vamos a decir que busque por nombre “hereiam”, y que sea de tipo directorio “-type d”.
mia@venus:~$ find / -name "hereiam" -type d 2>/dev/null/opt/hereiamMuy bien, ya tenemos la ruta!
Vamos a proceder a listar lo que hay dentro del directorio.
En este caso “ls -A” hace que se listen todos los archivos y directorios ocultos, pero sin mostrar detalles como permisos, propietario, etc.
ls -A /opt/hereiammia@venus:~$ ls -A /opt/hereiam/.hereY aquí tenemos el archivo “.here” dentro del directorio!
Procede a ver que hay dentro:
cat /opt/hereiam/.hereUna vez más, ¡felicidades!



Comentarios