αα½ααααΈβα’αααβααΆααα’ααααααΆα ααΎααααα»αααααΎαααΆααααΆαααααα α αΎααααα»ααααα
αααΆαααΎαααααΎαααΆαααααΆαα₯αααα·ααααΆα
αααΎααα½α
α αΎααα
αααα»αααααααΆα αααα»αα
ααααα’ααααααααααα ααΆαα
α»ααααααααααΌαααΆααααααΆααααααΆααααΆαααααΆαααααΈαααααααα·ααααΆαααααα»ααααααααααααΆα
αΌαα
α·αααα
ααΆαα’αα»ααααΆαα―αααΆααααααααΌααααααΎααα»ααααα·ααΆααα½αα αααα SUID αααα’αΆα ααααα·ααααα·ααΆα ααα»ααααα’αΆα α αΆααααΌα ααΆααΆαααΆααααααα ααα‘αααααα·α αα αααααααΌαα
ααΎαααΆααα’ααααααΆααΉαααΆαααααααααααααΈα
αααα»αααΉαααααααααααααΆααααα±ααα’ααα ααααα·αααΎα’αααα
αααααααΆαααΆαα’αΆαα’αααααααΆαααΎααααααα’α·αα ααααΆαα ααΆαα’αα»ααααΆαα―αααΆαα’αα»ααααΆαα±ααααααΎαααΆααααααααΎαααΆαααΆ root α αΎαααΌα
ααααααααΌαααΆαα’αα»ααααΆαα±ααααααΎα’αααΈαα½αααΎααααΈαααααΆαααααααΆαααΆααααΆααα
ααΆαα’αα»ααααΆαααΊα’ααα
αΆααααααααΆααααααΆαααααααααΆααααααΆαααααααααΎαααΆαααΆ root ααα»ααααα
α»ααααΆαααΆα
ααααα§αααααααααΎααααΆαααααααΆααααΆααααααααΆ? ααααΆαααα’ ααΆααααΌαααΆαααΆααααααααα αααα’αααααΆαααα‘αΎαα§αααααααααΎααααΆααααααΉαααααΌαα ααααα·αααΎα’ααααααα»αααααΎα’ααΌααα»αααΌ α’αααααΉαααααΌαααΆααααα
ααααΆα§ααΆα ααα libcap2-bin
. α’αααααααΉαααααΌαααααΎαααΆαααΊαααααααα·ααααααΆαα»ααΆα (ααΈαααα 2.6.24).
αα»αααΆαααΆαααααα’αα»ααααΆαα±ααααΆαααΆαα’αα»ααααΆαα±ααααααΆααααΆαα½αα―αααΆααααα’αΆα
ααααα·ααααα·ααΆα ααααααααΉαααΆαααααα SUID bit ααα»αααααααααΆαααααααα»ααα·αααα·ααΆααααΆααααα»αααααα α§αααααααααΎααααΆαα 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
αα α ααα»α ααα α’ααααα½αααα’αΆα ααααΎαααΆααααααα·ααΈαααα’αΆα ααααα·ααααα·ααΆααααα»αααΆαααΆα’αααααααΎααααΆαααααααααΆααα·αααα· α αΎαααΆαα½αααα’αΆα ααααΎαααΆαααΆαα½ααααααα ααα»αααααα·αααΆααα·αααα·αααααααααααα’αααααααΎααααΆαα root ααΆααααααα
ααΌα
ααααααΎαα
αα
ααα
ααααααααααΆααααααΌα
ααααα
? =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
ααΈαα½α αααααααΆαα―αααΆααα·αααααΎαααΆαααΆαα½α symlinks αα - α’αααααααΌαα’αα»αααααα½αααΆαα α―αααΆααααααΈαααααααα½αααΆ (α§. ααααα αα symlink) α
ααΈααΈα αα½αααΆαα·αααααΎαααΆαααΆαα½αααααααΈααααααΆαααααααααα α§ααΆα ααα ααααα·αααΎα’αααααΆαααααααΈα Python αααα’αααα
ααααααααα·αααα·α±αα α’αααααααΌααααααααααΆα±ααα’ααααααααα Python αααα½αα―αα ααΆααααααα αααααΊααΆαααα αΆαα»ααααα·ααΆααααα’αΆα
ααΎαααΆα ααΈααααααααααΆαααα ααααααΈαααΆααα’αααααααααΌαααΆαααααα·ααααα·ααΆαα½αα’ααααααααααααααΉαααΆαααΆαα’αα»ααααΆααααααΆααααααΆαα αααααΈααΆααΆαα
αααααααΎαααΆαααΆαααααΎα±ααααΆ 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