Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Belial & Grimoire

#91
pues ya logre solucionar esa parte, era borrar 28 hexadecimales pero no sobreescribir, sino insertar 28 hexadecimales para colocar la nueva sección asi todo vuelve a su lugar, tambien modifique el PE, antes era E0 - 28 = B8

tambien uso un codigo en asm de una shell

Código (asm) [Seleccionar]
[BITS 32]                 

jmp short cmd                 

init:
   mov edx,7634e695h     
   call edx                           
   mov edx,76312acfh     
   call edx                           
cmd:
   CALL init
   db 'cmd',00h 


al compilarlo me aparece la shell sin ningun problema cambiando las direcciones de WinExec y ExitProcess, suspuse que eso era lo que tenia que agregar en el block, asi que tambien modifique el numero del espacio en la sección, ya que habia puesto 17, y los opcodes son 26

despues de modificar eso, agregue los opcode sacados con ollydbg

CPU Disasm
Address   Hex dump          Command                                  Comments
00401000   . /EB 0E         JMP SHORT 00401010
00401002   $ |BA 95E63476   MOV EDX,7634E695
00401007   . |FFD2          CALL EDX
00401009   . |BA CF2A3176   MOV EDX,76312ACF
0040100E   . |FFD2          CALL EDX
00401010   > \E8 EDFFFFFF   CALL 00401002
00401015   .  636D 64       ARPL WORD PTR SS:[EBP+64],BP
00401018   .  00FF          ADD BH,BH


EB0EBA95E63476FFD2BACF2A3176FFD2E8EDFFFFFF636D6400FF

pero al ejecutarlo, abre normalmente el block de notas pero no me aparece la shell

leyendo nuevamente el codigo de ferchu pone

codigo                                OPcodes

Cadena titulo                         "Soy el notepad y estoy infectado!!!\0"
Cadena msg                            "Infectado!!!\0"
call [siguiente instruccion]          E8 00 00 00 00
pop eax                               58
push 0                                6A 00
sub eax, 0x12                         2C 12
push eax                              50
sub eax, 0x24                         2C 24
push eax                              50
push 0                                6A 00
mov eax, 0x77D5050B                   B8 0B 05 D5 77       // B8 + direccion de MessageBoxA
call eax                              FF D0
mov eax, 0x010739D                    B8 9D 73 00 01       // B8 + entry point
jmp eax                               FF E0


asi que quise agregar B8 a las direcciones, pero tampoco se ejecuta la shell

EB0EBAB895E63476FFD2BAB8CF2A3176FFD2E8EDFFFFFF636D6400FF

EB0EBA-->B8<--95E63476FFD2BA-->B8<--CF2A3176FFD2E8EDFFFFFF636D6400FF

que podria estar pasando?
#92
ASM / Re: como usar estructuras en nasm?
16 Julio 2013, 21:29 PM
ok gracias por los link, ahorita los checo

solo una pregunta, sabes como iniciar la estructura en nasm? porque veo que lo hacen asi en fasm

sa      sockaddr_in <>

pero es lo mismo para nasm?

gracias nuevamente

salu2
#93
lo estoy haciendo manualmente con un editor de hexadecimal, te agradeceria mucho si me puediras explicar esa parte de cambiar el punto de entrada y redirigirlo

te dejo el block de notas que modifique y el codigo hecho en nasm, me imagino que te servira mas el codigo que los opcodes

Estoy usando windows 7 32bits

http://www.mediafire.com/download/ej8gzpqbz9x88bj/notepad.exe

Código (asm) [Seleccionar]
[BITS 32]

section .data

hola: db 'hola mundo',0
box: db 'user32.dll',0
ldlib: dd '0xFFFFFFFF'
ap: db 'MessageBoxA',0
bbox: dd '0xFFFFFFFF'

section .text

global _WinMain@16
extern _LoadLibraryA@4
extern _GetProcAddress@8
extern _ExitProcess@4

_WinMain@16:

xor eax, eax
push box
call _LoadLibraryA@4
mov [ldlib], eax

push ap
push dword [ldlib]
call _GetProcAddress@8
mov [bbox], eax

push 0
push hola
push hola
push 0
call dword [bbox]

push 0
call _ExitProcess@4
#94
ASM / como usar estructuras en nasm?
16 Julio 2013, 20:45 PM
hola

alguien me puede decir como usar estructuras en nasm?, lo que estoy tratando de programar es un socket en asm, pero no se como colocar la estructura sockaddr_in en nasm para usar los parametros de .sin_family, .sin_port, etc
#95
es que agregar secciones ya lo hice, solo me hace falta lograr ejecutar opcodes

miren esta imagen de ferchu, elimina 28 hexadecimales y se nota en la imagen, pero luego lo alinea, el problema es que esta muy chica la imagen y no alcanzo a ver con que alinea los demas hexadecimales, en la parte de abajo se ve una linea morada, donde se muestra que esta alienado

http://s1.subirimagenes.com/otros/368697modificado31.jpg

mi problema no es que quiera que me expliquen todo el formate PE, solo esa parte de los 28 hexadecimales, eso es todo
#96
hola

pero alguien sabe con que vuelve a llena esos 0x28 hexadecimales?, porque si borro 0x28 obviamente dejare incompleto el archivo, entonces creo el llenaba con algo esos 28 hexadecimales para volver a acomodar los offset en su lugar y dejar el archivo completo, y no recuerdo eso

si borro 28 hexadecimales, que necesito para llenar esos 28 hexadecimales que borre para dejar el archivo con la misma cantidad de hexadecimales?

porque en una imagen se alcanza a ver que borra los 28 hexadecimales, pero tambien se alcanza a ver que despues de los 28 hexadecimales de PE vuelve a acomodar los hexadecimales para que quede todo en su lugar
#97
que tonteria hice, ya lo resolvi, olvide poner cero despues de "urlmon.dll" y "URLDownloadToFileA"... ", 0", me imagino que por eso me daba null

bueno, gracias

salu2
#98
hola

ya use olly, y creo ya encontre el problema, al poner varios breaks, creo lo que falla es GetProcAddress, en hmodule, tiene un numeros, pero al llegar con el break cambia a NULL, despues avanza y me aparece una violacion de acceso

entonces de que otra forma obtengo GetProcAddress?
#99
nop, ese no es el problema, olvide la comilla pero ahorita lo arreglo, algo mas que puedan ver?, es que no se que pueda estar mal, o no se si todo el codigo que hice este mal

salu2
#100
hola

Quise hacer por mi mismo un downloader para practicar asm, pero tengo un problema, nasm no me da ningun error, gcc tampoco pero cuando lo ejecuto, me sale un mensaje de error y se cierra, me podrian decir que fallo le encuentran porfavor?

[Bits 32]

section .data
remote_file db 'http://www.crackberrista.com/wp-content/uploads/2012/01/hacker.gif',0
local_file db 'hacker.gif',0
url db 'urlmon.dll'
ldlib dd '0xFFFFFFFF'
URDo db 'URLDownloadToFileA'
urd dd '0xFFFFFFFF'

section .text
extern _LoadLibraryA@4
extern _GetProcAddress@8
extern _FreeLibrary@4
extern _ExitProcess@4
global _WinMain@16

_WinMain@16:

push url
call _LoadLibraryA@4
mov [ldlib], eax

push URDo
push dword [ldlib]
call _GetProcAddress@8
mov [urd], eax

push 0
push 0
push local_file
push remote_file
push 0
call [urd]

call _FreeLibrary@4

push 0
call _ExitProcess@4
ret 16