Skip to content

Malware Persistence

Awesome Malware Persistence Awesome

A curated list of awesome malware persistence tools and resources.

Malware persistence consists of techniques that adversaries use to keep access to systems across restarts, changed credentials, and other interruptions that could cut off their access. Techniques used for persistence include any access, action, or configuration changes that let them maintain their foothold on systems, such as replacing or hijacking legitimate code or adding startup code.

Main article about malware persistence with more context and information.

Techniques

Persistence techniques and detection.

Generic

Linux

macOS

Windows

Cloud

Firmware

Persistence Removal

Tools and commands for persistence mechanisms removal. Beside the tools mentioned below, use standard OS commands to remove the persistence.

Generic

  • Awesome Incident Response - Use the tools and resources for security incident response, aimed to help security analysts and DFIR teams.

Windows

Detection Testing

Tools for testing detections. Use the techniques described in Persistence Techniques to create these files or add the configuration changes by hand to test your detections.

Generic

Linux

  • PANIX - A highly customizable Linux persistence tool. Perform various persistence techniques against Linux systems, among others Debian and RHEL.
  • Diamorphine - A loadable kernel module (LKM) rootkit for Linux Kernels (x86/x86_64 and ARM64).

macOS

  • PoisonApple - Perform various persistence techniques on macOS.

Windows

  • hasherezade persistence demos - Various (also non standard) persistence methods used by malware for testing own detection, among others COM hijacking demo is found in the repo.

Prevention

Tools for preventing malicious persistence.

macOS

  • BlockBlock - A tool which provides continual protection by monitoring persistence locations and protects them accordingly. Similar to KnockKnock but for blocking.

Collection

Tools for persistence collection.

Generic

  • Awesome Forensics - Use the tools from this list which includes awesome free (mostly open source) forensic analysis tools and resources. They help collecting the persistence mechanisms at scale, e.g. by using remote forensics tools.
  • osquery - Query persistence mechanisms on clients.
  • OSSEC - Use rules and logs from the HIDS to detection configuration changes.

Linux

There is no dedicated persistence collection tool for Linux I'm aware of. Use some of the tools from #General or standard OS commands for collection. Thanks for contributing links to Linux specific persistence collection tools.

  • Linux Security and Monitoring Scripts - Security and monitoring scripts you can use to monitor your Linux installation for security-related events or for an investigation. Among other finding systemd unit files used for malware persistence.

macOS

Windows

  • Autoruns - A powerful persistence collection tool on Windows is Autoruns. It collects different categories and persistence information from a live system and in limited ways from offline images. There is a UI and a command line program and the output format can be set to CSV which can then be imported into your log collection system of choice.
  • AutorunsToWinEventLog.ps1 - Instead of using CSV output and copy these file to the server, you can use the AutorunsToWinEventLog script to convert the Autoruns output to Windows event logs and rely on standard Windows event log forwarding.
  • PowerShell Autoruns - A PowerShell version of Autoruns.
  • PersistenceSniper - Powershell module to hunt for persistence implanted in Windows machines.
  • RegRipper - Extracts various persistence mechanisms from the registry files directly.
  • RECmd - Extract various persistence mechanisms, e.g. by using the config file UserClassesASEPs to extract user's CLSID information.
  • KAPE - The tool allows collecting various predefined artifactgs using targets and modules, see KapeFiles which include persistence mechanisms, among others there's a collection of LNK files, scheduled task files and scheduled task listing or a WMI repository auditing module.

Contributing

Contributions welcome! Read the contribution guidelines first.