threatmodel macOS FR - edamametechnologies/threatmodels GitHub Wiki

macOS Modèle de Menace (FR)

Contents

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