Comment patcher la vulnérabilité GHOST (GetHOST) CVE-2015-0235 – glibc

Vulnérabilité GHOST (GetHOST) CVE-2015-0235 - glibc

Vulnérabilité GHOST (GetHOST) CVE-2015-0235 – glibc – détection et patch!

La galère de cette semaine!

Annoncée le 28/01/2015, une vulnérabilité a été découverte dans la bibliothèque glibc par Qualys (voir leur article https://community.qualys.com/blogs/laws-of-vulnerabilities/2015/01/27/the-ghost-vulnerability).

Cette vulnérabilité permet de faire une attaque de type Buffer Overflow sur la fonction __nss_hostname_digits_dots() contenue dans plusieurs versions de la bibliothèque glibc et utilisée, entre autres, par la fonction gethostbyname() – cette fonction ayant pour but de convertir un nom réseau en IP.

De ce fait, toute machine ayant cette vulnérabilité est potentiellement attaquable, quel que soit le type de service exposé à internet (serveur mail, serveur SSH, serveur Web etc.)

Détection de la vulnérabilité

Afin de vérifier si votre système est vulnérable, utilisez les commandes ci-dessous pour télécharger, compiler et exécuter un script fourni par l’université de Chicago, et qui vous indiquera si votre système est vulnérable.

Pour Debian et dérivées

apt-get install wget gcc -y  # On installe wget et gcc, si ce n'est pas déjà le cas
wget https://webshare.uchicago.edu/orgs/ITServices/itsec/Downloads/GHOST.c  # On télécharge le script de détection de la vulnérabilité CVE-2015-0235, fournit par l'université de Chicago
gcc GHOST.c -o GHOST  # On compile le script
./GHOST  # On exécute le script

Si la sortie du script indique « not vulnerable », vous ne disposez pas des versions dangereuses de glibc.
Si par contre la sortie indique « vulnerable », je vous conseille de lire un peu plus loin comment mettre à jour votre système.

Pour Red-Hat CentOS et dérivées

yum install wget gcc -y  # On installe wget et gcc, si ce n'est pas déjà le cas
wget https://webshare.uchicago.edu/orgs/ITServices/itsec/Downloads/GHOST.c  # On télécharge le script de détection de la vulnérabilité CVE-2015-0235, fournit par l'université de Chicago
gcc GHOST.c -o GHOST  # On compile le script
./GHOST  # On exécute le script

Si la sortie du script indique « not vulnerable », vous ne disposez pas des versions dangereuses de glibc.
Si par contre la sortie indique « vulnerable », je vous conseille de lire un peu plus loin comment mettre à jour votre système.

Correction de la vulnérabilité (patch !)

Si votre système est vulnérable, il va falloir mettre à jour les librairies glibc :

Pour Debian et dérivées

apt-get update  # On met à jour les sources des paquets
dpkg-query -l libc*|grep -E "libc-|libc6"|grep "ii"|awk '{print $2}'|xargs apt-get install -  # Et ici, commande magique : on recherche l'ensemble des paquets glibc installés et on lance leur mise à jour!
./GHOST  # On relance le script de détection : si tout va bien, il doit dire "not vulnerable"
reboot  # On reboote pour être sûrs de relancer TOUS les services potentiellement vulnérables

Pour Red-Hat/CentOS et dérivées

yum update glibc -y  # On met à jours les paquets glibc
./GHOST  # On relance le script de détection : si tout va bien, il doit dire "not vulnerable"
reboot  # On reboote pour être sûrs de relancer TOUS les services potentiellement vulnérables

En espérant que ce billet vous fera gagner un peu de temps dans le patch de vos Linux.

Pour plus d’informations sur la vulnérabilité, et le PoC de cette dernière, rendez-vous à l’adresse suivante : http://www.openwall.com/lists/oss-security/2015/01/27/9

Réinitialiser un routeur Netasq (mot de passe et configuration)

Réinitialiser Netasq (mot de passe, password, configuration usine)

Réinitialiser un routeur Netasq (mot de passe, configuration usine)

Pour commencer, vous devez avoir un câble RS232.

Connecter le câble RS232 à votre Netasq et à votre machine.

Téléchargez (si nécessaire) PuTTy (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html).

Ouvrez PuTTY, lancez une connexion sur le port COM de votre poste et allumez le Netasq.

Appuyez plusieurs fois sur « Espace » pendant le boot du boitier jusqu’à obtenir « ok » à l’écran :

FreeBSD/i386 bootstrap loader, Revision 0.8
Loading /boot/defaults/loader.conf
/kernel text=0x1b79fc data=0x237e0+0x233d0 syms=[0x4+0x2ab40+0x4+0x3283c]


Type '?' for a list of commands, 'help' for more detailed help.
ok

Tapez « boot -s » pour démarrer en mode single.

Une fois le boot terminé, vous devez choisir votre shell : validez avec « Entrée » :

Mounted root from ufs:/dev/ad0s1a
Enter full pathname of shell or RETURN for /bin/sh:

Une fois le shell obtenu (symbole # en début de ligne), tapez les commandes suivantes pour réinitialiser le mot de passe et suivez les instructions à l’écran:

# /usr/Firewall/sbin/chpwd
WARNING: R/W mount of / denied.  Filesystem is not clean - run fsck
mount: /dev/ad0s1a: Operation not permitted
/dev/ad0s1a: 1827 files, 19995 used, 41716 free (764 frags, 5119 blocks, 1.2% fragmentation)
md0: Malloc disk
md1: Malloc disk
TMP partition successfully mounted in memory
No SWAP partition found
No LOG partition found
No DATA partition found, Datas will be stored on root partition

You are now with the keyboard langage configured on Firewall

#######################################
## Change SRP/SSH password for admin ##
#######################################
setting password for admin
enter password:

Saisissez 2 fois le nouveau mot de passe. Le boitier va redémarrer automatiquement.

Une fois le Netasq redémarré, logguez-vous avec le nouveau mot de passe et tapez la commande « defaultconfig -f -r » pour réinitialiser le boîtier aux paramètres d’usine :

System is now ready.
FreeBSD (F50-XXXXXXXXXXXXXX) (ttyd0)

login: admin
SSH passphrase:
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.  All rights reserved.

F50-XXXXXXXXXXXXXX: FW F50-E (S / EUROPE)
Software: Firewall software version 7.0.4
OUT[1]  : 10.0.0.254/255.0.0.0
IN[2]   : 10.0.0.254/255.0.0.0

F50-XXXXXXXXXXXXXX>defaultconfig -f -r

Le Netasq va afficher les messages suivants :

deleting previous backup...
deleting previous language backup...
deleting previous LDAPBase backup...
replacing current configuration with the default configuration...
deleting Pattern database...
deleting Pvm database...
deleting antivirus database...
deleting URLFiltering URL group database...
deleting Optenet URL group database...
autoupdate version 1 for NETASQ Firewall version 7.0.4
globalgen: 3 ethernet interfaces detected
globalgen: 0 WIFI interfaces detected
deleting Pattern database...
reset urlgroup versions...
replacing current pattern database with the default pattern database...

Patientez pendant la réinitialisation du Netasq. La procédure peut durer plusieurs minutes pendant lesquelles le boitier va faire de nombreux bip qui devraient vous rappeler une vieille Gameboy :).

Une fois arrivé au login, le boitier est réinitialisé aux configurations d’usine, avec le mot de passe afffecté au début de la procédure.

Enjoy!

Page blanche en accédant à OWA/ECP sur Exchange 2010

Exchange - Page blanche accès OWA ECP

Page blanche en accédant à OWA/ECP sur Exchange 2010

Du jour au lendemain, lorsque vous vous connectez à OWA (ou ECP) sur votre Exchange 2010, vous obtenez une page blanche. Pas de message d’erreur.

Un redémarrage des services Exchange et IIS n’y fait rien.

Un redémarrage du serveur ne change rien non plus.

Ouvrez un PowerShell d’Exchange et tapez les commandes suivantes pour mettre à jour OWA/ECP :

cd 'C:\Program Files\Microsoft\Exchange Server\V14\Bin'
.\UpdateCas.ps1

Vous devriez avoir une sortie ressemblant à ceci :

[14:33:25] ***********************************************
[14:33:25] * UpdateCas.ps1: 05/01/2015 14:33:25
[14:33:27] Updating OWA/ECP on server EXCHANGE
[14:33:27] Finding ClientAccess role install path on the filesystem
[14:33:28] Updating OWA to version 14.3.174.1
[14:33:28] Copying files from 'C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\owa\Current' to 'C:\Program
Files\Microsoft\Exchange Server\V14\ClientAccess\owa\14.3.174.1'
[14:33:39] Found 1 OWA virtual directories.
[14:33:39] Updating OWA virtual directories
[14:33:39] Processing virtual directory with metabase path 'IIS://EXCHANGE.domain.loc/W3SVC/1/ROOT/owa'.
[14:33:39] Metabase entry 'IIS://EXCHANGE.domain.loc/W3SVC/1/ROOT/owa/14.3.174.1' exists. Removing it.
[14:33:39] Creating metabase entry IIS://EXCHANGE.domain.loc/W3SVC/1/ROOT/owa/14.3.174.1.
[14:33:40] Configuring metabase entry 'IIS://EXCHANGE.domain.loc/W3SVC/1/ROOT/owa/14.3.174.1'.
[14:33:40] Saving changes to 'IIS://EXCHANGE.domain.loc/W3SVC/1/ROOT/owa/14.3.174.1'
[14:33:40] Saving changes to 'IIS://EXCHANGE.domain.loc/W3SVC/1/ROOT/owa'
[14:33:40] Update OWA done.
[14:33:40] Updating ECP to version 14.3.174.1
[14:33:40] Copying files from 'C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ecp\Current' to 'C:\Program
Files\Microsoft\Exchange Server\V14\ClientAccess\ecp\14.3.174.1'
[14:33:42] Update ECP done.

Tentez une nouvelle connexion à l’Outlook Web Access : tout doit être rentré dans l’ordre!