Solución De-ICE_S1.100

Requesitos Previos

Configuración del router

Al iniciar con el taller, me topé con el problema, el cual me demandó mucho tiempo investigar. El mismo fue que la VM tenia una IP fija, la cual es 192.168.1.100 y mi router estaba configurado para asignar IPs con el rango 192.168.0.X, por lo que me tocó configurar previamente el router con el rango 192.168.1.X para que le asignara la IP correcta a la maquina virtual.

Encontrar la IP de la VM
Para poder encontrar la IP de la máquina virtual, utilicé NMAP y así poder mapear toda la red.

El parámetro que utilicé fue: nmap -sP 192.168.1.1-255

Como se puede ver en el screenshot, la IP de la maquina virtual es: 192.168.1.100

Fortalezas del sistema

ping
Una de las fortalezas de esta máquina virtual, es que no resuelve los ping que se hagan a la IP 192.168.1.100, lo cual permite despistar a los atacantes, e incluso detener algunos tipos de DoS del tipo ICMP que se hagan a la maquina virtual.

FTP
Otra fortaleza de la plataforma, es que a pesar de estar abierto el puerto 21 del FTP, este no es vulnerable, por lo cual no se puede acceder por ese medio ni explotarlo.

Usuarios
Los usuarios no tiene privilegios de root. Además genera un reporte con el incidente al intentar elevar privilegio con un usuario que no tiene permisos para ello.

Recolección de información

enumeración de puertos y servicios
El primer paso realizado fue recolectar información de los puertos abiertos, servicios corriendo en cada puerto y sus versiones. Para ello utilicé NMAP con los siguientes parámetros:

nmap -sV -O 192.168.1.100

Con el cual obtuve la siguiente información:

Vi puertos que se podrían explotar como el 21 de FTP, 22 con el SSH y vi que el puerto 80 estaba abierto, el cual me sirvió para saber si tiene página web.

 

Website

Al ingresar a http://192.168.1.100 me topé con el sitio web de la máquina virtual.

Además noté que tiene algunas secciones más como las siguientes:

http://192.168.1.100/level.php

http://192.168.1.100/copyright.txt

http://192.168.1.100/index2.php

Esta última me llamó la atención ya que poseía varios mails y nombres de personas. En la mayoría de los casos, se pueden utilizar esos mismos nombres o mails como credenciales para ingresar al ssh o ftp en este caso, ya que los puertos de esos servicios estaban abiertos.

Pentesting

SSH
Al tener el puerto del SSH abierto, se puede intentar ingresar por ese medio

Solo resta averiguar usuarios y contraseñas. Para ello, crearé un diccionario con los nombres y correos electrónicos que aparecen en la página web y también combinaré sus nombres y apellidos intentando lograr credenciales válidas.

En total logré 71 combinaciones utilizando nombres, apellidos y mail. El paso siguiente es hacer un bruteforce usando esta lista para obtener el usuario y contraseña del SSH.

Para realizar el ataque, utilizare la herramienta ncrack, la cual es una tool desarrollada por la misma empresa que el NMAP.

ncrack -p 22 -U pass.txt -P pass.txt 192.168.1.100

En el archivo pass.txt tengo el listado o diccionario que cree con las combinaciones mencionadas anteriormente.

Después de unos minutos, la herramienta arrojó usuario y contraseña.

User: bbanter

Pass: bbanter

Al probarlo con el SSH de la maquina virtual, podemos ver que logramos ingresar.

Si volvemos a la maquina virtual y probamos las mismas credenciales, podremos ver que también podremos ingresar

Al intentar entrar a la carpeta FTP, me topé con que el usuario bbanter no tiene permisos

Por lo que intentaré loguearme como root colocando sudo su

Tampoco me deja entrar al /etc/shadow

Al no dejarme, voy a intentar romper alguno de los otros usuarios (aadams – ccoffee) para ver si alguno de ellos tiene mas privilegios.

 

Elevación de privilegios

Para ello volveré a usar ncrack, pero esta vez utilizando otro diccionario más extenso, ya que la última vez no salió. El diccionario que utilizaré será el famoso rockyou.txt

(http://scrapmaker.com/data/wordlists/dictionaries/rockyou.txt)

ncrack -p 22 –user ccoffee -P rockyou.txt 192.168.1.100

ncrack -p 22 –user aadams -P rockyou.txt 192.168.1.100

Como se puede ver en la captura, se pudo obtener la contraseña del usuario aadams. Nuevamente procederemos a probar si este usuario tiene privilegios en la plataforma.

Al probarla en el servidor, no tiene privilegios de root, pero si puede entrar al fichero /etc/shadow en donde se encontraba el usuario root con la contraseña hasheada.

root:$1$TOi0HE5n$j3obHaAlUdMbHQnJ4Y5Dq0:13553:0:::::

Romper pass de root

Utilizando John The Ripper y un diccionario, podemos probar si se puede obtener la password. Utilizaré el mismo diccionario rockyou.txt para hacer la prueba.

john.exe -wordlist:..\..\rockyou.txt ..\..\root.txt

Con esto hemos obtenido el user y pass de root

Usuario: root

Pass: tarot

Ahora si probaremos elevar privilegios. Para ello colocamos su nuevamente con el usuario aadams y ponemos la password que hemos obtenido.

Desencriptar CSV

Al ingresar ahora a la carpeta /home/ftp me he topado con un archivo de salarios encriptado. Para poderlo descargar, simplemente puedo copiarlo al directorio del sitio web /var/www/htdocs y descargarlo con el navegador.

Una vez descargado, trataremos de romper el cifrado. Existen muchos tipos de cifrado, y tras probar con varios, logré dar con el correcto, el cual es aes128.

En una consola tecleamos openssl y dentro colocamos lo siguiente

enc -d -aes128 -in salary_dec2003.csv.enc -pass pass:tarot -out salario.txt

Esto generará un archivo llamado salario.txt con toda la información de ese CSV. Ahora solo resta abrirlo con exel para ver la información obtenida:

Como se puede ver en la imagen, se han obtenido los salarios de varias personas a pesar de haber estado encriptado.

Website

Además de esto, la página web también puede ser editada o eliminada.

Autor: ANTRAX

Posts Relacionados

Share on:

3 thoughts on “Solución De-ICE_S1.100”

  1. saludos, tengo algunas dudas en el ctf asi que no puedo terminarlo 🙁
    1º:
    No me sale la contraseña con ncrack.
    -despues del comando: ncrack -p 22 -U pass.txt -P pass.txt 192.168.1.100
    me dice:
    Starting Ncrack 0.5 ( http://ncrack.org ) at 2017-04-23 01:14 CEST

    Ncrack done: 1 service scanned in 98.99 seconds.
    Ncrack finished.

    ¡y ya esta! (sé que la contraseñaesta ahi, en el diccionario)

    no me funciona el john the ripper.
    -despues de: john -wordlist:..\..\/root/Escritorio/diccionarios/rockyou.txt ..\..\root.txt
    me dice:
    stat: ….root.txt: No such file or directory
    y si hay un archivo root.txt en la carpeta root de mi kali

    no se como descargar el archivo de los salarios :,C
    gracias.

    1. Hola As de Picas.
      Paso a responderte tus preguntas.
      1.- Estas seguro de que tienes la pass “bbanter” en tu diccionario? Revisalo bien, porque te lo debería mostrar como muestro en la captura
      2.- Eso es porque le estas dando mal el path del archivo root.txt En mi caso no lo tengo en el root, yo usé Windows para realizar el taller. Vos deberías poner algo como /root.txt
      3.- Debes moverlo al htdocs como explico en el taller y luego lo descargas asi: 192.168.0.100/salarios….csv y te lo descargará el browser

      Saludos!
      ANTRAX

      1. el “bbanter” esta pero no me sale :/
        he probado el john de todas las formas posibles, incluso con comillas y me sigue sin funcionar :0
        y… consegui descargar el archivo!
        muchas gracias y si alguien tiene el mismo problema que yo en lo otro por favor, que puedo hacer?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *