AntiVM: sensor de temperatura

El sensor que mide la temperatura actual de una máquina es también una buena manera para saber si un programa está ejecutándose en un entorno virtualizado, algo normalmente útil para un código malicioso porque será indicativo de que probablemente esté siendo analizado en una sandbox. En un entorno no virtualizado la función devuelve una salida válida como: "25.05C: 77.09F: 298.2K". Pero para un entorno totalmente virtualizado lo que devuelve es "MSAcpi_ThermalZoneTemperature not supported" porque esta función no es compatible con procesadores virtualizados. 

Pero para decepción de los autores de malware este método no siempre es válido: no todas las máquinas con Windows lo admitirán debido a la incompatibilidad con algunos sensores térmicos. Es una función de BIOS. A veces, el fabricante del BIOS proporciona DLLs a las que se puede hacer referencia para llamar a la función requerida y devolver el detalle, pero muchas otras veces no existe ese soporte del fabricante y simplemente no es posible obtener la temperatura en una máquina física tampoco. En cualquier caso no deja de ser una técnica anti-VM bastante importante: 

Powershell

function Get-AntiVMwithTemperature {
    $t = Get-WmiObject MSAcpi_ThermalZoneTemperature -Namespace "root/wmi"
    $valorTempKelvin = $t.CurrentTemperature / 10
    $valorTempCelsius = $valorTempKelvin - 273.15
    $valorTempFahrenheit = (9/5) * $valorTempCelsius + 32
    return $valorTempCelsius.ToString() + " C : " + $valorTempFahrenheit.ToString() + " F : " + $valorTempKelvin + "K"  
}

Referencia: https://gist.github.com/teixeira0xfffff/36293713c254c69a7ba2353e8d64afce#file-msacpi_thermalzonetemperature-ps1 

Yara

rule Detect_AntiVMWithTemperature {
    meta:
        description = "Rue to detect AntiVMwithTemperature technique"
        author = "Thibault Seret"
        date = "2020-09-26"
    strings:
        $s1 = {72 6f 6f 74 5c 57 4d 49}
        // root\WMI
        $s2 = {53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 4d 53 41 63 70 69 5f 54 68 65 72 6d 61 6c 5a 6f 6e 65 54 65 6d 70 65 72 61 74 75 72 65}
        // SELECT * FROM MSAcpi_ThermalZoneTemperature
        $s3 = {43 75 72 72 65 6e 74 54 65 6d 70 65 72 61 74 75 72 65}
        //  CurrentTemperature
    
    condition:
    all of them

Recursos adicionales: 

Fuente: https://search.unprotect.it/map/sandbox-evasion/temperature-sensor/

Filtran el código fuente de Windows XP y Windows Server 2003

El código fuente de Windows XP SP1 y Windows Server 2003, entre otros sistemas operativos obsoletos de la compañía de Redmond, ha sido filtrado hoy, concretamente como una colección de 43GB en un torrent en el foro de 4chan.

El contenido del torrent incluye:

  • MS DOS 3.30
  • MS DOS 6.0
  • Windows 2000
  • Windows CE 3
  • Windows CE 4
  • Windows CE 5
  • Windows Embedded 7
  • Windows incrustado CE
  • Windows NT 3.5
  • Windows NT 4

Y adicionalmente un 7zip más pequeño de 2.9GB que contiene el código fuente para Windows XP y Windows Server 2003.

El filtrador afirma que el código fuente de Windows XP se ha transmitido de forma privada durante años, pero que se filtró públicamente por primera vez hoy.

Desde Hackplayers todavía no hemos confirmado al 100% si es el código fuente real de Windows XP o Windows Server 2003. Por motivos obvios, tampoco publicaremos aquí los enlaces a los leaks.

Fuente: https://www.bleepingcomputer.com/news/microsoft/the-windows-xp-source-code-was-allegedly-leaked-online/

Construye un Directorio Activo de pruebas con BadBlood

BadBlood de Secframe es una herramienta que nos ayudará a crear una estructura y miles de objetos en un dominio de Microsoft Active Directory de prueba. El objetivo es tener un dominio similar a un dominio en el mundo real para practicar el uso de herramientas y comprender las defensas y protección del Directorio Activo.

Pero no penséis que BadBlood es una herramienta que siempre va a generarnos el mismo resultado, cada vez que se ejecuta produce resultados distintos: el dominio, los usuarios, los grupos, las computadoras y los permisos son diferentes cada vez.

Para usarla simplemente hay que descargar el repositorio y lanzar el script Invoke-BadBlood.ps1 con un usuario con privilegios de Domain Admin y Schema Admin.

# clone the repo
git clone https://github.com/davidprowe/badblood.git
#Run Invoke-badblood.ps1
./badblood/invoke-badblood.ps1

Si queremos editar las OUs de nivel superior podemos hacerlo en el archivo de configuración “3lettercodes.csv”. También podemos modificar los detalles de la estructura de OUs que se incluyen en AD_OU_CreateStructure\CreateOUStructure.ps1.

Una vez que se completa la estructura, BadBlood comienza a crear un número aleatorio de usuarios (500-10000) en el dominio. Este proceso está diseñado en el fichero AD_Users_Create\CreateUsers.ps1.

Zerologon desatado: la vulnerabilidad que permite comprometer cualquier controlador de dominio de Windows fácilmente

El 11 de agosto Microsoft a través de Tom Tervoort de Secura trataba una vulnerabilidad en el servicio Netlogon. Netlogon Remote Protocol es una interfaz RPC disponible en los controladores de dominio de Windows. Se utiliza para diversas tareas relacionadas con la autenticación de usuarios y máquinas, sobretodo para facilitar que los usuarios inicien sesión en servidores utilizando el protocolo NTLM, pero también para otras cosas como la autenticación de respuestas NTP y para permitir que un equipo actualice su contraseña dentro del dominio. El servicio RPC se sirve en un puerto dinámico TCP asignado por el servicio "portmapper" del controlador de dominio, o mediante una canalización SMB en el puerto 445.

En aquel momento Microsoft sólo decía brevemente que para explotar la vulnerabilidad un atacante no autenticado podía usar MS-NRPC para conectarse a un controlador de dominio y obtener acceso de administrador de dominio. Pero un mes después, el 11 de septiembre de 2020, la misma empresa Secura lanzó un advisory con una herramienta para identificar las máquinas vulnerables a esta vulnerabilidad identificada como CVE-2020-1472 (CVSS 10.0) y tres días después publicó un paper técnico explicando la vulnerabilidad más en detalle, desatando una avalancha de PoCs y herramientas que están poniendo en vilo a toda la comunidad de seguridad, ya que cualquier atacante sin necesidad de autenticación y con visibilidad por red contra un controlador de dominio puede resetear la password del domain admin.

Lo interesante de este protocolo Netlogon es que no utiliza el mismo esquema de autenticación que otros servicios RPC. En su lugar, utiliza un protocolo criptográfico personalizado para permitir que un cliente (una computadora unida a un dominio) y un servidor (el controlador de dominio) se demuestren entre sí que ambos conocen un secreto compartido. Este secreto compartido es un hash de la contraseña de la cuenta de la computadora del cliente. La razón de esto es que las cuentas de equipo en tiempos Windows NT no podían hacer uso de esquemas de autenticación de usuario estándar como NTLM o Kerberos.

El problema: que la implementación de este protocolo basado en AES-CFB8 no está hecha correctamente. ¿Por qué? Porque para generar las credenciales tanto cliente como servidor usan la función ComputeNetlogonCredential que en su versión más moderna que usa AES-CFB8 define IVs fijos de 16 bytes de ceros en lugar de IVs aleatorios (de ahí que se haya bautizado también a la vulnerabilidad como Zerologon). Con esto, dada una clave aleatoria, hay una probabilidad de 1 entre 256 de que el cifrado AES de un bloque de todo ceros de como salida todo ceros.

A partir de ahí se pueden llevar una serie de pasos para conseguir la explotación. Yo los voy a resumir en español, pero los tenéis en detalle en el paper técnico de Secura.

Listado de retos de CTFs en los que hay que "juakear" videojuegos

Suraj Malhotra aka mrT4ntr4 tiene un repo en Github muy interesante para todos los jugones de CTFs: un recopilatorio de retos que nos desafían a hackear videojuegos de varios tipos. Os lo dejamos también aquí pero os animamos a contribuir con tito Siraj si conocéis alguno más para ampliar esta buena lista. It's time to play:

PC Games
Retro [Gameboy/NES]
Android
Web
 

PC Games

  1. DragonSector CTF 2018
    Solution Videos
    https://youtu.be/8bjFplctDE0
    https://youtu.be/j0taw78tCYs
  2. Nullcon HackIM 2020
    Writeups
    https://medium.com/@roottusk/helping-zelda-capture-flags-nullcon-hackim-2020-f2480099cc3c
    https://devploit.dev/2020/02/09/nullconHackIM-ZeldaAdventures.html
  3. Pwn Adventure Series by Vector35