Skip to content

KnockKnock

Enumerates every mechanism something can use to start itself, and checks each against VirusTotal.

Homebrew cask Direct download

What it does

Malware on macOS has to persist somehow, and there are a limited number of places to do it. KnockKnock, from Objective-See, enumerates them all: launch agents and daemons, login items, kernel and system extensions, browser extensions, cron jobs, dylib insertions, authorization plugins, Spotlight importers, QuickLook plugins and more.

Each item is shown with its signing status and can be checked against VirusTotal, so the output separates “signed by Apple”, “signed by a developer you installed” and “unsigned binary in a temp directory”.

Notes

  • Free and open source. Objective-See’s other tools — BlockBlock, LuLu, Oversight — cover the monitoring side of the same question.
  • It reports, it does not remove. Removal is a separate, deliberate step.
  • Expect a long list on a machine with this much installed. Most of it is legitimate; the value is that anything unexpected stands out.

Alternative to

AlternativeTypeTrade-off
BlockBlockOpen sourceThe same developer’s real-time version: it alerts as something installs persistence
LuLuOpen sourceAlso Objective-See, an outbound firewall rather than a persistence auditor
launchctl list and launchctl print-disabledBuilt inPart of the same picture, built in
Malwarebytes or CleanMyMac’s malware moduleFreemium / PaidSignature-based scanning rather than enumeration

Install

brew install --cask knockknock

Links

This post is licensed under CC BY 4.0 by the author.
Last updated on