threatmodel macOS FR - edamametechnologies/threatmodels GitHub Wiki
macOS Modèle de Menace (FR)
Contents
- EDAMAME Helper inactif
- Réponse au ping activée
- Profils MDM installés
- Administration à distance JAMF installée
- Wake On LAN activé
- Mises à jour Appstore manuelles
- Pare-feu local désactivé
- Login automatique activé
- Accès à distance activé
- Bureau à distance activé
- Partage de fichiers activé
- Événements à distance activés
- Clé d'entreprise de récupération de disque
- Encryption du disque désactivée
- Applications non signées autorisées
- Mises à jour système manuelles
- Ecran protégé désactivé
- Pas d'antivirus activé
- Pas de gestionnaire de mots de passe installé
- Protection d'intégrité système désactivée
- Compte invité activé
- Utilisateur root activé
- Changement de paramètres système non protégés
- Adresse e-mail potentiellement compromise
- Environement réseau non vérifié ou non sécurisé
- Services non vérifiés ou non sécurisés exposés sur le réseau local
- Trafic sortant non vérifié ou non sécurisé
- Votre OS n'est pas à jour
- Navigateur Chrome non à jour
- Règle métier non respectée
- CLI non restreint pour les utilisateurs standard
EDAMAME Helper inactif
Menace
Dimension : system services / Sévérité : 5
Le logiciel d'assistance d'EDAMAME n'est pas en cours d'exécution ou a besoin d'être mis à jour. Il est requis pour une analyse complète du score de sécurité.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
helper_check
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
https://github.com/edamametechnologies/edamame_helper/releases/download
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' '/Library/Application\ Support/Edamame/Edamame-Helper/uninstall.sh' | /bin/bash
Réponse au ping activée
Menace
Dimension : network / Sévérité : 3
Tags : CIS Benchmark Level 1,Enable Stealth Mode
Votre ordinateur répondra si quelque chose essaie de vérifier sa présence. Cela peut être très mauvais et permettre à quiconque de vérifier votre présence sur un réseau et éventuellement d'attaquer votre ordinateur....
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' '/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode | grep -E "disabled|is off"' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' '/usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode on' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' '/usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode off' | /bin/bash
Profils MDM installés
Menace
Dimension : system integrity / Sévérité : 5
Tags : Personal Posture
Un ou plusieurs profils de gestion des appareils mobiles (MDM) sont installés sur votre appareil. Cela signifie que votre appareil est, ou peut être, administré à distance par un tiers. S'il s'agit de votre ordinateur personnel, il s'agit d'une grave menace et les profils doivent être supprimés.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'profiles -P | grep profileIdentifier | grep -v digital_health_restrictions | grep -v dateandtime' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'profiles remove -all -forced' | /bin/bash
Retour en arrière
https://support.apple.com/fr-fr/guide/deployment/depc0aadd3fe/web
Administration à distance JAMF installée
Menace
Dimension : system integrity / Sévérité : 5
Tags : Personal Posture
Votre ordinateur est, ou peut être, administré à distance par un tiers à l'aide du framework JAMF MDM. S'il s'agit de votre ordinateur personnel, il s'agit d'une grave menace et JAMF doit être supprimé.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | admin |
Script
printf '%s
' 'pgrep jamf' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'jamf removeFramework' | /bin/bash
Retour en arrière
https://www.jamf.com/fr
Wake On LAN activé
Menace
Dimension : network / Sévérité : 1
Tags : CIS Benchmark Level 1,Disable Wake on Network Access
Wake on LAN est une fonctionnalité qui peut réveiller automatiquement votre ordinateur lorsque quelque chose tente de s'y connecter. Ce n'est pas quelque chose dont vous avez besoin dans la plupart des cas et cela peut permettre à un malfrat de se connecter à votre ordinateur à tout moment.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'systemsetup getwakeonnetworkaccess | grep -v Off' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'systemsetup -setwakeonnetworkaccess off' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'systemsetup -setwakeonnetworkaccess on' | /bin/bash
Mises à jour Appstore manuelles
Menace
Dimension : applications / Sévérité : 3
Tags : CIS Benchmark Level 1,Enable App Store Automatic Update
Les applications sont constamment mises à jour pour résoudre les problèmes de sécurité potentiels. Il est dans votre intérêt d'obtenir les mises à jour dès que possible grâce aux mises à jour automatiques.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | globalpreferences |
Script
printf '%s
' 'defaults read /Library/Preferences/com.apple.commerce.plist AutoUpdate 2>&1 | grep -v 1' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'defaults write /Library/Preferences/com.apple.commerce.plist AutoUpdate -bool true;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallAppUpdates -bool true;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool true' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'defaults write /Library/Preferences/com.apple.commerce.plist AutoUpdate -bool false;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallAppUpdates -bool false;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool false' | /bin/bash
Pare-feu local désactivé
Menace
Dimension : network / Sévérité : 2
Tags : CIS Benchmark Level 1,Enable Firewall
Votre pare-feu local est désactivé. C'est bien dans un environnement de confiance mais dangereux si vous vous connectez à des réseaux publics. Vous devriez l'activer par défaut.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' '/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate | grep disabled' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' '/usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' '/usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off' | /bin/bash
Login automatique activé
Menace
Dimension : credentials / Sévérité : 4
Tags : CIS Benchmark Level 1,Disable automatic login
La connexion automatique peut sembler très pratique mais en fait c'est une menace majeure pour la sécurité : elle permet à n'importe qui d'accéder à vos données sans connaître votre mot de passe.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | globalpreferences |
Script
printf '%s
' 'defaults read /Library/Preferences/com.apple.loginwindow | grep autoLoginUser' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'defaults delete /Library/Preferences/com.apple.loginwindow autoLoginUser' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
x-apple.systempreferences:com.apple.preferences.users
Accès à distance activé
Menace
Dimension : system integrity / Sévérité : 4
Tags : CIS Benchmark Level 1,Disable Remote Login
L'accès à distance est activée. Ce n'est pas nécessaire sauf si vous êtes un professionnel de l'informatique. Ceci est inhabituel et dangereux pour la plupart des utilisateurs.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | admin |
Script
printf '%s
' 'systemsetup -getremotelogin | grep On' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | fulldisk |
Script
printf '%s
' 'echo yes | systemsetup -setremotelogin off' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | fulldisk |
Script
printf '%s
' 'systemsetup -setremotelogin on' | /bin/bash
Bureau à distance activé
Menace
Dimension : system integrity / Sévérité : 4
Tags : CIS Benchmark Level 1,Disable Remote Desktop Sharing
La connexion au bureau à distance est activée. Ce n'est pas nécessaire sauf si vous êtes un professionnel de l'informatique. Ceci est inhabituel et dangereux pour la plupart des utilisateurs.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | admin |
Script
printf '%s
' 'pgrep ARDAgent' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | fulldisk |
Script
printf '%s
' '/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -stop' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | fulldisk |
Script
printf '%s
' '/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate' | /bin/bash
Partage de fichiers activé
Menace
Dimension : system services / Sévérité : 4
Tags : CIS Benchmark Level 1,Disable File Sharing
Le partage de fichiers est activé. Bien que cela puisse être intentionnel, nous vous recommandons fortement de le désactiver. Ce n'est pas si facile à configurer et cela peut exposer vos données à des personnes indésirables.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | admin |
Script
printf '%s
' 'launchctl list | grep smbd' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'launchctl unload -w /System/Library/LaunchDaemons/com.apple.smbd.plist' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist &&' 'defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server.plist EnabledServices -array disk' | /bin/bash
Événements à distance activés
Menace
Dimension : system integrity / Sévérité : 4
Tags : CIS Benchmark Level 1,Disable Remote Apple Events
Les événements à distance sont activés. Bien que cela puisse être intentionnel, nous vous recommandons fortement de les désactiver. C'est inutile pour la plupart des utilisateurs et cela a été une cible d'attaques dans un passé récent.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
printf '%s
' 'launchctl print-disabled system | grep com.apple.AEServer | grep -E '"'"'enabled|false'"'"'' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | fulldisk |
Script
printf '%s
' 'systemsetup -setremoteappleevents off' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | fulldisk |
Script
printf '%s
' 'systemsetup -setremoteappleevents on' | /bin/bash
Clé d'entreprise de récupération de disque
Menace
Dimension : system integrity / Sévérité : 4
Tags : Personal Posture
Il semble que le disque dur de votre ordinateur ait été crypté par votre employeur. Cela signifie qu'ils pourraient potentiellement le déchiffrer si vous leur rendez l'ordinateur. Vous devriez supprimer cette possibilité.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | admin |
Script
printf '%s
' 'fdesetup hasinstitutionalrecoverykey | grep true' | /bin/bash
Remédiation
https://derflounder-wordpress-com.translate.goog/2019/07/03/managing-macos-mojaves-filevault-2-with-fdesetup/?_x_tr_sl=auto&_x_tr_tl=fr&_x_tr_hl=en&_x_tr_pto=wapp
Retour en arrière
https://derflounder-wordpress-com.translate.goog/2019/07/03/managing-macos-mojaves-filevault-2-with-fdesetup/?_x_tr_sl=auto&_x_tr_tl=fr&_x_tr_hl=en&_x_tr_pto=wapp
Encryption du disque désactivée
Menace
Dimension : system services / Sévérité : 4
Tags : CIS Benchmark Level 1,Enable FileVault, ISO 27001/2,A.8.3.1-Media Protection, SOC 2,CC6.7-Data Protection
Votre stockage principal n'est pas crypté. Bien qu'il y ait un petit impact sur les performances en l'activant, nous vous invitons vraiment à le configurer. Sans cela, toute personne accédant physiquement à votre ordinateur peut accéder à vos données.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | admin |
Script
printf '%s
' 'system_profiler SPHardwareDataType 2>/dev/null | grep -q '"'"'Virtual'"'"' ||' 'fdesetup isactive | grep false' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
x-apple.systempreferences:com.apple.preference.security?FileVault
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
x-apple.systempreferences:com.apple.preference.security?FileVault
Applications non signées autorisées
Menace
Dimension : applications / Sévérité : 4
Tags : CIS Benchmark Level 1,Enable Gatekeeper
Votre ordinateur a été configuré pour autoriser l'exécution d'applications non signées. C'est inhabituel et dangereux. Vous devriez désactiver cette option.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | admin |
Script
printf '%s
' 'spctl --status | grep disabled' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'spctl --global-enable' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'spctl --global-disable' | /bin/bash
Mises à jour système manuelles
Menace
Dimension : system integrity / Sévérité : 4
Tags : CIS Benchmark Level 1,Enable Software Update Automatic Download
Les mises à jour du système sont manuelles. Vous devriez vraiment activer les mises à jour automatiques du système pour obtenir les derniers correctifs de sécurité pour votre ordinateur.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | globalpreferences |
Script
printf '%s
' 'defaults read /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates 2>/dev/null | grep -q 1 ||' 'echo macosupdate_disabled' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool true;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool true;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool true;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -bool true;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall -bool true;' 'softwareupdate --schedule on' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool false;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool false;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool false;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -bool false;' 'defaults write /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall -bool false;' 'softwareupdate --schedule off' | /bin/bash
Ecran protégé désactivé
Menace
Dimension : credentials / Sévérité : 3
Tags : CIS Benchmark Level 1,Set inactivity interval, ISO 27001/2,A.11.2.8-Unattended User Equipment, SOC 2,CC6.1-Access Control
Votre ordinateur n'a pas d'économiseur d'écran activé avec un mot de passe. Il le laisse ouvert à l'accès physique par n'importe qui. C'est très dangereux !
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
printf '%s
' 'sysadminctl -screenLock status 2>&1 | grep off' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
x-apple.systempreferences:com.apple.Lock-Screen-Settings.extension
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
x-apple.systempreferences:com.apple.Lock-Screen-Settings.extension
Pas d'antivirus activé
Menace
Dimension : applications / Sévérité : 4
Tags : ISO 27001/2,A.12.2.1-Malware Controls, SOC 2,CC6.8-Malware Protection
Vous n'avez pas d'antivirus installé (MalwareBytes, Sentinel One, BitDefender...). Nous vous recommandons d'en activer un.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | admin |
Script
printf '%s
' 'set -euo pipefail' '' 'is_proc() { pgrep -x "$1" >/dev/null 2>&1; }' 'is_fproc() { pgrep -f "$1" >/dev/null 2>&1; }' '' 'has_crowdstrike() {' ' # CrowdStrike Falcon (system extension + app/CLI)' ' [ -e "/Library/LaunchDaemons/com.crowdstrike.falcon.Agent.plist" ]] && return 0' ' command -v systemextensionsctl >/dev/null 2>&1 && \' ' systemextensionsctl list 2>/dev/null ](/edamametechnologies/threatmodels/wiki/grep--Fq-"com.crowdstrike.falcon.Agent"-&&-return-0'-'--[[--x-"/Applications/Falcon.app/Contents/Resources/falconctl"-) && return 0' ' return 1' '}' '' 'has_carbonblack() {' ' # VMware Carbon Black Cloud / EDR (daemon plist names)' ' [ -e "/Library/LaunchDaemons/com.vmware.carbonblack.cloud.daemon.plist" ]] && return 0' ' [[ -e "/Library/LaunchDaemons/com.carbonblack.daemon.plist" ]] && return 0' ' command -v systemextensionsctl >/dev/null 2>&1 && \' ' systemextensionsctl list 2>/dev/null ](/edamametechnologies/threatmodels/wiki/grep--iq-"carbonblack"-&&-return-0'-'--return-1'-'}'-''-'has_ms_defender()-{'-'--#-Microsoft-Defender-for-Endpoint'-'--if-command--v-mdatp->/dev/null-2>&1;-then'-'----#-Prefer-a-health-probe-if-available'-'----(-mdatp-health---field-real_time_protection_enabled-2>/dev/null-|-grep--qi-"true"-)-&&-return-0'-'----(-mdatp-health---field-healthy-2>/dev/null-|-grep--qi-"true"-)-&&-return-0'-'--fi'-'--is_fproc-"wdavdaemon"-&&-return-0'-'--return-1'-'}'-''-'has_sophos()-{'-'--#-Sophos-Intercept-X-/-Endpoint'-'--is_proc-"SophosScanD"-&&-return-0'-'--is_fproc-"com.sophos"-&&-return-0'-'--return-1'-'}'-''-'has_symantec()-{'-'--#-Symantec-Endpoint-Protection'-'--is_proc-"SymDaemon"-&&-return-0'-'--return-1'-'}'-''-'has_trendmicro()-{'-'--#-Trend-Micro-Apex-One-(macOS)'-'--is_proc-"iCoreService"-&&-return-0'-'--command--v-systemextensionsctl->/dev/null-2>&1-&&-\'-'----systemextensionsctl-list-2>/dev/null-|-grep--Fq-"com.trendmicro.icore.es"-&&-return-0'-'--return-1'-'}'-''-'has_cortex_xdr()-{'-'--#-Palo-Alto-Networks-Cortex-XDR-(aka-Traps)'-'--[[--x-"/Library/Application-Support/PaloAltoNetworks/Traps/bin/cytool"-) && return 0' ' is_fproc "/Library/Application Support/PaloAltoNetworks/Traps/bin/pmd" && return 0' ' [ -e "/Library/LaunchDaemons/com.paloaltonetworks.cortex.pmd.plist" ](/edamametechnologies/threatmodels/wiki/--e-"/Library/LaunchDaemons/com.paloaltonetworks.cortex.pmd.plist"-) && return 0' ' return 1' '}' '' 'has_jamf_protect() {' ' is_proc "JamfProtectAgent" && return 0' ' # protectctl exists but may not be on PATH everywhere' ' if [ -x "/usr/local/bin/protectctl" ](/edamametechnologies/threatmodels/wiki/--x-"/usr/local/bin/protectctl"-); then /usr/local/bin/protectctl version >/dev/null 2>&1 && return 0; fi' ' if command -v protectctl >/dev/null 2>&1; then protectctl version >/dev/null 2>&1 && return 0; fi' ' return 1' '}' '' 'has_cylance() {' ' # Cylance / BlackBerry Protect' ' [ -e "/Library/LaunchDaemons/com.cylance.agent_service.plist" ](/edamametechnologies/threatmodels/wiki/--e-"/Library/LaunchDaemons/com.cylance.agent_service.plist"-) && return 0' ' is_fproc "CylanceSvc" && return 0' ' return 1' '}' '' 'has_eset() {' ' # ESET Endpoint Security for macOS' ' is_proc "esets_daemon" && return 0' ' return 1' '}' '' 'has_bitdefender() { is_proc "BDLDaemon" && return 0; return 1; } # Bitdefender' 'has_malwarebytes() { is_proc "RTProtectionDaemon" && return 0; return 1; } # Malwarebytes' 'has_sentinelone() { command -v sentinelctl >/dev/null 2>&1 && sentinelctl version 2>/dev/null | grep -q "SentinelOne" && return 0; return 1; }' '' 'has_xprotect() {' ' # Apple XProtect Remediator (built-in)' ' if command -v xprotect >/dev/null 2>&1; then' ' xprotect status 2>/dev/null | grep -Fq "launch scans: enabled" || return 1' ' xprotect status 2>/dev/null | grep -Fq "background scans: enabled" || return 1' ' return 0' ' fi' '' ' # Fallback for older macOS versions where only the XProtect process exists' ' is_fproc "xprotect" && return 0' ' is_proc "XProtect" && return 0' ' return 1' '}' '' 'has_any_edr() {' ' has_bitdefender && return 0' ' has_malwarebytes && return 0' ' has_sentinelone && return 0' ' has_crowdstrike && return 0' ' has_carbonblack && return 0' ' has_ms_defender && return 0' ' has_sophos && return 0' ' has_symantec && return 0' ' has_trendmicro && return 0' ' has_cortex_xdr && return 0' ' has_jamf_protect && return 0' ' has_cylance && return 0' ' has_eset && return 0' ' has_xprotect && return 0 # treat “good XProtect status” as EPP present' ' return 1' '}' '' 'if ! has_any_edr; then' ' echo "epp_disabled"' 'fi' | /bin/bash
Remédiation
https://www.malwarebytes.com/
Retour en arrière
https://www.apple.com/fr/macos/security/
Pas de gestionnaire de mots de passe installé
Menace
Dimension : credentials / Sévérité : 4
Vous n'avez pas de gestionnaire de mots de passe installé. Nous vous recommandons d'en installer un.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | admin |
Script
printf '%s
' 'set -euo pipefail' '' 'ensure_home() {' ' if [ -n "${HOME:-}" && -d "${HOME}" ]]; then' ' return' ' fi' '' ' local user' ' user="$(id -un)"' '' ' # macOS: prefer dscl lookup' ' if HOME="$(/usr/bin/dscl . -read "/Users/${user}" NFSHomeDirectory 2>/dev/null ](/edamametechnologies/threatmodels/wiki/awk-'"'"'{print-$2}'"'"')";-then'-'----if-[[--n-"${HOME}"-&&--d-"${HOME}"-); then' ' return' ' fi' ' fi' '' ' # Fallback to tilde expansion' ' if HOME="$(eval echo "~${user}")" && [ -n "${HOME}" && -d "${HOME}" ]]; then' ' return' ' fi' '' ' # Absolute last resort' ' HOME="/var/root"' '}' '' 'ensure_home' '' 'found_pm=0' '' '# --- Native (desktop or App Store “container” apps incl. Safari extensions) ---' 'app_paths=(' ' "/Applications/1Password.app"' ' "/Applications/1Password 7.app" # legacy' ' "/Applications/1Password7.app" # legacy naming' ' "/Applications/1Password for Safari.app"' ' "/Applications/Bitwarden.app"' ' "/Applications/LastPass.app"' ' "/Applications/LastPass for Safari.app"' ' "/Applications/Dashlane.app"' ' "/Applications/Keeper Password Manager.app"' ' "/Applications/Keeper for Safari.app"' ' "/Applications/Enpass.app"' ' "/Applications/KeePassXC.app"' ' "/Applications/NordPass.app"' ' "/Applications/RoboForm.app"' ' "/Applications/Zoho Vault.app"' ' "/Applications/Proton Pass.app"' ' "$HOME/Applications/Chrome Apps.localized/Google Password Manager.app"' ')' '' 'for p in "${app_paths[@]}"; do' ' if [[ -d "$p" ]]; then' ' found_pm=1; break' ' fi' 'done' '' '# --- Chromium-family extensions (Chrome, Edge, Brave, Vivaldi) ---' '# Known extension IDs' 'chrome_ids=(' ' "aeblfdkhhhdcdjpifhhbdiojplfjncoa" # 1Password – Password Manager (stable)' ' "khgocmkkpikpnmmkgmdnfckapcdkgfaf" # 1Password Beta' ' "nngceckbapebfimnlniiiahkandclblb" # Bitwarden' ' "hdokiejnpimakedhajhdlcegeplioahd" # LastPass' ' "fdjamakpfbbddfjaooikfcpapjohcfmg" # Dashlane' ' "bfogiafebfohielmmehodmfbbebbbpei" # Keeper' ' "igkpcodhieompeloncfnbekccinhapdb" # Zoho Vault' ' "eiaeiblijfjekdanodkjadfinkhbfgcd" # NordPass' ' "pnlccmojcmeohlpggmfnbbiapkmbliob" # RoboForm' ' "oboonakemofpalcgghocfoadofidjkkk" # KeePassXC-Browser' ' "kmcfomidfpdkfieipokbalgegidffkal" # Enpass' ' "ghmbeldphafepmbegfdlkpapadhbakde" # Proton Pass' ')' '' 'chromium_bases=(' ' "$HOME/Library/Application Support/Google/Chrome"' ' "$HOME/Library/Application Support/Microsoft Edge"' ' "$HOME/Library/Application Support/BraveSoftware/Brave-Browser"' ' "$HOME/Library/Application Support/Vivaldi"' ')' '' 'if [[ $found_pm -eq 0 ]]; then' ' for base in "${chromium_bases[@]}"; do' ' [[ -d "$base" ]] ](/edamametechnologies/threatmodels/wiki/|-continue'-'----for-profile-in-"$base"/*;-do'-'------[[--d-"$profile/Extensions"-) || continue' ' for id in "${chrome_ids[@]}"; do' ' if [ -d "$profile/Extensions/$id" ]]; then' ' found_pm=1; break' ' fi' ' done' ' [[ $found_pm -eq 1 ]] && break' ' done' ' [[ $found_pm -eq 1 ]] && break' ' done' 'fi' '' '# --- Firefox extensions (look for known names in extensions.json) ---' 'if [[ $found_pm -eq 0 ]]; then' ' ff_root="$HOME/Library/Application Support/Firefox/Profiles"' ' if [[ -d "$ff_root" ]]; then' ' for prof in "$ff_root"/*; do' ' ej="$prof/extensions.json"' ' if [[ -f "$ej" ]] && \' ' grep -Eiq '"'"'"name".*"(1Password](/edamametechnologies/threatmodels/wiki/Bitwarden|LastPass|Dashlane|Keeper|Enpass|NordPass|Zoho-Vault|Proton-Pass|KeePassXC)"'"'"'-"$ej";-then'-'--------found_pm=1;-break'-'------fi'-'----done'-'--fi'-'fi'-''-'#-----Result----'-'if-[[-$found_pm--eq-0-); then' ' echo "No password manager installed"' 'fi' | /bin/bash
Remédiation
https://fr.wikipedia.org/wiki/Gestionnaire_de_mots_de_passe
Retour en arrière
https://fr.wikipedia.org/wiki/Gestionnaire_de_mots_de_passe
Protection d'intégrité système désactivée
Menace
Dimension : system integrity / Sévérité : 5
Tags : CIS Benchmark Level 1,Ensure System Integrity Protection is enabled
La Protection de l'Intégrité du Système est une capacité clé de macOS qui empêche tous logiciels de modifier les fichiers et les composants du système. Dans une certaine mesure, c'est un antivirus 'assez bon' pour votre Mac. Le désactiver est... inhabituel et dangereux. Il devrait être activé par défaut sur votre Mac. Ce contenu vous expliquera comment l'activer à nouveau. Soyez courageux... c'est un peu difficile à réaliser !
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
printf '%s
' 'csrutil status | grep disabled' | /bin/bash
Remédiation
https://support.apple.com/fr-fr/HT204899
Retour en arrière
https://support.apple.com/fr-fr/HT204899
Compte invité activé
Menace
Dimension : system services / Sévérité : 2
Tags : CIS Benchmark Level 1,Disable Guest account
Le compte invité est activé. C'est généralement bien, mais il n'est pas si facile de limiter l'accès à vos données. Vous devriez le désactiver.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
printf '%s
' 'sysadminctl -guestAccount status 2>&1 | grep enabled' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'sysadminctl -guestAccount off' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'sysadminctl -guestAccount on' | /bin/bash
Utilisateur root activé
Menace
Dimension : system integrity / Sévérité : 3
Tags : CIS Benchmark Level 1,Disable root account
Un utilisateur système spécial a été configuré sur votre ordinateur. Ceci est inhabituel et doit être désactivé immédiatement.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
printf '%s
' 'dscl . -read /Users/root Password | grep '"'"'\*\*'"'"'' | /bin/bash
Remédiation
https://support.apple.com/fr-fr/HT204012
Retour en arrière
https://support.apple.com/fr-fr/HT204012
Changement de paramètres système non protégés
Menace
Dimension : system integrity / Sévérité : 3
Tags : CIS Benchmark Level 1,Enable system wide preferences
Les paramètres de votre système informatique peuvent être modifiés par tous les utilisateurs. Vous devriez le restreindre.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
printf '%s
' 'security authorizationdb read system.preferences 2> /dev/null | grep -A1 shared | grep true' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'security authorizationdb read system.preferences > /tmp/system.preferences.plist;' '/usr/libexec/PlistBuddy -c "Set :shared false" /tmp/system.preferences.plist;' 'security authorizationdb write system.preferences < /tmp/system.preferences.plist' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'security authorizationdb read system.preferences > /tmp/system.preferences.plist;' '/usr/libexec/PlistBuddy -c "Set :shared true" /tmp/system.preferences.plist;' 'security authorizationdb write system.preferences < /tmp/system.preferences.plist' | /bin/bash
Adresse e-mail potentiellement compromise
Menace
Dimension : credentials / Sévérité : 1
Tags : Personal Posture
Vérifiez si votre adresse e-mail est peut-être apparue récemment dans une fuite de données.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
pwned -i 365
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
digitalidentity_manager
Retour en arrière
https://www.futura-sciences.com/tech/actualites/internet-voici-savoir-si-vos-donnees-personnelles-internet-ont-ete-piratees-103095/
Environement réseau non vérifié ou non sécurisé
Menace
Dimension : network / Sévérité : 1
Tags : Personal Posture
Le réseau auquel vous êtes connecté n'est pas connu ou contient des appareils non sécurisés. Si vous êtes autorisé à scanner ce réseau, allez dans l'onglet réseau et vérifiez la présence de périphériques potentiellement dangereux.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
lanscan
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
network_manager
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
network_manager
Services non vérifiés ou non sécurisés exposés sur le réseau local
Menace
Dimension : network / Sévérité : 1
Tags : Personal Posture
Votre appareil expose des services sur le réseau local qui peuvent être non sécurisés ou non vérifiés. Allez dans l'onglet réseau, sélectionnez votre propre appareil et examinez les ports ouverts et les vulnérabilités associées.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
lanscan_host
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
network_manager
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
network_manager
Trafic sortant non vérifié ou non sécurisé
Menace
Dimension : network / Sévérité : 1
Tags : Personal Posture
Le trafic réseau sortant n'est pas vérifié ou contient du trafic anormal.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
egresscan
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
session_manager
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
session_manager
Votre OS n'est pas à jour
Menace
Dimension : system integrity / Sévérité : 2
Tags : CIS Benchmark Level 1,Enable Software Update
Votre système d'exploitation n'est pas à jour, veuillez procéder à sa mise à niveau afin d'obtenir les derniers correctifs de sécurité.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | globalpreferences |
Script
printf '%s
' 'defaults read /Library/Preferences/com.apple.SoftwareUpdate.plist | grep macOS' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande |
Script
x-apple.systempreferences:com.apple.preferences.softwareupdate
Retour en arrière
https://www.agnosys.com/reinstaller-une-ancienne-version-de-macos
Navigateur Chrome non à jour
Menace
Dimension : applications / Sévérité : 3
Votre navigateur Google Chrome n'est pas à jour. Exécuter la dernière version garantit que vous disposez des dernières fonctionnalités de sécurité et des améliorations de performance.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
printf '%s
' 'defaults read /Applications/Google\ Chrome.app/Contents/Info.plist CFBundleShortVersionString &>/dev/null &&' '{ local_version=$(defaults read /Applications/Google\ Chrome.app/Contents/Info.plist CFBundleShortVersionString);' 'latest_version=$(curl -s "https://formulae.brew.sh/api/cask/google-chrome.json" | sed -n '"'"'s/.*\"version\": \"\([^\"]*\)\".*/\1/p'"'"');' 'if [ "$(printf '"'"'%s
%s
'"'"' "$local_version" "$latest_version" | sort -V | tail -n1)" = "$latest_version" ] &&' '[ "$local_version" != "$latest_version" ];' 'then echo "Chrome is not up to date (Installed: $local_version, Latest: $latest_version)";' 'fi;' '}' | /bin/bash
Remédiation
https://support.google.com/chrome/answer/95414?hl=fr
Retour en arrière
https://support.google.com/chrome/a/answer/6350036?hl=fr
Règle métier non respectée
Menace
Dimension : applications / Sévérité : 1
Une ou plusieurs règles métier ne sont pas respectées. Veuillez consulter la sortie de la commande pour plus de détails. Pour activer les règles métier, définissez la variable d'environnement EDAMAME_BUSINESS_RULES_CMD. Voir : https://github.com/edamametechnologies/edamame_posture_cli?tab=readme-ov-file#business-rules
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | user |
Script
business_rules
Remédiation
Consultez la documentation des règles métier pour plus de détails.
Retour en arrière
Consultez la documentation des règles métier pour plus de détails.
CLI non restreint pour les utilisateurs standard
Menace
Dimension : system integrity / Sévérité : 3
Tags : Personal Posture
L'accès à l'interface de ligne de commande (CLI) n'est pas restreint pour les utilisateurs standard. Les utilisateurs non-administrateurs peuvent accéder aux environnements shell interactifs, ce qui peut permettre des modifications système non autorisées ou le contournement des politiques de sécurité.
Implémentation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | admin |
Script
printf '%s
' 'grep -q "BEGIN RESTRICT_ZSH_NONADMINS" /etc/zshrc ||' 'echo CLI not restricted' | /bin/bash
Remédiation
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'grep -q "BEGIN RESTRICT_ZSH_NONADMINS" /etc/zshrc ||' 'cat <<'"'"'EOF'"'"' >> /etc/zshrc' '# BEGIN RESTRICT_ZSH_NONADMINS' '## Prevent non-admin users from using interactive zsh shells' 'if [ -t 1 ](/edamametechnologies/threatmodels/wiki/--t-1-);' 'then' ' if ! id -Gn | grep -qw admin;' 'then' ' echo ""' ' echo "Command-line access is restricted by your administrator."' ' osascript -e "display alert \"Access Restricted\" message \"Command-line tools are blocked for standard users.\" buttons {\"OK\"}" 2>/dev/null ||' 'true' ' exit 1' ' fi' 'fi' '# END RESTRICT_ZSH_NONADMINS' 'EOF' | /bin/bash
Retour en arrière
| Testé pour | Action | Elevation |
|---|---|---|
| macOS 12 | Ligne de commande | system |
Script
printf '%s
' 'python3 - <<'"'"'PY'"'"'' 'skip = False' 'lines = []' 'with open("/etc/zshrc") as src:' ' for line in src:' ' if "BEGIN RESTRICT_ZSH_NONADMINS" in line:' ' skip = True' ' continue' ' if "END RESTRICT_ZSH_NONADMINS" in line:' ' skip = False' ' continue' ' if not skip:' ' lines.append(line)' 'with open("/etc/zshrc", "w") as dst:' ' dst.writelines(lines)' 'print("[OK] zsh block removed")' 'PY' | /bin/bash