Cyber
TryHackMe
TryHackMe
  • crack the hash
  • Juice Shop
  • MrRobot CTF
  • Ninja Skills
  • Basic Pen Testing
  • bank_ctf
  • blaster
  • OWASP TOP 10
  • eternalblue
  • ice
  • easypeasy
  • pentesting completo
  • kenobi
  • Overpass
  • OWASP ZAP
  • Post Explotacion
  • Relevant
  • RootCTF
  • Stealth
  • Uso de SILK
  • Wreath
  • Clocky
  • Wifi Hacking 101
  • SQLMap
  • Kitty
  • Opacity
  • Bricks Heist
  • Carnage
  • Snort
  • Daily Bugle
  • Creative
  • CyberLens
  • Insecure Deserialisation
Powered by GitBook
On this page

ice

PreviouseternalblueNexteasypeasy

Last updated 1 year ago

TRYHACKME – ICE

INDICE

TASK 2 PAG 2-4

TASK 3 PAG 5-8

TASK 4 PAG 9-13

TASK 5 PAG 14-17

TASK 6 PAG 17-20

CONCLUSION PAG 21

TASK 2

Una vez que se complete el escaneo, veremos varios puertos interesantes abiertos en esta máquina. Como habrás adivinado, el firewall se ha desactivado (con el servicio completamente apagado), dejando muy poco para proteger esta máquina. Uno de los puertos más interesantes que está abierto es Microsoft Remote Desktop (MSRDP). ¿En qué puerto está abierto?

R: 3389

Aunque a primera vista parece que el puerto correspondiente al msrpc es el 135 , es el 3389 el puerto donde escucha dicho servicio

¿Qué servicio identificó nmap como ejecutándose en el puerto 8000? (Primera palabra de este servicio)

R: Icecast

Para que nos diga que esta corriendo realmente en el puerto 8000 debemos hacer un nmap con -sV

¿Qué identifica Nmap como el nombre de host de la máquina? (Todas las mayúsculas para la respuesta)

R: DARK-PC

Sera necesario utilizar el argumento –sC en el nmap para que nos muestre el hostname

TASK 3

Ahora que hemos identificado algunos servicios interesantes que se ejecutan en nuestra máquina de destino, investiguemos un poco sobre uno de los servicios más extraños identificados: Icecast. Icecast, o al menos esta versión que se ejecuta en nuestro objetivo, tiene muchos fallos y una vulnerabilidad de alto nivel con una puntuación de 7,5 (7,4 dependiendo de dónde lo veas). ¿Qué tipo de vulnerabilidad es? Utilice https://www.cvedetails.com para esta pregunta y la siguiente.

R: Execute code overflow

Como podemos ver en la web los tags de la vulnerabilidad son : execute code y overflow

¿Cuál es el número CVE para esta vulnerabilidad? Esto estará en el formato: CVE-0000-0000

R: CVE-2004-1561

Después de que Metasploit haya comenzado, busquemos nuestro exploit objetivo usando el comando 'buscar icecast'. ¿Cuál es la ruta completa (comenzando con exploit) para el módulo de explotación? También se hace referencia a este módulo en 'RP: Metasploit', que se recomienda completar antes de esta sala, aunque no es del todo necesario.

R: exploit/windows/http/icecast_header

Lo primero será ejecutar metaxploit:

Lo siguiente será buscar exploits que exploten el servicio de icecast:

Y ya tendríamos la ruta del exploit.

Lo siguiente será acceder al modulo del exploit utilizando el comando “use icecast”

Después de seleccionar nuestro módulo, ahora tenemos que verificar qué opciones tenemos para configurar. Ejecute el comando `mostrar opciones`. ¿Cuál es la única configuración requerida que actualmente está en blanco?

R: rhosts

Como podemos ver tras el argumento RHOST se espera la ip del objetivo que en este caso esta en blanco

Visto esto , vamos a configurar tanto la ip del equipo a atacar (la maquina de tryhackme, RHOTS) como la ip del equipo nuestro (ip de la maquina kali , LHOST)

Como podemos ver al hacer un show options vemos que nuestro exploit ha quedado configurado correctamente:

TASK 4

¡Guau! ¡Hemos logrado afianzarnos en nuestra máquina víctima! ¿Cómo se llama el Shell que tenemos ahora?

R: meterpreter

¿Qué usuario estaba ejecutando ese proceso Icecast? Los comandos utilizados en esta pregunta y las siguientes se toman directamente de la sala 'RP: Metasploit'.

R: Dark

¿Qué versión de Windows es el sistema?

R: 7601

Ahora que conocemos algunos de los detalles más finos del sistema con el que estamos trabajando, comencemos a aumentar nuestros privilegios. Primero, ¿cuál es la arquitectura del proceso que estamos ejecutando?

R: x64

Ahora que conocemos la arquitectura del proceso, realicemos un reconocimiento más profundo. Si bien esto no funciona mejor en máquinas x64, ejecutemos ahora el siguiente comando `run post/multi/recon/local_exploit_sugester`. *Puede parecer que esto se bloquea mientras prueba los exploits y puede tardar varios minutos en completarse*:

Este comando se ejecuta para hacer una búsqueda de los exploit que son explotables en la maquina.

La ejecución del sugeridor de exploits local arrojará bastantes resultados para potenciales exploits de escalada. ¿Cuál es la ruta completa (comenzando con exploit/) para el primer exploit devuelto?

R: exploit/windows/local/bypassuac_eventvwr

Ahora que tenemos un exploit en mente para elevar nuestros privilegios, pongamos en segundo plano nuestra sesión actual usando el comando "background" o "CTRL + z". Tome nota del número de sesión que tenemos, probablemente será 1 en este caso. Podemos enumerar todas nuestras sesiones activas usando el comando `sessions` cuando estamos fuera del shell de meterpreter.

Como podemos ver al hacer background dejamos la sesión en stand by y vemos que neustro numero de la sesión es el 1.

Ahora lo que haremos será ejecutar con el comando use + ruta del exploit que queramos y estaremos dentro del exploit.

Lo siguiente será decir que numero de sesión se utilizara en nuestro caso la 1.

Y por ultimo configuramos el LHOST con la ip de nuestro equipo y acto seguido lo ejecutaremos.

Ahora que hemos configurado nuestro número de sesión, se revelarán más opciones en el menú de opciones. Tendremos que configurar uno más ya que nuestra IP de escucha no es correcta. ¿Cómo se llama esta opción?

R: LHOST

Lo corremos con run una vez que estamos dentoro del exploit y con el bien configurado:

Ahora podemos verificar que tenemos permisos ampliados usando el comando `getprivs`. ¿Qué permiso enumerado nos permite tomar posesión de los archivos?

R: SeTakeOwnershipPrivilege

TASK 5

Antes de continuar con la acción, debemos pasar a un proceso que realmente tenga los permisos que necesitamos para interactuar con el servicio lsass, el servicio responsable de la autenticación dentro de Windows. Primero, enumeremos los procesos usando el comando `ps`. Tenga en cuenta que podemos ver procesos ejecutados por NT AUTHORITY\SYSTEM ya que hemos escalado permisos (aunque nuestro proceso no los tenga):

`

Para interactuar con lsass necesitamos "vivir en" un proceso que tenga la misma arquitectura que el servicio lsass (x64 en el caso de esta máquina) y un proceso que tenga los mismos permisos que lsass. ¡El servicio de cola de impresión satisface perfectamente nuestras necesidades para esto y se reiniciará si fallamos! ¿Cómo se llama el servicio de impresión?

En esta pregunta se menciona el término "vivir en" un proceso. A menudo, cuando tomamos el control de un programa en ejecución, finalmente cargamos otra biblioteca compartida en el programa (una dll) que incluye nuestro código malicioso. A partir de esto, podemos generar un nuevo hilo que aloje nuestro shell.

R: spoolsv.exe

Este servicio lo he sacado por la experiencia anterior que ya traía de Windows en el que ya sabia que el servicio de la impresora se llamaba spoolsv

Ahora lo que haremos será migrarnos a este proceso

Comprobemos qué usuario somos ahora con el comando `getuid`. ¿Qué usuario aparece en la lista?

R: NT AUTHORITY\SYSTEM

Ahora utilizaremos un crackeador de contraseñas llamado kiwi:

Tras cargar el kiwi vamos a ver que comandos trae mediante la ayuda:

¿Qué comando permite recuperar todas las credenciales?

R: creds_all

Ejecute este comando ahora. ¿Cuál es la contraseña de Dark? Mimikatz nos permite robar esta contraseña de la memoria incluso sin que el usuario 'Dark' haya iniciado sesión, ya que hay una tarea programada que ejecuta Icecast como el usuario 'Dark'. También ayuda que Windows Defender no se esté ejecutando en el cuadro;) (Eche un vistazo nuevamente a la lista de ps, este cuadro no está en la mejor forma con el firewall y el defensor deshabilitados)

R: Password01!

TASK 6

Vamos a seguir trbajando con la ayuda del Shell de meterpreter:

¿Qué comando nos permite volcar todos los hashes de contraseñas almacenados en el sistema? En este caso, no descifraremos la contraseña administrativa porque es bastante segura (esto es intencional para evitar intentos de transferencia de contraseña).

R: hashdump

Si bien es más útil al interactuar con una máquina en uso, ¿qué comando nos permite ver el escritorio del usuario remoto en tiempo real?

R: screenshare

¿Qué tal si quisiéramos grabar desde un micrófono conectado al sistema?

R: record_mic

Para complicar los esfuerzos forenses, podemos modificar las marcas de tiempo de los archivos en el sistema. ¿Qué comando nos permite hacer esto? ¡Nunca hagas esto en un pentest a menos que tengas permitido hacerlo explícitamente! Esto no es beneficioso para el equipo defensor, ya que intentan desglosar los acontecimientos del pentest después del hecho.

R: timestomp

Mimikatz (kiwi) nos permite crear lo que se llama un "boleto dorado", lo que nos permite autenticarnos en cualquier lugar con facilidad. ¿Qué comando nos permite hacer esto?

Los ataques de ticket dorado son una función dentro de Mimikatz que abusa de un componente de Kerberos (el sistema de autenticación en los dominios de Windows), el ticket que otorga el ticket. En resumen, los ataques de ticket dorado nos permiten mantener la persistencia y autenticarnos como cualquier usuario del dominio.

R: golden_ticket_create

Una última cosa a tener en cuenta. Como tenemos la contraseña del usuario 'Dark', ahora podemos autenticarnos en la máquina y acceder a ella a través del escritorio remoto (MSRDP). Como se trata de una estación de trabajo, probablemente expulsaremos a cualquier usuario que haya iniciado sesión si nos conectamos a ella; sin embargo, siempre es interesante acceder de forma remota a las máquinas y verlas como lo hacen sus usuarios. Si esto aún no se ha habilitado, podemos habilitarlo a través del siguiente módulo de Metasploit: `run post/windows/manage/enable_rdp`

Comandos extra:

Tambien ejecute por mi cuenta algunos comandos mas , pero estaban todos o su mayoría capados al deberse de una maquina de practica.

Me parecio curioso el caso del comando screenshare que se utiliza para ver que esta haciendo el usuario.

CONCLUSION

Al contrario que en la primera practica opcional , esta practica se me ha hecho bastante mas llevader ay entretenida. En este caso no tuve que investigar en internet. Con solo los datos que te daba la misma practica en tryhackme y mis conocimientos previos pude hacer la practica sin problemas. Ademas he aprendido bastante servicios , nuevos , puertos , herramientas …. Y además he utilizado por primera vez metaexploit que con lo poco que he visto se ve que es una herramienta bastante potente.

Esta es la vida de Ice Cube un ex integrante de N.W.A | Universidad de Bogotá Jorge Tadeo Lozano