Also available in English: What a free IPTV app does to your home network.
Uma pessoa próxima de mim reclamou de uma coisa que parecia bobagem: a TV box estava lenta. Não sempre, só de vez em quando. E a internet ficava lenta junto, para todo mundo da casa.
Essa última parte é o que me chamou atenção. Box lenta é box lenta, é o que dá para esperar de um aparelho de R$150. Mas uma box que deixa a casa toda lenta está fazendo alguma coisa na rede, e um quad-core de 2018 com 1 GB de RAM não deveria ter força nem para incomodar o roteador.
Tinha mais um detalhe, e esse detalhe era a história inteira: só acontecia quando um app específico estava aberto. YouTube, normal. Netflix, normal. A tela inicial, normal. Abria o app dos “canais grátis” e em alguns minutos tudo na casa piorava.
Aí eu entrei com adb, a mesma ferramenta que eu usaria em qualquer Android, e passei uma tarde nisso. O que eu encontrei foi uma botnet rodando como root, instalada por aquele app, que estava na rede da casa dela havia 73 dias.
Esse post é a versão em português claro: o que esse tipo de app faz de verdade, por que ele atrapalha a rede inteira e não só a box, e como você pode checar a sua sem ser da área de segurança. Se você quer a análise técnica completa, com comandos, timestamps e as brigas com o SELinux, está na parte dois.
O sintoma fazia sentido depois que eu soube o que procurar Link to heading
A box é uma MX9: Rockchip RK3229, Android 7.1.2 compilado em 2018, vendida como “2 GB de RAM”. Ela tem 995 MB de verdade, mas essa é outra reclamação.
Quando eu conectei, a box não estava fazendo nada. Nada tocando, nada na tela. Load average: 5,2.
Load average é mais ou menos “quantas coisas estão na fila esperando”. Num aparelho de quatro núcleos, 5,2 parado é o tipo de número que você vê em servidor em dia ruim. Parte disso era falsa, uma manha dos drivers de armazenamento e Wi-Fi baratos. Mas na lista de processos tinham duas coisas rodando como root que não tinham motivo nenhum para estar ali, e uma delas tinha conexão ativa com um servidor do outro lado do mundo, na porta 9999, esperando.
Aquilo é um servidor de comando e controle. A box estava numa botnet.
Dezessete segundos Link to heading
A coisa boa de um sistema de arquivos é que ele anota a hora em que as coisas aconteceram. Eu alinhei o timestamp de cada arquivo envolvido, e a instalação está ali, no segundo:
A instalação inteira, da pasta do próprio app para a partição protegida do sistema. 2026-08-23, horários em GMT-3.
Dezessete segundos, em agosto. Ninguém encostou no controle. O app estava aberto, e esse era o único requisito.
Três coisas tornaram isso possível, e todas as três já estavam ali antes de qualquer app ser instalado:
A box veio de fábrica com root, e sem nada pedindo permissão. No Android, “root” é controle total do aparelho. Normalmente conseguir root dá trabalho, e quando um app pede você vê um aviso na tela. Esse firmware veio com root já habilitado e sem nenhum app gerenciador para te avisar. Qualquer app que pedisse, recebia. Em silêncio. Sem diálogo, sem log, sem nada na tela.
A box veio com acesso remoto escancarado. A configuração que faz o Android perguntar “permitir depuração desse computador?” estava desligada de fábrica. Qualquer pessoa no mesmo Wi-Fi poderia assumir o controle total dela, sem senha, sem aprovação. É exatamente isso que os scanners automáticos da internet ficam caçando.
A box veio com a proteção do próprio Android desligada. O Android tem uma cadeia interna que limita o que cada app pode encostar, mesmo com root. Nesse firmware ela estava em “olhar e reclamar” em vez de “bloquear”. Depois eu descobri por que o fabricante provavelmente fez isso, e a resposta é pior ainda, mas isso fica para a parte dois.
Nada disso é culpa do app. O firmware deixou as portas abertas, e o app passou por elas. É um padrão que vale guardar: a box barata não é só fraca, ela já vem destrancada.
O que “sua box está numa botnet” custa de verdade Link to heading
Aqui é onde eu acho que a maior parte do que se fala sobre isso erra. A coisa é descrita como “um vírus”, o que faz a pessoa pensar em pop-up ou senha roubada, e aí nada de visível acontece e ela para de se preocupar.
Então, concretamente.
Seu upload está sendo revendido. O app transforma a sua box num servidor de vídeo para outras pessoas. Ele fica escutando conexões de entrada e enviando pedaços de transmissão para estranhos. É por isso que é de graça: você é a infraestrutura. E internet residencial é absurdamente assimétrica, 300 Mbps de download e 30 de upload é o normal, então saturar o seu upload é barato para eles e destrói tudo para você. Chamada de vídeo picando. Página travando porque o navegador está esperando a requisição sair. Essa era a reclamação de “a internet está lenta”, e é um custo direto no único recurso que a sua conexão tem de sobra nenhuma.
A sua conexão é a que aparece no ataque. Quando aquele servidor de comando e controle manda a rede dele atacar alguém, o tráfego sai do seu IP. Não do dele. O seu endereço é o que fica no log da vítima, e no do seu provedor.
A sua localização estava sendo arquivada. A cada boot, o bot gravava um arquivinho com o IP público da casa, o provedor, a cidade e as coordenadas de GPS. Todo boot, reconferido e regravado. Nada relacionado a assistir televisão precisa disso.
O que a box conseguia ver, considere perdido. Ela teve root por 73 dias na rede da casa dela. Isso inclui a senha do Wi-Fi salva. Se uma box dessas passou pela sua casa, a suposição honesta é que tudo que ela conseguia ler já vazou, e a primeira coisa a fazer é trocar a senha do Wi-Fi.
E nada disso aparece na tela. O app parece uma lista de canais o tempo inteiro.
Então eu testei num aparelho que não estava quebrado Link to heading
Eu tinha um bom comparativo na sala, por acidente.
Um tempo atrás eu comprei um Xiaomi Mi TV Stick para salvar uma LG smart antiga. A TV era ótima como tela, mas o “smart” dela tinha virado piada: lento ao ponto de ser inutilizável, apps sem atualização. Um stick de R$200 fez ela voltar a ser uma boa TV, que é sinceramente o melhor uso desses aparelhos.
E esse stick é tudo que a box não é: Android 14, assinado pelo fabricante, sem root, sem mexida, proteção do sistema realmente ativa, bootloader travado. E eu poderia instalar o mesmo app de IPTV nele e observar com adb o que acontecia.
Ou seja: app idêntico, dois aparelhos, mesma rede. Isso é um experimento de verdade, e o resultado é a coisa mais útil que eu aprendi no dia.
Mesmo APK, mesma rede, mesma noite.
No stick travado não tinha botnet nenhuma, e nem tentativa de instalar uma. O app checa se tem root disponível, vê que não tem, e simplesmente não insiste. Eu procurei essa tentativa em cerca de dois mil eventos de segurança registrados e ela não existe.
Mas olhe a parte de baixo da tabela. Tudo que não precisa de root aconteceu nos dois aparelhos. O servidor de upload rodou nos dois, na mesma porta. O DNS criptografado rodou nos dois. O segundo processo escondido rodou nos dois. A identificação de hardware foi tentada nos dois e só foi bloqueada no moderno.
Então a conclusão não é “compre um aparelho bom e você está seguro”. É mais estreita e mais útil:
Um aparelho travado transforma isso de botnet em sanguessuga de banda. É um ganho grande. Não é a mesma coisa que estar seguro.
A parte que eu não esperava: foi feito para enganar você Link to heading
Alguns detalhes aqui são bem mais sofisticados do que eu esperava de um app de IPTV pirata, e vale entender porque é justamente por isso que ninguém percebe.
Ele traz as próprias ferramentas. O app não usa os programas do sistema. Ele carrega e solta as próprias cópias de utilitários Unix padrão: um downloader, um busybox (um binário único com dezenas de ferramentas de shell dentro), um descompactador e outros. E executa esses. Isso importa por dois motivos. Primeiro, ele não depende do que o sistema oferece, então funciona igual em cem firmwares baratos diferentes. Segundo, são binários sem auditoria, de idade e origem desconhecidas, rodando como root na sua rede. Mesmo que ninguém tivesse má intenção ao embarcar um curl velho compilado estaticamente, você agora tem um cliente de rede sem correção de segurança, com privilégio total, num aparelho que nunca vai receber atualização. E o malware foi além: criou links do busybox dele dentro dos diretórios de sistema, então a partir dali parte do que o sistema operacional executava era código do atacante.
Ele solta uma ferramenta, roda e apaga. Eu peguei uma dessas no ato: um busybox apareceu, foi executado, pediu ao kernel o endereço MAC da placa de rede, e desapareceu. Quando eu fui procurar o arquivo, ele não existia. Procurei no sistema de arquivos inteiro e não achei nada. O único motivo de eu saber que aconteceu é que o log de segurança registrou a tentativa. Você não acha isso procurando arquivo suspeito, porque entre um uso e outro não existe arquivo suspeito.
Ele lança uma segunda cópia de si mesmo. Não um programa separado, que é o que qualquer monitoramento notaria. Ele bifurca um segundo processo que é o app, com o mesmo nome e a mesma identidade, rodando quietinho do lado do principal com uns 65 MB próprios. Nada executou shell. Nada novo apareceu na lista de apps. De fora, parece um app só gastando um pouco mais de memória. No stick travado eu não consegui nem identificar o que esse segundo processo fazia, porque identificar exige root, e o stick corretamente se recusou a me dar.
Essa última é a que fica na minha cabeça. A mesma tranca que protege o usuário desse app protegeu o app de mim.
O seu Pi-hole não vai te salvar Link to heading
Eu rodo filtro de DNS em casa. Muita gente que lê isso também. Eu imaginava que no mínimo ele fosse ver essa coisa.
Ele não viu nada.
Tudo que um aparelho de prateleira estava fazendo, lido das tabelas de conexão do próprio kernel.
DNS é a lista telefônica da internet. Filtro funciona por ser a lista: o aparelho te pergunta onde fica algumacoisa.exemplo, e você se recusa a responder. Pi-hole, lista de bloqueio do roteador, arquivo hosts, tudo funciona assim.
Esse app não pergunta. Ele abre uma conexão HTTPS criptografada direto para quatro resolvedores públicos grandes e pergunta para eles. O seu filtro nunca é consultado, então não tem o que bloquear nem o que registrar. Do roteador parece tráfego HTTPS comum, porque é.
Aí eu testei as camadas uma por uma, e o resultado me surpreendeu:
Testado contra o app rodando. As duas camadas em que a maioria confia são as duas que falharam.
Bloquear por nome falhou, todas as vezes. Bloquear por endereço IP segurou por completo: depois que eu configurei, os contadores do firewall para aqueles endereços ficaram em zero pelo resto da vida da box. Não tem jeito esperto de contornar um bloqueio numérico, porque não existe nome para resolver.
A outra coisa que segurou é mais simples ainda, e é a que eu de fato recomendo: não deixe a box alcançar nada. O que nos leva à parte prática.
O Brasil já tentou bloquear nome, em escala nacional Link to heading
E aqui está o que transforma isso de lição sobre uma sala em outra coisa: nós já rodamos esse experimento em escala de país, e ele falhou do mesmo jeito.
Bloquear por DNS na operadora é a jogada padrão antipirataria por aqui. Está consolidada. Depois da Operação 404, Claro, Oi, TIM e Vivo bloquearam o The Pirate Bay nos resolvedores de DNS delas, aqueles que são entregues automaticamente para todo cliente [7]. E o pastebin.com também já caiu nessa rede: clientes da Oi fibra relataram por um bom tempo que o pastebin simplesmente não resolvia no DNS da operadora, enquanto funcionava normalmente em qualquer outro resolvedor, com relatos parecidos sobre a Claro em algumas regiões [8]. O motivo informalmente apontado é exatamente o deste post: sites de paste hospedam lista de IPTV, e botnets usam eles como canal de reserva.
Agora coloque isso ao lado do que estava de fato na box que eu estava olhando.
O bloqueio não encosta no malware. O bot já tinha fixado o pastebin.com no IP do próprio atacante dentro do arquivo hosts do aparelho, então ele nunca pergunta a resolvedor nenhum, da operadora ou de quem quer que seja. E o app usa DNS-over-HTTPS para resolvedores escolhidos por ele. Nenhum dos dois é afetado pelo que o servidor DNS da Oi responde. As únicas pessoas que um bloqueio nacional de DNS no pastebin alcança são as que usam o DNS do provedor como veio configurado, ou seja, usuário comum, desenvolvedor, estudante, e nenhum bot.
E pega quem não tem nada a ver com isso. Em junho de 2026 a API do GitHub caiu para clientes de várias operadoras grandes no Brasil, quebrando push, pull request e CI de muita gente que estava só trabalhando. A Anatel nunca confirmou ordem contra o GitHub; a leitura mais aceita é que um bloqueio mirando algum site *.github.io foi executado contra infraestrutura compartilhada e levou a API junto [9]. O GitHub Pages já tinha passado por episódio parecido antes [10]. E a Instrução Normativa 174 da Anatel hoje permite bloqueio administrativo de domínios, subdomínios, IPs e URLs por até doze meses a pedido da Ancine, com as ordens indo para as operadoras sob sigilo, então quando alguma coisa de que você depende para de resolver, não existe lista pública para consultar nem nada óbvio para recorrer.
Resumindo: a medida não alcança a botnet, alcança quem está passando, e você não consegue auditar. É exatamente o resultado que eu tive numa LAN só, em escala maior: nome é a camada errada para bloquear, e o custo de errar cai em quem não estava fazendo nada.
Nada disso é argumento para não fazer nada. É argumento de que o que está sendo feito mira a camada errada, e a prova disso está no meu arquivo hosts.
Por que isso é tão comum aqui Link to heading
Preciso dizer com clareza que essa não é a história de uma casa azarada.
O Brasil é o centro mundial desse problema. O próprio laboratório da Anatel concluiu em 2022 que as boxes piratas testadas continham malware capaz de roubar dados pessoais, mandar para fora do país e usar o aparelho em ataques de negação de serviço [1], e que terceiros conseguiam acesso de administrador nesses aparelhos e podiam alcançar outros dispositivos da mesma rede [2]. Em agosto de 2025 a Anatel já falava de mais de 1,5 milhão de boxes infectadas no Brasil, o maior número de qualquer país do mundo [3].
A família de malware que eu encontrei tem nome e história. A Dr.Web documentou em setembro de 2023 como uma derivada do Mirai, que se espalha por atualizações de firmware adulteradas e por apps que anunciam filmes e séries pirateados. O relatório deles nomeia várias dessas marcas de streaming diretamente, então siga o link se quiser conferir se a sua está na lista [4]. Alguns meses depois o XLab da Qianxin amarrou a operação e deu um nome ao grupo, Bigpanzi, com cerca de 170 mil bots ativos por dia no pico e mais de 1,3 milhão de IPs distintos, a maioria absoluta no Brasil e concentrada em São Paulo [5]. Isso não é ameaça exótica. Pelos números, é um dos malwares mais comuns do país.
E a distribuição é local e pessoal, que é justamente por que funciona tão bem. Na minha experiência a corrente quase nunca é um link de download num site duvidoso; é uma pessoa. Alguém pega o app, gosta, e quando um amigo ou vizinho pergunta como é que ele consegue os canais, ele indica o vendedor local que configurou para ele. Esse vendedor instala, às vezes vende a box também. O app chega com a recomendação de alguém em quem você confia, que é um mecanismo de entrega muito melhor do que qualquer e-mail de phishing. É mais enraizado em bairros de periferia, onde lazer é caro, escasso e distante, e pagar por todos os serviços de TV e streaming de hoje é completamente impeditivo para uma família média brasileira. R$150 uma vez mais um app instalado por fora não é comparável a uma mensalidade, e eu quero deixar claro que eu não acho essa escolha idiota. É uma resposta racional a preço. O custo só não está onde disseram que estaria.
Como checar a sua box Link to heading
Em ordem de quanto trabalho dá. A maioria das pessoas consegue fazer a primeira em dois minutos, e sinceramente é a que diz mais coisa.
Nível 0, só o roteador. Sem ferramenta, sem comando.
Entre na página de administração do roteador e procure três coisas:
- A página de UPnP. O UPnP permite que um aparelho da sua rede peça ao roteador para abrir portas da internet direto para ele. Se a sua TV box tem entradas ali, ela pediu isso, e vale se perguntar por que uma televisão precisa aceitar conexão de entrada. Desligue o UPnP. Quase nada numa casa normal precisa dele.
- A lista de aparelhos conectados. Ache o endereço da box e anote.
- Os gráficos de tráfego, se o seu roteador tiver. Olhe o upload da box num horário em que ninguém está assistindo nada. Três da manhã é ideal. Uma TV box enviando dados enquanto todo mundo dorme não está assistindo televisão.
Nível 1, um computador na mesma rede.
Escaneie as portas da box, com nmap ou com qualquer um daqueles apps de celular que fazem isso. Um aparelho de streaming não deveria estar escutando conexão nenhuma; ele só deveria abrir conexões. A box que eu olhei estava escutando em quatro portas TCP e umas treze UDP, em todas as interfaces. Aquelas são portas de P2P. É o servidor de upload.
Depois, se você roda Pi-hole ou qualquer filtro de DNS: veja se você tem alguma consulta vinda daquela box. Se um app está claramente online e o seu filtro não tem registro nenhum dele procurando nada, ele está usando o resolvedor criptografado próprio, e agora você sabe que o seu filtro não se aplica a ele.
Nível 2, adb.
Se você se sente bem num shell, conecte com adb. Os detalhes estão na parte dois, com os comandos exatos, como ficou a saída, e os indicadores de comprometimento para você comparar com o que eu achei.
A versão rápida: procure um processo chamado supervisord ou qualquer coisa parecida com pandoraspear; leia o /system/etc/hosts e trate qualquer coisa além de localhost como sinal vermelho, principalmente pastebin.com; e liste a pasta de dados do próprio app de IPTV procurando um busybox, um curl ou um script de shell que não tem o que fazer ali.
O que eu recomendo de verdade Link to heading
Em ordem de quanto bem faz por unidade de esforço.
- Não coloque a box na sua rede principal. É isso que resolve. Quase todo roteador vendido nos últimos anos consegue subir uma rede de visitantes; coloque a box nela e garanta que os aparelhos de visitante não alcançam a sua LAN. Aí uma box comprometida é só um estranho na internet, em vez de um estranho dentro da sua casa com a senha do seu Wi-Fi. Todo o resto dessa lista é um segundo lugar bem distante. Foi assim que eu fiz essa investigação: a box ficou numa VLAN isolada, sem rota para o resto da LAN, e com o tráfego observado no gateway.
- Desligue o UPnP no roteador. Uma caixinha de seleção. Impede a box de abrir portas da internet para ela mesma.
- Bloqueie por IP, não por nome. Se você vai bloquear, bloqueie no firewall. Bloqueio por DNS não funciona contra isso, como acima.
- Se você vai rodar esses apps de qualquer forma, rode num aparelho travado. Um stick de Android TV de fabricante que assina o firmware e não embarca root. Você ainda vai doar banda de upload, mas não vai hospedar botnet. A diferença é a metade de baixo daquela tabela de comparação.
- Se uma box já foi comprometida, troque a senha do Wi-Fi. Depois dê reset de fábrica ou regrave o firmware antes de vender, doar ou jogar fora. A que eu olhei ainda tinha a geolocalização da casa, o identificador do app e as credenciais de Wi-Fi no final.
Esse identificador merece uma última nota. O app grava um ID no armazenamento compartilhado, fora da pasta dele, o que significa que desinstalar o app não apaga. Reinstala e ele pega o mesmo ID de volta. Significa também que outros apps conseguem ler. Eu achei restos de outros apps de IPTV de 2025, ainda ali, meses depois de os apps terem sido removidos.
Uma nota sobre como eu fiz isso Link to heading
Tem um segundo motivo para eu ter passado uma tarde numa box de R$150, e é melhor eu ser direto: parte disso foi um exercício para ver até onde um modelo de IA realmente me leva nesse tipo de problema.
Essa não é uma pergunta de ócio para mim. Eu trabalho como Software Engineer na Red Hat (meu LinkedIn) e boa parte do meu dia a dia é justamente a ponta reativa dessa indústria: acompanhar CVEs, corrigir, empacotar e entregar as correções. A gente está no meio de uma onda real de vulnerabilidades sendo encontradas e corrigidas com ajuda de modelo, e eu prefiro formar opinião fazendo o trabalho do que lendo opinião dos outros sobre isso.
Então, honestamente, onde ajudou e onde não ajudou.
Ajudou de verdade no meio chato da investigação. Correlacionar timestamp de centenas de arquivos para montar aquela tabela de dezessete segundos é tedioso, mecânico, e exatamente o tipo de coisa que eu erraria às 17h de uma terça. O mesmo vale para lembrar a semântica de atributo do SELinux, mapear inode de socket de volta para processo quando o netstat deu segfault, e casar o que eu estava vendo com pesquisa já publicada para descobrir que a coisa tinha nome e um histórico de anos. Esse último me economizou horas.
Onde não ajudou é a parte que mais importa, e vale dizer com clareza. Toda decisão sobre o que valia a pena olhar foi minha. O erro que me custou a amostra do malware também, e o erro físico de ligar dois hosts USB um no outro e deixar o meu próprio PC lento também. E o teste de SELinux que mentiu para mim é a lição de moral do gênero inteiro: eu escrevi um teste, ele devolveu a resposta que eu esperava, e eu acreditei. Qualquer ferramenta, modelo ou não, vai te ajudar com todo o prazer a confirmar uma conclusão a que você já chegou. O que pegou o erro foi voltar e testar a coisa real com um app real, que é hábito, não capacidade.
Minha conclusão depois da tarde: comprime muito o trabalho mecânico, não comprime nada o julgamento, e o modo de falha dele é concordar com confiança. Que é mais ou menos o que eu diria de uma pessoa júnior e rápida, e eu digo isso como elogio para os dois.
Onde isso terminou Link to heading
Eu limpei a box. Removi a botnet, removi o root inteiro, liguei o aviso de aprovação para acesso remoto, assumi o script de inicialização que o malware estava usando e aproveitei para restaurar o arquivo hosts a cada boot e firewallar os endereços que eu tinha encontrado. Depois observei por algumas horas. Zero acerto no firewall. Nada voltou.
E então eu desliguei para sempre.
Não porque a limpeza falhou, ela funcionou, e o detalhe técnico de como é a parte divertida da parte dois. Eu desliguei porque, depois de ver o quão pouco existia entre um app e o controle total daquele aparelho, “eu removi o malware” deixa de ser a frase relevante. O firmware nunca vai ser atualizado. O próximo app, ou a próxima versão do mesmo, encontra as mesmas portas abertas.
Para o que ela estava sendo usada de verdade, o Mi Stick que salvou a LG antiga faz o serviço melhor de qualquer jeito.
Limpar foi uma tarde genuinamente divertida. Voltar a confiar nunca esteve em discussão.
Referências
1 - Anatel conclui que TV box pirata pode roubar dados e fazer ataques DDoS, Tecnoblog, julho de 2022
2 - TV box pirata pode espiar tela de celular conectado à mesma rede, diz Anatel, Tecnoblog, dezembro de 2022
3 - Anatel alerta: Brasil tem mais de 1,5 milhão de TV boxes infectadas com malware, Tecnoblog, agosto de 2025
4 - Pandora’s box is now open: the well-known Mirai trojan arrives in a new disguise to Android-based TV sets and TV boxes, Dr.Web, setembro de 2023
5 - Bigpanzi botnet infects 170,000 Android TV boxes with malware, BleepingComputer sobre o relatório do XLab/Qianxin, janeiro de 2024
6 - Lista de TV boxes homologadas pela Anatel, confira o número do certificado no próprio aparelho, e lembre que a Anatel avisa que o selo pode ser falsificado
7 - Claro, Oi, TIM e Vivo bloqueiam The Pirate Bay no Brasil após Operação 404, Tecnoblog, sobre bloqueio via DNS das operadoras
8 - Pastebin bloqueado na Oi fibra, tópico da comunidade do Tecnoblog. São relatos de usuários sobre o DNS da operadora, não uma ordem publicada e confirmada; eu não encontrei confirmação oficial de bloqueio formal do pastebin
9 - GitHub enfrenta bloqueios no Brasil após possível erro em ordens da Anatel, junho de 2026. A Anatel não confirmou oficialmente ordem contra o GitHub; a explicação de dano colateral é a leitura corrente, não uma constatação oficial
10 - GitHub Pages in Brazil not working for any website, discussão na comunidade do GitHub, incluindo o ponto de que as ordens de bloqueio chegam às operadoras sob sigilo
11 - Ancine aciona Anatel para bloquear sites piratas, sobre a Instrução Normativa 174 e o bloqueio administrativo de domínios, IPs e URLs por até 12 meses