Skip to content

A curated list of awesome resources related to anti virtualization techniques

License

Notifications You must be signed in to change notification settings

theo-abel/awesome-anti-virtualization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Anti-Virtualization Awesome Tweet

A curated list of resources related to anti-virtualization techniques containing references to books, papers, blog posts, and other written resources.

Anti-virtualization techniques are used to detect and evade virtualized environments. These techniques are used by malware authors, anti-cheats and proprietary software among others to avoid detection by security researchers and analysts.

We generally divide anti-virtualization techniques (also called anti-VM or redpills) into 4 categories:

  • Timing-based: These techniques rely on the fact that virtualized environments have different timing characteristics than physical machines.
  • Behavior-based: These techniques rely on the fact that virtualized environments have different behaviors than physical machines.
  • Signature-based: These techniques rely on the fact that virtualized environments have different signatures than physical machines.
  • Based on a trusted third party: These techniques rely on the fact that virtualized environments have a trusted third party that can be used to detect them.

These techniques can be called redpills because they are used to detect the "red pill" of a virtualized environment. The term "red pill" comes from the movie "The Matrix" where the red pill is used to wake up the protagonist from the virtual world.

The red pill is a special case of the related "trusted computing" and the attestation concept (Zaidenberg et al. 2015d), In Trusted computing attestation a remote 3rd party or even local software tries to ensure the integrity of the local machine in terms of software (mainly) and hardware (sometimes).

Contents

📚 Literature

Documentation

Back to top

Scientific Research

The following papers are sorted by publication date (newest first):

Back to top

Media

Back to top

🔧 Tools

Tools are divided into their respective categories (by default, all tools are in user-mode):

Icon Description
🐧 Linux
🪟 Windows
🍏 macOS
💽 raw / no OS / UEFI
🚀 kernel-mode

Start of the list:

  • 🐧🪟🍏 | VMAware : Easy-to-use cross-platform C++ VM detection library and tool
  • 🐧 | Hypervisor-Phantom : Advanced malware analysis tool for evading detection from advanced malware.
  • 🪟 | Pafish : testing tool that uses different techniques to detect virtual machines and malware analysis environments in the same way that malware families do.
  • 🪟 | VMDE : Virtual Machines Detection Enhanced, source from VMDE paper, adapted to 2015.
  • 🪟 | Hypervision-Detection : Detects virtual machines and malware analysis environments
  • 🪟 | Al-khaser : al-khaser is a PoC "malware" application with good intentions that aims to stress your anti-malware system. It performs a bunch of common malware tricks with the goal of seeing if you stay under the radar.
  • 💽🪟 | illusion-rs : Rusty Hypervisor - Windows UEFI Blue Pill Type-1 Hypervisor in Rust (Codename: Illusion)
  • 🚀🪟 | hyperdetect.cc: C++ code snippet that checks for a “lazy” hypervisor running in kernel-mode
  • 🪟 | antivmdetection : Script to create templates to use with VirtualBox to make vm detection harder
  • 🪟 | InviZzzible : InviZzzible is a tool for assessment of your virtual environments in an easy and reliable way. It contains the most recent and up to date detection and evasion techniques as well as fixes for them.
  • 🪟 | Anti-VM : C++ Windows-based implementation of several anti-vm techniques used in malware development.
  • 🐧 | apate : Apate performs anti-debugging, anti-VM and anti-sandbox tests, to see if your linux system is able to stay under the radar.
  • 🐧 | inside-vm : Detect if code is running inside a virtual machine (x86 and x86-64 only).
  • 🪟 | EPT Hook Detection
  • 🪟 | PyDefender : Anti Virtulization, Anti Debugging, AntiVM, Anti Virtual Machine, Anti Debug, Anti Sandboxie, Anti Sandbox, VM Detect package for Python.
  • 🪟 | GoDefender : Anti Virtulization, Anti Debugging, AntiVM, Anti Virtual Machine, Anti Debug, Anti Sandboxie, Anti Sandbox, VM Detect package for Go. Windows ONLY.
  • 🐧🪟 | Metasploit : Open-source penetration testing framework that includes virtual machine detection modules
  • 🐧 | systemd-detect-virt (man page) : systemd-detect-virt detects execution in a virtualized environment. It identifies the virtualization technology and can distinguish full machine virtualization from container virtualization. systemd-detect-virt exits with a return value of 0 (success) if a virtualization technology is detected, and non-zero (error) otherwise.

Back to top

🧩 Techniques

Coming soon

Back to top

Contributing

Contributions are welcome! Please read the contribution guidelines first.

About

A curated list of awesome resources related to anti virtualization techniques

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks