How Attackers Exploit PAM’s Modular Design on Linux