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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / ASM / cast en asm en: 16 Febrero 2012, 11:14 am
como puedo hacer para conertir un DWORD en un BYTE ?


Código
  1. include 'win32ax.inc'
  2.  
  3. .data
  4.        resultado dd ?
  5.        titulo    db 'Suma',0
  6.  
  7. .code
  8.        start:
  9.  
  10.            mov eax,2 ;
  11.            mov ebx,5 ;
  12.            mov [resultado], eax
  13.            add ebx,[resultado]
  14.  
  15.            push 0
  16.            push titulo
  17.            push resultado
  18.            push 0
  19.            call [MessageBoxA]
  20.  
  21.            push 0
  22.            call [ExitProcess]
  23.  
  24.  
  25. .end start    
  26.  
  27.  


lo que quiero es convertir la variable resultado en un BYTE para poder pasarsela como parametro a messageboxa, aer es sin mas estoy aprendiendo asm
12  Seguridad Informática / Hacking / Re: Se puede ocultar la ejecución de un proceso en un servidor linux? en: 14 Febrero 2012, 23:59 pm
busca sobre interceptar las syscalls, tendras que mirarte como maneja los modulos el kernel, busca sobre programar modulos del kernel linux o LKM o asi
13  Seguridad Informática / Bugs y Exploits / Re: Deshabilitando protecciones contra Buffer Overflows en: 13 Febrero 2012, 12:33 pm
Código:
(gdb) r $(perl -e 'print "A"x[b]42[/b] , "B"x4')
The program being debugged has been started already.
Start it from the beginning? (y o n) y
Starting program: /home/cebanc/vuln $(perl -e 'print "A"x42 , "B"x4')

Program received signal SIGSEGV, Segmentation fault.
0x08004242 in ?? ()
(gdb) i r
eax            0xbffff280 -1073745280
ecx            0x0 0
edx            0xbffff54f -1073744561
ebx            0x28bff4 2670580
esp            0xbffff2b0 0xbffff2b0
[b]ebp            0x42424141 0x42424141[/b]
esi            0x0 0
edi            0x0 0
[b]eip            0x8004242 0x8004242[/b]

-------------------------------------------------------------------------

Código:
(gdb) r $(perl -e 'print "A"x[b]44 [/b], "B"x4')
The program being debugged has been started already.
Start it from the beginning? (y o n) y
Starting program: /home/cebanc/vuln $(perl -e 'print "A"x44 , "B"x4')

Program received signal SIGSEGV, Segmentation fault.
0x080483dd in overflow ()
(gdb) i r
eax            0xbffff280 -1073745280
ecx            0x0 0
edx            0xbffff54f -1073744561
ebx            0x28bff4 2670580
esp            0xbffff2ac 0xbffff2ac
[b]ebp            0x41414141 0x41414141[/b]
esi            0x0 0
edi            0x0 0
[b]eip            0x80483dd 0x80483dd <overflow+25>[/b]
(gdb)
--------------------------------------------------------------------
Código:
(gdb) r $(perl -e 'print "A"x[b]43[/b] , "B"x4')
The program being debugged has been started already.
Start it from the beginning? (y o n) y
Starting program: /home/cebanc/vuln $(perl -e 'print "A"x43 , "B"x4')

Program received signal SIGSEGV, Segmentation fault.
0x00424242 in ?? ()
(gdb) i r
eax            0xbffff280 -1073745280
ecx            0x0 0
edx            0xbffff54f -1073744561
ebx            0x28bff4 2670580
esp            0xbffff2b0 0xbffff2b0
[b]ebp            0x42414141 0x42414141[/b]
esi            0x0 0
edi            0x0 0
[b]eip            0x424242 0x424242[/b]
(gdb)

mi pregunta es, que es lo q esta pasando? por que eip derrepente tiene una direccion menor de lo normal y por que me sobrescribe alos 46 en vez d en los 40 que os sobrescribe a vosotros, alguien me puede hacer un dibujo de como estaria el stack al principio de ejecucion y despues de ser sobrescrito todo x favor, en la teoria lo entiendo o me da la sensacion de que lo e entendido pero llego a la practica y zass nose..
14  Seguridad Informática / Bugs y Exploits / Re: problema ret2libc sacando direccion d memoria system() en: 12 Febrero 2012, 16:03 pm
Código:
#include <stdio.h>
#include <string.h>

fvuln(char *temp1, char *temp2)
{
   char name[512];

   strcpy(name, temp2);
   printf("Hello, %s %s\n", temp1, name);
}

int main(int argc, char *argv[])
{
   fvuln(argv[1],argv[2]);
   printf("Bye %s %s\n", argv[1], argv[2]);

   return 0;
}

el programa es este en concreto el q trato de explotar, estoy siguiendo un paper de los SET, te voy a dejar el link del paper

http://www.set-ezine.org/ezines/set/37/0x05.txt


Código:
gdb> p system
0x168950
15  Seguridad Informática / Bugs y Exploits / Re: problema ret2libc sacando direccion d memoria system() en: 11 Febrero 2012, 18:53 pm
entonces el problema es la direccion corta o los bytes nulos o las 2?

grcias x kontestar
16  Seguridad Informática / Bugs y Exploits / Re: problema ret2libc sacando direccion d memoria system() en: 11 Febrero 2012, 18:48 pm
estoy trabajando bajo mac pero tngo una maquina virtual con ubuntu 11,  como puedo hacer para cambiar byte nulos?
17  Seguridad Informática / Bugs y Exploits / problema ret2libc sacando direccion d memoria system() en: 5 Febrero 2012, 15:23 pm
buenas xaki

estoy tratando d explotar un programilla, peo al sacar la direccion de system, me duelve una direccion de 3bytes , system()->0x168950 , el problema es k no me accede a esa direccion por que supongo que correra parte de otra direccion pa llenar los 4 bytes, nose haber si alguien puede echarme un cable!
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines