Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Karcrack en 13 Marzo 2011, 20:42 pm



Título: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
Publicado por: Karcrack 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 ;)


Título: Re: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
Publicado por: Karcrack 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    


Título: Re: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
Publicado por: ntaryl en 15 Marzo 2011, 17:26 pm
Nice  stuff Bro
+ rep from me 


Título: Re: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
Publicado por: Karcrack en 16 Marzo 2011, 00:00 am
Thank you ntaryl :-* Glad you liked it :)


Título: Re: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
Publicado por: philipjfry99 en 19 Marzo 2011, 23:19 pm
Hi Karcrack, love ur work :), this one works except for 7 64bit, do u know why ?


Título: Re: [ANTI] AmISandboxied() - Saber si estamos siendo ejecutados dentro de Sandboxie
Publicado por: Karcrack 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.