Kerberoasting, Active Directory à la rôtissoire…

kerberoasting

Salut a tous aujourd’hui on va voir une nouvelle technique pour récupérer puis casser des mots de passe dans une infrastructure Active Directory :  le Kerberoasting. Dans la langue de Molière ça donnerai « faire rôtir kerberos » et c’est franchement efficace si les administrateurs de l’AD n’appliquent pas des mots de passes complexes sur les comptes de services. Ça consiste en quoi ? simplement à demander et récupérer des TGS à un KDC pour ensuite casser la protection cryptographique de ces TGS et ainsi récupérer le mot de passe du service associé à ce TGS. On va voir tout ça plus en détail, après quelques rappels sur Kerberos. La technique est sortie en 2014, mais ce n’est que récemment qu’elle est devenue très (spoiler alert : trop) simple à utiliser.

Kerberos : 3 têtes, un os…

Bon alors Kerberos comment ça fonctionne ? Wikipédia explique ça très bien déjà, mais pour faire simple je vous refait un topo. Kerberos fonctionne à base de clés secrètes partagées. En simplifiant beaucoup, on a trois éléments que sont :

  • C le client ;
  • X un service kerberisé sur le serveur S ; et
  • K le serveur KDC de Kerberos.

Le serveur … Lire la suite

Panne de disque dur et site « up » de nouveau.

Panne de disque dur

Salut les gens, vous avez dû noter que le site était de nouveau inaccessible le weekend dernier et en début de semaine. Après investigations suite à cette deuxième panne, il apparaît qu’une panne de disque dur de ma nouvelle machine chez Online était à priori défectueux. Les erreurs du HDD faisaient passer le système de fichier du serveur en mode Read-Only. J’ai découvert cette sécurité de Debian à cette occasion, ça évite de corrompre les fichiers en cas de gros problèmes ce qui est assez pratique.

Mais c’est assez improbable à voir quand on affiche les logs avec dmesg :

[339655.566754] end_request: I/O error, dev sda, sector 120543848 
[339655.636881] EXT4-fs warning (device sda2): ext4_end_bio:317: I/O error -5 writing to inode 15073359 (offset 4508667904 size 4194304 starting block 15068109) 
[339671.772089] EXT4-fs error (device sda2): ext4_free_inode:340: comm php: bit already cleared for inode 52429216 
[339672.459305] Aborting journal on device sda2-8. 
[339672.515277] EXT4-fs (sda2): Remounting filesystem read-only

Bref, après quelques échanges avec le support d’Online qui ne voulait pas croire à la panne. Il s’agissait pour eux d’un « problème de performance disque », pour ma part des performances limitées n’ont jamais fait cracher un OS au point qu’il ne puisse plus redémarrer. Mais bon, après … Lire la suite

Clés SSH et transferts SCP sans mot de passe

Transferts SCP sans mot de passe

Salut à tous, aujourd’hui un rapide tuto pour sécuriser et automatiser des transferts SCP sans mot de passe entre 2 machines linux. Pour ça on va utiliser des clés SSH, d’un point de vue crypto, il s’agit simplement d’un système classique clé publique/privée où vous installer votre clé publique sur un serveur puis vous utilisez la clé privée associée pour prouver votre identité auprès de ce serveur. A noter qu’un problème de ce système pour SSH c’est qu’il ne supporte pas nativement les certificats X509 et que par défaut il faut utiliser un format SSH « maison ». Il existe néanmoins des builds de openSSH supportant les certificats numérique standard comme PKIX-SSH.

Et sans transition la procédure pour mettre ça en place avec des clés SSH classiques.

Génération de clés SSH

Sur le serveur qui devra exécuter SCP et établir la connexion TCP :

apt-get install openssh-client

Puis générer une bi-clé RSA pour SSH :

ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): /home/user/.ssh/script1_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/script1_rsa
Your public key has been saved in 
Lire la suite

Installer SSLYZE depuis les sources

Installer SSLYZE

Bonjour à tous, on va se faire un rapide TP aujourd’hui pour installer SSLYZE depuis les sources. En effet, je n’ai pas trouvé de doc complète sur le sujet et j’ai été obligé de grappiller des informations à droites à gauche avant d’obtenir ça. Concernant SSLYZE, je vous en ai parlé dans le dernier TP pour la mise en place d’HTTPS sur le nouveau serveur. Il s’agit d’un outil open-source qui permet de tester la configuration SSL de son site web. C’est aussi un concurrent opensource de SSL Server Test chez Qualys-SSL Labs. Pour finir, c’est développé par un français (à San Francisco, faut pas déconner): M. Alban Diquet que vous trouverez sur LinkedIn  et sur Twitter ici. Je vous laisse lire le pedigree du bonhomme.

Installer SSLYZE depuis les sources

Sans transition pour l’installation depuis les source il vous faudra  :

yum install git python2 python-dev

Lib NaSSL

Avant d’installer SSLYZE, la bilbiothèque NaSSL est une dépendance obligatoire pour SSLYZE. On va donc l’installer :

git clone https://github.com/nabla-c0d3/nassl.git
cd nassl
python2 setup.py build_ext -i
python2 sample_client.py
python2 run_tests.py # OK partout <= Tout va bien 
cd ..

SSLYZE

On peut donc maintenant cloner le dépot de … Lire la suite