Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
Blog de la Escuela de Educación Secundaria Técnica N 8 de Quilmes
Administrador Prof. Claudio Enrique Alonso Alvite
img
26 de Mayo, 2015    General

Haciendo fuerza bruta a contenedores cifrados en Mac OS X



A todos nos ha pasado alguna vez, que guardamos algo tan seguro, tan seguro, tan seguro,…. que no nos acordamos dónde lo dejamos. Hace unos días me tocó tirar de un disco duro que guardo cifrado, mediante el sistema de ficheros HFS+ de Mac, con las opciones Journaled, Encrypted.

Cuando insertas el USB, Mac te muestra un Pop-Up, en el que se te pide la contraseña de desbloqueo del volumen. Todo esto está bien cuando usas esa contraseña a menudo, pero cuando no es el caso dices… por qué habré puesto una contraseña de cifrado tan rara. 

A todo esto, el pop-up, no te permite ver la contraseña en claro, por lo que si te has equivocado en una letra, te toca volverla a escribir completa. Tampoco permite hacer copy-paste, por lo que no podemos escribirla en un bloc de notas y pegarla en la caja de texto, así que volvemos al paso 1. 




Como la contraseña era bastante complicada, me puse a investigar la opción de hacer el montaje desde un terminal.

El comando diskutil tiene múltiples combinaciones que nos permiten gestionar, entre otras cosas, los volúmenes cifrados.

Con el flag “cs list”, el CoreStorage nos muestra la estructura formada por los diferentes Grupos de Volúmenes, Volúmenes Físicos, Familias de Volúmenes Lógicos y finalmente los Volúmenes Lógicos que ve el sistema operativo. Si tenemos habilitado Filevault2 para el cifrado del disco completo (opción muy recomendable), nos aparecerá el primero de ellos, con el volumen desbloqueado (Unlocked dentro del campo Encryption Status)


Data hosted with ♥ by Pastebin.com - Download Raw - See Original
+-- Logical Volume Group D9183FF1-7F0A-4AF8-9E3D-68BD25BCF7BF
    =========================================================
    Name:         test
    Status:       Online
    Size:         7412113408 B (7.4 GB)
    Free Space:   13357056 B (13.4 MB)
    |
    +-< Physical Volume 7A2E4D19-DCA8-4037-BDC6-60F4449864DF
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk3s2
    |   Status:   Online
    |   Size:     7412113408 B (7.4 GB)
    |
    +-> Logical Volume Family 5F1E3906-6B56-4D8E-8DBC-F1682D625BC5
        ----------------------------------------------------------
        Encryption Status:       Locked
        Encryption Type:         AES-XTS
        Conversion Status:       Complete
        Conversion Direction:    -none-
        Has Encrypted Extents:   Yes
        Fully Secure:            Yes
        Passphrase Required:     Yes
        |
        +-> Logical Volume AA0E91C1-131A-4B86-9F6D-772D281C3ED6
            ---------------------------------------------------
            Disk:                  -none-
            Status:                Locked
            Size (Total):          7046430720 B (7.0 GB)
            Conversion Progress:   -none-
            Revertible:            No
            LV Name:               test
                Content Hint:          Apple_HFSX



En el caso que se ve arriba, dentro de la sección Logical Volume, AA0E91…. etc… se puede ver que el Status es Locked.

Con Diskutil y los flags unlockvolume , te pediría por línea de comandos la contraseña de desbloqueo. Si además le añadimos -passphrase , ya nos permite hacerla en claro y ver si nos estamos equivocando o no, hacer copy/paste o incluso… montarnos un bruteforcer. Ya que estaba, he hecho algo muy sencillito pero que si a alguien le puede ser de ayuda, pues aquí lo tiene:

Data hosted with ♥ by Pastebin.com - Download Raw - See Original
LawMac:Desktop Lawrence$ more bruteforcea.pl
#!/usr/bin/perl
use Getopt::Std;
 
getopts('u:d:');
 
die "Usage $0 -u -d " if (!$opt_u &amp;&amp; !$opt_d);
 
#Guardamos parametros
my $uid=$opt_u;
my $dict=$opt_d;
 
open (FILE,"&lt;$dict");
 
#Por cada posible contraseña generada, probamos
while ()
{
        chomp ($_);
        my $resp=`diskutil cs unlockvolume $uid -passphrase $_ `;
 
        #Si acertamos, indicamos la contraseña correcta
        if ($resp =~ m/successfully/i)
        {
                print "Password found!!! It was "$_" ";
                print "$resp ";
                exit(0);        
        }
}
close (FILE);
    print "Password not found in diccionary $dict. Insert coin and play again ";



Tan fácil como pasarle con el parámetro -u el UID del volumen a desbloquear y con un -d un fichero “diccionario”, que previamente habremos generado. En este punto, la inteligencia a aplicar es diferente y no voy a entrar. Que haya palabras concatenadas con números, caracteres especiales o lo que queráis, es otra historia diferente. 
Una vez el script acierta con la contraseña, lo deja desbloqueado, pero sin montar.



Data hosted with ♥ by Pastebin.com - Download Raw - See Original
LawMac:Desktop Lawrence$ perl bruteforcea.pl -u AA0E91C1-131A-4B86-9F6D-772D281C3ED6 -d dict.txt
Error: -69749: Unable to unlock the Core Storage volume
Error: -69749: Unable to unlock the Core Storage volume
Error: -69749: Unable to unlock the Core Storage volume
Error: -69749: Unable to unlock the Core Storage volume
Password found!!! It was "securitybydefault.com"
Started CoreStorage operation
Logical Volume successfully unlocked
Logical Volume successfully attached as disk4
Logical Volume successfully mounted as /Volumes/test
Core Storage disk: disk4
    Finished CoreStorage operation


Nos dice cuál era la contraseña, por si sólo necesitamos eso. Si queremos montarlo, tan sencillo como “diskutil mount disk4” (en este caso) y ya está! 

Lo que es un axioma innegable es que la prisa que te corre recuperar lo que hay dentro de un contenedor cifrado, es directamente proporcional a las posibilidades que te pegues con una contraseña que no funciona (o que no recuerdas ;D)

Autor: Lorenzo Martínez
Palabras claves , , , , ,
publicado por alonsoclaudio a las 22:24 · Sin comentarios  ·  Recomendar
 
Más sobre este tema ·  Participar
Comentarios (0) ·  Enviar comentario
Enviar comentario

Nombre:

E-Mail (no será publicado):

Sitio Web (opcional):

Recordar mis datos.
Escriba el código que visualiza en la imagen Escriba el código [Regenerar]:
Formato de texto permitido: <b>Negrita</b>, <i>Cursiva</i>, <u>Subrayado</u>,
<li>· Lista</li>
CALENDARIO
Ver mes anterior Abril 2024 Ver mes siguiente
DOLUMAMIJUVISA
123456
78910111213
14151617181920
21222324252627
282930
BUSCADOR
Blog   Web
TÓPICOS
» General (2606)
NUBE DE TAGS  [?]
SECCIONES
» Inicio
ENLACES
MÁS LEÍDOS
» Analizando el LiveBox 2.1 de Orange
» Cómo espiar WhatsApp
» Cómo usar Metashield protector for Client y por qué utilizarlo
» Detectando tráfico de conexiones HTTP inversas de Meterpreter (Snort)
» Ejecución remota de código arbitrario en OpenSSH
» Ganar dinero con 1.200 Millones de identidades robadas
» Hardware y sus 4 Funcionamientos Basicos y Principales en una Computadora
» Redes de la Deep Web: CJDNS y la Red Hyperboria
» Unidad Central de Procesamiento CPU
» Wassap, la aplicación que permite usar WhatsApp desde la PC
SE COMENTA...
» Cómo espiar WhatsApp
595 Comentarios: Scott, Scott, Jarlinson mercy, [...] ...
» Qué hacer ante el robo de un teléfono móvil o una tableta
2 Comentarios: best buy security cameras swann, best buy security cameras swann
» Espiando usuarios gracias a la vulnerabilidad en cámaras TRENDnet
1 Comentario: Coin
» Recopilatorio de aplicaciones y sistemas vulnerables para practicar
2 Comentarios: vera rodrigez ...
» SoftPerfect WiFi Guard permite saber quién esta conectado a mi WiFi
2 Comentarios: firdous ...
SOBRE MÍ
FOTO

Prof. Claudio Enrique Alonso Alvite



» Ver perfil

AL MARGEN
Escuela de Educacion Secundaria Tecnica N 8 de Quilmes
(Técnicos en Informática Personal y Profesional)
FULLServices Network | Blogger | Privacidad