Alguém mexeu no meu boot?!
Publicado por Xerxes em 26/01/2026
[ Hits: 350 ]
/boot fora do container criptografado para evitar a "senha dupla" (uma no GRUB e outra no sistema).
Evil Maid Attack, onde um invasor com acesso físico substitui seu Kernel ou Initramfs por versões maliciosas para capturar sua senha.
/boot e dispara alertas no desktop e no terminal.


/home/seu_usuario/scripts/check_boot.sh. Não esqueça de alterar o path, seu sistema e seu usuário:
#!/bin/bash
SIG_FILE="/root/boot_signature.sha256"
BOOT_DIR="/boot"
SCRIPT_PATH="/home/xerxes/scripts/check_boot.sh"
# Cores para facilitar a visualização no terminal
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # Sem cor
generate_signature() {
echo -e "${YELLOW}Gerando nova assinatura do /boot...${NC}"
# Gera hashes de arquivos, ignora a pasta grub (configurações dinâmicas) e ordena a lista
find "$BOOT_DIR" -type f -not -path "$BOOT_DIR/grub/*" -exec sha256sum {} + | sort > "$SIG_FILE"
echo -e "${GREEN}Assinatura salva com sucesso em $SIG_FILE${NC}"
}
check_signature() {
if [ ! -f "$SIG_FILE" ]; then
echo -e "${YELLOW}############################################################"
echo -e "AVISO: Arquivo de assinatura não encontrado!"
echo -e "Gere uma nova assinatura com: sudo $SCRIPT_PATH gen"
echo -e "############################################################${NC}"
return
fi
# Cria estado atual temporário
CURRENT_STATE=$(mktemp)
find "$BOOT_DIR" -type f -not -path "$BOOT_DIR/grub/*" -exec sha256sum {} + | sort > "$CURRENT_STATE"
# Comparação binária silenciosa
if cmp -s "$SIG_FILE" "$CURRENT_STATE"; then
echo -e "${GREEN}Integridade do /boot: OK${NC}"
rm "$CURRENT_STATE"
else
# --- Alerta Gráfico ---
# Tenta enviar notificação se houver um ambiente gráfico ativo
USER_NAME=$(who | awk '{print $1}' | head -n1)
USER_ID=$(id -u "$USER_NAME")
if [ -n "$USER_NAME" ]; then
sudo -u "$USER_NAME" DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$USER_ID/bus" \
notify-send -u critical -i "security-high" "ALERTA DE SEGURANÇA" "O /boot foi modificado! Verifique o terminal imediatamente." 2>/dev/null
fi
# --- Alerta de Terminal ---
echo -e "${RED}############################################################"
echo -e "ALERTA CRÍTICO: O /boot FOI MODIFICADO!"
echo -e "############################################################${NC}"
echo ""
echo -e "${YELLOW}DIFERENÇAS DETECTADAS:${NC}"
echo -e "${GREEN}--- Itens NOVOS ou MODIFICADOS (Hash atual) ---${NC}"
comm -13 "$SIG_FILE" "$CURRENT_STATE"
echo -e "\n${RED}--- Itens REMOVIDOS ou ANTIGOS (Hash original) ---${NC}"
comm -23 "$SIG_FILE" "$CURRENT_STATE"
echo ""
echo -e "${YELLOW}ESTA MUDANÇA FOI POR UMA ATUALIZAÇÃO DO GENTOO?${NC}"
echo -e "-> Se ${GREEN}SIM${NC} (você atualizou o kernel ou o sistema agora):"
echo -e " Atualize a assinatura com: ${GREEN}sudo $SCRIPT_PATH gen${NC}"
echo ""
echo -e "-> Se ${RED}NÃO${NC} (você não mexeu no sistema recentemente):"
echo -e " ${RED}1. NÃO digite senhas ou acesse dados sensíveis (banco, e-mail).${NC}"
echo -e " ${RED}2. NÃO mude a senha do LUKS neste sistema (risco de keylogger).${NC}"
echo -e " ${RED}3. DESLIGUE imediatamente e use um Live-USB de confiança.${NC}"
echo -e " ${RED}4. Pelo Live-USB, monte o LUKS e investigue as datas do /boot.${NC}"
echo -e " ${RED}5. Reinstale o Kernel/GRUB via chroot para garantir binários limpos.${NC}"
echo -e " ${RED}6. SÓ ENTÃO mude a senha do LUKS via Live-USB:${NC}"
echo -e " # cryptsetup luksAddKey /dev/nvme0n1p3"
echo -e " # cryptsetup luksRemoveKey /dev/nvme0n1p3"
echo -e "${RED}############################################################${NC}"
rm "$CURRENT_STATE"
fi
}
case "$1" in
gen) generate_signature ;;
*) check_signature ;;
esac
seu_usuario ALL=(ALL) NOPASSWD: /home/seu_usuario/scripts/check_boot.sh
~/.bashrc:
sudo /home/seu_usuario/scripts/check_boot.sh
~/.config/autostart/check_boot.desktop:
[Desktop Entry] Type=Application Name=Check Boot Integrity Exec=sudo /home/seu_usuario/scripts/check_boot.sh Terminal=false
Secure Boot), mas elimina a invisibilidade do invasor.
/etc/portage/bin/post_inst_signature.sh. Altere o caminho do seu user:
#!/bin/bash
# Pacotes que alteram o /boot
SENSITIVE_PKGS="sys-kernel/gentoo-sources sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin sys-boot/grub"
for pkg in $SENSITIVE_PKGS; do
if [[ "${CATEGORY}/${PN}" == "${pkg}" ]]; then
/home/usuario/scripts/check_boot.sh gen
fi
done
/etc/portage/bashrce adicione?
post_pkg_postinst() {
/etc/portage/bin/post_inst_signature.sh
}
Iniciando Compiz automaticamente no Gnome Slackbuild
Instalação do Netdata no Fedora 23
Repositórios do Salix OS (e GSlapt) no Slackware 14
Bom Aplicativo Para Ler Mangá no Android
Como retornar 404 (Não encontrado) ao invés de 403 (Proibido) usando o mod_rewrite no Apache
Ataque de dicionário com OpenSSL - quebrando senhas
Nenhum comentário foi encontrado.
O Editor de Texto Nano: Simplicidade no Terminal
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
Eu aprendi o segredo das artes! hahaha (4)
A falsa sensação de que entende a tal da palavra! (0)
Como instalo o Clipper/Harbour no Linux Ubuntu (0)









