Juniper Secure Virtual Workspace, hooks userland

Le mode « Secure Virtual Workspace » ou « Bureau Virtuel » de Juniper fais appel à un vrai petit HIPS en mode user.
Ce dernier repose sur une librairie dsjvd.dll, systématiquement chargé dans les processus de la bulle.

Cet article ne le détaillera pas, mais il est tout à fais possible d’alterner une fonction hookée et une plus personnelle afin de sortir des fichiers de la bulle, d’en faire rentrer ou exécuter des programmes non autorisés.

  • Registre (advapi32), via InterceptRegistryFunctions :
    • RegCreateKeyExW
    • RegCreateKeyExA
    • RegOpenKeyExW
    • RegOpenKeyExA
    • RegCloseKey
    • RegSetValueExW
    • RegDeleteKeyW
    • RegDeleteKeyA
    • RegDeleteValueW
    • RegEnumKeyExW
    • RegEnumValueW
    • RegQueryInfoKeyW
    • RegQueryMultipleValuesW
    • RegQueryValueExW
    • RegQueryValueW
    • RegReplaceKeyW
    • RegRestoreKeyW
    • RegSaveKeyW
    • RegSetKeySecurity
    • RegOpenCurrentUser
    • SetNamedSecurityInfoW
    • GetNamedSecurityInfoW
  • Appels noyau (ntdll), via InterceptNativeFunctions :
    • NtCreateFile
    • NtOpenFile
    • NtClose
    • NtQueryInformationFile
    • NtSetInformationFile
    • NtQueryDirectoryFile
    • NtQueryAttributesFile
    • NtQueryFullAttributesFile
    • NtReadFile
    • NtWriteFile
    • NtMapViewOfSection
    • NtUnmapViewOfSection
    • NtCreateSection
    • NtOpenSection
    • NtQuerySection
  • Fichier et mémoire (kernel32/user32), via InterceptFileFunctions
    • FindFirstFileExW
    • FindFirstFileW
    • FindNextFileW
    • FindClose
    • SetFileAttributesW
    • GetFileAttributesW
    • GetFileAttributesExW
    • DeleteFileW
    • MoveFileW
    • MoveFileExW
    • MoveFileWithProgressW
    • CreateHardLinkW
    • CopyFileW
    • CopyFileExW
    • CreateDirectoryW
    • CreateDirectoryExW
    • RemoveDirectoryW
    • CreateFileW
    • SetEndOfFile
    • CloseHandle
    • FindFirstChangeNotificationW
    • ReadDirectoryChangesW
    • WriteProcessMemory
    • ReadProcessMemory
    • LoadLibraryExW
    • DuplicateHandle
    • FlushViewOfFile
    • VirtualAlloc
    • SwitchDesktop
  • Impression (gdi32/winspool), via InterceptDeviceFunctions
    • CreateDCW
    • OpenPrinterW
    • EnumPrintersW
    • GetDefaultPrinterW
    • AddPrinterDriverW
    • AddPrinterDriverExW
    • WritePrinter
  • Presse-papier (user32), via InterceptClipboardFunctions
    • OpenClipboard
    • CloseClipboard
    • EmptyClipboard
    • ChangeClipboardChain
    • CountClipboardFormats
    • GetClipboardOwner
    • EnumClipboardFormats
    • GetClipboardData
    • GetClipboardFormatNameA
    • GetClipboardFormatNameW
    • GetClipboardSequenceNumber
    • GetClipboardViewer
    • GetOpenClipboardWindow
    • GetPriorityClipboardFormat
    • IsClipboardFormatAvailable
    • RegisterClipboardFormatA
    • RegisterClipboardFormatW
    • SetClipboardData
    • SetClipboardViewer
  • Processus (kernel32/advapi32/ole32), via InterceptProcessFunctions
    • CreateProcessA
    • CreateProcessW
    • CreateProcessAsUserA
    • CreateProcessAsUserW
    • WinExec
    • ExitWindowsEx
    • ShellExecuteExW
    • CoGetClassObject
    • CoCreateInstanceEx
    • CreateProcessWithLogonW
    • OleRun

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *