Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - lapras

#61
Sip tienes razon por que salta a (bad) ese era un fallo. Ahora he puesto etiquetas.
De todos modos creo que para hacer shellcodes la posicion tiene que ser relativa porque luego se cambia.
Con etiquetas me sigue saliendo segmentation fault i creo que se porque es:
0x00000000004005c4 <+0>: push   %rbp
   0x00000000004005c5 <+1>: mov    %rsp,%rbp
   0x00000000004005c8 <+4>: jmp    0x4005f3 <data>
   0x00000000004005ca <+6>: pop    %rsi
   0x00000000004005cb <+7>: xor    %rax,%rax
   0x00000000004005ce <+10>: mov    %al,0x7(%rsi)
   0x00000000004005d1 <+13>: mov    %rsi,0x8(%rsi)
   0x00000000004005d5 <+17>: mov    %rax,0xc(%rsi)
   0x00000000004005d9 <+21>: mov    $0xb,%al
   0x00000000004005db <+23>: mov    %rsi,%rbx
   0x00000000004005de <+26>: lea    0x8(%rsi),%rcx
   0x00000000004005e2 <+30>: lea    0xc(%rsi),%rdx
   0x00000000004005e6 <+34>: int    $0x80
   0x00000000004005e8 <+36>: xor    %rax,%rax
   0x00000000004005eb <+39>: xor    %rbx,%rbx
   0x00000000004005ee <+42>: inc    %rax
   0x00000000004005f1 <+45>: int    $0x80
   0x00000000004005f3 <+0>: callq  0x4005ca <_Z7funcionv+6>
   0x00000000004005f8 <+5>: (bad) 
   0x00000000004005f9 <+6>: (bad) 
   0x00000000004005fa <+7>: imul   $0x78786873,0x2f(%rsi),%ebp
   0x0000000000400601 <+14>: js     0x40067b <__libc_csu_init+27>

Ahora vemos que si que salta donde deberia.
Pero sale segmentation fault con el gdb me sale lo siguiente:
(gdb) break funcion
Punto de interrupción 1 at 0x4005c8
(gdb) run
Starting program: /home/tuket/a.out

Breakpoint 1, 0x00000000004005c8 in funcion() ()
(gdb) stepi
0x00000000004005f3 in data ()
(gdb) stepi
0x00000000004005ca in funcion() ()
(gdb) stepi
0x00000000004005cb in funcion() ()
(gdb) stepi
0x00000000004005ce in funcion() ()
(gdb) stepi

Program received signal SIGSEGV, Segmentation fault.
0x00000000004005ce in funcion() ()
(gdb)


0x00000000004005ce ahi es donde da error. Habia pensado que igual era por que intenta escribir en la sección de codigo de programa y eso no se puede(si alguien lo sabe seguro que lo confirme).Tal vez como es una shellcode se supone que deberia estar en la pila y el codigo en ese caso si se podria modiaficar. Aver si alguien me lo puede decir.
Y gracias por la respuesta :)
#62
Hola estoy empezando a escribir shellcodes. Estaba leyendo un manual que encontre en esta misma página: Shellcodes linux de Raise.
He llegado ala parte en donde pone este código:

Código (asm) [Seleccionar]
jmp    0x1f
        popl   %esi
        xorl   %eax,%eax
        movb   %al,0x7(%esi)
        movl   %esi,0x8(%esi)
        movl   %eax,0xc(%esi)
        movb   $0xb,%al
        movl   %esi,%ebx
        leal   0x8(%esi),%ecx
        leal   0xc(%esi),%edx
        int    $0x80
        xorl   %eax,%eax
        xorl   %ebx,%ebx
        inc    %eax
        int    $0x80
        call   -0x24
        .string \"/bin/sh\"


Como podrán comprobar es ensamblador de 32 bit y al compilarlo me da error.
Entonces decidí hacer una modificaciones:

Código (cpp) [Seleccionar]
void funcion();
int main(){

funcion();



}

void funcion(){
    asm("jmp    0x2e(%rip);"
        "popq   %rsi;"
        "xorq   %rax,%rax;"
        "movb   %al,0x7(%rsi);"
        "movq   %rsi,0x8(%rsi);"
        "movq   %rax,0xc(%rsi);"
        "movb   $0xb,%al;"
        "movq   %rsi,%rbx;"
        "leaq   0x8(%rsi),%rcx;"
        "leaq   0xc(%rsi),%rdx;"
        "int    $0x80;"
        "xorq   %rax,%rax;"
        "xorq   %rbx,%rbx;"
        "inc    %rax;"
        "int    $0x80;"
        "call   -0x29;"
        ".string \"/bin/sh\";");
}


Luego el problema es que me da segmentation fault.

Les pongo un pequeño analisis en gdb para que lo vean más claro:
(gdb) disassemble funcion
Dump of assembler code for function _Z7funcionv:
   0x00000000004005c4 <+0>: push   %rbp
   0x00000000004005c5 <+1>: mov    %rsp,%rbp
   0x00000000004005c8 <+4>: jmpq   *0x2e(%rip)        # 0x4005fc <_Z7funcionv+56>
   0x00000000004005ce <+10>: pop    %rsi
   0x00000000004005cf <+11>: xor    %rax,%rax
   0x00000000004005d2 <+14>: mov    %al,0x7(%rsi)
   0x00000000004005d5 <+17>: mov    %rsi,0x8(%rsi)
   0x00000000004005d9 <+21>: mov    %rax,0xc(%rsi)
   0x00000000004005dd <+25>: mov    $0xb,%al
   0x00000000004005df <+27>: mov    %rsi,%rbx
   0x00000000004005e2 <+30>: lea    0x8(%rsi),%rcx
   0x00000000004005e6 <+34>: lea    0xc(%rsi),%rdx
   0x00000000004005ea <+38>: int    $0x80
   0x00000000004005ec <+40>: xor    %rax,%rax
   0x00000000004005ef <+43>: xor    %rbx,%rbx
   0x00000000004005f2 <+46>: inc    %rax
   0x00000000004005f5 <+49>: int    $0x80
   0x00000000004005f7 <+51>: callq  0xffffffffffffffd7
   0x00000000004005fc <+56>: (bad) 
   0x00000000004005fd <+57>: (bad) 
   0x00000000004005fe <+58>: imul   $0xc9006873,0x2f(%rsi),%ebp
---Type <return> to continue, or q <return> to quit---
   0x0000000000400605 <+65>: retq   
End of assembler dump.
(gdb) run
Starting program: /home/tuket/a.out

Program received signal SIGSEGV, Segmentation fault.
0x00000000004005c8 in funcion() ()
(gdb)


Ah por cierto al compilar el codigo me daba un warning en el jmp que dicia que no se habia indicado el signo *. Sin embargo en el codigo desemsamblado vemos que lo ha puesto solo.
Aver si me podeis ayudar :)
#63
Hardware / Re: Drivers Pavilion Elite m9075.es
25 Junio 2011, 03:38 AM
No se si 82566 sera igual que 82566DC, tendre que provarlo.
Gracias por las respuestas. ;D
#64
Hardware / Re: Drivers Pavilion Elite m9075.es
24 Junio 2011, 00:55 AM
CitarPodrias ponerle otra tarjeta pci de red, o un adaptador wifi por USB, así podrias conectarte.
No lo he probado por que no tengo tarjetas de red. Pero si no me queda otro remedio me la tendré que comprar xD(aunque preferiría no tener que tener que gastarme dinero).

Probaste modo compatibilidad con XP?
No lo probe. De todas maneras yo tengo instalado el xp y creo que eso que dices es una función del vista.
#65
Hardware / Re: Drivers Pavilion Elite m9075.es
23 Junio 2011, 23:59 PM
Gracias por las respuestas.
El programa que me pasasteis esta muy bien pero tiene un problema: necesita internet. El driver que me falta es el de red y sin el no me puede conectar a internet entonces es como el pez que se muerde la cola.
Por cierto hay alguna manera de adaptar un driver de vista para xp? lo digo por que el de vista si lo encontre.
#66
Hardware / Drivers Pavilion Elite m9075.es
22 Junio 2011, 23:43 PM
Hola tengo un "Pavilion Elite m9075.es" me ha costada encontrar los drivers para xp  pero me queda uno muy importante que es el de red.
En la pagina oficial solo se encuentran los de windows vista.
He buscado en google pero me resulta imposible
http://h10025.www1.hp.com/ewfrf/wc/product?lc=es&dlc=es&cc=es&lang=es&product=3605248&

En esta pagina tienes para descargar los drivers y ver las especificaciones. Parece que el adaptador de red es Intel 82566DC-2 Gigabit.
Pero aun sabiendo el nombre no he encontrado el driver necesario.
Gracias por adelantado y espero que puedan ayudar.  ;D
#67
ASM / Re: BootLoader carga programa C
6 Junio 2011, 23:46 PM
O.O esa pagina es impresionante
#68
Perdon no es asi "\n" es asi '\n' por que sono seria una cadena i es un solo caracter.
#69
while(Gente.Nombre[CuentaLetras-1]!='.' && Gente.Nombre[CuentaLetras-1]!=0x20 && Gente.Nombre[CuentaLetras-1]!=10);
Debes buscar su valor decimal, haxadecimal u octal en la tabla ascii.
Tambien se puede poner de la siguiente manera "\n" . Esto es el enter.

http://www.elhacker.net/ascii.gif
#70
¿Como puedo participar en un curso de estos? :huh:
EDIT: Pues nada ya me di cuenta de que es tarde. Hasta luego y suerte con el curso.