LOOBins grows to 76 macOS binaries and serves every binary page as Markdown

2 hours ago

LOOBins catalogs the built-in macOS binaries that attackers abuse, and the detections that catch them. Release 2.0.17 adds seven binaries, taking the catalog from 69 entries to 76. The site now serves every binary page as Markdown, and two weekly jobs keep its links and coverage current.

Ask about this presentation

Chapters

  1. 0:0069 to 76 binaries
  2. 0:22Seven new entries
  3. 0:45Rules for accounts and the firewall
  4. 1:06PlistBuddy and Script Editor
  5. 1:32kickstart and kmutil
  6. 1:51Markdown for agents
  7. 2:13The orchard palette
  8. 2:31Two Monday jobs
  9. 2:5576 binaries on loobins.io
Show transcript
  1. LOOBins catalogs the built-in macOS binaries that attackers abuse, and the detections that catch them. Release 2.0.17 adds seven binaries, taking the catalog from 69 entries to 76. The site now serves every binary page as Markdown, and two weekly jobs keep its links and coverage current.

    Slide text
    LOOBins 2.0.17
    CATALOG + WEBSITE RELEASE

    LOOBins grows to 76 macOS binaries and serves every binary page as Markdown

    69 →
    76
    entries in the catalog
  2. Here are the seven. dseditgroup edits Directory Services groups, dsenableroot switches on the root account, PlistBuddy edits property lists, socketfilterfw controls the firewall, kmutil manages kernel extensions, kickstart sets up Remote Desktop, and Script Editor runs AppleScript. And xattr, an existing entry, gains two use cases.

    Slide text
    LOOBins 2.0.17
    CATALOG

    Seven tools built into macOS join the catalog

    dseditgroup
    Edits Directory Services groups, including admin
    3 detection rules
    dsenableroot
    Turns the root account on or off
    2 detection rules
    PlistBuddy
    Reads and writes property list keys
    3 detection rules
    socketfilterfw
    Controls the Application Firewall
    3 detection rules
    kmutil
    Loads and manages kernel extensions
    0 detections
    kickstart
    Sets up Remote Management (Apple Remote Desktop)
    0 detections
    Script Editor
    Apple's AppleScript and JXA app
    2 behaviour signals
    xattr
    Existing entry
    +2
    use cases
  3. Five of the new entries list detections. dseditgroup has Sigma, Elastic and Jamf Protect rules for adding a user to the admin group. dsenableroot has Elastic and Sigma rules for enabling root. And socketfilterfw has Jamf Protect, Splunk and Sigma rules for firewall changes and firewall discovery.

    Slide text
    LOOBins 2.0.17
    DETECTIONS

    The admin, root and firewall entries arrive with rules you can load

    dseditgroup
    Adding a user to the admin group
    SIGMA
    User Added To Admin Group Via DseditGroup
    ELASTIC
    Potential Admin Group Account Addition
    JAMF PROTECT
    User Privilege Escalation by dseditgroup and Self Service
    dsenableroot
    Enabling the root account
    ELASTIC
    Attempt to Enable the Root Account
    SIGMA
    Root Account Enable Via Dsenableroot
    socketfilterfw
    Firewall changes and discovery
    JAMF PROTECT
    Application Firewall configuration changes
    SPLUNK
    MacOS List Firewall Rules
    SIGMA
    System Network Discovery - macOS
  4. PlistBuddy's rules watch launch agents. Sigma flags PlistBuddy runs aimed at a LaunchAgents path, and Elastic catches an agent that is written and loaded within 30 seconds. A second Sigma rule flags PlistBuddy started by Script Editor. Script Editor's own entry lists two behaviour signals: a launch from an applescript link followed by shell or network activity, and unexpected AppleScript afterwards.

    Slide text
    LOOBins 2.0.17
    DETECTIONS

    PlistBuddy lists three rules, and one of them watches Script Editor

    PlistBuddy
    Launch agents and launch daemons
    SIGMA
    Potential Persistence Via PlistBuddy
    ELASTIC
    Launch Service Creation and Immediate Loading
    SIGMA
    Suspicious Execution via macOS Script Editor
    Script Editor
    Two behaviour signals
    SIGNAL
    Launched from a browser-handled applescript URL, then shell or network activity
    SIGNAL
    Unexpected AppleScript or osascript activity after Script Editor runs
  5. Two entries arrive with empty detection lists. kickstart, which turns on Apple Remote Desktop, and kmutil, which loads kernel extensions, ship with no detections yet. Their pages still carry paths, use cases, tactics and references, which is enough to start writing the first rule.

    Slide text
    LOOBins 2.0.17
    DETECTIONS

    kickstart and kmutil ship with no detections yet

    kickstart
    Remote Management (Apple Remote Desktop) setup
    detections: []
    kmutil
    Kernel extension manager
    detections: []
    loobins.io/binaries/kickstart
  6. On the website, every binary page now has a Markdown version, linked from the HTML page. llms.txt indexes them, one line per binary. llms-full.txt holds the whole catalog in one document, for loading into a model in a single fetch. And sitemap.xml now answers at the path crawlers check by default.

    Slide text
    LOOBins 2.0.17
    WEBSITE

    Every binary page on loobins.io now has a Markdown version

    /binaries/<name>.md
    Markdown twin of each binary page
    /llms.txt
    Index with one line per binary
    /llms-full.txt
    The whole catalog as one document
    /sitemap.xml
    Sitemap index at the default path
    The llms.txt index on loobins.io
  7. The site has a new look too. It used to run neon cyan and pink on a purple-black ground. Now it uses an orchard palette from the original LOOBins site and logo: leaf green, apple red and pollen yellow on graphite, over dots set in staggered rows like an orchard.

    Slide text
    LOOBins 2.0.17
    WEBSITE

    The site trades neon cyan and pink for an orchard palette

    BEFORE
    neon
    #00e5ff
    neon-pink
    #ff2e88
    surface
    #07060f
    2.0.17
    leaf
    #3df58a
    apple
    #ff3b4e
    pollen
    #ffe000
    surface
    #0a0c10
  8. Two jobs now run every Monday. At 13:00 UTC, a link check tests every detection and resource URL, and keeps one broken-links issue open until they all resolve. An hour later, the coverage scan has Claude read two weeks of macOS threat research and propose up to five binaries or techniques the catalog lacks, each as a needs-triage issue for a maintainer.

    Slide text
    LOOBins 2.0.17
    AUTOMATION

    Every Monday, two jobs check the links and look for missing binaries

    MONDAYS · 13:00 UTC
    Link Check
    • Tests every detection and resource URL
    • Keeps one broken-links issue up to date
    • Closes it once every link resolves
    MONDAYS · 14:00 UTC
    Coverage Scan
    • Claude reads the last 14 days of macOS threat research
    • Proposes up to 5 binaries or techniques the catalog lacks
    • Each one opens a needs-triage issue for a maintainer
  9. Nothing in this release removes or renames an entry. It adds seven entries, two xattr use cases and new site pages. The gap to watch is kickstart and kmutil, the two red dots, which have no detections yet. It is all on loobins.io, with PyLOOBins 2.0.17 on PyPI. LOOBins grows to 76 macOS binaries, and every binary page now reads as Markdown.

    Slide text
    LOOBins 2.0.17
    CATALOG + WEBSITE RELEASE

    Two of the seven new binaries still need detections

    69 existing entries 5 new, with detections kickstart and kmutil, none yet
    loobins.io
    76 binaries, each with a Markdown page
    PyLOOBins 2.0.17
    Published to PyPI

What happened in AI today, in your inbox

One short email each evening. Read it and you’re caught up.

Built in New York with ❤️