🛡️
Hello root
  • Sobre mi
  • Día 1 : Hardware y Software
  • Kali Linux y Virtualizacion
    • Virtualización
    • Cómo instalar Kali-Linux
    • Instalar Kali-linux en pendrive
  • Básicos de Linux
    • Usuarios y permisos en Linux. Primeros comandos
    • Challenge (reto_comandos)
    • Chuleta de comandos Linux
  • Programación (python)
    • Introducción a la programación
    • Python 1 | Variables, print() y funciones básicas
    • Python 2 | Listas y operadores
    • Python 3 | Bucles y funciones
    • Challenge (reto_python_server)
    • Python: Subnet and Host Capacity Calculator
  • Programación C#
    • Variables y condicionales
  • Bucles y colecciones
    • Ejercicio Bucles y colecciones
  • Métodos y funciones
    • Ejercicio math
  • C# Clases
  • Redes
    • Redes y topologías
    • Protocolos y tools
    • Comandos y servicios
  • Criptografía
    • Criptografia. Cifrado e Historia
  • Informes
    • T1043 - Exfiltración de Credenciales Mediante Protocolos de Red Inseguros
Powered by GitBook
On this page
  • User1
  • User 2
  • User 3
  • User 4
  • root
  1. Básicos de Linux

Challenge (reto_comandos)

PreviousUsuarios y permisos en Linux. Primeros comandosNextChuleta de comandos Linux

Last updated 22 days ago

User1

Luego de importar la máquina. Vamos a poner usuario y contraseña. Para ambos es user1

Luego deberiamos ver algo asi:

Recuerda que el password no se ve al escribir. Pero tu escribe, confía, y dale al enter

Ejecutamos clear para limpiar la consola.

Qué comando podemos correr para saber que usuario somos?

Respuesta

whoami

Y vemos el output 'user1'

Vamos a ver que hay dentro de la carpeta en la que estoy actualemente, para eso corremos que comando?

Respuesta

ls

Esto nos da un output como este:

Parece que hay un archivo que podemos leer.

Respuesta

cat

Entonces corremos

cat instrucciones.txt

Recordemos que al apretar el tabulador ↹ nos autocompleta. Entonces podemos correr el inicio del nombre del archivo, y luego darle al tabulador. Algo asi:

comando ins↹ y al darle al tabulador terminará de escribir por nosotros.

Al correr el comando vemos este output. Esto ya nos da un indicio. Hay mas usuarios!

Qué comando sirve para cambiar de usuario?

Respuesta

su que son las iniciales de 'switch user' en ingles. Y luego le pasamos el argumento del usuario al que queremos cambiar. En este caso, user5

Entonces el comando queda: su user5

Probamos cambiar a user5 pero claro. Esto no iba a ser tan fácil. Nos pide un password y por mas que probemos con user1 o user5 no funciona.

Vamos a ver donde estamos. Qué comando nos sirve para eso?

pwd

Ahora vemos que estamos en /home/user1

Podremos ir a la carpeta anterior en la herarquia? Como?

cd ..

Y ahora corremos de nuevo pwd y vemos que estamos en /home

Si miramos las carpetas que hay aqui con ls nos encontramos con muchas!

Vamos a entrar a user2 , a ver que nos encontramos.

cd user2

Que hay adentro? Pues ls

Deberiamos ver algo asi:

Que comando usamos antes para ver el contenido de instrucciones? cat pues lo mismo.

Le damos a cat + co + tabulador.

Cual es la contraseña que aparece?

Respuesta

Serán tan idio*** que es la contraseña del user2 lo que acabo de encontrar? Pues a probar!

Con que comando cambiamos de usuario?

Respuesta

su

Entonces para cambiar a usuario2 hacemos

su user2

Nos pide el password y ponemos lo que nos aparecio en el archivo!

Recuerda que al tipear el password no aparece en la consola. Confia, escribe el password y dale a enter.

Deberiamos hacer algo asi:

User 2

Ahora somos user2. Siguiendo esta lógica, donde al ser user1 pudimos entrar a user2 y encontrar el password ahi, podriamos hacer lo msimo no? Podriamos como user2 ir al folder de /user3. A lo mejor se dejaron el password ahi?

Corremos un ls para ver que hay dentro y vemos un archivo info.txt pero no tiene información muy útil. Habrá algo más? Como hago para ver archivos ocultos?

Respuesta

ls -a

Vemos algo asi: (estoy corriendo el comando de las dos maneras para que se vea que es el mismo resultado)

Output

Cómo recoocemos qué archivos son carpetas y cuales son otra cosa?

Respuesta

La d es de 'directory' y si tiene un - es otro tipo de archivos

Vale. Podriamos hacerle un cat a cada archivo a ver que nos da verdad? Pero soy muy vago. Hagamos algo más interesante. Se te ocurre algo?

Posible respuesta (hay muchas maneras)

grep . .* * | less Grep es un programa que basicamente busca texto y lo filtra con las reglas que vos pongas.

Entonces aca le estamos diciendo lo siguiente:

  • .* *: selecciona todos los archivos (ocultos y visibles).

  • grep .: busca líneas que tengan “algo” (el . significa "cualquier carácter").

Ademas de eso. Estamos usando pipe el simbolo es esta barra | que es para pasarle un resultado de un comando a otro comando. Pipe significa 'tuberia' literalmente es un tubo entre un comando y otro. Por ejemplo:

ls | grep txt

🧠 ¿Qué hace esto?

  1. ls lista todos los archivos del directorio.

  2. El | toma la salida de ls y se la pasa a grep como entrada.

  3. grep txt filtra y muestra solo los archivos que contienen "txt" en su nombre.

Si lo hacemos en la carpeta actual obtenemos esto:

Bien. Al correr el comando que pusimos arriba. Le estamos pasando el resultado de lo que grep nos encontro (osea que lea todo) a otro programa que se llama less este programa es para leer archivos largos y poder movernos. Entonces esto nos permite usar las flechas de arriba y abajo del teclado para movernos por el output de grep

Que pasa si ejecutas grep . .* * sin pasarlo a less?

Pues que es muy largo y no llegamos a ver las primeras lineas.

Viste esa linea? Ves el password? Cual es?

Respuesta

Y podemos ver que esta en el archivo .historial. Lo cual significa que podriamos haber corrido el comando cat .historial y eso nos habría dicho lo mismo. Solo que tendríamos que haber ido archivo por archivo para ver cuál era el password.

Para salir del programa less hay que apretar Q. Funciona parecido a vi/vim etc. Abajo de todo en la consola en vez de ver dos puntos titilando ya deberian ver su usuario, ubicacion y deberian poder volver a correr comandos. Como se ve en el siguiente gif

Probaste que pasa si en vez de less usamos more con pipe?

User 3

Al igual que antes. Cambiamos de usuario con su user3 y el password que obtuvimos.

Fijate como la console cambia de decir user2@ubuntu:/home/user3$ a decir user3@ubuntu:~$

Vale. Siguiendo la misma dinámica nos vamos a la carpeta del user4 !

cd .. y luego cd user4 o poniendo la ruta entera. Ya sabeis.

Vale. Ya estamos en la carpeta user 4. Que vemos cuando hacemos un ls ?

Muchos archivos. Y si le hacemos cat al que dice contraseña.txt.cpt ? que pasa?

Spoiler

Pues que la consola se vuelve loca y todos los caracteres y output estan encripadisimos

Para salir de esta situacion desesperante, escribe reset dale a enter y ya deberias estar bien de nuevo.

Vale. Por ahi no es. Vamos a probar con las instrucciones.

cat instrucciones.txt

Output

Vale. Pues tenemos que

Vamos a ver que tiene dentro token.txt

cat token.txt

Me dice permission denied. Ok. Y ahora? Cómo podemos saber quién puede ver ejecutar y demas este archivo?

Posible solución

ejecutamos ls -la y esto nos deja ver quién tiene accesos a token.txt

🧩 Desglose columna por columna:

Columna
Significado

-rw-rw----

Permisos del archivo (tipo y permisos para dueño, grupo, otros).

1

Número de links (cuántos nombres apuntan a este archivo).

user4

Dueño del archivo.

pokemon

Grupo al que pertenece el archivo.

12

Tamaño en bytes.

Sep 18 2020

Fecha de última modificación.

token.txt

Nombre del archivo.

Por lo que vemos. user4 es el dueño del archivo. Pero también pertenece al grupo pokemon

Y como puedo saber a que grupo pertenezco?

Posible respuesta

corremos groups

La salida es esta:

Cómo puedo saber quienes pertenecen al grupo pokemon ?

Posible solución

cat /etc/group

La salida es esta:

Es una salida larga. Podriamos pasarselo a more o less para leerlo mas tranquilos.

Pero para nuestra suerte la respuesta esta ahi. En esa linea

Al grupo pokemon pertenecen user2 y user4 user4 no tenemos el password. Pero user2 si!

Pues de nuevo switcheamos a user2 con su user2 y ponemos el password.

Ahora podemos ver el archivo! cat token.txt

Respuesta

Guardemos esas credenciales.

Ademas de guardar esas credenciales. Cambiemos a user3 de nuevo. su user3 y password de nuevo.

Un arhivo .sh es un ejecutable escrito en bash. Se ejecuta con ./elNombreDelArchivo.sh (siempre y cuando tengas permisos para hacerlo)

Intentamos correr el script y nos dice "Permission denied"

Si hacemos ls -la de nuevo, vemos lo siguiente:

El permiso -rwxrwx--- se descompone así:

  • - : es un archivo regular

  • rwx : permisos para el owner (lectura, escritura y ejecución) el owner es user4 pero nosotros somos user3 (recuerda que puedes correr whoami) para saberlo.

  • rwx : permisos para el grupo (lectura, escritura y ejecución)

  • --- : permisos para otros (ningún permiso)

Pero un momento. Yo soy user3 verdad? Y por qué no puedo ejecutarlo entonces?

Respuesta

Porque si bien, tenemos acceso para ejecutar dame_pass.sh (porque somos del grupo user3)

Si hacemos un cat a dame_ssh.sh podremos ver lo siguiente:

Fijate como el script usa al arhivo. contraseña.txt.cpt

Como podemos solucionar esto de que no tenemos permisos?

Posible solución

ejecutamos cp dame_pass.sh /home/user3 para copiar el script a la carpeta de user3

ejecutamos cp contraseña.txt.cpt /home/user3 para copiar la contraseña encriptada a nuestra carpeta user3

Si corremos ls -la podemos ver los arhivos en nuestra carpeta user3

Si lo comparamos con la carpeta de user4 vemos que el owner es otro.

Como nosotros somos los owners del arhivo, ahora si, podemos ejecutar lo anterior.

./dame_pass.sh instroducimos la clave que teniamos qwerty67890 y esto nos escupe el .ext sin encriptar. Le hacemos cat contraseña.txt y nos da el password.

Passsword

Hacele cat no seas floj@....

User 4

Al igual que antes. Hacemos su user4 y nos vamos a la carpeta del user 5!

Si vamos a la carpeta de user5 vemos un archivo exito.txt pero no nos deja verlo.

Vale. user5 es el owner del archivo exito.txt , además de que el grupo es user5 . Esto no nos ayuda, porque nosotros somos user4

Si te olvidas quién eres, busca en tu interior.. Ser o no ser... O correo el comando whoami

Veamos de nuevo los grupos.

Ok, es muy largo. Recuerdas como ver archivos largos? Porque me parece que no veo el principio del archivo....

Posible respuesta

Pasarle a less o more o cualquier editor/lector de texto, el output de cat /etc/group

Quedaria algo asi:

cat /etc/group | less

Y esto ya nos permite subir y bajar en el archivo para verlo entero.

Ahora que vemos todo el archivo:

Lo ves? Estas viendo lo mismo que yo?

A ver te ayudo:

Lo ves?

Soy cieguito necesito más ayuda

Nuestro querido user4 pertenece al grupo de sudo !

Se te ocurre otra manera de saber esto?

Respuesta

Corriendo el comando groups puedes ver a qué grupos perteneces

Entonces. Si nosotros somos user4 ... Y user4 pertenece a sudo... Qué podemos hacer???

Respuesta

Correr sudo su poner el password de user4 que ya la sabemos y ya está!

Somos root

No Grooooot.

root

Pues ahora vamos a la carpeta de user5 y veamos si podemos ver el contenido!

Le hacemos un cat y ya está! ahi tenemos el contenido!

Que la terminal siempre esté de tu lado

Qué comando podemos correr para ver el contenido del archivo?

Corremos cd /home/user3 o también puedes ir para atras con cd .. y luedo cd user3 como prefieras. En fin, que ya estamos en la carpeta user 3. No nos confudamos la carpeta, que se llama user 3 con el usuario user3. Aun no somos el usuario3, simplemente estamos en su carpeta.

Y podriamos verlo en formato lista asi que podemos hacer ls -la o ls -l -a Es lo mismo combinar parameteros como -la o ponerlos por separado -l -a

Por la primera letra.

Si vamas bajando por el arhivo suavemente con las teclas. Encontraremos algo interesante.

El password es Psyduck54

No pertenecemos a pokemon

Por lo que decían las tenemos que ejecutar el .sh con ese token que nos dieron

No tenemos accessos suficientes para el archivo contraseña.txt.cpt que esta siento usado dentro del script dame_pass.sh

Copiando los archivos a un directorio dodne si tenemos permisos.

A ver, hagamos un ls -la quién tendrá permisos?

cat /etc/group

Ahora somos

Nuevo hechizo malicioso aprendido

🤔
⚠️
⚠️
❌
🤔
🧙
instrucciones