📦Sandbox

Une Sandbox est essentiellement une machine virtuelle isolée qui reproduit une partie ou l'ensemble d'un environnement informatique réel. Elle permet d'exécuter des applications potentiellement dangereuses tout en capturant leurs interactions avec le système d'exploitation et les fichiers.


🛌 Sleeping through Sandboxes

⏳ Contraintes de temps

Utiliser des techniques pour retarder l'exécution du code malveillant jusqu'à ce qu'il soit hors de la fenêtre de surveillance des Sandbox

📈 Calculs complexes et lourds

Une autre méthode consiste à effectuer des calculs complexes et lourds, comme le calcul de la suite de Fibonacci jusqu'à un certain nombre. La durée de cette méthode varie en fonction du matériel du système.

👨‍💻 Pour aller plus loin

Exemples

Sleeping through Sandboxes

#include <iostream>
#include <Windows.h>
using namespace std;

int main() {
    // Exemple de retard d'exécution de 120 secondes (2 minutes)
    Sleep(120000);
    
    // Code malveillant à exécuter après le délai
    downloadAndExecute();
    
    return 0;
}

⏳ Calculs complexes et lourds

Une autre méthode efficace consiste à effectuer des calculs complexes, comme le calcul de la suite de Fibonacci, pour ralentir l'exécution. Cela permet de prolonger le temps d'exécution au-delà des limites typiques des Sandboxes.

🌍 Géolocalisation

📍 Localisation des Sandboxes

Un facteur déterminant des Sandboxes est qu'elles sont souvent situées hors site et hébergées par des fournisseurs d'antivirus. Si vous savez que vous attaquez une entreprise européenne, et que votre binaire est exécuté en Californie, vous pouvez supposer raisonnablement que le binaire a fini dans une Sandbox.

Vous pouvez choisir d'implémenter un filtre de géolocalisation dans votre programme qui vérifie si le bloc d'adresse IP appartient à l'entreprise que vous ciblez ou s'il provient d'un espace d'adresse résidentielle.

🛠️ Services de vérification

Il existe plusieurs services que vous pouvez utiliser pour vérifier cette information :

ifconfig.me peut être utilisé pour récupérer votre adresse IP actuelle, avec des informations supplémentaires en option. En combinant cela avec RDAP d'ARIN, vous pouvez déterminer le fournisseur d'accès internet (ISP) retourné dans un format facile à analyser (JSON).

⚠️ Accès Internet et Restrictions

Il est important de noter que cette méthode ne fonctionnera que si l'hôte a accès à Internet.

Exemple

💻 Vérification des Informations Système

Les Sandboxes ont souvent des ressources limitées. Par exemple, Any.Run alloue seulement 1 cœur de CPU et 4 Go de RAM par machine virtuelle. La plupart des postes de travail ont généralement 2 à 8 cœurs de CPU, 8 à 32 Go de RAM et plus d'espace disque.

📋 Informations à Vérifier

  • Nombre de cœurs CPU

  • Quantité de RAM

  • Taille du disque

🛠️ Autres Critères Possibles

  • Numéro de série du disque

  • Nom d'hôte du PC

  • Version/numéro de série du BIOS/UEFI

  • Clé de produit Windows/version de l'OS

  • Informations sur l'adaptateur réseau

  • Vérifications de virtualisation

  • Utilisateur connecté

En utilisant ces informations, vous pouvez adapter votre code pour détecter un environnement de Sandbox.

Exemples

🌐 Interrogation des Informations Réseau

Cette méthode est la plus ouverte et la plus avancée que nous aborderons. Elle implique principalement l'interrogation d'informations sur le domaine Active Directory.

🏢 Vérification de l'Appartenance au Domaine

Presque aucune Sandbox de logiciels malveillants n'est jointe à un domaine. Ainsi, si une machine n'est pas jointe à un domaine, il est relativement sûr de supposer que ce n'est pas la cible appropriée. Cependant, il est prudent de collecter des informations sur le domaine pour être sûr.

📋 Objets à Interroger

Il existe de nombreux objets que vous pouvez interroger :

  • Ordinateurs

  • Comptes utilisateur

  • Dernières connexions utilisateur

  • Groupes

  • Administrateurs de domaine

  • Administrateurs d'entreprise

  • Contrôleurs de domaine

  • Comptes de service

  • Serveurs DNS

Exemples

Interroger les informations sur le domaine Active Directory peut indiquer la présence d'une Sandbox.

Last updated