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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie  (Leído 2,493 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
[ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
« en: 13 Marzo 2011, 20:42 pm »

Código
  1. Option Explicit
  2. 'NTDLL
  3. Private Declare Function RtlGetCurrentPeb Lib "NTDLL" () As Long
  4. 'MSVBVM60
  5. Private Declare Sub GetMem4 Lib "MSVBVM60" (ByVal Addr As Long, ByRef RetVal As Long)
  6.  
  7. '---------------------------------------------------------------------------------------
  8. ' Procedure : AmISandboxied
  9. ' Author    : Karcrack
  10. ' Date      : 13/03/2011
  11. ' Purpose   : Know if we are running under Sandboxie
  12. '---------------------------------------------------------------------------------------
  13. '
  14. Public Function AmISandboxied() As Boolean
  15.    Dim lUPP        As Long         '&RTL_USER_PROCESS_PARAMETERS
  16.    Dim lFlags      As Long         'RTL_USER_PROCESS_PARAMETERS.Flags
  17.  
  18.    Call GetMem4(RtlGetCurrentPeb() + &H10, lUPP)
  19.    Call GetMem4(lUPP + &H8, lFlags)
  20.    AmISandboxied = (lFlags <> 1)
  21. End Function
Bien simple, por alguna razon desconocida PEB.RTL_USER_PROCESS_PARAMETERS.Flags es distinto cuando esta siendo ejecutado dentro de Sandboxie ;)


En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
« Respuesta #1 en: 13 Marzo 2011, 21:58 pm »

Por si a alguien le interesa el código en ASM que utilicé en los tests:
Código
  1. Main:
  2.        cdq
  3.        mov     edx, [FS:edx+$30]
  4.        mov     edx, [edx+$10]
  5.        mov     edx, [edx+$08]
  6.        dec     edx
  7.        jnz     Sandboxie
  8.        ;Codigo
  9. Sandboxie:
  10.        ret    


En línea

ntaryl

Desconectado Desconectado

Mensajes: 95



Ver Perfil
Re: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
« Respuesta #2 en: 15 Marzo 2011, 17:26 pm »

Nice  stuff Bro
+ rep from me 
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
« Respuesta #3 en: 16 Marzo 2011, 00:00 am »

Thank you ntaryl :-* Glad you liked it :)
En línea

philipjfry99

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
« Respuesta #4 en: 19 Marzo 2011, 23:19 pm »

Hi Karcrack, love ur work :), this one works except for 7 64bit, do u know why ?
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
« Respuesta #5 en: 20 Marzo 2011, 01:37 am »

@philipjfry99:Maybe in 64bits the PEB structure differs, I can't reproduce the error now so I'll try
to fix it later.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines