User Namespace

Support HackTricks

Basic Information

рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдПрдХ Linux рдХрд░реНрдиреЗрд▓ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдЖрдИрдбреА рдореИрдкрд┐рдВрдЧ рдХрд╛ рдкреГрдердХреНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдЖрдИрдбреА рдХрд╛ рд╕реЗрдЯ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред рдпрд╣ рдкреГрдердХреНрдХрд░рдг рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдФрд░ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдЖрдИрдбреА рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реЛрдВред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рддрдВрддреНрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдЖрдИрдбреА рдХрд╛ рд╕реЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдФрд░ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмреАрдЪ рдмреЗрд╣рддрд░ рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдкреГрдердХреНрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред

How it works:

  1. рдЬрдм рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдЖрдИрдбреА рдореИрдкрд┐рдВрдЧ рдХрд╛ рдПрдХ рдЦрд╛рд▓реА рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреЛрдИ рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдмрд╛рд╣рд░ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд░рдЦреЗрдЧреАред

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

  3. рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рднреАрддрд░, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рднреАрддрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ (UID 0) рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдмрд╛рд╣рд░ рд╕реАрдорд┐рдд рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рднреАрддрд░ рд░реВрдЯ-рдЬреИрд╕реЗ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдмрд┐рдирд╛ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреВрд░реНрдг рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреЗред

  4. рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ setns() рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдпрд╛ unshare() рдпрд╛ clone() рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдП рдирд╛рдорд╕реНрдерд╛рди рдмрдирд╛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ CLONE_NEWUSER рдзреНрд╡рдЬ рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирдП рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдЬрд╛рддреА рд╣реИ рдпрд╛ рдПрдХ рдмрдирд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рдЙрд╕ рдирд╛рдорд╕реНрдерд╛рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдЖрдИрдбреА рдореИрдкрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧреАред

Lab:

Create different Namespaces

CLI

sudo unshare -U [--mount-proc] /bin/bash

By mounting a new instance of the /proc filesystem if you use the param --mount-proc, you ensure that the new mount namespace has an рд╕рдЯреАрдХ рдФрд░ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЙрд╕ namespace рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд╛рдирдХрд╛рд░реА.

рддреНрд░реБрдЯрд┐: bash: fork: рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

рдЬрдм unshare рдХреЛ -f рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд┐рдирд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ Linux рджреНрд╡рд╛рд░рд╛ рдирдП PID (Process ID) namespaces рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдХрд╛рд░рдг рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдореБрдЦреНрдп рд╡рд┐рд╡рд░рдг рдФрд░ рд╕рдорд╛рдзрд╛рди рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╣реИрдВ:

  1. рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг:

  • Linux рдХрд░реНрдиреЗрд▓ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ unshare рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдП namespaces рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдирдП PID namespace (рдЬрд┐рд╕реЗ "unshare" рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирдП namespace рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддреА; рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдЬрд╛рддреА рд╣реИрдВред

  • %unshare -p /bin/bash% рдЪрд▓рд╛рдиреЗ рд╕реЗ /bin/bash рдЙрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ unshareред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, /bin/bash рдФрд░ рдЗрд╕рдХреА рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдореВрд▓ PID namespace рдореЗрдВ рд╣реЛрддреА рд╣реИрдВред

  • рдирдП namespace рдореЗрдВ /bin/bash рдХреА рдкрд╣рд▓реА рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ PID 1 рдмрди рдЬрд╛рддреА рд╣реИред рдЬрдм рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ namespace рдХреА рд╕рдлрд╛рдИ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреА рд╣реИ рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ PID 1 рдХрд╛ рдЕрдирд╛рде рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛ рд╣реЛрддреА рд╣реИред Linux рдХрд░реНрдиреЗрд▓ рдлрд┐рд░ рдЙрд╕ namespace рдореЗрдВ PID рдЖрд╡рдВрдЯрди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрдЧрд╛ред

  1. рдкрд░рд┐рдгрд╛рдо:

  • рдирдП namespace рдореЗрдВ PID 1 рдХрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрдирд╛ PIDNS_HASH_ADDING рдзреНрд╡рдЬ рдХреА рд╕рдлрд╛рдИ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ alloc_pid рдлрд╝рдВрдХреНрд╢рди рдирдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд╕рдордп рдирдпрд╛ PID рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ "Cannot allocate memory" рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред

  1. рд╕рдорд╛рдзрд╛рди:

  • рд╕рдорд╕реНрдпрд╛ рдХреЛ unshare рдХреЗ рд╕рд╛рде -f рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдХрд▓реНрдк unshare рдХреЛ рдирдП PID namespace рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдлреЛрд░реНрдХ рдХрд░рддрд╛ рд╣реИред

  • %unshare -fp /bin/bash% рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ unshare рдХрдорд╛рдВрдб рд╕реНрд╡рдпрдВ рдирдП namespace рдореЗрдВ PID 1 рдмрди рдЬрд╛рддрд╛ рд╣реИред /bin/bash рдФрд░ рдЗрд╕рдХреА рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдлрд┐рд░ рдЗрд╕ рдирдП namespace рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рд╣рд┐рдд рд╣реЛрддреА рд╣реИрдВ, PID 1 рдХреЗ рдкреВрд░реНрд╡рд╡рд░реНрддреА рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЛ рд░реЛрдХрддреА рд╣реИрдВ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп PID рдЖрд╡рдВрдЯрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдХреЗ рдХрд┐ unshare -f рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИ, рдирдпрд╛ PID namespace рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ /bin/bash рдФрд░ рдЗрд╕рдХреА рдЙрдк-рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдмрд┐рдирд╛ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдП рдХрд╛рд░реНрдп рдХрд░ рд╕рдХреЗрдВред

Docker

docker run -ti --name ubuntu1 -v /usr:/ubuntu1 ubuntu bash

Docker рдбреЗрдорди рдХреЛ --userns-remap=default рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЙрдмрдВрдЯреВ 14.04 рдореЗрдВ, рдпрд╣ /etc/default/docker рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ рдФрд░ рдлрд┐рд░ sudo service docker restart рдЪрд▓рд╛рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)

рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд┐рд╕ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╣реИ

ls -l /proc/self/ns/user
lrwxrwxrwx 1 root root 0 Apr  4 20:57 /proc/self/ns/user -> 'user:[4026531837]'

рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХреЗрдВ:

cat /proc/self/uid_map
0          0 4294967295  --> Root is root in host
0     231072      65536  --> Root is 231072 userid in host

рдпрд╛ рд╣реЛрд╕реНрдЯ рд╕реЗ:

cat /proc/<pid>/uid_map

рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдЦреЛрдЬреЗрдВ

sudo find /proc -maxdepth 3 -type l -name user -exec readlink {} \; 2>/dev/null | sort -u
# Find the processes with an specific namespace
sudo find /proc -maxdepth 3 -type l -name user -exec ls -l  {} \; 2>/dev/null | grep <ns-number>

рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдЕрдВрджрд░ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ

nsenter -U TARGET_PID --pid /bin/bash

рдЖрдк рдХреЗрд╡рд▓ рджреВрд╕рд░реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рд░реВрдЯ рд╣реИрдВред рдФрд░ рдЖрдк рджреВрд╕рд░реЗ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдмрд┐рдирд╛ рдПрдХ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдЬреЛ рдЗрд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЬреИрд╕реЗ /proc/self/ns/user)ред

рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдмрдирд╛рдПрдВ (рдореИрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде)

unshare -U [--map-user=<uid>|<name>] [--map-group=<gid>|<name>] [--map-root-user] [--map-current-user]
# Container
sudo unshare -U /bin/bash
nobody@ip-172-31-28-169:/home/ubuntu$ #Check how the user is nobody

# From the host
ps -ef | grep bash # The user inside the host is still root, not nobody
root       27756   27755  0 21:11 pts/10   00:00:00 /bin/bash

Recovering Capabilities

In the case of user namespaces, рдЬрдм рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЙрд╕ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рднреАрддрд░ рдкреВрд░реНрдг рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреЗ рдХреНрд╖рдорддрд╛рдПрдБ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛, рдЙрдкрдХрд░рдг рдмрдирд╛рдирд╛, рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдмрджрд▓рдирд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рднреАрддрд░ CAP_SYS_ADMIN рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдРрд╕реЗ рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВред рдЗрд╕ рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдП рдЧрдП рдХреЛрдИ рднреА рд╕рдВрдЪрд╛рд▓рди рдореЗрдЬрд╝рдмрд╛рди рдкреНрд░рдгрд╛рд▓реА рдпрд╛ рдЕрдиреНрдп рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдЗрд╕рд▓рд┐рдП, рднрд▓реЗ рд╣реА рдПрдХ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рднреАрддрд░ рдПрдХ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрдкрдХреЛ рд╕рднреА рдХреНрд╖рдорддрд╛рдПрдБ рд╡рд╛рдкрд╕ рджреЗрдЧрд╛ (CapEff: 000001ffffffffff), рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдирд╛рдорд╕реНрдерд╛рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдорд╛рдЙрдВрдЯ) рд▓реЗрдХрд┐рди рд╣рд░ рдПрдХ рдХрд╛ рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ Docker рдХрдВрдЯреЗрдирд░ рд╕реЗ рднрд╛рдЧрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред

# There are the syscalls that are filtered after changing User namespace with:
unshare -UmCpf  bash

Probando: 0x067 . . . Error
Probando: 0x070 . . . Error
Probando: 0x074 . . . Error
Probando: 0x09b . . . Error
Probando: 0x0a3 . . . Error
Probando: 0x0a4 . . . Error
Probando: 0x0a7 . . . Error
Probando: 0x0a8 . . . Error
Probando: 0x0aa . . . Error
Probando: 0x0ab . . . Error
Probando: 0x0af . . . Error
Probando: 0x0b0 . . . Error
Probando: 0x0f6 . . . Error
Probando: 0x12c . . . Error
Probando: 0x130 . . . Error
Probando: 0x139 . . . Error
Probando: 0x140 . . . Error
Probando: 0x141 . . . Error

<div data-gb-custom-block data-tag="hint" data-style='success'>

Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

<details>

<summary>Support HackTricks</summary>

* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.

</details>

</div>

hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.

</div>

</details>

</div>

</details>

</div>

</details>

</div>

</details>

</div>

</details>

</div>

Last updated