Hoy vamos a resolver esta maquina que la dificultad hard.
Primeramente lo tipico usando nmap para ver los puertos que estan abiertos en la maquina.
# Nmap 7.94SVN scan initiated Wed Nov 22 17:40:29 2023 as: nmap -sCV -p80,139,443,445,3306,3389 -oN target.txt 10.10.64.125
Nmap scan report for 10.10.64.125Host is up (0.16s latency).PORTSTATESERVICEVERSION80/tcp open http Apache httpd 2.4.46 ((Win64) OpenSSL/1.1.1g PHP/7.4.10)|_http-title: Year of the Owl|_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1g PHP/7.4.10139/tcp open netbios-ssn Microsoft Windows netbios-ssn443/tcp open ssl/http Apache httpd 2.4.46 ((Win64) OpenSSL/1.1.1g PHP/7.4.10)|_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1g PHP/7.4.10|_http-title: Year of the Owl| ssl-cert: Subject: commonName=localhost| Not valid before:2009-11-10T23:48:47|_Not valid after:2019-11-08T23:48:47| tls-alpn:|_ http/1.1|_ssl-date:TLS randomness does not represent time445/tcp open microsoft-ds?3306/tcp open mysql?| fingerprint-strings:| Kerberos, LANDesk-RC, LDAPBindReq, NCP, NULL, RPCCheck, RTSPRequest, TLSSessionReq, TerminalServerCookie, WMSRequest, ms-sql-s, oracle-tns:
|_ Host 'ip-10-9-66-247.eu-west-1.compute.internal' is not allowed to connect to this MariaDB server3389/tcp open ms-wbt-server Microsoft Terminal Services|_ssl-date:2023-11-22T17:41:31+00:00; +8s from scanner time.| ssl-cert: Subject: commonName=year-of-the-owl| Not valid before:2023-11-21T17:29:39|_Not valid after:2024-05-22T17:29:39| rdp-ntlm-info:| Target_Name:YEAR-OF-THE-OWL| NetBIOS_Domain_Name:YEAR-OF-THE-OWL| NetBIOS_Computer_Name:YEAR-OF-THE-OWL| DNS_Domain_Name: year-of-the-owl| DNS_Computer_Name: year-of-the-owl| Product_Version:10.0.17763|_ System_Time:2023-11-22T17:40:51+00:001 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port3306-TCP:V=7.94SVN%I=7%D=11/22%Time=655E3D0E%P=x86_64-pc-linux-gnu%SF:r(NULL,68,"d\0\0\x01\xffj\x04Host\x20'ip-10-9-66-247\.eu-west-1\.computSF:e\.internal'\x20is\x20not\x20allowed\x20to\x20connect\x20to\x20this\x20SF:MariaDB\x20server")%r(RTSPRequest,68,"d\0\0\x01\xffj\x04Host\x20'ip-10-SF:9-66-247\.eu-west-1\.compute\.internal'\x20is\x20not\x20allowed\x20to\xSF:20connect\x20to\x20this\x20MariaDB\x20server")%r(RPCCheck,68,"d\0\0\x01SF:\xffj\x04Host\x20'ip-10-9-66-247\.eu-west-1\.compute\.internal'\x20is\xSF:20not\x20allowed\x20to\x20connect\x20to\x20this\x20MariaDB\x20server")%SF:r(TerminalServerCookie,68,"d\0\0\x01\xffj\x04Host\x20'ip-10-9-66-247\.eSF:u-west-1\.compute\.internal'\x20is\x20not\x20allowed\x20to\x20connect\xSF:20to\x20this\x20MariaDB\x20server")%r(TLSSessionReq,68,"d\0\0\x01\xffj\SF:x04Host\x20'ip-10-9-66-247\.eu-west-1\.compute\.internal'\x20is\x20not\SF:x20allowed\x20to\x20connect\x20to\x20this\x20MariaDB\x20server")%r(KerbSF:eros,68,"d\0\0\x01\xffj\x04Host\x20'ip-10-9-66-247\.eu-west-1\.compute\SF:.internal'\x20is\x20not\x20allowed\x20to\x20connect\x20to\x20this\x20MaSF:riaDB\x20server")%r(LDAPBindReq,68,"d\0\0\x01\xffj\x04Host\x20'ip-10-9-SF:66-247\.eu-west-1\.compute\.internal'\x20is\x20not\x20allowed\x20to\x20SF:connect\x20to\x20this\x20MariaDB\x20server")%r(LANDesk-RC,68,"d\0\0\x01SF:\xffj\x04Host\x20'ip-10-9-66-247\.eu-west-1\.compute\.internal'\x20is\xSF:20not\x20allowed\x20to\x20connect\x20to\x20this\x20MariaDB\x20server")%SF:r(NCP,68,"d\0\0\x01\xffj\x04Host\x20'ip-10-9-66-247\.eu-west-1\.computeSF:\.internal'\x20is\x20not\x20allowed\x20to\x20connect\x20to\x20this\x20MSF:ariaDB\x20server")%r(WMSRequest,68,"d\0\0\x01\xffj\x04Host\x20'ip-10-9-SF:66-247\.eu-west-1\.compute\.internal'\x20is\x20not\x20allowed\x20to\x20SF:connect\x20to\x20this\x20MariaDB\x20server")%r(oracle-tns,68,"d\0\0\x01SF:\xffj\x04Host\x20'ip-10-9-66-247\.eu-west-1\.compute\.internal'\x20is\xSF:20not\x20allowed\x20to\x20connect\x20to\x20this\x20MariaDB\x20server")%SF:r(ms-sql-s,68,"d\0\0\x01\xffj\x04Host\x20'ip-10-9-66-247\.eu-west-1\.coSF:mpute\.internal'\x20is\x20not\x20allowed\x20to\x20connect\x20to\x20thisSF:\x20MariaDB\x20server");Service Info: OS: Windows; CPE: cpe:/o:microsoft:windowsHost script results:| smb2-security-mode: |3:1:1: |_ Message signing enabled but not required|_clock-skew: mean: 7s, deviation: 0s, median: 7s| smb2-time: | date: 2023-11-22T17:40:52|_ start_date: N/AService detection performed. Please report any incorrect results at https://nmap.org/submit/ .# Nmap done at Wed Nov 2217:41:252023--1IPaddress (1 host up) scanned in56.19 seconds
Ahora utilizando nmap lanzamos para ver que versiones y servicios corren para esos puertos que tenemos abiertos.
Si vamos al puerto 80 donde corre la pagina web, no nos topamos con mucho.
Onesixtyone
Qu es Onesixtyone es un escáner de SNMP que envía múltiples peticiones SNMP a varias direcciones IP, tratando de detectar dispositivos que responden a los nombres de comunidades conocidas y a la espera de respuestas. Tambien puede montar un ataque de diccionario contra uno o más dispositivos SNMP.
Lo primero es descubrir la “cadena de comunidad” que utiliza SNMP para la verificación.
Snmpwalk
Este resultado es un poco confuso, pero en esencia, tenemos 5 cuentas. De estos, sólo uno (Jareth) no es el predeterminado, así que centrémonos en esta cuenta de ahora en adelante.
Hydra
Ahora que ya tenemos un usuario vamos a usar Hydra para ver si crackeamos la contraseña para este usuario, lo lanzamos y esperamos entre unos tres o cinco minutos y logramos encontrar la contraseña.
Evil-winrm
Ahora haciendo uso de Evil-winrm y ya teniendo un usuario y la contraseña para este usuario nos conectamos a la maquina victima, si hacemos un whoami somo jareth.
Ahora ya dentro del sistema, vamos por nuestra primera flag y seguimos ahora vamos a buscar la forma de escalar privilegios y pasar de ser jareth al administrator del sistema.
Escalada de Privilegios
El privilegio de esta caja se hace bastante más difícil por el hecho de que hay un software antivirus activo y coleando en el sistema.
Estamos haciendolo manualmente.
Diferencias de pensamiento entre Windows y Unix: ¿cuál es la diferencia en cómo el sistema operativo maneja las solicitudes de eliminación?
Con Unix es una desconexión directa sin un método fácil de recuperación. En Windows, los archivos se desvinculan, pero se mantiene un identificador en la Papelera de reciclaje hasta que se sobrescribe el archivo; es decir, los archivos son muy fáciles de recuperar.
Esto sería trivial si tuviéramos acceso a la GUI; sin embargo, tal como están las cosas, estamos atrapados en la CLI. Después de experimentar durante el desarrollo de este cuadro, descubrí que los archivos reciclados para cada usuario se pueden encontrar en , donde SID es para usuarios individuales.C:\$Recycle.bin\<SID>
Sin acceso de administrador no podemos ver el SID de nadie más, así que centrémonos en el nuestro.
Aquí hay copias de seguridad de los subárboles de registro SAM y SYSTEM, lo que significa que tenemos todo lo que necesitamos para el clásico privilegio de usarlos para volcar los hash de contraseña de cada cuenta de usuario en el sistema.
Necesitamos descargar estos archivos. Afortunadamente, evil-winrm tiene un downloadcomando precisamente para este propósito. Desafortunadamente, no funcionará cuando estén en la Papelera de reciclaje, por lo que primero los copiamos en una ubicación temporal
Ahora ya teniendo los subárboles de registro SAM y SYSTEM en nuestra maquina atacante ya que previamente nos los hemos descargado de la maquina victima.
Ahora vamos por nuestros hashes del sistema aquí tenemos los hashes NT y LM de todas las cuentas de usuario del sistema. Por supuesto, lo que más nos interesa es la cuenta de Administrador
Ahora ganemos acceso nuevamente al sistema pero ahora como administrator haciendo uso de evil-winrm con el paramentro -u le pasas el usuario -H el hash del administrator y -i la direcion IP.
Ahora observamos que si hacemos un un whoami /priv. Ahora ya no somos el usuario Jareth si no que ahora somos administrator.
Ahora siendo administrator vamos por nuestra ultima bandera la del admin.txt y la tenemos y bueno pues maquina resuelta.