Archives de catégorie : Sécurisation

La catégorie Sécurisation contient différents principes permettant de sécuriser un objet informatique, de façon théorique (par rapport à un concept) ou pratique (en réponse à une actualité).

Anti-rootkits

chkrootkit

chkrootkit est un programme dont le but est de détecter la contamination d’une machine par un rootkit sur des machines de type Linux.

ossec

ossec comporte un module anti-rootkit.

rkhunter

rkhunter est un outil réputé de recherche de rootkit, fonctionnant sur Linux. Il permet de vérifier l’intégrité des principaux fichiers système (dont les commandes principales) et de s’assurer qu’aucun des principaux rootkits n’est pas installé sur le système concerné.

Installation

Sur Ubuntu, le paquet est inclus dans la distribution de base. Il suffit donc de taper :

sudo apt install rkhunter

Pour lancer une analyse, c’est aussi assez simple :

sudo rkhunter -c

Quelques remarques

Il faut tout d’abord s’assurer de la mise-à-jour de l’outil, car les techniques d’attaque évoluent.

sudo rkhunter --update

Ensuite, il faut garder à l’esprit qu’un rootkit va chercher à se dissimuler, et que certains vont chercher à corrompre rkhunter pour qu’il affiche que tout va bien ! Idéalement, l’intégrité de l’outil lui-même doit être vérifiée (ainsi que de sa base de référence), manuellement, par exemple. On peut aussi réinstaller l’outil à chaque lancement, à partir du site de référence. C’est très fastidieux, mais très utile.

Au 11 avril 2018, la signature de la version 1.4.6 était :

-----BEGIN PGP SIGNATURE-----
iQIcBAABAgAGBQJakfRfAAoJEOnF3FDROqqDFt0P/AkUyV2tBmXmiafikV3yschZ
qr0MsTMd7X+KMFQuA+tFsnJxJBP0AzjTiRF/5QYB6uLQnwyOWGb8rKe+cLmOO3//
uHWwEnOJba0JWGmdogbDVHOcZFzMV7UZQ2F7YrCiVzWdeW9pX1/nzP1yF7wkRaRW
fzm0CYC3DZ4CxNzsAK3wKu84kB0UwnR4wMIDp9W5RNgOmtOEEOJMk+BErxP2NaJ8
zC6uSlkWHT2gcEmCVNN5B4+BX1WHgkOCpobWfOEgV8dr16Np3FegZs3nBnwOvZK+
MuB1IefnwfhcIe1gkDlMPNTpfXv/fvIYyYy9Ki03PIG2Vk0E/s/1QnsBizAwBZMe
LkMz4wfIeoG2pASDPi13dIO9imApUQqPKdH57asTzDhbuODJHfvW1+89LqUpOCSH
BdleOHd425FwEmV7CFRV3rZlj92AWpCfhRJNFvT3D4mYitb/92i7bv12/vmGU/Sh
KlQ3uHPl0mJPMyT2GYXjEr+x729zPEhxWlCiv6kht/1A8CPwGlzHjKI7shay/aX1
V87J80eUG0NaQSjbg2wwpW1U05z78EDhshyrAyq2xbSkYyujHb4YPAKieMS6edu7
wX029+PDo343k7/D/Skoo2T6Pln542nlIlAi69S2JukC6rmSivcbpdQVKOvEkjAf
CSR8IYmLoAgchsxuvtgu
=aA1j
-----END PGP SIGNATURE-----

L’identité PGP du signataire était 0xe9c5dc50d13aaa83.

Site officiel

unhide

unhide est un outil système (Linux) permettant de traquer des processus cachés (trahissant généralement une tentative de dissimulation d’un rootkit).

Bastion

Le bastionnage (pas sûr que le terme existe) consiste à créer un bastion pour accéder à vos ressources (informatiques). On les utiliser sur des ressources sensibles par leur positionnement (ex : production), par leur nature (ex : outil de gestion de droits), leur contenu, etc.

Ainsi, personne ne peut (en théorie) accéder à vos ressources sans montrer patte blanche et sans passer par ce bastion, qui peut surveiller et mettre en historique les actions effectuées, filtrer les éléments indésirables, gérer des droits d’accès différenciés, etc.

AWS

  • Création d’un seul VPC ayant 2 sous-réseaux
    • Un premier subnet « privé » routant tout le trafic de son CIDR en local, tout le reste est dirigé vers une Nat Gateway créée dans le subnet suivant (public) ;
    • Un second subnet « public » routant tout le trafic de son CIDR en local, tout le reste est dirigé vers une Internet Gateway ;
    • Enfin une route supplémentaire, associée à aucun des subnets mais directement au VPC, ne route que le trafic local.
  • Création de 3 Security Groups
    • Le 1er permet le trafic sortant HTTP/HTTPS (pour permettre le SSH via l’agent SSM), et n’autorise rien en entrée ;
    • Le 2e permet le trafic entrant sur HTTPS uniquement et autorise tout en sortie ;
    • Le 3e permet tout le trafic en sortie (sans restriction), ainsi que tout le trafic en entrée mais uniquement quand la source est… lui-même (inutile) ?
  • Création d’un Endpoint

Sources

Antivirus

Un logiciel antivirus combat les virus. Après ça on est bien avancé, non ? Le nom antivirus est un nom générique donné aux programmes de sécurité, dont le but est de détecter et supprimer les virus (ce qui est un abus de langage pour désigner les programmes malveillants).

La question mérite d’être posée : a-t-on besoin d’un anti-virus ? Sur un serveur web ? Sur un poste client ? Sur un smartphone ?

Continuer la lecture

AWS

Comment marche AWS ?

Sécurité

Suivre les événements

Principes

  • Utiliser CloudTrail pour le stockage sur le long terme des événements ; il faut ensuite traiter « manuellement » les événements. La mise-à-jour des événements peut mettre plusieurs minutes (entre 5 et 15), sachant qu’il n’y a pas de garantie d’AWS sur ce délai.
  • Utiliser CloudWatch pour le court terme (plus rapide, quasiment en temps réel, mais plus coûteux).

CloudTrail doit toujours être utilisé sur l’ensemble des régions, et non explicitement sur une liste de régions. On peut envoyer les événements CloudTrail vers CloudWatch, pour configurer des alarmes ; dans ce cas, CloudWatch dispose des événements en temps réel, bien avant CloudTrail pour lequel il y a la fameuse latence de quelques minutes.

Alarmes CloudWatch

Il suffit de configurer une alarme sur l’événement choisi pour recevoir une alerte (dans CloudWatch, ce qui suppose d’utiliser CloudWatch).

Security Groups

Un Security Group est un parefeu à états (« stateful ») attaché aux instances EC2 via leur interface réseau (« eni »).

Des règles en entrée

Quelques éléments de structure

AWS s’est longtemps basé sur Xen pour hyperviser ses machines virtuelles (il en était d’ailleurs un des principaux contributeurs, je crois).

Mais depuis 2017, AWS utilise un autre hyperviseur, Nitro, issu du rachat d’une société israélienne1, Annappurna Labs.

Ressources

Outils (Sécurisation)

En dehors des outils de base (comme les antivirus), il existe des outils ayant une action plus spécifique. Ils peuvent être utilisés en complément des méthodes de protection habituelles, pour des vérifications supplémentaires.

Pentest

10 outils de pen test pour hackers éthiques, selon le Monde :

Vérifier ses PDF

De nombreux programmes malveillants utilisent des pièces-jointes au format PDF pour s’installer et se propager. Les programmes anti-virus doivent normalement les détecter, mais il existe également des outils permettant spécifiquement de les tester et de les vérifier.

Outils grand public

Il suffit souvent de donner l’url du PDF à examiner ou de l’envoyer par le formulaire de la page web pour savoir si le PDF est réputé dangereux ou non.

Outils pour les spécialistes

Il s’agit d’outils en python et en ligne de commande…

Sources

Outils gratuits (?) des éditeurs

Voir aussi https://www.csoonline.com/article/3563872/10-more-free-security-tools-worth-a-look.html.

Outils proposés par l’ANSSI

  • CLIP OS, le système d’exploitation durci sur Linux que l’agence développe depuis 2006 et dont la version 5 désormais disponible est entièrement conçue sur une base open source ;
  • Wookey, disque dur USB chiffrant sécurisé ;
  • DFIR ORC (pour outil de recherche de compromissions), intégralement libre depuis 2019, il regroupe un ensemble d’outils qui permettent la
    recherche, l’extraction et la mise à disposition des données forensiques (analyse post-incident des données du système) en environnement Microsoft Windows ;
  • OpenCTI (Open Cyber Threat Intelligence), solution libre pour traiter et partager la connaissance en matière d’analyse de la cybermenace, né d’un partenariat entre l’ANSSI et le CERT-EU

Chasser les rootkits

Il ne s’agit pas de courir dans la montagne en faisant du bruit avec des casseroles : les rootkits sont des animaux dangereux mais on les trouve en général quand on ne les cherche pas, hélas.

C’est quoi, un rootkit ?

En simplifiant : c’est un ensemble d’utilitaires, ou d’utilités, qui viennent se greffer à votre insu dans votre système dans le but d’en prendre le contrôle ou au moins d’utiliser ses ressources à votre insu, et de manière sournoise et cachée. Comment ? En lançant des process cachés sous Windows, en modifiant le comportement de certaines commandes sous Linux, etc.

Un rootkit peut être installé par un hacker s’il découvre une faille, une vulnérabilité ou un accès non protégé, son but étant que la source des attaques ou des actes malveillants qu’il veut mettre en oeuvre partent d’une machine tierce et sans indice direct permettant de l’identifier. Souvent, la machine infectée devient une machine zombie,

Outils et applications

Voir aussi l’article http://www.esecurityplanet.com/network-security/slideshows/10-top-rootkit-scanners.html.

Rootkits

  • rkhunter
  • chk rootkit
  • unhide
  • RFX Network
  • System Integrity Monitor : http://www.rfxn.com/projects/system-integrity-monitor/
  • Process Ressource Monitor : http://www.rfxn.com/projects/process-resource-monitor/
  • Linux Socket Monitor : http://www.rfxn.com/projects/linux-socket-monitor/
  • Network Socket Inode Monitor : ?
  • Mebromi: the first BIOS rootkit in the wild :
    • http://blog.webroot.com/2011/09/13/mebromi-the-first-bios-rootkit-in-the-wild/
    • http://www.symantec.com/security_response/writeup.jsp?docid=2011-090913-2903-99

DDoS Protection

  • DOS Deflate X
  • mod evasive

Binary protection

  • Libsafe
  • Tripwire
  • Snort
  • Wget/Lynx disabling…

Server auditors

  • Lynis
  • MySQL performance ??
  • On Guard

Analyse (forensics, debugging)

Sécurisation de librairies PHP

Détection

Il existe des programmes de détection et de prévention de rootkits spécifiques à Windows :

Il existe également des programmes de détection et de prévention de rootkits spécifiques à Windows :

  • chkrootkit de Nelson Murilo et Klaus Steding-Jessen (UNIX/Linux)
  • rkhunter de Michael Boelen (UNIX/Linux)
  • Zeppoo de ZeppooTeam (UNIX/Linux), renommé kernsh le 15 mai 2007, ce projet est maintenant intégré dans le framework ERESI (18 septembre 2007).
  • Trend Micro Rootkit Buster

Il est également utile de savoir que des outils dit anti-virus complètent leurs mécanismes de protection par de la détection de rootkits.

Sous Linux

Articles complémentaires

http://www.lesnouvelles.net/articles/chiffres/comparatif-antirootkit-epitech (lien obsolète)

SSL (et TLS)

Wifi

Web Application

  • Uniscan

A classer

Non classés

  • Malwarebytes Anti-Malware
  • G-DATA
  • BitDefender
  • Kaspersky
  • Avira AntiVir
  • AVG Anti-Virus
  • NOD32
  • F-ESET
  • DarkSpy
  • Avast!
  • Blacklight F-secure
  • Rootkit Hook Analyzer
  • Spybot S&D (Safer Networking)
  • RootAnalyser (Safer Networking)
  • GMER
  • ad-aware
  • HijackThis

Autres outils

Commandes utiles

openssl

Voici quelques commandes utiles. Sauf indication contraire, c’est du Linux 😉 mais ça marche quasiment de la même façon sous Windows.

openSSL est un outil open source très répandu qui offre un très grand nombre de fonctions utiles pour la mise en oeuvre de SSL. Voici quelques exemples d’utilisation.

Pour récupérer le certificat présenté par un site :

openssl s_client -connect nom_du_site:443 -showcerts

Pour afficher en clair le contenu d’un certificat X.509 :

openssl x509 -in nom_fichier_certificat -text

Debugging de connexion SSL

openssl s_client -state -nbio -debug -connect ...

Pour afficher la clé publique d’un certificat :

openssl x509 -pubkey -noout -in nom_fichier_certificat

Pour afficher la clé publique en format utile pour une connexion SSH avec clé :

 ssh-keygen -y -f nom_fichier_cerificat

Pour la clé privée :

openssl pkcs12 -in fichier.pfx -nocerts -out fichier.key -nodes
openssl rsa -in fichier.key -out clepriv.key

A passer ensuite dans la moulinette PuTTY KeyGen pour transformer tout ça en format utilisable par PuTTY…

Convert PEM files

PEM to DER

openssl x509 -outform der -in certificate.pem -out certificate.der 

PEM to P7B

openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer 

PEM to PFX

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt 

Convert P7B files

P7B to PEM

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer 

P7B to PFX

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer 

Convert PFX files

PFX to PEM (extraction du certificat)

openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

PFX to PEM (extraction de la clé privée)

openssl pkcs12 -in certificate.pfx -nocerts -out cle.pem -nodes

Convert DER files

DER to PEM

openssl x509 -inform der -in certificate.cer -out certificate.pem

Sources

git

Pour utiliser git avec token d’authentification, il faut indiquer ce token dans l’URL des push.

git remote set-url origin "https://USER:TOKEN@gitlab.com/user/projet.git"

BitLocker

Récupération des informations sur un volume donné :

manage-bde –protectors –get [volume]

Création d’un fichier package de clé, sur un id récupéré par la commande ci-dessus :

manage-bde -KeyPackage C: -id "{id}" -path "f:\Folder" 

Réseau

Windows

ipconfig /displaydns 
tracert 
netsh

Linux

Pour arrêter et redémarrer une interface (afin de prendre en compte les changements de paramétrage).

ifconfig eth0 down
ifconfig eth0 up 

Autres commandes :

route -n

Windows

Mesure de performances Win10

Voir aussi

MongoDB

mongoDB est une base de données utilisée dans les développements à Gilles de style djeun’s. La sécurité n’étant pas le fort des générations Y ou Z, de nombreuses fuites de données ont été relatées dans la presse plus ou moins spécialisée.

Fort de ce constat, je me suis demandé si c’était si difficile que ça de sécuriser cette base de données, sachant que la plupart du temps les fuites de données constatées ne sont dues qu’à la méconnaissance et de la paresse du développeur. En 2017, on dénombrait 60 000 bases MongoDB accessibles sur Internet1, dont 70 % sans authentification ! Le résultat va de la fuite de données à l’extorsion1.

En 2018, toujours autant de paresse à corriger ces problèmes, dont les premières alertes2 remontent pourtant à 2015 !

Quelques exemples

Les bases MongoDB mal configurées sont légions, disais-je.

  • Abbyy, un fournisseur de solution de reconnaissance de caractères (OCR), a laissé plus de 200 000 scans de documents3 parfois très confidentiels. Il se trouve qu’il s’agissait d’une instance hébergée chez AWS4. L’informatique, c’est un métier. La sécurité aussi ;
  • Une base gérée par une société mexicaine et contenant des informations médicales de 2 millions de patients5 fut exposée en clair et sans mot de passe (la bourde classique sur MongoDB) en août 2018 ;
  • 200 Go et 445 millions d’enregistrements exposés par Veeam6, une société proposant des services pour infrastructures informatiques (dont des sauvegardes), sur une instance MongoDB hébergée chez AWS (septembre 2018).
  • Les informations de 700 000 clients d’Amex India (American Express) étaient accessibles en clair7.
  • 66 millions d’informations d’utilisateurs LinkedIn repérés en décembre 20188.
  • Février 2019 : La banque indienne SBI laisse une base opérationnelle sans aucune protection9.
  • Avril 2019 : https://www.cpomagazine.com/cyber-security/largest-leak-in-history-email-data-breach-exposes-over-two-billion-personal-records/
  • Mai 2019 : 12 000 bases effacées par un petit malin10.
  • Juin 2019 : des ordonnances de 78 000 patients en libre-service11.
  • Juillet 2019 : maintenant que le RGPD est bien dans les esprits, les déclarations de fuite d’info prolifèrent. Une base de données contenant 188 millions d’enregistrements12 (= de personnes) a été publiée sur GitHub et indexée. Elle contenait les profils de réseaux sociaux, la religion de la personne, etc.
  • Septembre 2019 : une spéciale ! Les auteurs du malware Gootkit sont comme les autres développeurs : ils font des erreurs. Leur base de « clients » (= victimes) s’est retrouvée disponible13 sans mot de passe.

Voir aussi

Références