рдирдорд╕реНрддреЗ рд╕рдмреИред рд╣рд╛рдореА рд╕рдХреНрд░рд┐рдп рд░реВрдкрдорд╛ рдХрд╛рдордорд╛ рд▓рд╛рдЧрд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВ рд░ рдЬрдирд╡рд░реАрдорд╛ рдзреЗрд░реИ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреНрд░рдХреНрд╖реЗрдкрдгрд╣рд░реВ рддрдпрд╛рд░реА рдЧрд░реНрджреИрдЫреМрдВред рдЕрд░реВрдордзреНрдпреЗ, рд╕рдмреИрдХреЛ рдордирдкрд░реНрдиреЗ рдкрд╛рдареНрдпрдХреНрд░рдордХреЛ рдирдпрд╛рдБ рд╕реНрдЯреНрд░рд┐рдордХреЛ рд▓рд╛рдЧрд┐ рднрд░реНрдирд╛ рдШреЛрд╖рдгрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред
рдлрд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рд╣рд░реВрд▓реЗ SUID рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджрдЫ, рддрд░ рд╕реБрд░реБрдорд╛ рдереЛрд░реИ рднреНрд░рд╛рдордХ рд▓рд╛рдЧреНрди рд╕рдХреНрдЫред
рд╣рд╛рдореА рд╕рдмреИрд▓рд╛рдИ рддреНрдпреЛ рдмрд╛рдЗрдирд░реА рдерд╛рд╣рд╛ рдЫ
рдпрджрд┐ рддрдкрд╛рдИрдВ рдорд╛рдерд┐рдХреЛ рд▓реЗрдЦрд▓рд╛рдИ рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ рдкрдвреНрдирдмрд╛рдЯ рдмрдЪреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреЗрд╣реА рд╕рдордп рдмрдЪрд╛рдЙрдиреЗрдЫреБ: рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛, рдлрд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рд╣рд░реВрд▓реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬреБрди рд░реВрдЯрдХреЛ рд░реВрдкрдорд╛ рдЪрд▓реНрдЫ рд░ рддреНрдпрд╕реИрд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд╖рдорддрд╛рд╣рд░реВ рдХрд╛рдпрдо рд░рд╛рдЦреНрди рдХреЗрд╣реА рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдиреНрдЫ, рд╕реАрдорд┐рддред
рдЕрдиреБрдорддрд┐рд╣рд░реВ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрддреНрдХреГрд╖реНрдЯ рдЫрдиреН рдЬреБрди рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдЬрд╣рд┐рд▓реЗ рдкрдирд┐ рд░реВрдЯрдХреЛ рд░реВрдкрдорд╛ рдЪрд▓реНрдЫ, рддрд░ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реБрдиреНрдЫ? рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐, рдпреЛ рдкрдирд┐ рд╕рдорд░реНрдерд┐рдд рдЫ рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рд╕рд╣реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рднрдПрдХреЛ рдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ Ubuntu рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрдпрд╛рдХреЗрдЬ рдЪрд╛рд╣рд┐рдиреНрдЫ libcap2-bin
ред рддрдкрд╛рдИрдВрд▓реЗ рдЧреИрд░-рдкреБрд░рд╛рддрди рдХрд░реНрдиреЗрд▓ (рд╕рдВрд╕реНрдХрд░рдгрдмрд╛рдЯ 2.6.24).
рдпреА рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрд▓реЗ рдЕрдиреБрдорддрд┐рд╣рд░реВрд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрджреНрдз рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, SUID рдмрд┐рдЯ рд╕реЗрдЯрд┐рдЩ рдЬрд╕реНрддреИ, рддрд░ рдЕрдиреБрдорддрд┐рд╣рд░реВрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ред рдЙрдкрдпреЛрдЧрд┐рддрд╛ 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 рдмрдирд╛рдЙрдиреБ рднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рдЫред рд╕рдмреИ рднрдиреНрджрд╛ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрд╛рдп рднрдиреЗрдХреЛ C рд╡рд╛ рд╕рдордХрдХреНрд╖рдорд╛ рдЫреБрдЯреНрдЯреИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рд▓реЗрдЦреНрдиреБ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рдЬрд╕рд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрди рд░ рдпрд╕рд▓рд╛рдИ рд▓рд┐рдкрд┐рдмрд╛рдЯ рдХрд▓ рдЧрд░реНрди рд╕рдХреНрдЫред рдпреЛ Wireshark рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬрд╕реНрддреИ рд╣реЛ рдЬрд╕рд▓реЗ рдмрд╛рдЗрдирд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ /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