En primer lugar, nos creamos un directorio con el nombre de la máquina desde el que trabajaremos:
sudo mkdir Blue
Ahora, mediante la función mkt
que tengo previamente definida en la .zshrc
crearemos nuestros directorios
de trabajo:
sudo mkt
Esta función está definida para crearnos cuatro directorios (nmap
, content
, exploits
y scripts
) desde los cuales poder trabajar a la hora de
realizar las máquinas de HTB.
Ejecutamos un ping
y vemos como nos reporta un ttl=127, por tanto, ya sabemos que estamos frente una máquina Windows.
ping -c 1 10.10.10.40
Ahora mediante nmap
realizaremos un escaneo de puertos:
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.10.40 -oG allPorts
-p-
: Escanea todo el rango de puertos.
--open
: Solo nos mostrará puertos con el estatus abierto.
-sS
: El escaneo SYN realizar rápidamente, escaneando miles de puertos por segundo en una red rápida que no se ve obstaculizada por firewalls intrusivos.
--min-rate
: Controla directamente la tasa de escaneo. Nmap intentará mantener la velocidad de envío en 5000 paquetes por segundo o más.
-vvv
: Triple verbose. Recopila los puertos abiertos por TCP y los reporta por consola. Cuanto más verbose más información reporta mientras se realiza el escaneneo.
-n
: Anula la resolución DNS.
Vemos como nos reporta los puertos 135,139,445 y 49157. Lo que de momento más me llama la atención es que por el puerto 445 corre un servicio
microsoft-ds
. Vamos a realizr un segundo escaneo mediante nmap
lanzado una serie de scripts de reconocimiento para ver si nos reporta algo más
de información de estos puertos en concreto.
nmap -sC -sV -v -n -p135,139,445,49157 10.10.10.40 -oG target
-sC
: Lanza scrips básicos de reconocimiento.
-sV
: Localiza la versión y servicio de los puertos definidos.
-p
: Puertos a escanear.
-oN
: Reporta los resultados en formato nmap al archivo target
.
Vemos como nos da un poco más de información, pero lo más interesante es que nos reporta la versión exacta del sistema Windows, que este caso nos
reporta un Windows 7 Professional 6.1
.
Ahora vamos utilizar nmap
para lanzar un script más especifico y tratar de reportar alguna vunerabilidad para está version de Windows 7. Pero primero
vamos a comprobar que disponemos del script. Para poder ver todo los scripts de nmap
, podemos utilizar el comando locate .nse
, donde se nos desplegará
una lista de todos los disponibles.
locate .nse
Ahora para poder filtrar un poco los resultados, de forma paralela concatenamos un xargs grep "categories"
y de está forma filtraremos por todos
los resultados que incluyen la palabra categories
.
locate .nse | xargs grep "categories"
Y ahora para terminar de filtrar los resultados dentro de categories, vamos a quedarnos solo con los resultados que nos especifican los scripts entre
comillas, lo cual se conoce como DATA
. Para poder filtrar pro data utilizaremos la expresión regular '".*?"'
de la siguiente manera:
locate .nse | xargs grep "categories" | grep -oP '".*?"'
Finalmente vamos a quitar las categorias que se repitan mediante sort -u
:
locate .nse | xargs grep "categories" | grep -oP '".*?"' | sort -u
Bien, ahora para lanzar los scripts que deseamos que son vuln
y safe
, básicamente estos scripts lanzan un chequeo para tratar de reportar las vulnerabilidades
conocidas del sistema y safe
lo utilizamos para no causar ningún tipo de denegación de servicio en el sistema que vamos a escanear.
nmap --script "vuln and safe" -p445 10.10.10.40 -oN smbScan
--script "vuln and safe"
: Especifica los scripts que vamos a utilizar.
-p445
: Especifica el puerto que vamos a chequear.
-oN smbScan
: Exporta los resultados en formato nmap al archivo smbScan.
Vemos como nos reporta que este sistema es vulnerable al ms17-010
más conocido como EthernalBlue. Ahora que ya conocemos una vulnerabilidad
vamos a tratar de buscar un exploit funcional.
searchsploit ms17-010
Vemos que Metasploit
nos reporta el exploit SMB Remote Code Execution Scanner (MS17-010) (Metasploit)
. Vamos abrir Metasploit y a buscar si
disponemos del exploit.
Abrimos Metasploit:
msfconsole
Ahora buscamos filtrando por la vulnerabilidad ms17-010
:
search ms17-010
Vemos como la vulnerabilidad EthernarBlue aparece la primera, para seleccionarla utilizamos el comando use
y especificamos el número del exploit
en
la lista, en este caso el 0
:
use 0
Ahora que ya tenemos el exploit seleccionado, tenemos que configurarlo y preparado para el ataque. Para ver las opciones del exploit utilizamos el
comando options
:
Para configurar el exploit debemos modificar el RHOSTS
que es la Ip de la víctima, el LHOST
que será nuestra Ip pública, en este caso la VPN de
hack the box y finalmente, especificamos el puerto de escucha LPORT
.
Finalmete ejecutamos el exploit:
exploit
Si todo funciona correctamente se nos tendría que abrir una shell. En caso de daros algún error, es posible que tengáis que reiniciar la máquina y el Metasploit y volver a intentar el ataque.
Esta vulnerabilidad es muy grave, ya que mediante este exploit pasamos a tenerlos máximos privilegios, por tanto, podemos ver todos los archivos,
incluida la flaf de root
.
Para encontrar la primera flag simplemente nos dirigimos al directorio C:\Users\haris\Desktop
:
cd /Users/haris/Desktop
Podemos listar los archivos del directorio mediante ls
y mediante cat
nos reportará por consola el contenido.
Finalmente, la flag del usuario root
la podemos encontrar en el directorio C:\Users\Administrator\Desktop\
.