{"id":28065978,"url":"https://github.com/rivassec/efi-bruteforce","last_synced_at":"2026-03-14T19:12:23.296Z","repository":{"id":287471950,"uuid":"21928443","full_name":"rivassec/efi-bruteforce","owner":"rivassec","description":" Automates EFI password input using Teensy-based USB HID brute-force","archived":false,"fork":false,"pushed_at":"2025-04-15T00:53:37.000Z","size":16,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-12T14:35:05.607Z","etag":null,"topics":["brute-force","devsecops","efi","firmware","forensics","hardware","hardwaresecurity","macbook","macbook-pro","security","teensy","usb-hid"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rivassec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-07-17T04:19:48.000Z","updated_at":"2025-04-22T08:47:48.000Z","dependencies_parsed_at":"2025-04-11T23:30:56.567Z","dependency_job_id":"cadcda65-05b7-4334-93cb-35c5dae189af","html_url":"https://github.com/rivassec/efi-bruteforce","commit_stats":null,"previous_names":["rivassec/efi-bruteforce"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rivassec/efi-bruteforce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivassec%2Fefi-bruteforce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivassec%2Fefi-bruteforce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivassec%2Fefi-bruteforce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivassec%2Fefi-bruteforce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rivassec","download_url":"https://codeload.github.com/rivassec/efi-bruteforce/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivassec%2Fefi-bruteforce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27784794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-17T02:00:08.291Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brute-force","devsecops","efi","firmware","forensics","hardware","hardwaresecurity","macbook","macbook-pro","security","teensy","usb-hid"],"created_at":"2025-05-12T14:35:05.145Z","updated_at":"2025-12-17T16:48:11.228Z","avatar_url":"https://github.com/rivassec.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧬 efi-bruteforce\n\nAutomated brute-force tool for EFI firmware passwords on legacy MacBook models.\nPowered by a Teensy microcontroller emulating USB keyboard input.\n\n---\n\n## ⚙️ Overview\n\nSome MacBook models (primarily pre-2018) allow unlimited EFI password attempts at boot time. This project uses a programmable HID device (Teensy) to simulate a human entering PIN guesses, automating the process in hardware.\n\n---\n\n## 🔩 Requirements\n\n- 🧠 **Basic hardware hacking familiarity**\n- 🧱 **Teensy 3.2** or compatible microcontroller (e.g., Teensy LC)\n- 🔌 **Micro USB cable**\n- 💻 Target MacBook with EFI password lock (pre-T2 chip, e.g., 2012–2017)\n- 🧰 [Teensyduino](https://www.pjrc.com/teensy/teensyduino.html) installed and configured\n\n---\n\n## 🚀 Setup\n\n1. Clone this repo:\n   ```bash\n   git clone https://github.com/rivassec/efi-bruteforce\n   cd efi-bruteforce\n   ```\n\n2. Open the `.ino` file in the Arduino IDE with Teensyduino enabled.\n\n3. Flash the code to your Teensy 3.2.\n\n4. Plug the Teensy into the locked MacBook and power it on.\n\n5. The Teensy will begin simulating EFI password inputs using PIN-style sequences.\n\n\u003e 🕒 Brute-force speed and feasibility vary by device and firmware version.\n\n---\n\n## 📁 Repo Structure\n\n```\nefi-bruteforce/\n├── efi_bruteforce.ino       # Main Arduino/Teensy script\n├── README.md\n└── docs/\n    └── wiring_diagram.png   # [Optional] Add your own visual guides here\n```\n\n---\n\n## ⚠️ Legal \u0026 Ethical Notice\n\nThis tool is intended for:\n- Security research\n- Digital forensics\n- Personal device recovery\n\n**Unauthorized use is a violation of law.**  \nOnly deploy against hardware you own or are explicitly authorized to access.\n\n---\n\n## 🧭 DevSecOps Perspective\n\nWhile not a traditional software security project, this repo demonstrates:\n\n- Hardware-based attack automation\n- Brute-force detection testing methodology\n- Cross-domain awareness (firmware, USB HID, and physical security)\n\nFor modern DevSecOps engineers, low-level tooling insight supports broader incident response and security architecture awareness.\n\n---\n\n## 🔄 Roadmap (Optional)\n\n- [ ] Add delay tuning to bypass boot timers\n- [ ] Modularize input sequence logic\n- [ ] Include rotary encoder / display feedback\n- [ ] Document MacBook compatibility matrix\n\n---\n\n## 📜 License\n\nThis project is released under the [MIT License](LICENSE).\n\n---\n\n## 📸 Demo (Optional)\n\n\u003e Coming soon: a short clip of the Teensy cycling through PINs on a locked MacBook Air.\n\n### 📚 Background\n\nThis project was inspired by a real-world recovery scenario involving a locked MacBook Pro. The original research detailed the motivation, hardware decisions, and methodology behind this automation.\n\nIt documents:\n- Why Teensy was chosen over Arduino\n- How firmware behavior influenced delay tuning\n- Ethical motivations for use on personally owned hardware\n\nThis script emerged from that exploratory work and was refined through open source contributions and testing.\n\n\n\n### 📰 Recognition\n\nThis project was featured on [Hackaday](https://hackaday.com/2013/02/26/mac-efi-pin-lock-brute-force-attack-unsuccessful/) in 2013 for its exploration of EFI PIN brute-force mechanics on locked Apple hardware. While the original goal was personal data recovery, the write-up sparked discussion in the hardware and security research community.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frivassec%2Fefi-bruteforce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frivassec%2Fefi-bruteforce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frivassec%2Fefi-bruteforce/lists"}