Read only mirror: a set of scripts for spoofing verified and enrolled on a developer-mode chromebook

CoolElectronics 9ce530e04c update mush 2 tahun lalu
logkeys @ 98aac72b91 feda7133d4 various fixes, prepare for keylogger 2 tahun lalu
.gitignore 288e28de18 unfuck stateful 2 tahun lalu
.gitmodules feda7133d4 various fixes, prepare for keylogger 2 tahun lalu
LICENSE.md 4015051e3f update readme 2 tahun lalu
Makefile 5121a4cead make shflags happy 2 tahun lalu
README.md 5121a4cead make shflags happy 2 tahun lalu
backdoor b18f2e0a8d starting point for mush, updated backdoor 2 tahun lalu
backdoor.c b18f2e0a8d starting point for mush, updated backdoor 2 tahun lalu
chromeos_startup.sh e62619b84c revert confirmed working 2 tahun lalu
crossystem.sh 3be920e7b8 working poc 2 tahun lalu
fakemurk-daemon.sh 2eddb72d07 odd bug causing system not to boot fixe 2 tahun lalu
fakemurk.sh.pre 9ce530e04c update mush 2 tahun lalu
header.sh 9ce530e04c update mush 2 tahun lalu
keymap.map feda7133d4 various fixes, prepare for keylogger 2 tahun lalu
logkeys.elf 5121a4cead make shflags happy 2 tahun lalu
mush.sh 9ce530e04c update mush 2 tahun lalu
mwtrollinggoogleforfakemurk_VPD 8c656d559a me when i share stable device secret DO NOT SHARE 2 tahun lalu
patchpolicy 0dbfc3adca compat for sshd 2 tahun lalu
pollen.json 4b940d946a fixed everything i broke, but revert not working either 2 tahun lalu
pre-startup.conf 288e28de18 unfuck stateful 2 tahun lalu
vpd.sh d2d344d51c add vpd.sh 2 tahun lalu
vpd_get_value.sh a767002549 add vpd_get_value.sh (right after) 2 tahun lalu

README.md

fakemurk

What is this?

murk - "mûrk": noun
    1. To re-enroll a previously shimmered chromebook.

The Skid Dictionary of the English Language, 7th Edition.

fakemurk is a tool intended for use on an already unenrolled chromebook. It will allow you to re-enroll, making your chromebook appear identical to an enrolled one, except keep developer mode, and even boot off a linux USB, all while tricking chromeOS into thinking you're in verified mode, so your chromebook will not show up any different from the hundreds of other chromebooks in your enterprise's google admin console.

If you're interested, check out coolelectronics's blog post on this

Why should I use this?

We're going to assume that if you're reading this, there's a 99% chance you're either a student, (or hey maybe even a sysadmin for a school), and you've probably recently used sh1mmer on your chromebook.

Now, we're also going to go out on a limb here and say that if you're a student, there's a good chance your local sysadmin does not want you to be unenrolling, and if you have a more nosy one, they're gonna try and find people unenrolling. There's also a good chance you didn't properly cover your tracks, and certain logs in the google admin console can reveal you. Your school might also require the use of kiosk apps for tests, and you might not know how to spoof them. You also might not know your school's wifi password, but still want to be free of restrictions and spying at home

The list goes on.

How do I use this??

First, you want to already have an unenrolled chromebook in devmode. You also might want to prepare a USB with the linux distro of your choice (or maybe chromeos flex). link to catakangs video

Next, head over to chrome-untrusted://crosh, type shell and then run the bash script as root.

Do everything it tells you to, and after the final powerwash, you will automatically re-enroll. Thats it!

How it works

All crossystem libraries in CrOS depend on crossystem.sh, so we simply replace it with our own version that says all the firmware values are normal, when in reality they're set to fucky devmode shit behind the scenes. This allows "verified" boot with developer mode, in a limbo state where the firmware thinks we're in developer mode but our copy of crossystem.sh lies to CrOS and it thinks we're in verified mode, allowing for normal enrollment.

This limbo state, however, comes with strings attached. As the OS thinks we're in verified mode, typing shell into crosh, and escalating to root with sudo does not work. Luckily, since the firmware is in developer mode, we can disable verity and drop a backdoored sshd config, as well as replace crosh with our own file. This is where mush comes into play.

mush is a drop-in replacement for crosh, offering various utilites such as a shell and more. mush is what really ties fakemurk together, making it more than just developer mode on verified boot. With mush, you have full OS control without leaving CrOS. This effectively means you are in a pseudo developer mode, where as far as the OS is concerned everything is normal, but you have full behind-the-scenes shell access.