elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13
61  Seguridad Informática / Bugs y Exploits / Re: Intentando hacer shellcode 64 bits en: 25 Julio 2011, 14:35 pm
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:
Código:
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:
Código:
(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  Seguridad Informática / Bugs y Exploits / Intentando hacer shellcode 64 bits en: 25 Julio 2011, 01:36 am
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
  1. jmp    0x1f
  2.        popl   %esi
  3.        xorl   %eax,%eax
  4.        movb   %al,0x7(%esi)
  5.        movl   %esi,0x8(%esi)
  6.        movl   %eax,0xc(%esi)
  7.        movb   $0xb,%al
  8.        movl   %esi,%ebx
  9.        leal   0x8(%esi),%ecx
  10.        leal   0xc(%esi),%edx
  11.        int    $0x80
  12.        xorl   %eax,%eax
  13.        xorl   %ebx,%ebx
  14.        inc    %eax
  15.        int    $0x80
  16.        call   -0x24
  17.        .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
  1. void funcion();
  2. int main(){
  3.  
  4. funcion();
  5.  
  6.  
  7.  
  8. }
  9.  
  10. void funcion(){
  11.    asm("jmp    0x2e(%rip);"
  12.        "popq   %rsi;"
  13.        "xorq   %rax,%rax;"
  14.        "movb   %al,0x7(%rsi);"
  15.        "movq   %rsi,0x8(%rsi);"
  16.        "movq   %rax,0xc(%rsi);"
  17.        "movb   $0xb,%al;"
  18.        "movq   %rsi,%rbx;"
  19.        "leaq   0x8(%rsi),%rcx;"
  20.        "leaq   0xc(%rsi),%rdx;"
  21.        "int    $0x80;"
  22.        "xorq   %rax,%rax;"
  23.        "xorq   %rbx,%rbx;"
  24.        "inc    %rax;"
  25.        "int    $0x80;"
  26.        "call   -0x29;"
  27.        ".string \"/bin/sh\";");
  28. }

Luego el problema es que me da segmentation fault.

Les pongo un pequeño analisis en gdb para que lo vean más claro:
Código:
(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  Informática / Hardware / Re: Drivers Pavilion Elite m9075.es en: 25 Junio 2011, 03:38 am
No se si 82566 sera igual que 82566DC, tendre que provarlo.
Gracias por las respuestas. ;D
64  Informática / Hardware / Re: Drivers Pavilion Elite m9075.es en: 24 Junio 2011, 00:55 am
Citar
Podrias 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).

Código:
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  Informática / Hardware / Re: Drivers Pavilion Elite m9075.es en: 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  Informática / Hardware / Drivers Pavilion Elite m9075.es en: 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  Programación / ASM / Re: BootLoader carga programa C en: 6 Junio 2011, 23:46 pm
O.O esa pagina es impresionante
68  Programación / Programación C/C++ / Re: Salir de bucle cuando el caracter es un espacio en: 6 Junio 2011, 22:48 pm
Perdon no es asi "\n" es asi '\n' por que sono seria una cadena i es un solo caracter.
69  Programación / Programación C/C++ / Re: Salir de bucle cuando el caracter es un espacio en: 6 Junio 2011, 19:52 pm
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  Seguridad Informática / Bugs y Exploits / Re: [Taller] Curso Exploiting elhacker.net 2011 : Grupo 1 en: 12 Marzo 2011, 02:56 am
¿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.
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines