рдирдорд╕реНрддреЗред рд╣рдо рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдореЗрдВ рд▓рдЧ рдЧрдП рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрдирд╡рд░реА рдореЗрдВ рдХрдИ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд▓реЙрдиреНрдЪ рдХреА рддреИрдпрд╛рд░реА рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рдХреЗ рдкрд╕рдВрджреАрджрд╛ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рдПрдХ рдирдИ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рдирд╛рдорд╛рдВрдХрди рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рд╣реИред
рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпрд╛рдБ SUID рдирд┐рд╖реНрдкрд╛рджрдирдпреЛрдЧреНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдпрд╣ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред
рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝
рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рд▓реЗрдЦ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкрдврд╝рдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдЖрдкрдХрд╛ рдХреБрдЫ рд╕рдордп рдмрдЪрд╛рдКрдВрдЧрд╛: рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЙрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ рдЬреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддреА рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рд╕реАрдорд┐рдд рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛрддреА рд╣реИ
рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЙрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╣реИрдВ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╣рдореЗрд╢рд╛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИ рдмрд╢рд░реНрддреЗ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╣реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдВред рдпрджрд┐ рдЖрдк рдЙрдмрдВрдЯреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА libcap2-bin
. рдЖрдкрдХреЛ рдПрдХ рдЧреИрд░-рдкреБрд░рд╛рддрди рдХрд░реНрдиреЗрд▓ (рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ) рдЪрд▓рд╛рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА 2.6.24).
рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдПрд╕рдпреВрдЖрдИрдбреА рдмрд┐рдЯ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди, рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдПред рдЙрдкрдпреЛрдЧрд┐рддрд╛ setcap
рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд╣рд▓рд╛ рдХрджрдо рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдорд╛рди рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдЯреВрд▓ рд╣реИ рдЬрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ tracewalk
, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП CAP_NET_RAW
.
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИрдВ рдЬрд╣рд╛рдВ рдмрд╛рдЗрдирд░реА рд╕реНрдерд┐рдд рд╣реИ tracewalk
, рдЖрдк рдЗрд╕ рдЕрдиреБрдорддрд┐ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
sudo setcap cap_net_raw=eip tracewalk
рдЕрднреА рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпрдп рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдВ =eip
рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХреБрдЫ рд╕реЗрдХрдВрдб рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдиреБрдорддрд┐ рдХрд╛ рдирд╛рдо рд▓реЛрдЕрд░рдХреЗрд╕ рдореЗрдВ рд╣реИред рдЕрдм рдЖрдк рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рд╣реИрдВ:
setcap -v cap_new_raw=eip tracewalk
рдпрд╛ рдЖрдк рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рднреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
getcap tracewalk
рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╕реЗ рд╕рднреА рдЕрдиреБрдорддрд┐рдпрд╛рдБ рднреА рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
setcap -r tracewalk
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдЖрдкрдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рддреЛ рдЗрд╕ рдЕрдЬреАрдм рдкреНрд░рддреНрдпрдп рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? =eip
? рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреА рдХреБрдЫ рд╕рдордЭ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рддреАрди рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ - рдкреНрд░рднрд╛рд╡реА, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдФрд░ рдЕрдиреБрдордд:
- рдЕрд╕рд░рджрд╛рд░ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╡реЗ рд╣реИрдВ рдЬреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдХреЛрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ рд╕реЗ рдирд╣реАрдВ рдирд┐рдкрдЯ рд╕рдХрддрд╛ рдпрджрд┐
CAP_NET_RAW
рдкреНрд░рднрд╛рд╡реА рд╕реЗрдЯ рдореЗрдВ рдирд╣реАрдВ рд╣реИ. - рдЙрдкрд▓рдмреНрдз рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╡реЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ рдпрджрд┐ рд╡рд╣ рдЙрдЪрд┐рдд рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддреА рд╣реИред рд╡реЗ рдХрд┐рд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдХреНрдд рдЕрдиреБрдорддрд┐ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реЛред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рд╕реЗрдЯ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЙрд╕ рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдм рдЙрдирдХреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
- рджрд╛рдп рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╡реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдкреЙрдиреНрдб рдЪрд╛рдЗрд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕реБрд▓рдн рд╕реЗрдЯ рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд░реНрдЬрд░реА рдХреЗ рджреМрд░рд╛рди
fork()
рдпрд╛clone()
рдЪрд╛рдЗрд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╣рдореЗрд╢рд╛ рдореВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдПрдХ рдкреНрд░рддрд┐ рджреА рдЬрд╛рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдпрд╣ рдЕрднреА рднреА рд╡рд╣реА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдПрдХ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдмрд▓ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИexec()
(рдпрд╛ рд╕рдорддреБрд▓реНрдп) рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЙрдкрд▓рдмреНрдз рд╕реЗрдЯ рдХреЛ рд╕реБрд▓рдн рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирд╣реЗрд░рд┐рдЯреЗрдмрд▓ рд╕реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЫреБрдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рддреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ setcap
рд╣рдореЗрдВ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд▓рд┐рдП рдЗрди рддреАрди рд╕реЗрдЯреЛрдВ рдХреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдореВрд╣реЛрдВ рдХрд╛ рдЕрд░реНрде рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рдЙрдкрд▓рдмреНрдз рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╡реЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛрддреА рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдореВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡реЗ рди рд╣реЛрдВред рдЙрдиреНрд╣реЗрдВ "рдордЬрдмреВрд░" рдкрд░рдорд┐рдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ред
- рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рд╕реНрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЙрд▓рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕реЗрдЯ рд╕реЗ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реЗ рдХреЙрд▓рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд┐рдП рдЧрдП рд╕реЗрдЯ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рдХреЗрд╡рд▓ рддрднреА рдЗрдирд╣реЗрд░рд┐рдЯ рдХреА рдЬрд╛рддреА рд╣реИ рдЬрдм рдпрд╣ рджреЛрдиреЛрдВ рд╕реЗрдЯреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛред
- рдЕрд╕рд░рджрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд┐рдЯ рд╣реИ, рдПрдХ рд╕реЗрдЯ рдирд╣реАрдВ, рдФрд░ рдпрджрд┐ рд╕реЗрдЯ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдВрдкреВрд░реНрдг рдЙрдкрд▓рдмреНрдз рд╕реЗрдЯ рднреА рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреНрд░рднрд╛рд╡реА рд╕реЗрдЯ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреВрдБрдХрд┐ рдпрд╣ рдПрдХ рдмрд┐рдЯ рд╣реИ, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреБрдорддрд┐ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рд╕рднреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рдЗрд╕реЗ рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рдмрд┐рдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп setcap
рддреАрди рдкрддреНрд░ e
, i
╨╕ p
рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдкреНрд░рднрд╛рд╡реА, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдФрд░ рд╕реБрд▓рдн рдХреНрд░рдорд╢рдГ рд╕реЗрдЯ. рддреЛ, рдкрд╣рд▓реЗ рд╡рд╛рд▓рд╛ рд╡рд┐рд╡рд░рдг:
sudo setcap cap_net_raw=eip tracewalk
...рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдХрд▓реНрдк CAP_NET_RAW
рдЙрдкрд▓рдмреНрдз рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реЗрдЯреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкреНрд░рднрд╛рд╡реА рдмрд┐рдЯ рднреА рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╕реЗрдЯ рдХреА рдЧрдИ рдХрд┐рд╕реА рднреА рдЕрдиреБрдорддрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рджреЗрдЧрд╛ред рдПрдХ рд╕рд╛рде рдЕрдиреЗрдХ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕реЗ рдЕрд▓рдЧ рдХреА рдЧрдИ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
sudo setcap cap_net_admin,cap_net_raw=eip tracewalk
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдлрд╝рд╛рдЗрд▓ рдХреНрд╖рдорддрд╛рдПрдВ рд╕рд┐рдореНрд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ - рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдкрд░ рд╣реА рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╛рдиреА рд╕рд┐рдореНрд▓рд┐рдВрдХ рдХрд╛ рд▓рдХреНрд╖реНрдп)ред
рджреВрд╕рд░реЗ, рд╡реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрд╛рдпрдерди рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рд╣реА рд╕реМрдВрдкрдирд╛ рд╣реЛрдЧрд╛ред рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдпрд╣ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рддрдм рдЙрд╕ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд╛рд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдиреБрдорддрд┐ рд╣реЛрдЧреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдЗрд╕реЗ SUID рдмрдирд╛рдиреЗ рд╕реЗ рдХрд╛рдлреА рдмреЗрд╣рддрд░ рд╣реИред рд╕рдмрд╕реЗ рдЖрдо рд╕рдорд╛рдзрд╛рди рд╕реА рдпрд╛ рд╕рдордХрдХреНрд╖ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд▓рд┐рдЦрдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рдпрд░рд╢рд╛рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рдорд╛рди рд╣реИ рдЬреЛ рдмрд╛рдЗрдирд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ /usr/bin/dumpcap
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
$ getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip
рддреАрд╕рд░рд╛, рдпрджрд┐ рдЖрдк рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЕрдХреНрд╖рдо рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ LD_LIBRARY_PATH
рд╕реНрдкрд╖реНрдЯ рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ(1). рд╡рд╣реА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ LD_PRELOAD
, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдорд╛рд▓реВрдо рд╣реИред
1. рдЪреВрдВрдХрд┐ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ LD_LIBRARY_PATH
рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╡рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреЙрд▓рд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдорд╛рди рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдордирдорд╛рдирд╛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реИред
рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдкрд╛рдареНрдпрдХреНрд░рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ
рд╕реНрд░реЛрдд: www.habr.com