Autoruns plugin for the Volatility framework
Switch branches/tags
Nothing to show
Clone or download
tomchop Merge pull request #19 from jayaramcs/master
Added in support for Volatility Unified JSON format.
Latest commit 828a07e Mar 17, 2018
Failed to load latest commit information.
.gitignore Initial commit Sep 27, 2014
LICENSE Initial commit Sep 27, 2014 Update Mar 1, 2018 add Dec 10, 2014 Adding support for Unified output format JSON type Mar 1, 2018

Volatility autoruns plugin

Finding persistence points (also called "Auto-Start Extensibility Points", or ASEPs) is a recurring task of any investigation potentially involving malware.

To make an analyst's life a bit easier, I came up with the autoruns plugin. autoruns basically automates most of the tasks you would need to run when trying to find out where malware is persisting from. Once all the autostart locations are found, they are matched with running processes in memory.


The plugin is pretty straightforward to use. The folder where the plugin is located should be passed on to Volatility using the --plugins= parameter.

Relevant options for the plugin are:

  • -v or --verbose - Shows extra information that would normally be filtered (like Services from the System32 folder)
  • -t or --asep-type=[autoruns|services|appinit|winlogon|tasks|activesetup] - Use it to focus on specific ASEPS. Options are: autoruns (Run, RunOnce, etc.), services, appinit, winlogon, tasks, and activesetup. You can specify any combination of them with a comma-separated list: autoruns,services. Leave blank to get all ASEPs.
  • --output=[text|table|json] - table will output the text in a table format (less readable but somehow more consice). The default output mode is text, where more information is avialable. json option produces the unified json output format.


  • Extra ASEPs: Scheduled tasks (done!), Startup folders
  • OS X / Linux support
  • Performance optimizations

ASEPs list

Software hive

  • Microsoft\Windows\CurrentVersion\Run,
  • Microsoft\Windows\CurrentVersion\RunOnce,
  • Microsoft\Windows\CurrentVersion\RunServices,
  • Microsoft\Windows\CurrentVersion\Policies\Explorer\Run,
  • Wow6432Node\Microsoft\Windows\CurrentVersion\Run,
  • Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce,
  • Wow6432Node\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run,
  • Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run,
  • Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunOnce


  • Software\Microsoft\Windows\CurrentVersion\Run,
  • Software\Microsoft\Windows\CurrentVersion\RunOnce,
  • Software\Microsoft\Windows\CurrentVersion\RunServices,
  • Software\Microsoft\Windows\CurrentVersion\RunServicesOnce,
  • Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run,
  • Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run,
  • Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunOnce,
  • Software\Microsoft\Windows NT\CurrentVersion\Run,
  • Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run,
  • Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

Winlogon & AppInit

  • Microsoft\Windows NT\CurrentVersion\Winlogon (value AppInit_DLLs)
  • Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
  • Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
  • Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
  • Microsoft\Windows NT\CurrentVersion\Winlogon\VmApplet
  • Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
  • Microsoft\Windows NT\CurrentVersion\Winlogon\TaskMan
  • Microsoft\Windows NT\CurrentVersion\Winlogon\System


  • CurrentControlSet\Services

Scheduled Tasks

  • C:\Windows\System32\Tasks\ (Windows Vista and onwards only)

Active Setup

  • Microsoft\Active Setup\Installed Components

Microsoft Fix-it

  • Microsoft\Windows NT\CurrentVersion\AppCompatFlags\InstalledSDB