Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2021-4045 — Exploit de injeção de comando para a câmera TP-Link Tapo C200 (CVE-2021-4045) fornecendo acesso ao shell root via UART e análise do binário uhttpd com engenharia reversa. | Kitploit
Ferramentas/GitHubGitHub/kaleth4/cve-2021-4045
Segurança de Sistemas EmbarcadosSegurança IoTAnálise de VulnerabilidadesExploraçãoEngenharia ReversaHacking de HardwareTestes de PenetraçãoComando e ControleAnálise de Firmware
GitHubkaleth4/cve-2021-4045

CVE-2021-4045

Exploit de injeção de comando para a câmera TP-Link Tapo C200 (CVE-2021-4045) fornecendo acesso ao shell root via UART e análise do binário uhttpd com engenharia reversa.

28há 4 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

🔍 CVE-2021-4045: Vulnerabilidade de Injeção de Comandos no TP-Link Tapo C200

image

CVE-2021-4045


📌 Resumo

CVE-2021-4045 é uma vulnerabilidade de injeção de comandos descoberta na câmera TP-Link Tapo C200, que permite que um atacante assuma o controle total do dispositivo com privilégios de root. Esta vulnerabilidade afeta todas as versões de firmware anteriores à 1.1.16 Build 211209 Rel. 37726N.

🔗 Aviso oficial do INCIBE: https://www.incibe.es/incibe-cert/alerta-temprana/vulnerabilidades/cve-2021-4045 (Substituir pelo link real)

🔧 Solução recomendada: Atualizar o firmware para a versão 1.1.16 ou superior.



🛠 Reconhecimento Inicial

Configuração e características do dispositivo

  • Câmera IP econômica (~30€) com funções avançadas:
    • Gravação em cartão SD.
    • Rotação horizontal de 360° e vertical de 90°.
    • Reprodução de áudio em tempo real a partir do aplicativo móvel.

Escaneamento de portas```bash

$ nmap -sV -p- 192.168.1.81

**Resultado**:```
PORT     STATE SERVICE
443/tcp  open  https
554/tcp  open  rtsp
2020/tcp open  xinupageserver
8800/tcp open  sunwebadmin
image Como podem ver, o dispositivo tem algumas portas abertas interessantes. A primeira coisa que testei foi a porta 443. Embora o nmap indique claramente que usa https, quando fiz a varredura inicial, passei por cima disso e perdi bastante tempo pensando que a porta 443 estava usando http. Por causa disso, só testei http://192.168.1.81:443 em vez de https://192.168.1.81:443, então só obtive respostas 400. Como disse na introdução, esse processo foi cheio de falhas. Quanto às outras portas, os serviços que rodavam nelas eram totalmente desconhecidos para mim e não encontrei nenhuma informação clara a respeito. Naquele momento, fiquei sem opções conhecidas, então era hora de pesquisar mais a fundo.

----[ Obter uma shell ]-------------------------------

Antes de comprar a câmera, pesquisei na internet investigações anteriores sobre o dispositivo e, por sorte, encontrei este repositório no GitHub onde as pessoas colaboravam para fazer engenharia reversa. Um dos problemas explicava como obter acesso ao console através da porta UART, algo que eu desconhecia completamente na época. Então aprendi o básico e comprei um conversor USB para TTL para me conectar. image Com a ajuda do problema mencionado, consegui abrir o dispositivo com uma faca e uma chave de fenda e localizar rapidamente o UART. Depois de algumas tentativas e muita paciência, finalmente consegui soldar alguns fios nas almofadas.

image

Depois, chegou a hora de verificar se a solda era boa o suficiente para a transmissão de dados. Conectei os fios ao adaptador USB, lembrando que Rx do UART vai para Tx do adaptador e vice-versa, e conectei o adaptador ao meu computador. Novamente, graças ao problema mencionado, eu sabia que a velocidade de transmissão para a conexão serial era 57600, então executei:

$ sudo screen /dev/tty.usbserial-0001 57600

Onde '/dev/tty.usbserial-0001' é a porta USB à qual o adaptador está conectado e que alimenta o dispositivo. Imediatamente comecei a receber dados, ótimo.

No entanto, ainda não tinha acesso ao console. O que eu recebia era simplesmente a sequência de inicialização do dispositivo, que na verdade era o bootloader U-Boot. Tinha uma aparência semelhante a esta:

U-Boot 2014.01-v1.2 (Jul 16 2021 - 18:41:10)

Board: IPCAM RTS3903 CPU: 500M :rx5281 prid=0xdc02 force spi nor mode DRAM: 64 MiB @ 1066 MHz Skipping flash_init Flash: 0 Bytes flash status is 0, 0, 0 SF: Detected XM25QH64A with page size 256 Bytes, erase size 64 KiB, total 8 MiB Using default environment

Autobooting in 1 seconds copying flash to 0x81500000 flash status is 0, 0, 0 SF: Detected XM25QH64A with page size 256 Bytes, erase size 64 KiB, total 8 MiB SF: 8388608 bytes @ 0x0 Read: OK

[...]

Ao pressionar Enter, é solicitado que insiramos um nome de usuário e uma senha. Graças a esse problema do GitHub, conhecemos as credenciais, então podemos fazer login corretamente com o usuário 'root' e a senha 'slprealtek' e, finalmente, obter acesso ao console.

Assim que verifiquei que a conexão funcionava, precisei reforçar a solda, pois ela havia quebrado duas vezes durante o processo de montagem da carcaça. Apliquei silicone termofusível para segurar todos os fios e fechei o dispositivo, desconectando todos os motores. Agora, minha unidade de teste estava pronta.

image

----[ Explorando o dispositivo ]--------------------------

Agora que temos uma carcaça, vamos explorar o dispositivo:

root@SLP:~# uname -a Linux SLP 3.10.27 #1 PREEMPT Wed Nov 11 20:42:05 CST 2020 rlx GNU/Linux

root@SLP:~# cat /etc/openwrt_version 12.09-rc1

Como podemos ver, trata-se de uma máquina OpenWRT rodando Linux 3.10.27. Agora vamos verificar os processos ativos e as portas abertas:

Baixar ferramenta