Skip to content

Instantly share code, notes, and snippets.

@quonic
Created February 6, 2022 09:23
Show Gist options
  • Save quonic/fab50d7e0979ab21675150a15957cb66 to your computer and use it in GitHub Desktop.
Save quonic/fab50d7e0979ab21675150a15957cb66 to your computer and use it in GitHub Desktop.
Rooting BGW210-700. Reformatting of https://github.com/dbf08/Rooting-BGW210-700/blob/master/README.md to Github's Markdown format

Rooting-BGW210-700

Rooting BGW210-700 update

Barring any network exploit being published and/or subsequently patched, here's a guide to physically root and extract certs from the demon spawn aka BGW210 without desoldering any flash chips and ruining the unit:

Needed equipment:

  • v1.5.12 or earlier RG firmware bin file
  • USB to TTL serial converter
  • Small screwdrivers (Phillips and flat head)
  • Razor blade (optional)
  • Soldering iron & decent soldering skills
  • USB extension cord (optional, but highly recommended)
  • FAT32 formatted USB thumbdrive
  • PuTTY
  • mfg_dat_decode utility from devicelocksmith.com
  • Flashing:
  • Downgrade RG to v1.5.12 (or earlier) firmware using RG web console. I used this file:
  • gateway.c01.sbcglobal.net/firmware/001E46/BGW210-700_1.6.9/spTurquoise210-700_1.6.9.bin

Disassembly & Setup:

  • Crack open the RG. It has three screws, two are under rubber feet, the last is under the yellow label. A razor blade will make quick work of it.
  • Pop off the front clear plastic covering the status lights.
  • Use a flat head screwdriver to GENTLY push in the plastic tabs holding it together.
  • Gently pull out the board. No need to disconnect the wifi antennas.
  • Locate four headerless pins labeled "BCM". One of them is square shaped.
  • Starting from the square pad, they are: Ground, VCC (3V), TX, and RX.
  • Soldered your TTL to the BCM pins, plug in the USB TTL. Red LED should light up faintly on front panel of RG.
  • Plug in your thumbdrive to a USB port on the back of RG.
  • Unplug USB TTL.
  • Open PuTTY, set to Serial connection, then find the COM port # in Device Manager.
  • Don't hit connect just yet.
  • Copy the following string to your clipboard: ^e

Rooting:

  • Boot up the RG.
  • Red light will be brightly lit.
  • Plug in USB TTL for the device.
  • Hit Open in PuTTY.

You should see a stream of messages hit your console. As soon as you see something like the following, right click to paste ^e into the console.

scsi 1:0:0:0: Direct-Access     General  UDisk            5.00 PQ: 0 ANSI: 2
sd 1:0:0:0: [sda] 15728640 512-byte logical blocks: (8.05 GB/7.50 GiB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Mode Sense: 0b 00 00 08
sd 1:0:0:0: [sda] No Caching mode page present
sd 1:0:0:0: [sda] Assuming drive cache: write through
sd 1:0:0:0: [sda] No Caching mode page present
sd 1:0:0:0: [sda] Assuming drive cache: write through
 sda:
sd 1:0:0:0: [sda] No Caching mode page present
sd 1:0:0:0: [sda] Assuming drive cache: write through
sd 1:0:0:0: [sda] Attached SCSI removable disk

Note: If you don't wait long enough, USB won't be initialized. If you wait for the RG to fully boot, you can't get root cshell.

If it worked, you should see:

SysRq: intr handled on CPU 1
SysRq : Terminate All Tasks

Please press Enter to activate this console.
starting pid 987, tty '': '-/bin/cshell'

The SDB isn't running, so here's a regular shell.

Got Root?

You've got root. Yay!

Now comes the fun part.

mkdir /tmp/sda
mount /dev/sda /tmp/sda/
mount mtd:mfg -t jffs2 /mfg
cp /mfg/mfg.dat /tmp/sda/
cp /etc/rootcert/*.der /tmp/sda
ls /tmp/sda

Look for output similar to:

arris-si-rootca.der         frontierroot.der
arris-si-subca.der          mfg.dat
attroot2031.der             motroot.der
attsubca2021.der            motsubca.der

If you've got the files, then unmount your thumbdrive. umount /tmp/sda/

Unplug power from the RG, disconnect/desolder the the USB TTL. Throw RG in the garbage. Just kidding. You'll probably want to return it to AT&T eventually.

mfg_dat_decode is marvelous magic Copy all files off your thumbdrive to mfg_dat_decode\WIN32 folder from devicelocksmith.com Run the tool, it'll read your certs and mfg.dat, then spit out a tarball (EAP-TLS_8021x_serial-number.tar.gz) to use with wpa_supplicant.

Pat yourself on the back, you're awesome.

Credits /u/jhax01 for the overview in /r/homelab

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment