Docker Breakout / Privilege Escalation
Trickest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрд┐рд▓реНрдб рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ рдмрдирд╛рдПрдВ рдЬреЛ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рдмрд╕реЗ рдЙрдиреНрдирдд рд╕рдореБрджрд╛рдп рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрдВред рдЖрдЬ рд╣реА рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрдгрдирд╛ рдФрд░ рднрд╛рдЧрдирд╛
linpeas: рдпрд╣ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдЧрдгрдирд╛ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ
CDK: рдпрд╣ рдЙрдкрдХрд░рдг рдЦрд╛рд╕ рд░реВрдк рд╕реЗ рдЙрд╕ рдХрдВрдЯреЗрдирд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд╣реИрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднрд╛рдЧрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
amicontained: рдХрдВрдЯреЗрдирд░ рдХреЗ рджреНрд╡рд╛рд░рд╛ рджреА рдЧрдИ рдкреНрд░рд┐рд╡рд┐рд▓реЗрдЬ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рддрд╛рдХрд┐ рдЗрд╕рд╕реЗ рднрд╛рдЧрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдвреВрдВрдврд╝ рд╕рдХреЗрдВ
deepce: рдХрдВрдЯреЗрдирд░реЛрдВ рд╕реЗ рдЧрдгрдирд╛ рдФрд░ рднрд╛рдЧрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг
grype: рдЫрд╡рд┐ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ CVEs рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЙрдХрд░ рд╕реЙрдХреЗрдЯ рднрд╛рдЧрдирд╛
рдпрджрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рд╕реЗ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЙрдХрд░ рд╕реЙрдХреЗрдЯ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рд╕реЗ рднрд╛рдЧ рд╕рдХреЗрдВрдЧреЗред рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдЙрди рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдХрд╛рд░рдгрд╡рд╢ рдбреЙрдХрд░ рдбреЗрдорди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддрд╛рдХрд┐ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░ рд╕рдХреЗрдВред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп docker рдХрдорд╛рдВрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ docker рдбреЗрдорди рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдпрджрд┐ рдбреЙрдХрд░ рд╕реЙрдХреЗрдЯ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕реНрдерд╛рди рдкрд░ рд╣реИ рддреЛ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрднреА рднреА docker
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде -H unix:///path/to/docker.sock
рдбреЙрдХрд░ рдбреЗрдорди рдПрдХ рдкреЛрд░реНрдЯ рдореЗрдВ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 2375, 2376) рдпрд╛ рд╕рд┐рд╕реНрдЯрдордбреА-рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рд╕реНрдЯрдореЛрдВ рдкрд░, рдбреЙрдХрд░ рдбреЗрдорди рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж fd://
рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЕрдиреНрдп рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕реЙрдХреЗрдЯ рдХреА рд░рдирдЯрд╛рдЗрдо рд╕реВрдЪреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:
dockershim:
unix:///var/run/dockershim.sock
containerd:
unix:///run/containerd/containerd.sock
cri-o:
unix:///var/run/crio/crio.sock
frakti:
unix:///var/run/frakti.sock
rktlet:
unix:///var/run/rktlet.sock
...
рдХреНрд╖рдорддрд╛рдПрдБ рджреБрд░реБрдкрдпреЛрдЧ рднрд╛рдЧрдирд╛
рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдпрджрд┐ рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдХреЛрдИ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: CAP_SYS_ADMIN
, CAP_SYS_PTRACE
, CAP_SYS_MODULE
, DAC_READ_SEARCH
, DAC_OVERRIDE, CAP_SYS_RAWIO
, CAP_SYSLOG
, CAP_NET_RAW
, CAP_NET_ADMIN
рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХреНрд╖рдорддрд╛рдПрдБ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ:
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ
рдПрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХреГрдд рдХрдВрдЯреЗрдирд░ --privileged
рдлреНрд▓реИрдЧ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рд╡рд┐рд╢реЗрд╖ рд░рдХреНрд╖рд╛рдУрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдХреЗ:
--cap-add=ALL
--security-opt apparmor=unconfined
--security-opt seccomp=unconfined
--security-opt label:disable
--pid=host
--userns=host
--uts=host
--cgroupns=host
/dev
рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ
--privileged
рдлреНрд▓реИрдЧ рдХрдВрдЯреЗрдирд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЕрд╕реАрдорд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдПрдХреНрд╕реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдИ рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдпреЛрдВ рдХреЛ рдЫрд▓рдиреЗ рджреЗрддрд╛ рд╣реИред рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, --privileged
рдХреЗ рдкреВрд░реЗ рдкреНрд░рднрд╛рд╡ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рджреЗрдЦреЗрдВред
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░
рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдЖрдк рд╣реЛрд╕реНрдЯ рдХреА рдбрд┐рд╕реНрдХ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд░рд┐рд▓реАрдЬрд╝_рдПрдЬреЗрдВрдЯ рдпрд╛ рдЕрдиреНрдп рднрд╛рдЧреЛрдВ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдЪ рдирд┐рдХрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрд▓реНрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдЬреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ:
рдбрд┐рд╕реНрдХ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ - Poc1
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ fdisk -l рдЬреИрд╕реЗ рдХрдорд╛рдВрдб рдХреЛ рдирд╣реАрдВ рдЪрд▓рдиреЗ рджреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм --privileged
рдпрд╛ --device=/dev/sda1
рдлреНрд▓реИрдЧ рдХреЗ рд╕рд╛рде рдмреВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдореЗрдЬрд╝рдмрд╛рди рдбреНрд░рд╛рдЗрд╡ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП рдореЗрдЬрд╝рдмрд╛рди рдорд╢реАрди рдкрд░ рдХрдмреНрдЬрд╝рд╛ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ:
рдФрд░ рджреЗрдЦреЛ! рдЕрдм рдЖрдк рдореЗрдЬрд╝рдмрд╛рди рдХреЗ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ /mnt/hola
рдлрд╝реЛрд▓реНрдбрд░ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдбрд┐рд╕реНрдХ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ - Poc2
рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рд╣реЛрд╕реНрдЯ рдУрдПрд╕ рддрдХ рдФрд░ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдПрдХ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрд╕реНрдЯрдкреИрде рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдиреАрдЪреЗ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдЗрд╕ рд╣рдорд▓рд╛рд╡рд░ рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ:
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рднрд╛рдЧ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ release_agent рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ (cve-2022-0492) - PoC1
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рднрд╛рдЧрдирд╛ рдмрдирд╛рдП рдЧрдП рд░рд┐рд▓реАрдЬрд╝_рдПрдЬреЗрдВрдЯ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ (cve-2022-0492) - PoC2
рддрдХрдиреАрдХ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЦреЛрдЬреЗрдВ:
Docker release_agent cgroups escapeрд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рднрд╛рдЧрдирд╛ release_agent рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдмрд┐рдирд╛ рдЬрд╛рдиреЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрде - PoC3
рдкрд┐рдЫрд▓реЗ рдЙрддреНрдкреАрдбрд╝рдиреЛрдВ рдореЗрдВ рдореЗрдЬрд╝рдмрд╛рди рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдкреВрд░реНрдг рдкрде рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ред рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдореЗрдЬрд╝рдмрд╛рди рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдкреВрд░реНрдг рдкрде рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЖрдк рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
release_agent exploit - Relative Paths to PIDsрдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░ PoC рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рдорд╛рди рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░рд┐рдХ рднрд╛рдЧ рдЧрдВрднреАрд░ рдорд╛рдЙрдВрдЯ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ
рдХрдИ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рдорд╛рдЙрдВрдЯ рдХреА рдЧрдИ рд╣реЛрдВ рдЬреЛ рдореЗрдЬрд╝рдмрд╛рди рд╣реЛрд╕реНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддреА рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдРрд╕реА рднреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рдХреБрдЫ рд╣реЛрдиреЗ рдкрд░ рдореЗрдЬрд╝рдмрд╛рди рджреНрд╡рд╛рд░рд╛ рдХреБрдЫ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрдХреЗрдд рджреЗрддреА рд╣реИрдВ (рдЬрд┐рд╕рд╕реЗ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ)ред рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдпрд╣ рд╕рдВрднрд╡ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐:
release_agent (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк рдЗрд╕ рдкреГрд╖реНрда рдореЗрдВ рдЕрдиреНрдп рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдлрд╝рд╛рдЗрд▓реЗрдВ рднреА рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ:
Sensitive Mountsрдордирдорд╛рдиреА рдорд╛рдЙрдВрдЯ
рдХрдИ рдЕрд╡рд╕рд░реЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдпрд╣ рдорд┐рд▓реЗрдЧрд╛ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдореЗрдЬрд╝рдмрд╛рди рд╣реЛрд╕реНрдЯ рд╕реЗ рдХреБрдЫ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рд╡реЙрд▓реНрдпреВрдо рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдЖрдк рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ/рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: рд░рд╣рд╕реНрдп рдкрдврд╝реЗрдВ, рдПрд╕рдПрд╕рдПрдЪ рдЕрдзрд┐рдХреГрдд_рдХреБрдВрдЬрд┐рдпрд╛рдБ рдмрджрд▓реЗрдВ...
2 рд╢реИрд▓реНрд╕ рдФрд░ рд╣реЛрд╕реНрдЯ рдорд╛рдЙрдВрдЯ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдЙрдиреНрдирддрд┐
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣реБрдВрдЪ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣реЛрд╕реНрдЯ рд╕реЗ рдХреБрдЫ рдлреЛрд▓реНрдбрд░ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдиреЗ рдЧреИрд░-рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрд╕реНрдЯ рдкрд░ рдмрдЪ рдирд┐рдХрд▓рд╛ рд╣реИ рдФрд░ рдорд╛рдЙрдВрдЯ рдХрд┐рдП рдЧрдП рдлреЛрд▓реНрдбрд░ рдкрд░ рдкрдврд╝рдиреЗ рдХреА рдкрд╣реБрдВрдЪ рд╣реИред рдЖрдк рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдорд╛рдЙрдВрдЯ рдХрд┐рдП рдЧрдП рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдмреИрд╢ suid рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣реЛрд╕реНрдЯ рд╕реЗ рдЗрд╕реЗ рдирд┐рд╖реЗрдзрд╛рдзрд┐рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
2 рд╢реИрд▓реНрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдЙрдиреНрдирддрд┐
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣реБрдВрдЪ рд╣реИ рдФрд░ рдЖрдк рдЧреИрд░-рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрд╕реНрдЯ рдореЗрдВ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЧрдП рд╣реИрдВ, рддреЛ рдЖрдк рджреЛрдиреЛрдВ рд╢реИрд▓реНрд╕ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реЛрд╕реНрдЯ рдХреЗ рдЕрдВрджрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдЙрдиреНрдирддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ MKNOD рдХреНрд╖рдорддрд╛ рд╣реИ (рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╣реИ) рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде, рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмреНрд▓реЙрдХ рдЙрдкрдХрд░рдг рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рдЙрдкрдХрд░рдг рдлрд╝рд╛рдЗрд▓реЗрдВ рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, /dev/sda рдмреНрд▓реЙрдХ рдЙрдкрдХрд░рдг рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдбрд┐рд╕реНрдХ рдкрд░ рд░реЙ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреА рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред
рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХрд┐рд╕реА рднреА рдмреНрд▓реЙрдХ рдЙрдкрдХрд░рдг рдХреЗ рджреБрд░реБрдкрдпреЛрдЧ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ cgroup рдиреАрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдмреНрд▓реЙрдХ рдЙрдкрдХрд░рдг рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдмреНрд▓реЙрдХ рдЙрдкрдХрд░рдг рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ /proc/PID/root/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣реБрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдорд╛рд▓рд┐рдХ рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рд╕рдорд╛рди рд╣реЛрдВред
рдЗрд╕ рд▓реЗрдЦрди рд╕реЗ рд╢реЛрд╖рдг рдЙрджрд╛рд╣рд░рдг:
hostPID
рдпрджрд┐ рдЖрдк рдореЗрдЬрд╝рдмрд╛рди рдХреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЙрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрдИ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХреЗрдВрдЧреЗред рдЯреЗрд╕реНрдЯ рд▓реИрдм рдЪрд▓рд╛рдПрдБ:
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реЗ ps auxn
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХреЗрдВрдЧреЗ рдФрд░ рдХрдорд╛рдВрдб рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдлрд┐рд░, рдЬреИрд╕реЗ рд╣реА рдЖрдк /proc/ рдореЗрдВ рдореЗрдЬрдмрд╛рди рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЙрдирдХреЗ env рдЧреБрдкреНрдд рдЪреАрдЬреЗрдВ рдЪреБрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЪрд▓рд╛рдХрд░:
рдЖрдк рднреА рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░реНрд╕ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рдУрдкрди рдлрд╝рд╛рдЗрд▓реНрд╕ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдорд╛рд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдбреАрдУрдПрд╕ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд┐рд╕реА рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╣реИ, рддреЛ рдЖрдк nsenter --target <pid> --all
рдпрд╛ nsenter --target <pid> --mount --net --pid --cgroup
рдЬреИрд╕реА рдХреБрдЫ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди ns рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ (рдЖрд╢рд╛ рд╣реИ рдХреЛрдИ рдирд╣реАрдВ) рд╡рд╛рд▓рд╛ рд╢реИрд▓ рдЪрд▓рд╛ рд╕рдХреЗрдВред
hostNetwork
рдпрджрд┐ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рдбреЙрдХрд░ рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдбреНрд░рд╛рдЗрд╡рд░ (--network=host
) рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЙрд╕ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреИрдХ рдбреЙрдХрд░ рд╣реЛрд╕реНрдЯ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ (рдХрдВрдЯреЗрдирд░ рд╣реЛрд╕реНрдЯ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИ), рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЕрдкрдирд╛ рдЖрдИрдкреА-рдкрддрд╛ рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХрдВрдЯреЗрдирд░ рд╕рднреА рд╕реЗрд╡рд╛рдПрдВ рд╕реАрдзреЗ рд╣реЛрд╕реНрдЯ рдХреЗ рдЖрдИрдкреА рдкрд░ рдмрд╛рдЗрдВрдб рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХрдВрдЯреЗрдирд░ рд╣реЛрд╕реНрдЯ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ рд╕рднреА рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ **рдЕрдВрддрд░реНрдЧреНрд░рд╣рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рд╛рдЭрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рд╣реИ tcpdump -i eth0
ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реЛрд╕реНрдЯ рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рдмреАрдЪ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕реНрдирд┐рдлрд╝ рдФрд░ рд╕реНрдкреВрдлрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬреИрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ:
рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рднреА рд╣реЛрдЧреА рд╣реЛрд╕реНрдЯ рдХреЗ рдЕрдВрджрд░ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдкрд░ рдмрд╛рдЗрдВрдб рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдпрд╛ рдлрд┐рд░ рдиреЛрдб рдХреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЕрдиреБрдорддрд┐рдпреЛрдВ рддрдХ (рдЬреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреА рд╣реИ)ред
hostIPC
рдЬрдм hostIPC=true
рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдореЗрдЬрд╝рдмрд╛рди рдХреЗ рдЗрдВрдЯрд░-рдкреНрд░реЛрд╕реЗрд╕ рдХрдореНрдпреВрдирд┐рдХреЗрд╢рди (IPC) рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдорд┐рд▓рддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╕рд╛рдЭрд╛ рд╕реНрдореГрддрд┐ /dev/shm
рдореЗрдВред рдЗрд╕рд╕реЗ рдпрд╣ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрдиреНрд╣реАрдВ IPC рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреЛ рдЕрдиреНрдп рдореЗрдЬрд╝рдмрд╛рди рдпрд╛ рдкреЙрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реЛрдВред ipcs
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди IPC рддрдВрддреНрд░реЛрдВ рдХреА рдЕрдзреНрдпрдпрди рдХрд░реЗрдВред
/dev/shm рдХреА рдЬрд╛рдВрдЪ - рдЗрд╕ рд╕рд╛рдЭрд╛ рд╕реНрдореГрддрд┐ рд╕реНрдерд╛рди рдореЗрдВ рдХрд┐рд╕реА рднреА рдлрд╝рд╛рдЗрд▓ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ:
ls -la /dev/shm
рдореМрдЬреВрджрд╛ IPC рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ - рдЖрдк
/usr/bin/ipcs
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ IPC рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИрдВред рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЬрд╛рдВрдЪреЗрдВ:ipcs -a
рдХреНрд╖рдорддрд╛рдПрдБ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдпрджрд┐ рд╕рд┐рд╕реНрдХреЙрд▓ unshare
рдХреЛ рдирд┐рд╖реЗрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдЖрдк рд╕рднреА рдХреНрд╖рдорддрд╛рдПрдБ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рд╕рд┐рдореНрд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗрдорд╕реНрдкреЗрд╕ рджреБрд░реБрдкрдпреЛрдЧ
рдкреЛрд╕реНрдЯ https://labs.withsecure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рджреВрд╕рд░рд╛ рддрдХрдиреАрдХреА рддрд░реАрдХрд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдореЗрдЬрдмрд╛рди рдХреЗ рдЕрдВрджрд░ рдХреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓ рд╕рдХреЗрдВ (рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред
Trickest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдмрдирд╛рдПрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдВ рдЬреЛ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рдмрд╕реЗ рдЙрдиреНрдирдд рд╕рдореБрджрд╛рдп рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЖрдЬ рд╣реА рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
CVEs
Runc рд╢рд╛рддреНрд░реБрддрд╛ (CVE-2019-5736)
рдпрджрд┐ рдЖрдк docker exec
рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ sudo рдХреЗ рд╕рд╛рде), рддреЛ рдЖрдк CVE-2019-5736 рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣рд╛рдВ рджреБрд░реБрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рд╣реИ)ред рдпрд╣ рддрдХрдиреАрдХ рдмреБрдирд┐рдпрд╛рджреА рд░реВрдк рд╕реЗ /bin/sh рдмрд╛рдЗрдирд░реА рдХреЛ рдореЗрдЬрдмрд╛рди рд╕реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдЧреА, рддрд╛рдХрд┐ рдХреЛрдИ рднреА docker exec рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреЗрд▓реЛрдб рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд╕рдХреЗред
рдкреЗрд▓реЛрдб рдХреЛ рдЕрдиреБрд╕рд╛рд░ рдмрджрд▓реЗрдВ рдФрд░ go build main.go
рдХреЗ рд╕рд╛рде main.go рдХреЛ рдмрдирд╛рдПрдВред рдкрд░рд┐рдгрд╛рдореА рдмрд╛рдЗрдирд░реА рдХреЛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рдЬреИрд╕реЗ рд╣реА рдпрд╣ [+] Overwritten /bin/sh successfully
рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдореЗрдЬрдмрд╛рди рдорд╢реАрди рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
docker exec -it <container-name> /bin/sh
рдпрд╣ рдкреЗрд▓реЛрдб рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ рдЬреЛ рдореБрдЦреНрдп.go рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП: https://blog.dragonsector.pl/2019/02/cve-2019-5736-escape-from-docker-and.html
рдХрдВрдЯреЗрдирд░ рдХреЛ рдЕрдиреБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЕрдиреНрдп CVEs рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЖрдк https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list рдореЗрдВ рд╕реВрдЪреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
Docker Custom Escape
Docker Escape Surface
рдиреЗрдорд╕реНрдкреЗрд╕: рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рд╣рдо рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдХрд╛рд░рдг рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рд╕реЗ рдмрдЪ рд╕рдХреЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ IPCs, рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯ, рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдПрдВ, D-Bus, рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ
/proc
рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╡рд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ)редрд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░рд┐рддрд╛ рд╕реАрдорд┐рдд рд╣реИ)ред
рдХреНрд╖рдорддрд╛рдПрдБ: Docker рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╖рдорддрд╛рдПрдБ рдЫреЛрдбрд╝рддрд╛ рд╣реИ:
cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap=ep
рд╕рд┐рд╕рдХреЙрд▓реНрд╕: рдпреЗ рд╕рд┐рд╕рдХреЙрд▓реНрд╕ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗрдЧрд╛ (рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдХрдореА + Seccomp рдХреЗ рдХрд╛рд░рдг)ред рдмрдЪреЗ рд╣реБрдП рд╕рд┐рд╕рдХреЙрд▓реНрд╕ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
{% рдЯреИрдм рд╢реАрд░реНрд╖рдХ="arm64 рд╕рд┐рд╕рдХреЙрд▓реНрд╕" %}
{% рдЯреИрдм рд╢реАрд░реНрд╖рдХ="syscall_bf.c" %}