Oh My Cloud! – MAJ

MAJ 28/05/2016 : Sur XenServer 7, cette feature a un joli nom, HyperVisor Memory Introspection (HVMI)

Nous profitons du recent article de The Information qui décrit la volonté d’Apple de construire ses propres serveurs en raison d’une crise de paranoïa, pour partager avec vous une video découverte récemment traitant de Virtual Machine Introspection, une fonctionnalité de l’API Memory Inspection de l’Hyperviseur Xen (utilisé par Amazon pour AWS par exemple…).

Cette vidéo est présentée par Tamas K Lengyel, chercheur en sécurité et développeur actif sur les projets Xen Project Hypervisor, LibVMI et DRAKVUF (Dynamic Malware Analysis system). La description faites sur la home du site de ce dernier est particulièrement flipante :

DRAKVUF is an agentless dynamic malware analysis system built on Xen, LibVMI, Volatility and Rekall. It allows for in-depth execution tracing of malware samples and extracting deleted files from memory, all without having to install any special software within the virtual machine used for analysis.

Un peu avant la 3eme minute de la présentation, vous aller voir Tamas lancer la calculatrice de Windows 7 dans une VM, depuis l’hyperviseur, en “hijackant” la mémoire du GuestOS à l’aide de l’API VMI de Xen. Si si.

Ce projet est loin d’être recent puisqu’il date de 2011 et a bien été amélioré depuis :

In Xen 4.6 a number of significant improvements to Xen’s Virtual Machine Introspection (VMI) subsystems make it the best hypervisor for security applications. Hardware support for VM Functions (VMFunc) available on Intel’s 4th generation Haswell CPUs and Atom Silvermont CPUs decreases overheads. Support for Virtualization Exceptions is now available on Intel’s 5th generation Broadwell CPUs and Atom Goldmont CPUs has significantly reduced latency. VMI support for ARM CPUs has also been added.

On vous laisse méditer sur les fonctions clefs du projets pendant que votre DSI se félicite d’avoir migré tout son système d’information sur Azure…

  • Agentless start of malware execution.
  • Agentless monitoring of Windows internal kernel functions.
  • Guest multi-vCPU support.
  • Tracing heap allocations.
  • Tracing files being accessed.
  • Extracting files from memory before they are deleted.
  • Cloning of analysis VMs via copy-on-write memory and disk.

Tags: , , , , , , , , , ,

ftp.dell.com direct iDRAC update

Parmi les nombreuses méthodes pour upgrader les firmware des composants d’un serveur Dell, il y en une qui nous intéressait beaucoup mais que nous n’arrivions pas à faire fonctionner : la méthode ftp.dell.com

The repository could either be ftp.dell.com or a user generated repository on the local network share.

Sur les serveurs Dell relativement récents, il est en effet possible de “stager” et “scheduler” toutes les updates matérielles possibles directement depuis l’iDRAC en live depuis le ftp Dell. Et depuis la version v.2.21.21.21 les firmwares des HDD/SSD sont complètement supportés même sur un contrôleur en mode HBA (passthrough).

Malheureusement impossible de trouver dans les docs Dell les informations nécessaires pour y arriver :

Mais ça c’était avant de connaitre Lionel, Onsite System Engineer chez Dell, qui nous a donné le trick :

FTP Address : ftp.dell.com
User Name : anonymous
Password : user@domain.com
Catalog Location : /
Catalog Filename : Catalog.xml.gz

D’après le serveur ftp de Dell, le password doit etre un e-mail : “Anonymous access allowed, send identity (e-mail name) as password.

Ensuite vous rebootez quand vous voulez et les patchs sont appliqués (rapidement) par le Lifecycle Controler :

Merci Lionel ;)

Tags: ,

#vExpert16

C’est avec un peu de retard que je rédige ce billet, comme le veut la coutume, pour tous vous remercier de votre soutien et votre fidélité qui m’on permis d’obtenir pour la 7eme année consécutive le fameux titre de vExpert.

Scratch Reset

On ne compte plus le nombre de références détaillant comment configurer un chemin pour rentre la fameuse “scratch” d’ESXi persistante, la meilleure étant la kb VMware Creating a persistent scratch location. Paradoxalement, aucune référence n’indique comment remettre le paramétrage par défaut, à savoir *blank* traduit en “/tmp/scratch” par ESXi :

Du coup, on a bêtement essayé mais évidement ça aurait été trop beau :

C’est dans une autre kb VMware que nous trouvons la solution :

Deleting the /etc/vmware/locker.conf file is not a supported method of removing the link to the scratch location. To remove the scratch location reference, empty the file rather than deleting it.

En vidant le fichier /etc/vmware/locker.conf c’est effectivement beaucoup plus efficace et on fini par un petit “flush firmware configuration” pour forcer un backup de la conf :

#vim-cmd hostsvc/advopt/view ScratchConfig.ConfiguredScratchLocation
#cat /etc/vmware/locker.conf
#cat /dev/null > /etc/vmware/locker.conf
#cat /etc/vmware/locker.conf
#vim-cmd hostsvc/advopt/update ScratchConfig.ConfiguredScratchLocation string ""
#vim-cmd hostsvc/advopt/view ScratchConfig.ConfiguredScratchLocation
#vim-cmd hostsvc/firmware/sync_config

Administrators = root

Dans le what’s new de vSphere 6.0 nous avions remarqué un paragraphe intéressant concernant la gestion des comptes locaux des ESX avec esxcli :

ESXi 6.0 enables management of local accounts on the ESXi server, using new ESXCLI commands. The ability to add, list, remove, and modify accounts across all hosts in a cluster can be centrally managed using a vCenter Server system. Previously, the account and permission management functionality for ESXi hosts was available only with direct host connections. Setting, removing, and listing local permissions on ESXi servers can also be centrally managed.

Nous avons enfin pris le temps de tester cette nouvelle fonctionnalité et pouvons confirmer qu’il est maintenant possible de changer le password du compte root des ESX sans le connaitre pour peu qu’on soit admin du vcenter (alors qu’il fallait bien une connexion direct pre 6.0) :

Get-VMHost|%{($_|Get-EsxCli).system.account.set($null,"root","NewPassword","NewPassword")}

Par contre, les contraintes de cette manipulation sont nombreuses comparé à un simple “passwd” :

An uppercase character that begins a password does not count toward the number of character classes used.

A number that ends a password does not count toward the number of character classes used.

Nous avons aussi découvert à nos dépends qu’un $ au milieu du password était mal interprété. Il convient donc d’être vigilant et de bien tester que le changement soit effectif.