sábado, 27 de febrero de 2021

Reto Forense - HTB: Chase

 Este reto empieza abriendo el archivo “.pcap” que trae el archivo comprimido.

En él se observa dos tipos de comunicaciones:

1.       DNS

2.       HTTP

Se hace una primera aproximación a la información de los paquetes de tipo DNS, pero sólo se ve morralla.

Se pasa a las comunicaciones del protocolo HTTP y se realiza un filtro buscando los primeros paquetes de toda comunicación TCP, los famosos paquetes SYN.

Encontramos 6.



Pero el que llama poderosamente la atención es que solicita una comunicación TCP hacía el puerto destino: 4444 (CURIOSIDAD: Este puerto es el típico que se usa para establecer shells/shells reversas)

Solicitamos al WireShark que siga el flujo de dicha comunicación y nos muestre todas las comunicaciones de manera “legible”, obtenemos:


Como se puede ver, la conexión al puerto 4444 pertenece a una Shell de Windows.

Lo que llama la atención de los distintos comandos ejecutado en dicha Shell es, el intento de descarga de un fichero de nombre: JBKEE62NIFXF6ODMOUZV6NZTMFGV6URQMNMH2IBA.txt

El nombre podría estar codificado de alguna manera, aunque no parece que este usando base64 para ello. Aún así, investiguemos

Con el nombre del archivo, nos dirigimos a la herramienta online CyberChef, y empezamos a jugar con las distintas codificaciones hasta que encontramos la codificación adecuada: base32.

Con ella obtenemos nuestro premio



Pero ahora la pregunta es, ¿cómo podemos distinguir de una sola pasada que estamos ante una codificación base32?

Pues si miramos en nuestra amada Wikipedia, podemos ver que la codificación en base32, sólo permite los siguientes caracteres



Ahora comparémosla con la codificación en base64, que admite los siguientes caracteres:



Al final, podemos ver que las principales diferencias por orden de importancia son:

1.- Base32 SOLO maneja caracteres MAYÚSCULAS

2.- Base32 SOLO maneja números del 2 al 7

 

Por lo tanto, la siguiente vez que visualicéis alguna cadena “ilegible” que sólo contenga caracteres en mayúsculas y números de 2 al 7, ya sabéis la decodificación a aplicar

Referencias:

   https://es.wikipedia.org/wiki/Base64

   https://es.wikipedia.org/wiki/Base32

domingo, 21 de febrero de 2021

Reto Forense - HTB: Event-Horizon

Para resolverlo empezamos por abrir el archivo comprimido.

Dentro se pueden ver dos carpetas, de las cuales nos quedamos con la carpeta de nombre: Logs, ya que es la única que tiene información tras visualizar el tamaño de ambas.

 

 

Dentro de esta carpetas nos encontramos multitud de ficheros catalogados como “Registros de eventos” (extensión .evtx), por lo que necesitaremos visualizarlos. Pues descomprimimos la carpeta: Logs en un entorno seguro con sistema Windows.

El sistema operativo de dicho entorno ya se encargará de visualizar el contenido de cada archivo que seleccionemos mediante la ejecución del visor de eventos del sistema.

Si nos fijamos en la pista del reto, tenemos que buscar un comando de PowerShell, por lo que lo primero que deberemos hacer será cargar en el visor los eventos todos los archivos de eventos relacionados con PowerShell, pero antes de cargar los cuatro archivos que se puede relacionar con PowerShell, comprobemos su tamaño.

Se puede ver que tres de ellos sólo tienen 68KB, mientras que el cuarto tiene 5Mb. Por lo tanto, nos quedaremos con este último archivo, ya que si comprobamos los otros, estos están vacios.

 


Al abrir el registro de eventos: Microsoft-Windows-PowerShell%4Operational, vemos contenido de interés, de hecho, al abrirlo el primer evento que me apareció resulto ser de mucho interés, ya que se podía ver la ejecución de un comando en powershell que intentaba descargar un archivo de tipo “PowerShell” (extensión .ps1), desde un página en github.



 Si nos fijamos en el nombre del archivo: SFRCezhMdTNfNzM0bV9GMHIzdjNSfSAg.ps1, podemos decir que estamos ante un texto codificado.

Si probamos con la codificación más utilizada en este tipo de retos (base64) obtenemos nuestro premio

 

En cualquier caso

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

martes, 19 de enero de 2021

Reto Forense - HTB: No Place To Hide o ¡Logs en RDP!, ¿estas seguro?

 

Pepito: Logs de RDP, ¡que Dios nos pille confesados!

Juanito:Que si, te vuelvo a repetir

Pepito: Y después de esto…

Juanito:Después de esto, encontré un reto en HTB que trataba precisamente de esto.

Pepito: ¿Cómo lo resolviste?

 

Juanito:Lo resolví gracias a la herramienta denominada: bmc-tools.py.

Pepito: ¿Pero cómo llegaste hasta dicha herramienta?

 

Juanito:Gracias a la búsqueda del magic number del archivo, que por cierto es: rdp8bmp.

Simplemente con poner el magic number en San Google podrás encuentrar en una de las entradas referencia al proyecto de Github.

Pepito: Pero, ¿logs de RDP?

 

Juanito:Pues sí, desde la versión 5.0 de RDP, Microsoft introdujo un mecanismo de caché para mapas de bits.

 

El objetivo era fue reducir la latencia de las comunicaciones entre el servidor RDP y el cliente RDP, por lo que las imágenes eran trasferidas al disco duro del cliente RDP y luego este la mostraba por pantalla.

 

Desde Windows 7, los archivos cacheados se encuentran ubicados en: "% USERPROFILE% \ AppData \ Local \ Microsoft \ Terminal Server Client \ Cache \".

 

En dicha ubicación nos podemos encontrar archivos de tipo “binario”, con la siguiente nomenclatura: cache{dddd}.bin (dddd = cuatro dígitos incrementales que comienzan desde 0000). Estos archivos pueden llegar a pesar cada uno: 100MB

 

En cuanto a la estructura de estos archivos, estos  tienen un encabezado fijo que es claramente identificable gracias al magic number: RDP8bmp, como ya hemos visto al hacer el reto. Tras el magic number, veremos un carácter nulo seguido de cuatro bytes correspondientes a una versión, es decir, el encabezado tiene doce bytes.

 

Cada elemento gráfico tiene un encabezado de tamaño reducido en comparación con los archivos con extensión ".bmc"ver NOTA:

 

·         un hash del elemento gráfico almacenado en ocho bytes

·         el ancho del elemento gráfico almacenado en dos bytes

·         la altura del elemento gráfico almacenado en dos bytes

 

Los datos subyacentes a cada elemento gráfico están en formato de 32 bpp.

----------------------------------------------------------------------------------------------------------------------------------------------------------- 

 

 

 

 

 

 

 

 

 

 

 

 

NOTA: Hasta Windows XP, la caché se encontraba en: "%USERPROFILE%\Local Settings\Application Data\Microsoft\Terminal Server Client\Cache\".

 

En dicha ubicación, se podían encontrar los siguientes archivos, que podían alcanzar hasta 10 MB de peso.

 

·         "Bcache2.bmc" que contiene los elementos gráficos en calidad de 8 bpp,

·         "Bcache22.bmc" que contiene los elementos gráficos en calidad de 16 bpp,

·         "Bcache24.bmc" que contiene los elementos gráficos en calidad de 32 bpp;

 

Estos archivos ".bmc" no tienen ningún encabezado fijo que permita su identificación inmediata, pero cada elemento gráfico en su interior tiene un encabezado de veinte bytes estructurado de la siguiente manera:

 

·         un hash del elemento gráfico almacenado en ocho bytes

·         el ancho del elemento gráfico almacenado en dos bytes

·         la altura del elemento gráfico almacenado en dos bytes

·         el tamaño en bytes de los datos que siguen al encabezado y que corresponden a la imagen almacenada en cuatro bytes

·         los parámetros específicos para el elemento gráfico almacenados en cuatro bytes. Uno de ellos define si el contenido de la imagen está comprimido o no, aunque se desconoce el algoritmo de compresión, por lo que ante una imagen comprimida no es posible recuperar los datos.

 

Si quieres más información, e incluso desarrollar tu propia herramienta en powershell, puedes ver las siguientes URL:

 

https://www.cert.ssi.gouv.fr/actualite/CERTFR-2016-ACT-017/

https://cbtgeeks.com/2018/05/22/digital-forensics-on-rdp-cache/

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------

Pepito: Y el reto, ¿cómo fue?

Juanito: Pues ya te digo, aplique la herramienta y obtuve está foto que tengo en el móvil. Mira, mira…


                Y mira esta:

En cualquier caso

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