lunes, 10 de febrero de 2020

Si se puede jugadores.


Supongamos que trabajando desde una máquina virtual basada en Kali Linux y conectados a través del protocolo SMB a una máquina Windows, te encuentras con un archivo que utiliza ADS (Alternate Data Stream) para ocultar información.

¿Qué se hace para ver el contenido de ese ADS desde Linux?

Permitidme hacer un inciso en este punto, para dar una pincelada a este, tan trillado, asunto.

¿Qué son los “Alternate Data Stream”?

Los Flujos Alternativos de Datos, Alternate Data Streams o ADS son una característica del sistema de archivos NTFS que permite almacenar metainformación con un fichero, sin necesidad de usar un fichero separado para almacenarla.

Más información:

·         https://es.wikipedia.org/wiki/Alternate_Data_Streams
·         https://www.securityartwork.es/2015/02/23/alternate-data-stream-ads-flujo-de-datos-alternativos-en-ntfs/

¿Cómo se visualiza desde un entorno Windows?

Dir /R <fichero>

NOTA: Otra forma de detectar la presencia de un archivo con está característica es copiar un archivo con ADS a un sistema que no tenga capacidad para gestionar archivos con ADS, como por ejemplo los antiguos sistemas de ficheros FAT y FAT32

Volviendo al asunto principal y contestando a la pregunta anteriormente formulada

Hay dos posibles opciones:

1.- Montar el recurso mediante el comando: mount –t ntfs <todo lo demás>
     
NOTA: En mi caso no ha funcionado debido a que el punto a montar es un recurso compartido, y aunque hay mucha gente preguntando por Internet, no he podido conseguir información sobre la resolución de dicho problema.

Es decir:

mount –t ntfs //<IP>/<recurso compartido>  /mnt/<ubicación local>

¡¡¡PROVOCA UN ERROR!!!

 
2.- Utilizar el comando: smbclient

En este caso, podemos comprobar si un archivo esconde un ADS, mediante el siguiente uso de:

Smbclient  [-U <usuario>] //<IP>/<recurso compartido> -c ‘allinfo “<nombre de archivo y path desde la raíz del recurso compartido>”’ [<contraseña>]

Como se puede apreciar, el archivo contiene 15 bytes de información ocultos de miradas indiscretas

Si además queremos obtener la información contenida en ese ADS, entonces toca hacer lo siguiente:

Smbclient  [-U <usuario>] //<IP>/<recurso compartido> -c ‘allinfo “<nombre de archivo y path desde la raíz del recurso compartido>”; get “<nombre de archivo y path desde la raíz del recurso compartido>”  “archivo local”’ [<contraseña>]

Descarga del contenido del ADS.

Dentro del <archivo local>, podremos ver la información almacenada en ese ADS


En cualquier caso…

Lo que hagas con la información es cosa tuya, no mía... pero ten conciencia.