рдиреНрдпреВ рдпреВрдЬрд░рд▓реИрдВрдб-рд░реВрдЯрдХрд┐рдЯ рдЕрдЬрд╝рдЬрд╝реЗрд▓

рдЖрдкрдиреЗ рд░реВрдЯрдХрд┐рдЯреНрд╕ Jynx рдФрд░ Jynx2 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реЛрдЧрд╛ред рдпреЗ рддрдерд╛рдХрдерд┐рдд рдпреВрдЬрд░рд▓реИрдВрдб рд░реВрдЯрдХрд┐рдЯ рд╣реИрдВ; рд╡реЗ LD_PRELOAD рдЪрд░ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдкреБрд░рд╛рдиреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
2 рджрд┐рди рдкрд╣рд▓реЗ, github рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ Chokepoint рдиреЗ rootkit Azazel рдХреЛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣ Jynx рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХрдИ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:


рдЖрдЗрдП рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦреЗрдВред

рдкреЛрд░реНрдЯ рдЫрд┐рдкрд╛рдирд╛

Azazel netstat, ss, lsof рдЬреИрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рд╕реЗ рдЫрд┐рдк рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреЛрд░реНрдЯ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдЫреБрдкрд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкреЛрд░реНрдЯ 61040 - 61050 рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдкреНрд▓реЗрдЯреЗрдХреНрд╕реНрдЯ рдмреИрдХрдбреЛрд░ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ 61051 - 61060 - рдХреНрд░рд╛рдпреНрдереВрдХ рдХреЗ рд▓рд┐рдП (рдпрд╣ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рдордХреНрдЦреА рдкрд░ рднреЗрдЬрдиреЗ / рднреЗрдЬрдиреЗ / рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ / рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдФрд░ рдПрдВрдХреНрд░реАрдкреНрдЯ / рдбрд┐рдХреНрд░рд┐рдкреНрдЯ) рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рддрд╛ рд╣реИред рдХрдиреЗрдХреНрд╢рди рдЫрд┐рдкрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрд░реЛрдд рдкреЛрд░реНрдЯ рдЗрд╕ рд╢реНрд░реЗрдгреА рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдЖрдк рдХрд┐рд╕реА рднреА рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╕ рд╕реНрд░реЛрдд рдкреЛрд░реНрдЯ рдХреЛ рд╢реНрд░реЗрдгреА рд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ:
$ ncat target 22 -p 61040 changeme Welcome! Here's a shell. root@host:/root # 

  $ LD_PRELOAD=./crypthook.so ncat localhost 22 -p 61051 changeme Welcome! Here's a shell. root@host:/root/ # 


PAM рдкрд┐рдЫрд▓реЗ рджрд░рд╡рд╛рдЬреЗ

рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЖрдзреБрдирд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PAM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рд╣рдо PAM рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЬрд╝рд╛рдЬреЗрд▓ рдЕрдкрдиреЗ рдкреАрдПрдПрдо рдореЙрдбреНрдпреВрд▓ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореМрдЬреВрджрд╛ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред
  $ make client $ LD_PRELOAD=./client.so ssh rootme@localhost root@host:/ # 

  $ su - rootme # 


Wtmp / utmp рдХреЛ рд╕рд╛рдл рдХрд░реЗрдВ

рдЬрдм рдЖрдк PTY рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдЯреЗрдЯ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП wtmp рдФрд░ utmp рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ I / O рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреЛрд░реНрдЯ рдмреИрдХрдбреЛрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдлрд╛рдИ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдПрдХ рдкреАрдПрдПрдо рдкрд┐рдЫрд▓реЗ рджрд░рд╡рд╛рдЬреЗ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред
  $ w | grep pts/16 root pts/16 :0.0 Wed16 2:33m 0.16s 0.16s bash 

  $ CLEANUP_LOGS="pts/16" ls utmp logs cleaned up. wtmp logs cleaned up. 

  $ w | grep pts/16 $ 


рдПрдВрдЯреА рдбрд┐рдмрдЧрд┐рдВрдЧ

рдЦреИрд░, рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдпрд╣ ptrace () рдФрд░ рд░рд┐рдЯрд░реНрди -1 рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯреЗрдб рд╣реИред
  $ strace -p $PPID Don't scratch the walls 


рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЫреБрдкрд╛рдирд╛

Jynx рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ UID рдпрд╛ GID рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдЖрдк рдРрд╕реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╕рдордп рдЖрдк рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗред

рдЫрд┐рдкрд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

Azazel рдЙрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИ рдЬреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддрд░рд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ GID рдпрд╛ UID рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЫрд┐рдкреА рд╣реБрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ HIDE_THIS_SHELL рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  $ env HIDE_THIS_SHELL=plz ncat -l -p 61061 


Ldd / unhide рд╕реЗ рдЫреБрдкрд╛рдПрдВ

Azazel ldd рдФрд░ unhide рд╕реЗ рдЫрд┐рдкрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ рдЙрдирдореЗрдВ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрд╣, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рдлреА рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХрд╛ рд╣реИред

рд╕реНрдЯреНрд░рд┐рдВрдЧ obfuscation

рдпрджрд┐ рд╣рдо Jynx рдФрд░ Jynx2 рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╣рдо рд╢рд╛рдпрдж рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЦрд░рд╛рдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, Azazel рд╕рд┐рд░реНрдл XOR рд╣реИ-рдпрд╣ рдЗрд╕рдХреА рд╕рднреА рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ, рдФрд░ рддрд╛рд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рджрд┐рдЦрд╛рдПрдЧрд╛ред

рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реВрдЯрдХрд┐рдЯ рд╕реЗ рдЦреБрдж рдХреЛ рдмрдЪрд╛рдирд╛ рдХрд╛рдлреА рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИред рд╡реЗ rkhunter рдФрд░ chkrootkit рдЬреИрд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдлрд┐рд▓рд╣рд╛рд▓, рдлрд╝рдВрдХреНрд╢рди рдЕрд╡рд░реЛрдзрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ , рд▓реЗрдХрд┐рди, рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, libdl.so рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░реЛрдХрдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдлрд┐рд░ LiveCD рдФрд░ рджрд┐рдорд╛рдЧреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЕрдкрдиреА рдХрд╛рд░реЛрдВ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦреЗрдВред

Source: https://habr.com/ru/post/In212769/


All Articles