Alguém mexeu no meu boot?!
Publicado por Xerxes em 26/01/2026
[ Hits: 55 ]
/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
}
Impressora compartilhada pedindo senha direto [Resolvido]
Módulo de segurança do Banco do Brasil no Debian 9 sem frescuras
lspci - Verificando memória de vídeo
Trocando o Gerenciador de Arquivos do Deepin para o Nautilus
Gigolo: alternativa para montar shares do Samba
SSH - Hardening no arquivo .conf
Como desabilitar o protocolo SSL3 no Nginx
zuluCrypt no Debian 8 Jessie - Criptografia
Bloqueando solicitações de ping
Nenhum comentário foi encontrado.
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
Substituindo o NetworkManager pelo iwd (e iwgtk)
Instalar Linux em notebook Sony Vaio VPCEG13EB (2)
GLPI Não atualiza Inventario (0)









