{"id":6440,"date":"2024-06-18T16:43:28","date_gmt":"2024-06-18T19:43:28","guid":{"rendered":"https:\/\/base4sec.com\/nao-categorizado\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/"},"modified":"2024-06-18T16:43:28","modified_gmt":"2024-06-18T19:43:28","slug":"ataque-a-extensao-do-codigo-vs","status":"publish","type":"post","link":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/","title":{"rendered":"Ataque \u00e0 extens\u00e3o do c\u00f3digo VS"},"content":{"rendered":"<p class=\"cuerpo-nota\">No mundo da seguran\u00e7a de computadores, as extens\u00f5es\u00a0<b>do Visual Studio Code (VS Code)\u00a0<\/b>surgiram como um novo vetor de ataque para os criminosos cibern\u00e9ticos.\u00a0<b>Visual Studio Code<\/b>, publicado pela\u00a0<b>Microsoft<\/b>, \u00e9 um editor de c\u00f3digo-fonte usado por muitos desenvolvedores profissionais em todo o mundo.\u00a0<b>Microsoft<\/b>\u00a0tamb\u00e9m opera um mercado de extens\u00f5es para o\u00a0<b>IDE<\/b>, chamado\u00a0<b>Visual Studio Code Marketplace<\/b>, que oferece complementos que ampliam a funcionalidade do aplicativo e oferecem mais op\u00e7\u00f5es de personaliza\u00e7\u00e3o.<\/p>\n<p>H\u00e1 v\u00e1rios relat\u00f3rios que indicam viola\u00e7\u00f5es na seguran\u00e7a\u00a0<b>VS Code<\/b>, permitindo a falsifica\u00e7\u00e3o de extens\u00f5es, bem como extens\u00f5es que roubam tokens de autentica\u00e7\u00e3o dos desenvolvedores. Pesquisas recentes realizadas por um grupo israelense revelam n\u00fameros alarmantes, em que uma ferramenta personalizada chamada &#8220;ExtensionTotal&#8221; foi desenvolvida para localizar extens\u00f5es de alto risco, descompact\u00e1-las e examinar trechos de c\u00f3digo suspeitos.<\/p>\n<p>Por meio desse processo, eles descobriram o seguinte:<\/p>\n<p>\u2022\u00a01,283 extens\u00f5es com c\u00f3digo malicioso conhecido\u00a0<b>(229 milh\u00f5es de instala\u00e7\u00f5es)<\/b>.<\/p>\n<p>\u2022\u00a08,161 extens\u00f5es que se comunicam com\u00a0<b>dendere\u00e7os IP criptografados<\/b>.<\/p>\n<p>\u2022\u00a01,452 extens\u00f5es\u00a0<b>usando o reposit\u00f3rio GitHub de outro editor, indicando que s\u00e3o imita\u00e7\u00f5es<\/b>.<\/p>\n<p>\u2022\u00a02,304 extensiones que\u00a0<b>utilizan el repositorio de GitHub de otro editor, lo que indica que son imitaciones<\/b>.<\/p>\n<p>Este artigo tem como objetivo replicar o\u00a0<b>desenvolvimento de uma extens\u00e3o mal-intencionada\u00a0<\/b>para entender os riscos associados, alertar sobre seu poss\u00edvel impacto e demonstrar um exemplo das t\u00e9cnicas usadas para obter acesso e persist\u00eancia por meio dessas extens\u00f5es. Exploraremos como configurar um ambiente seguro, desenvolver a extens\u00e3o mal-intencionada e, por fim, garantir a persist\u00eancia p\u00f3s-explora\u00e7\u00e3o.<\/p>\n<p><span class=\"subtitulo-nota\">Pr\u00e9-requisitos<\/span><\/p>\n<p>Para desenvolver uma extens\u00e3o mal-intencionada no\u00a0<b>VS Code<\/b>, precisamos configurar um ambiente de desenvolvimento adequado. Ele deve ter os seguintes elementos:<\/p>\n<p>\u2022\u00a0<b>Node.js<\/b><br \/>\n\u2022\u00a0<b>Visual Studio Code<\/b><br \/>\n\u2022\u00a0<b>Git<\/b><br \/>\n\u2022\u00a0<b>Gerador de extens\u00e3o do Visual Studio Code<\/b><\/p>\n<p>Depois de concluir essas etapas, voc\u00ea ter\u00e1 um ambiente de desenvolvimento configurado e pronto para come\u00e7ar a desenvolver a extens\u00e3o.<\/p>\n<p><span class=\"subtitulo-nota\">Desenvolvimento da extens\u00e3o maliciosa<\/span><\/p>\n<p>Com o ambiente de desenvolvimento configurado, a pr\u00f3xima etapa \u00e9 desenvolver a extens\u00e3o mal-intencionada. Todo o c\u00f3digo da nossa extens\u00e3o estar\u00e1 no arquivo extension.ts, que cont\u00e9m a base de c\u00f3digo gerada pelo assistente de cria\u00e7\u00e3o de extens\u00e3o\u00a0<b>do VS Code<\/b>. Inicialmente, esse arquivo inclui um exemplo simples que exibe uma mensagem\u00a0<b>&#8220;Hello World from color-picker!&#8221;<\/b>\u00a0quando o comando helloWorld \u00e9 chamado.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97a.jpeg\" \/><\/center>&nbsp;<\/p>\n<p class=\"cuerpo-nota\">Para transformar essa extens\u00e3o em uma ferramenta mal-intencionada, faremos algumas modifica\u00e7\u00f5es importantes. A ideia \u00e9 executar um shell reverso quando o usu\u00e1rio invocar um comando espec\u00edfico no VS Code. Isso \u00e9 feito modificando dois arquivos principais:\u00a0<b>package.json<\/b>\u00a0e\u00a0<b>extension.ts<\/b>.<\/p>\n<p>No\u00a0<b>package.json<\/b>, configuraremos um comando que se comporta como uma extens\u00e3o leg\u00edtima, semelhante a uma ferramenta comumente usada por desenvolvedores e designers, como um\u00a0<b>&#8220;selecionador de cores&#8221;<\/b>. Essa configura\u00e7\u00e3o nos permitir\u00e1 executar nosso c\u00f3digo malicioso sem levantar suspeitas.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97b.jpeg\" \/><\/center>&nbsp;<\/p>\n<p class=\"cuerpo-nota\">Em seguida, em extension.ts, adicionaremos o c\u00f3digo necess\u00e1rio para executar um shell reverso. Esse c\u00f3digo ser\u00e1 executado quando o comando malicioso for invocado. Para testar se tudo funciona corretamente, usaremos as ferramentas de depura\u00e7\u00e3o do VS Code, que nos permitem executar e testar a extens\u00e3o diretamente do ambiente de desenvolvimento.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97c.jpeg\" \/><\/center>&nbsp;<\/p>\n<p class=\"cuerpo-nota\">Antes de implementar o c\u00f3digo malicioso, \u00e9 essencial garantir que a configura\u00e7\u00e3o b\u00e1sica da extens\u00e3o funcione corretamente. Para isso, primeiro testaremos a extens\u00e3o com a base de c\u00f3digo fornecida pelo assistente. Essa etapa de verifica\u00e7\u00e3o \u00e9 fundamental, pois garantimos que o b\u00e1sico esteja funcionando; caso contr\u00e1rio, poderemos encontrar problemas mais tarde e presumir incorretamente que o bug se deve ao c\u00f3digo adicionado, quando na verdade pode ser um problema com a configura\u00e7\u00e3o inicial.<\/p>\n<p>Para realizar essa verifica\u00e7\u00e3o, devemos executar a extens\u00e3o com as pequenas modifica\u00e7\u00f5es aplicadas. Isso \u00e9 feito no ambiente de desenvolvimento\u00a0<b>do VS Code\u00a0<\/b>usando as ferramentas de depura\u00e7\u00e3o integradas. V\u00e1 at\u00e9 a op\u00e7\u00e3o de menu &#8220;Run&#8221; (Executar) e selecione\u00a0<b>&#8220;Start Debugging&#8221; (Iniciar depura\u00e7\u00e3o)\u00a0<\/b>. Esse processo abrir\u00e1 uma nova inst\u00e2ncia do VS Code, na qual poderemos testar a extens\u00e3o.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97d.jpeg\" \/><\/center>&nbsp;<\/p>\n<p class=\"cuerpo-nota\">Nessa nova inst\u00e2ncia, pressionaremos o atalho de teclado\u00a0<b>ctrl+shift+p<\/b>\u00a0para abrir a paleta de comandos e selecionar nosso comando de extens\u00e3o. Se tudo funcionar corretamente, veremos a mensagem\u00a0<b>&#8220;Hello World!&#8221;<\/b>\u00a0exibida na interface\u00a0<b>do VS Code<\/b>. Essa etapa confirma que a configura\u00e7\u00e3o b\u00e1sica est\u00e1 operacional e fornece um ponto de verifica\u00e7\u00e3o antes de inserir o c\u00f3digo malicioso.<\/p>\n<p>Depois de verificarmos que a configura\u00e7\u00e3o b\u00e1sica funciona, podemos inserir o c\u00f3digo de shell reverso em\u00a0<b>extension.ts<\/b>\u00a0e modificar o comando padr\u00e3o. Esse c\u00f3digo se encarregar\u00e1 de estabelecer uma conex\u00e3o remota com nosso sistema de ataque sempre que o comando malicioso for executado.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97e.jpeg\" \/><\/center>&nbsp;<\/p>\n<p class=\"cuerpo-nota\">Por fim, para garantir que a conex\u00e3o remota seja bem-sucedida, ouviremos nosso sistema remoto (neste caso, uma m\u00e1quina com\u00a0<b>Kali Linux<\/b>) e executaremos a extens\u00e3o na m\u00e1quina da v\u00edtima (<b>Windows 11<\/b>). O IP da m\u00e1quina atacante \u00e9\u00a0<b>192.168.1.135<\/b>\u00a0e corresponde ao nosso Kali na rede local que receber\u00e1 a conex\u00e3o:<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97f.jpeg\" \/><\/center>&nbsp;<\/p>\n<p class=\"cuerpo-nota\">Escutamos nosso\u00a0<b>Kali\u00a0na porta\u00a04444\u00a0e executamos a extens\u00e3o novamente em nossa v\u00edtima do Windows 11:<\/p>\n<p><\/b><\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97g.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">Pressione F5 para iniciar uma nova inst\u00e2ncia de depura\u00e7\u00e3o no\u00a0<b>VS Code<\/b>. Nessa nova inst\u00e2ncia, usamos o atalho de teclado\u00a0<b>ctrl+shift+p<\/b>\u00a0para abrir a paleta de comandos e executar o comando de extens\u00e3o malicioso. Ao fazer isso, a conex\u00e3o \u00e9 estabelecida com sucesso, o que nos permite obter acesso ao sistema\u00a0<b>Windows 11<\/b>\u00a0a partir de nossa m\u00e1quina\u00a0<b>Kali Linux<\/b>. Isso \u00e9 poss\u00edvel gra\u00e7as \u00e0 execu\u00e7\u00e3o do c\u00f3digo de shell reverso que incorporamos na extens\u00e3o maliciosa, o que demonstra a efic\u00e1cia da t\u00e9cnica e ressalta a import\u00e2ncia de compreender e mitigar esses riscos em ambientes corporativos.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97h.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\"><span class=\"subtitulo-nota\">P\u00f3s-explora\u00e7\u00e3o e persist\u00eancia<\/span><\/p>\n<p>Depois de obtermos acesso ao sistema de destino por meio de nossa extens\u00e3o mal-intencionada, a pr\u00f3xima etapa \u00e9 garantir a persist\u00eancia e realizar atividades p\u00f3s-explora\u00e7\u00e3o. Isso nos permitir\u00e1 manter o acesso mesmo que a m\u00e1quina seja reinicializada e realizar a\u00e7\u00f5es adicionais para explorar e comprometer ainda mais o sistema.<\/p>\n<p>Para a p\u00f3s-explora\u00e7\u00e3o, usaremos o\u00a0<b>powershell-empire<\/b>, uma ferramenta avan\u00e7ada de\u00a0<b>post-explotaci\u00f3n\u00a0<\/b>que permite que os invasores executem comandos e scripts em sistemas comprometidos remotamente. Primeiro, configuramos o\u00a0<b>servidor<\/b>\u00a0<b>powershell-empire<\/b>\u00a0no computador do atacante, o que nos permitir\u00e1 gerenciar e controlar os agentes em execu\u00e7\u00e3o nos sistemas comprometidos. Em outro terminal, executamos o\u00a0<b>cliente<\/b>, que usaremos para interagir com o servidor e configurar nossos\u00a0<b>listeners e stagers<\/b>.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97i.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">A pr\u00f3xima etapa \u00e9 criar um novo ouvinte no cliente\u00a0<b>powershell-empire<\/b>. Esse ouvinte \u00e9 um componente que aguarda as conex\u00f5es de entrada dos agentes. Configuramos o listener com os par\u00e2metros necess\u00e1rios, como host e porta, para que ele esteja pronto para receber conex\u00f5es. Com o ouvinte configurado, prosseguimos com a cria\u00e7\u00e3o de uma carga \u00fatil\u00a0<b>do PowerShell<\/b>. Essa carga, uma vez executada no sistema\u00a0<b>Windows 11<\/b>\u00a0comprometido, estabelecer\u00e1 uma conex\u00e3o com o listener, registrando-se como um novo agente e permitindo o controle remoto do sistema.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97j.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97k.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">Agora, continuaremos a criar a carga \u00fatil do PowerShell que ser\u00e1 executada no sistema\u00a0<b>Windows 11<\/b>\u00a0j\u00e1 comprometido pela extens\u00e3o maliciosa. Geramos essa carga \u00fatil seguindo uma s\u00e9rie de comandos espec\u00edficos que nos permitir\u00e3o configurar o stager que se comunicar\u00e1 com o listener que configuramos anteriormente.<\/p>\n<p>Primeiro, na interface do cliente\u00a0<b>powershell-empire<\/b>, acesse o menu principal e selecione o stager\u00a0<b>multi\/launcher<\/b>. Esse stager \u00e9 uma op\u00e7\u00e3o vers\u00e1til que nos permite configurar v\u00e1rios par\u00e2metros para estabelecer a conex\u00e3o de volta ao listener. Configuramos o ouvinte especificando o tipo que criamos anteriormente, nesse caso,\u00a0<b>http<\/b>, e definimos as propriedades necess\u00e1rias, como o host e a porta em que o ouvinte est\u00e1 aguardando conex\u00f5es.<\/p>\n<p>Depois de configurado, executamos o comando para gerar a carga \u00fatil. Esse ser\u00e1 um script do PowerShell que, quando executado no sistema Windows comprometido, estabelecer\u00e1 uma conex\u00e3o com o ouvinte e registrar\u00e1 um novo agente no\u00a0<b>powershell-empire<\/b>. Esse agente nos fornecer\u00e1 controle remoto sobre o sistema comprometido, o que nos permitir\u00e1 executar uma ampla gama de a\u00e7\u00f5es p\u00f3s-explora\u00e7\u00e3o.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97l.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">Depois de gerar a carga \u00fatil, n\u00f3s a executamos no sistema\u00a0<b>Windows 11\u00a0<\/b>comprometido, aproveitando a sess\u00e3o de shell reverso que estabelecemos com nossa extens\u00e3o maliciosa. Ao executar o payload, verificamos se o agente est\u00e1 registrado corretamente no listener e aparece na interface do cliente\u00a0<b>powershell-empire<\/b>\u00a0Essa etapa \u00e9 crucial para garantir que nossa configura\u00e7\u00e3o esteja correta e que o sistema comprometido esteja agora sob nosso controle remoto.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97m.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p><center>Mensagem de observa\u00e7\u00e3o: Novo agente 4ADCSV6Z fez o check-in<\/center><\/p>\n<p class=\"cuerpo-nota\">Com o agente registrado e ativo, podemos continuar a usar os m\u00f3dulos de p\u00f3s-explora\u00e7\u00e3o dispon\u00edveis para realizar atividades adicionais, garantindo que nosso acesso ao sistema comprometido seja dur\u00e1vel e est\u00e1vel.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97o.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">Como voc\u00ea pode ver abaixo, no sistema\u00a0<b>Windows 11, o VS Code<\/b>\u00a0n\u00e3o est\u00e1 em execu\u00e7\u00e3o. Isso \u00e9 poss\u00edvel porque, uma vez que o agente tenha sido registrado com sucesso por meio da estrutura p\u00f3s-explora\u00e7\u00e3o, n\u00e3o precisamos mais manter o editor aberto. O acesso e o controle sobre o sistema comprometido s\u00e3o mantidos independentemente do estado do aplicativo.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97p.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">Isso mostra que, uma vez que o agente tenha sido registrado com sucesso, n\u00e3o \u00e9 necess\u00e1rio manter o\u00a0<b>VS Code<\/b>\u00a0aberto para manter a conex\u00e3o. No entanto, \u00e9 importante observar que, se a m\u00e1quina for reinicializada, perderemos a conex\u00e3o, pois o agente n\u00e3o persistir\u00e1, a menos que configuremos uma t\u00e9cnica de persist\u00eancia adequada.<\/p>\n<p>Em seguida, prosseguimos com o estabelecimento da persist\u00eancia no sistema comprometido. Usamos o m\u00f3dulo\u00a0<b>powershell_persistence_userland_registry<\/b>que nos permite definir a persist\u00eancia no registro do Windows. Esse m\u00f3dulo cria uma entrada de registro que executar\u00e1 nossa carga \u00fatil sempre que o usu\u00e1rio fizer login. Configuramos e executamos o m\u00f3dulo de persist\u00eancia, certificando-nos de que a carga \u00fatil seja executada automaticamente a cada reinicializa\u00e7\u00e3o do sistema.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97q.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">Podemos confirmar que a persist\u00eancia foi estabelecida com \u00eaxito quando virmos a mensagem: &#8220;<b>Registry persistence established using listener http stored in HKCU\\Microsoft\\Windows\\CurrentVersion\\Debug<\/b>&#8220;. Essa mensagem indica que o m\u00f3dulo de persist\u00eancia foi criado com \u00eaxito em uma entrada de registro do Windows<\/p>\n<p>Essa t\u00e9cnica de persist\u00eancia envolve o armazenamento da carga \u00fatil em uma chave de registro localizada em\u00a0<b>HKCU:Software\\Microsoft\\Windows\\CurrentVersion\\Debug<\/b>, o que garante que o script do PowerShell seja executado automaticamente sempre que o usu\u00e1rio fizer logon no sistema. Ao definir essa chave de registro, garantimos que o agente se registre novamente com o ouvinte mesmo depois que o computador for reinicializado, mantendo assim o acesso remoto ao sistema comprometido de forma persistente.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97r.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">Tente reiniciar o Windows comprometido para confirmar a persist\u00eancia. Depois que o sistema for reinicializado, verificaremos se um novo agente est\u00e1 automaticamente conectado ao\u00a0<b>powershell-empire<\/b>. Essa etapa \u00e9 crucial para garantir que a t\u00e9cnica de persist\u00eancia implementada esteja funcionando corretamente e que nosso acesso remoto ao sistema comprometido seja dur\u00e1vel.<\/p>\n<p>Sempre que reiniciarmos, um novo agente ser\u00e1 registrado, indicando que a carga \u00fatil\u00a0<b>do PowerShell<\/b>\u00a0armazenada no registro do Windows \u00e9 executada automaticamente no logon do usu\u00e1rio, reconectando o sistema comprometido ao nosso ouvinte.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97s.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">Com a confirma\u00e7\u00e3o da persist\u00eancia, podemos come\u00e7ar a brincar com alguns comandos\u00a0<b>powershell-empire<\/b>\u00a0para explorar e obter mais informa\u00e7\u00f5es do sistema comprometido. Por exemplo, podemos usar o m\u00f3dulo\u00a0<b>powershell\/situational_awareness\/host\/computerdetails\u00a0<\/b>para coletar detalhes do sistema. Esse m\u00f3dulo nos fornecer\u00e1 informa\u00e7\u00f5es valiosas sobre o hardware e o software do sistema comprometido, incluindo o nome do computador, a vers\u00e3o do sistema operacional e muito mais.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97t.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">Podemos realizar uma varredura de portas na rede usando o m\u00f3dulo\u00a0<b>powershell\/situational_awareness\/network\/portscan<\/b>. Esse m\u00f3dulo nos permite fazer a varredura de portas abertas em dispositivos espec\u00edficos dentro da rede do sistema comprometido. Configuramos o m\u00f3dulo para fazer a varredura em um host espec\u00edfico, por exemplo,\u00a0<b>raspberrypi.local<\/b>, o m\u00f3dulo para fazer a varredura em um host espec\u00edfico, por exemplo, raspberrypi.local, e executamos o comando scan. Esse tipo de an\u00e1lise nos ajuda a identificar outros dispositivos e servi\u00e7os acess\u00edveis na rede, que podem ser alvos em potencial para ataques futuros ou pontos de entrada para movimenta\u00e7\u00e3o lateral dentro da infraestrutura.<\/p>\n<p><center><img decoding=\"async\" src=\"http:\/\/localhost\/assets\/images\/blog\/nota_97u.jpeg\" \/><\/center><b>\u00a0<\/b><\/p>\n<p class=\"cuerpo-nota\">Essas etapas p\u00f3s-explora\u00e7\u00e3o, juntamente com a verifica\u00e7\u00e3o de persist\u00eancia, n\u00e3o s\u00f3 nos permitem manter o acesso cont\u00ednuo ao sistema comprometido, mas tamb\u00e9m ampliar nosso conhecimento e controle sobre o ambiente, facilitando uma explora\u00e7\u00e3o mais ampla e eficaz.<\/p>\n<p><span class=\"subtitulo-nota\">Conclus\u00e3o<\/span><\/p>\n<p>A explora\u00e7\u00e3o e a demonstra\u00e7\u00e3o de como desenvolver uma extens\u00e3o mal-intencionada para o\u00a0<b>VS Code<\/b>\u00a0nos permite entender melhor os riscos associados \u00e0 instala\u00e7\u00e3o de extens\u00f5es e destaca a import\u00e2ncia da seguran\u00e7a em ambientes de desenvolvimento. Por meio da configura\u00e7\u00e3o do ambiente, do desenvolvimento da extens\u00e3o, da p\u00f3s-explora\u00e7\u00e3o e das t\u00e9cnicas de persist\u00eancia, destacamos as poss\u00edveis vulnerabilidades que podem ser exploradas por agentes mal-intencionados.<\/p>\n<p>O uso de ferramentas como o powershell-empire para p\u00f3s-explora\u00e7\u00e3o destaca a facilidade com que um invasor pode manter acesso cont\u00ednuo e duradouro a um sistema comprometido, mesmo ap\u00f3s uma reinicializa\u00e7\u00e3o. A t\u00e9cnica de persist\u00eancia baseada no registro do Windows garante que o invasor possa se reconectar automaticamente ao sistema comprometido, tornando a atenua\u00e7\u00e3o dessas amea\u00e7as mais desafiadora.<\/p>\n<p>\u00c9 essencial que os desenvolvedores e os profissionais de seguran\u00e7a estejam cientes desses vetores de ataque e tomem medidas proativas para proteger seus ambientes. Isso inclui a verifica\u00e7\u00e3o cuidadosa das extens\u00f5es instaladas, a implementa\u00e7\u00e3o de pol\u00edticas de seguran\u00e7a rigorosas e o uso de ferramentas de monitoramento e an\u00e1lise para detectar comportamentos suspeitos.<\/p>\n<p>Em resumo, esse exerc\u00edcio n\u00e3o apenas demonstra uma t\u00e9cnica de explora\u00e7\u00e3o, mas tamb\u00e9m destaca a necessidade de vigil\u00e2ncia constante e de uma abordagem rigorosa \u00e0 seguran\u00e7a no desenvolvimento de software. Ao compreender e antecipar essas amea\u00e7as, podemos fortalecer nossas defesas e garantir um ambiente de desenvolvimento mais seguro e resiliente.<\/p>\n<div class=\"referencias-nota-title\">\n<h5>Refer\u00eancias<\/h5>\n<\/div>\n<div>\n<p>&#8211;\u00a0<a href=\"https:\/\/medium.com\/@amitassaraf\/the-story-of-extensiontotal-how-we-hacked-the-vscode-marketplace-5c6e66a0e9d7\">How We Hacked Multi-Billion Dollar<br \/>\nCompanies in 30 Minutes Using a<br \/>\nFake VSCode Extension<\/a><\/p>\n<p>&#8211;\u00a0<a href=\"https:\/\/www.bleepingcomputer.com\/news\/microsoft\/vscode-marketplace-can-be-abused-to-host-malicious-extensions\/\">VSCode Marketplace can be abused<br \/>\nto host malicious extensions<\/a><\/p>\n<p>&#8211;\u00a0<a href=\"https:\/\/www.aquasec.com\/blog\/can-you-trust-your-vscode-extensions\/\">Can You Trust Your VSCode Extensions?<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>No mundo da seguran\u00e7a de computadores, as extens\u00f5es\u00a0do Visual Studio Code (VS Code)\u00a0surgiram como um novo vetor de ataque para os criminosos cibern\u00e9ticos.\u00a0Visual Studio Code, publicado pela\u00a0Microsoft, \u00e9 um editor de c\u00f3digo-fonte usado por muitos desenvolvedores profissionais em todo o mundo.\u00a0Microsoft\u00a0tamb\u00e9m opera um mercado de extens\u00f5es para o\u00a0IDE, chamado\u00a0Visual Studio Code Marketplace, que oferece complementos [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":5645,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_wpcom_ai_launchpad_first_post":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[260],"tags":[],"class_list":["post-6440","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technical-pt-br"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.9 (Yoast SEO v27.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Ataque \u00e0 extens\u00e3o do c\u00f3digo VS - BASE4 Security<\/title>\n<meta name=\"description\" content=\"BASE4 Security, consultora de ciberseguridad con presencia en Argentina, Chile, Per\u00fa, Colombia, M\u00e9xico y Espa\u00f1a. Servicios de CyberSOC, Red Team, GRC y Zero Trust.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ataque \u00e0 extens\u00e3o do c\u00f3digo VS\" \/>\n<meta property=\"og:description\" content=\"An\u00e1lisis t\u00e9cnico y estrategia de ciberseguridad por el equipo de BASE4 Security. Insights sobre CyberSOC, Red Team, GRC y Zero Trust para LATAM y Espa\u00f1a.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/\" \/>\n<meta property=\"og:site_name\" content=\"BASE4 Security\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-18T19:43:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/base4sec.com\/wp-content\/uploads\/2024\/12\/blog_97.png\" \/>\n\t<meta property=\"og:image:width\" content=\"600\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Base4 Security Research\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Base4 Security Research\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/\"},\"author\":{\"name\":\"Base4 Security Research\",\"@id\":\"\\\/#\\\/schema\\\/person\\\/5905e7398728c03dbec3772861bd4f99\"},\"headline\":\"Ataque \u00e0 extens\u00e3o do c\u00f3digo VS\",\"datePublished\":\"2024-06-18T19:43:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/\"},\"wordCount\":2463,\"commentCount\":0,\"publisher\":{\"@id\":\"\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/base4sec.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/blog_97.png\",\"articleSection\":[\"Technical\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/\",\"url\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/\",\"name\":\"Ataque \u00e0 extens\u00e3o do c\u00f3digo VS - BASE4 Security\",\"isPartOf\":{\"@id\":\"\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/base4sec.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/blog_97.png\",\"datePublished\":\"2024-06-18T19:43:28+00:00\",\"description\":\"BASE4 Security, consultora de ciberseguridad con presencia en Argentina, Chile, Per\u00fa, Colombia, M\u00e9xico y Espa\u00f1a. Servicios de CyberSOC, Red Team, GRC y Zero Trust.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/#primaryimage\",\"url\":\"https:\\\/\\\/base4sec.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/blog_97.png\",\"contentUrl\":\"https:\\\/\\\/base4sec.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/blog_97.png\",\"width\":600,\"height\":600,\"caption\":\"POR: Juan Cruz Tommasi (Ethical Hacking and Research)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/technical-pt-br\\\/ataque-a-extensao-do-codigo-vs\\\/2024\\\/06\\\/18\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ataque \u00e0 extens\u00e3o do c\u00f3digo VS\"}]},{\"@type\":\"WebSite\",\"@id\":\"\\\/#website\",\"url\":\"\\\/\",\"name\":\"BASE4 Security\",\"description\":\"Your cyber ally\",\"publisher\":{\"@id\":\"\\\/#organization\"},\"alternateName\":\"B4\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"\\\/#organization\",\"name\":\"BASE4 Security\",\"url\":\"\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/base4sec.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/Logo_policromo_negativo.png\",\"contentUrl\":\"https:\\\/\\\/base4sec.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/Logo_policromo_negativo.png\",\"width\":372,\"height\":227,\"caption\":\"BASE4 Security\"},\"image\":{\"@id\":\"\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/base4-security\"],\"description\":\"BASE4 Security es una consultora de ciberseguridad B2B con prop\u00f3sito, fundada en Argentina y con operaciones en Argentina, Chile, Per\u00fa, Colombia, M\u00e9xico y Espa\u00f1a. Ofrece servicios de CyberSOC, Red Team, GRC, Identity Security, Cloud Security y Application Security para empresas en SOLA y NOLA.\",\"email\":\"info@base4sec.com\",\"telephone\":\"02262653623\",\"legalName\":\"BASE4 Security\",\"foundingDate\":\"2008-01-16\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"51\",\"maxValue\":\"200\"}},{\"@type\":\"Person\",\"@id\":\"\\\/#\\\/schema\\\/person\\\/5905e7398728c03dbec3772861bd4f99\",\"name\":\"Base4 Security Research\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2fd8bd108b76c23a0df95f08c42f3f8653e30a2562d252777bc2a74096d212e4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2fd8bd108b76c23a0df95f08c42f3f8653e30a2562d252777bc2a74096d212e4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2fd8bd108b76c23a0df95f08c42f3f8653e30a2562d252777bc2a74096d212e4?s=96&d=mm&r=g\",\"caption\":\"Base4 Security Research\"},\"url\":\"https:\\\/\\\/base4sec.com\\\/pt-br\\\/author\\\/cliteplo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ataque \u00e0 extens\u00e3o do c\u00f3digo VS - BASE4 Security","description":"BASE4 Security, consultora de ciberseguridad con presencia en Argentina, Chile, Per\u00fa, Colombia, M\u00e9xico y Espa\u00f1a. Servicios de CyberSOC, Red Team, GRC y Zero Trust.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/","og_locale":"pt_BR","og_type":"article","og_title":"Ataque \u00e0 extens\u00e3o do c\u00f3digo VS","og_description":"An\u00e1lisis t\u00e9cnico y estrategia de ciberseguridad por el equipo de BASE4 Security. Insights sobre CyberSOC, Red Team, GRC y Zero Trust para LATAM y Espa\u00f1a.","og_url":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/","og_site_name":"BASE4 Security","article_published_time":"2024-06-18T19:43:28+00:00","og_image":[{"width":600,"height":600,"url":"https:\/\/base4sec.com\/wp-content\/uploads\/2024\/12\/blog_97.png","type":"image\/png"}],"author":"Base4 Security Research","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Base4 Security Research","Est. tempo de leitura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/#article","isPartOf":{"@id":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/"},"author":{"name":"Base4 Security Research","@id":"\/#\/schema\/person\/5905e7398728c03dbec3772861bd4f99"},"headline":"Ataque \u00e0 extens\u00e3o do c\u00f3digo VS","datePublished":"2024-06-18T19:43:28+00:00","mainEntityOfPage":{"@id":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/"},"wordCount":2463,"commentCount":0,"publisher":{"@id":"\/#organization"},"image":{"@id":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/#primaryimage"},"thumbnailUrl":"https:\/\/base4sec.com\/wp-content\/uploads\/2024\/12\/blog_97.png","articleSection":["Technical"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/","url":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/","name":"Ataque \u00e0 extens\u00e3o do c\u00f3digo VS - BASE4 Security","isPartOf":{"@id":"\/#website"},"primaryImageOfPage":{"@id":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/#primaryimage"},"image":{"@id":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/#primaryimage"},"thumbnailUrl":"https:\/\/base4sec.com\/wp-content\/uploads\/2024\/12\/blog_97.png","datePublished":"2024-06-18T19:43:28+00:00","description":"BASE4 Security, consultora de ciberseguridad con presencia en Argentina, Chile, Per\u00fa, Colombia, M\u00e9xico y Espa\u00f1a. Servicios de CyberSOC, Red Team, GRC y Zero Trust.","breadcrumb":{"@id":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/#primaryimage","url":"https:\/\/base4sec.com\/wp-content\/uploads\/2024\/12\/blog_97.png","contentUrl":"https:\/\/base4sec.com\/wp-content\/uploads\/2024\/12\/blog_97.png","width":600,"height":600,"caption":"POR: Juan Cruz Tommasi (Ethical Hacking and Research)"},{"@type":"BreadcrumbList","@id":"https:\/\/base4sec.com\/pt-br\/technical-pt-br\/ataque-a-extensao-do-codigo-vs\/2024\/06\/18\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/base4sec.com\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Ataque \u00e0 extens\u00e3o do c\u00f3digo VS"}]},{"@type":"WebSite","@id":"\/#website","url":"\/","name":"BASE4 Security","description":"Your cyber ally","publisher":{"@id":"\/#organization"},"alternateName":"B4","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"\/#organization","name":"BASE4 Security","url":"\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"\/#\/schema\/logo\/image\/","url":"https:\/\/base4sec.com\/wp-content\/uploads\/2024\/10\/Logo_policromo_negativo.png","contentUrl":"https:\/\/base4sec.com\/wp-content\/uploads\/2024\/10\/Logo_policromo_negativo.png","width":372,"height":227,"caption":"BASE4 Security"},"image":{"@id":"\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/base4-security"],"description":"BASE4 Security es una consultora de ciberseguridad B2B con prop\u00f3sito, fundada en Argentina y con operaciones en Argentina, Chile, Per\u00fa, Colombia, M\u00e9xico y Espa\u00f1a. Ofrece servicios de CyberSOC, Red Team, GRC, Identity Security, Cloud Security y Application Security para empresas en SOLA y NOLA.","email":"info@base4sec.com","telephone":"02262653623","legalName":"BASE4 Security","foundingDate":"2008-01-16","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"51","maxValue":"200"}},{"@type":"Person","@id":"\/#\/schema\/person\/5905e7398728c03dbec3772861bd4f99","name":"Base4 Security Research","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/2fd8bd108b76c23a0df95f08c42f3f8653e30a2562d252777bc2a74096d212e4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2fd8bd108b76c23a0df95f08c42f3f8653e30a2562d252777bc2a74096d212e4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fd8bd108b76c23a0df95f08c42f3f8653e30a2562d252777bc2a74096d212e4?s=96&d=mm&r=g","caption":"Base4 Security Research"},"url":"https:\/\/base4sec.com\/pt-br\/author\/cliteplo\/"}]}},"jetpack_featured_media_url":"https:\/\/base4sec.com\/wp-content\/uploads\/2024\/12\/blog_97.png","_links":{"self":[{"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/posts\/6440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/comments?post=6440"}],"version-history":[{"count":3,"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/posts\/6440\/revisions"}],"predecessor-version":[{"id":6442,"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/posts\/6440\/revisions\/6442"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/media\/5645"}],"wp:attachment":[{"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/media?parent=6440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/categories?post=6440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/base4sec.com\/pt-br\/wp-json\/wp\/v2\/tags?post=6440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}