Bonjour,
tout le monde. Avec l'aide de l'IA, pour être honnête .J'ai trouvé un script bash pour tester les hashs des programmes sous linux;
Au cas où l'IA est trop chère,ça permet de démocratiser les astuces
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
#!/usr/bin/env bash
# inventaire-systeme.sh — Inventaire des programmes, noyaux, versions et hashs SHA-256
# Usage : sudo bash inventaire-systeme.sh [dossier_de_sortie]
set -uo pipefail
 
if [[ $EUID -ne 0 ]]; then
  echo "Lance ce script avec sudo (les fichiers de /boot ne sont lisibles que par root)." >&2
  exit 1
fi
 
VRAI_USER="${SUDO_USER:-root}"
VRAI_HOME=$(getent passwd "$VRAI_USER" | cut -d: -f6)
BASE="${1:-$VRAI_HOME/inventaire}"
DIR="$BASE/$(hostname)_$(date +%Y-%m-%d_%H%M%S)"
mkdir -p "$DIR"
echo "Inventaire dans : $DIR"
 
# 1. Système
{
  echo "Date      : $(date --iso-8601=seconds)"
  echo "Hôte      : $(hostname)"
  echo "Noyau     : $(uname -r)"
  uname -a
  echo; cat /etc/os-release
} > "$DIR/01-systeme.txt"
 
# 2. Noyaux installés (paquets) + hashs des fichiers de /boot
{
  echo "Noyau en cours d'exécution : $(uname -r)"; echo
  dpkg-query -W -f='${db:Status-Abbrev}\t${Package}\t${Version}\n' \
    'linux-image-*' 'linux-modules-*' 'linux-headers-*' 2>/dev/null \
    | awk -F'\t' '$1 ~ /^ii/ {print $2 "\t" $3}' | sort
} > "$DIR/02-noyaux.txt"
sha256sum /boot/vmlinuz-* /boot/initrd.img-* /boot/config-* /boot/System.map-* \
  2>/dev/null > "$DIR/02-noyaux-sha256.txt"
 
# 3. Modules noyau chargés + hash de leur fichier + DKMS (ex. NVIDIA)
{
  lsmod | awk 'NR>1 {print $1}' | sort | while read -r m; do
    f=$(modinfo -n "$m" 2>/dev/null)
    v=$(modinfo -F version "$m" 2>/dev/null)
    if [[ -f "$f" ]]; then
      printf '%s\t%s\t%s\n' "$m" "${v:--}" "$(sha256sum "$f" | cut -d' ' -f1)  $f"
    else
      printf '%s\t%s\t%s\n' "$m" "${v:--}" "(intégré au noyau ou fichier introuvable)"
    fi
  done
} > "$DIR/03-modules-charges.tsv"
command -v dkms >/dev/null && dkms status > "$DIR/03-dkms.txt" 2>&1
 
# 4. Paquets .deb installés avec version
dpkg-query -W -f='${db:Status-Abbrev}\t${Package}\t${Version}\t${Architecture}\n' \
  | awk -F'\t' '$1 ~ /^ii/ {print $2 "\t" $3 "\t" $4}' | sort > "$DIR/04-paquets-deb.tsv"
 
# 5. Autres gestionnaires : snap, flatpak, pipx (utilisateur)
command -v snap    >/dev/null && snap list > "$DIR/05-snap.txt" 2>&1
command -v flatpak >/dev/null && flatpak list --columns=application,version,branch,origin \
  > "$DIR/05-flatpak.txt" 2>&1
command -v pipx    >/dev/null && sudo -u "$VRAI_USER" pipx list --short \
  > "$DIR/05-pipx.txt" 2>&1
 
# 6. Hash SHA-256 de tous les exécutables système
find /usr/bin /usr/sbin /usr/lib/systemd /usr/libexec -xdev -type f -perm /111 \
  -exec sha256sum {} + 2>/dev/null | sort -k2 > "$DIR/06-executables-systeme-sha256.txt"
 
# 7. Exécutables HORS paquets (installés à la main : les plus à surveiller)
find /usr/local/bin /usr/local/sbin /opt "$VRAI_HOME/.local/bin" -type f -perm /111 \
  -exec sha256sum {} + 2>/dev/null | sort -k2 > "$DIR/07-executables-hors-paquets-sha256.txt"
 
# 8. Fichiers de paquets modifiés par rapport à Ubuntu (si debsums est installé)
if command -v debsums >/dev/null; then
  echo "Vérification debsums (quelques minutes)..."
  debsums -s 2>&1 | grep -v 'no md5sums' > "$DIR/08-debsums-modifies.txt"
fi
 
# 9. Empreinte de l'inventaire lui-même + archive
( cd "$DIR" && sha256sum ./*.t* > SHA256SUMS )
tar -czf "$DIR.tar.gz" -C "$BASE" "$(basename "$DIR")"
sha256sum "$DIR.tar.gz" > "$DIR.tar.gz.sha256"
chown -R "$VRAI_USER": "$BASE"
 
echo "Terminé."
echo "Archive  : $DIR.tar.gz"
echo "Empreinte: $(cut -d' ' -f1 "$DIR.tar.gz.sha256")"
pour le rendre executable commencez par faire ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
sudo chmod +x ./inventaire-systeme.sh
puis l'éxécuter comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
sudo apt install debsums aide
sudo ./inventaire-systeme.sh
sudo aideinit && sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
Qu'est ce que vous en pensez ? Nhésitez surtout pas à critiquer si besoin
Cordialement
Alexandre M