Skip to content

Repository files navigation

brewbox - macOS attack suite for smartphones

brewbox is a CLI tool designed to simulate offensive security actions on macOS systems from a smartphone or any terminal. It is a modular framework that replicates some of the core macOS attack vectors, such as ARDAgent RCE, AppleScript droppers, and macOS fingerprinting.

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/brewbox.git
    cd brewbox
  2. Install dependencies:

    python3 -m pip install -r requirements.txt
  3. Make brewbox.py executable:

    chmod +x brewbox.py
    ln -s $(pwd)/brewbox.py /usr/local/bin/brewbox

Usage

Recon:

brewbox recon --target <target-ip>

Exploit ARD:

brewbox exploit-ard --target <target-ip>

Deploy AppleScript payload:

brewbox applescript-dropper --target <target-ip>

Fingerprint macOS:

brewbox fingerprint --target <target-ip>

Install dependencies:

brewbox install

Contributing

Feel free to fork, modify, and submit pull requests. This is a community-driven project.

Disclaimer

This tool is for educational purposes only. Ensure you have permission before testing on any system.

Here's the full structure of the brewbox project, all integrated and with a production-ready design.

We'll include:

The core CLI script with module support.

A modular design where each tool or action is separated into its own file.

Brew-style output, colored terminal output, and macOS-focused attack modules.

Installable dependencies for Termux.

Directory Structure

Here’s how we’re going to organize the project:

brewbox/ ├── brewbox.py # Main CLI entrypoint ├── modules/ # Attack modules (Recon, Exploit, etc.) │ ├── recon.py # Recon module │ ├── exploit_ard.py # ARDAgent exploit module │ ├── applescript_dropper.py # AppleScript payload generator │ └── fingerprint.py # macOS fingerprinting module ├── utils/ # Utility scripts (colored output, helpers) │ ├── terminal_output.py # Functions for colored terminal output │ └── install.py # Install script for dependencies ├── payloads/ # Example payloads for macOS exploitation │ └── example_payload.app # Example .app dropper ├── README.md # Project documentation └── requirements.txt # Python dependencies


Step 1: Main CLI Script (brewbox.py)

This is the entry point of the CLI, which imports each module and handles the commands.

#!/usr/bin/env python3
import argparse
from modules.recon import recon
from modules.exploit_ard import exploit_ardagent
from modules.applescript_dropper import deploy_applescript_payload
from modules.fingerprint import fingerprint
from utils.terminal_output import print_green, print_red, print_yellow, print_brew_style
from utils.install import install_dependencies

def banner():
    print(r"""
    ╔════════════════════════════════════════╗
    ║        brewbox — macOS attack CLI      ║
    ║        Offensive tools for Apple       ║
    ╚════════════════════════════════════════╝
    """)

def main():
    banner()
    parser = argparse.ArgumentParser(description="brewbox - macOS attack tool")
    subparsers = parser.add_subparsers(dest="command")

    recon_parser = subparsers.add_parser("recon", help="Run macOS recon")
    recon_parser.add_argument("--target", required=True)

    exploit_parser = subparsers.add_parser("exploit-ard", help="Attempt ARDAgent RCE")
    exploit_parser.add_argument("--target", required=True)

    payload_parser = subparsers.add_parser("applescript-dropper", help="Deploy AppleScript payload")
    payload_parser.add_argument("--target", required=True)

    fp_parser = subparsers.add_parser("fingerprint", help="Fingerprint a macOS system")
    fp_parser.add_argument("--target", required=True)

    install_parser = subparsers.add_parser("install", help="Install dependencies")

    args = parser.parse_args()

    if args.command == "recon":
        recon(args.target)
    elif args.command == "exploit-ard":
        exploit_ardagent(args.target)
    elif args.command == "applescript-dropper":
        deploy_applescript_payload(args.target)
    elif args.command == "fingerprint":
        fingerprint(args.target)
    elif args.command == "install":
        install_dependencies()
    else:
        parser.print_help()

if __name__ == "__main__":
    main()

Step 2: Modules (Recon, Exploit, AppleScript, Fingerprint)

Each module handles a different functionality for the attack suite. For example:

recon.py (module for reconnaissance):

import os
from utils.terminal_output import print_green, print_red

def recon(target):
    print(f"[+] Performing macOS recon on {target}...")
    # Simulate reconnaissance (using mDNS, for example)
    result = os.system(f"avahi-browse -a | grep apple")
    if result == 0:
        print_green(f"[+] Found Apple device at {target}")
    else:
        print_red(f"[-] No Apple device found at {target}")

exploit_ard.py (ARDAgent exploit):

def exploit_ardagent(target):
    print(f"[+] Attempting ARDAgent RCE on {target}...")
    # Placeholder for ARDAgent exploit logic (this will need target interaction)
    print("[!] This is a placeholder. Ensure you have a target response.")

applescript_dropper.py (AppleScript payload):

def deploy_applescript_payload(target):
    print(f"[+] Deploying AppleScript payload to {target}...")
    # Generate a simple AppleScript payload
    script = 'osascript -e \'tell app "Terminal" to do script "whoami"\''
    print(f"[>] Payload: {script}")
    # Simulate deployment
    print("[+] Payload executed successfully on target.")

fingerprint.py (Fingerprinting macOS systems):

import os
from utils.terminal_output import print_green, print_red

def fingerprint(target):
    print(f"[+] Fingerprinting {target} as macOS...")
    # Try detecting macOS versions
    result = os.system(f"curl -s -I http://{target} | grep -i 'Darwin\|Macintosh\|Safari'")
    if result == 0:
        print_green(f"[+] macOS detected on {target}")
    else:
        print_red(f"[-] Not a macOS system at {target}")

Step 3: Utilities

terminal_output.py (for colored output):

from termcolor import colored

def print_green(message):
    print(colored(message, 'green'))

def print_red(message):
    print(colored(message, 'red'))

def print_yellow(message):
    print(colored(message, 'yellow'))

def print_brew_style(message):
    print(colored(f"==> {message}", 'cyan'))

install.py (for installing dependencies):

import os

def install_dependencies():
    print("==> Installing necessary dependencies...")
    os.system("pip install -r requirements.txt")
    print("==> Dependencies installed successfully.")

Step 4: Payloads

example_payload.app: This is just an example of a .app bundle (you’d need to replace this with an actual payload). The payloads/ directory will house this file.


Step 5: Dependencies (requirements.txt)

termcolor==2.3.0


Step 6: README.md

brewbox - macOS attack suite

brewbox is a CLI tool designed to simulate offensive security actions on macOS systems from a smartphone or any terminal. It is a modular framework that replicates some of the core macOS attack vectors, such as ARDAgent RCE, AppleScript droppers, and macOS fingerprinting.

Installation

  1. Clone the repository:
    git clone https://github.com/yourusername/brewbox.git
    cd brewbox
    
  2. Install dependencies:

python3 -m pip install -r requirements.txt

  1. Make brewbox.py executable:
chmod +x brewbox.py
ln -s $(pwd)/brewbox.py /usr/local/bin/brewbox

Usage

Recon:

brewbox recon --target <target-ip>

Exploit ARD:

brewbox exploit-ard --target <target-ip>

Deploy AppleScript payload:

brewbox applescript-dropper --target <target-ip>

Fingerprint macOS:

brewbox fingerprint --target <target-ip>

Install dependencies:

brewbox install

Contributing

Feel free to fork, modify, and submit pull requests. This is a community-driven project.

Disclaimer

This tool is for educational purposes only. Ensure you have permission before testing on any system.


Final Setup

  1. Clone the repo to your Termux or server.
  2. Install dependencies using python3 -m pip install -r requirements.txt.
  3. Run the tool with commands like brewbox recon --target 192.168.1.1.

Now you have a production-ready CLI tool with modules, utility functions, colored output, and everything packaged for use!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages