Linux Post-Exploitation

рд╣реИрдХрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

PAM рдХреЗ рд╕рд╛рде рд▓реЙрдЧрдСрди рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕реНрдирд┐рдл рдХрд░реЗрдВ

рдЪрд▓рд┐рдП рдПрдХ PAM рдореЙрдбреНрдпреВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЙрд╕ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд▓реЙрдЧ рдХрд░ рд╕рдХреЗрдВред рдЕрдЧрд░ рдЖрдкрдХреЛ PAM рдХреНрдпрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рджреЗрдЦреЗрдВ:

PAM - Pluggable Authentication Modules

рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдореВрд▓ рдкреЛрд╕реНрдЯ рджреЗрдЦреЗрдВред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ:

рддрдХрдиреАрдХ рдЕрд╡рд▓реЛрдХрди: рдкреНрд▓рдЧреЗрдмрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдореЙрдбреНрдпреВрд▓ (PAM) рдпреВрдирд┐рдХреНрд╕-рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЪреАрд▓рд╛рдИ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рд▓реЙрдЧрд┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдХреЗ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЦрддрд░реЗ рднреА рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рд╛рд░рд╛рдВрд╢ рдПрдХ рддрдХрдиреАрдХ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PAM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧрд┐рди рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рдВрд╢реЛрдзрди рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЛред

рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдирд╛:

  • toomanysecrets.sh рдирд╛рдордХ рдПрдХ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд▓реЙрдЧрд┐рди рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рд▓реЙрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рддрд╛рд░реАрдЦ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо ($PAM_USER), рдкрд╛рд╕рд╡рд░реНрдб (stdin рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ), рдФрд░ рд░рд┐рдореЛрдЯ рд╣реЛрд╕реНрдЯ IP ($PAM_RHOST) рдХреЛ /var/log/toomanysecrets.log рдореЗрдВ рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  • рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ pam_exec.so рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ PAM рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (common-auth) рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪреБрдкрдЪрд╛рдк рдЪрд▓рд╛рдиреЗ рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЯреЛрдХрди рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

  • рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдХрдВрдкреНрд░реЛрдорд╛рдЗрдЬрд╝реНрдб рд▓рд┐рдирдХреНрд╕ рд╣реЛрд╕реНрдЯ рдХреЛ рдЧреБрдкреНрдд рд░реВрдк рд╕реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЛ рд▓реЙрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
sudo nano /etc/pam.d/common-auth
# Add: auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
sudo chmod 700 /usr/local/bin/toomanysecrets.sh

PAM рдореЗрдВ рдмреИрдХрдбреЛрд░рд┐рдВрдЧ

рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдореВрд▓ рдкреЛрд╕реНрдЯ рджреЗрдЦреЗрдВред рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ:

рдкреНрд▓рдЧреЗрдмрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдореЙрдбреНрдпреВрд▓ (PAM) рдПрдХ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬреЛ рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рддреАрди рдореБрдЦреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо, рдкрд╛рд╕рд╡рд░реНрдб, рдФрд░ рд╕реЗрд╡рд╛ред рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ /etc/pam.d/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╕рд╛рдЭрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреА рд╣реИред

рдЙрджреНрджреЗрд╢реНрдп: PAM рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдВрднрд╡ рд╣реЛ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдЫреЛрдбрд╝рдХрд░ред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ common-auth рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА pam_unix.so рд╕рд╛рдЭрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рдЬреЛ рдкрд╛рд╕рд╡рд░реНрдб рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

pam_unix.so рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдг:

  1. common-auth рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ:

  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд▓рд╛рдЗрди pam_unix.so рдХреЛ рдмреБрд▓рд╛рддреА рд╣реИред

  1. рд╕реНрд░реЛрдд рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:

  • pam_unix_auth.c рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╢рд░реНрддрдордп рд╡рдХреНрддрд╡реНрдп рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдпрджрд┐ рдПрдХ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд╣реБрдВрдЪ рджреЗрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛, рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИред

  1. рдкреБрдирдГ рдХрдВрдкрд╛рдЗрд▓ рдФрд░ рдкреБрдирдГ рд░рдЦреЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд pam_unix.so рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЙрдЪрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВред

  2. рдкрд░реАрдХреНрд╖рдг:

  • рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдУрдВ (рд▓реЙрдЧрд┐рди, ssh, sudo, su, рд╕реНрдХреНрд░реАрдирд╕реЗрд╡рд░) рдореЗрдВ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрдмрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред

рдЖрдк рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ https://github.com/zephrax/linux-pam-backdoor рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Last updated