As extensões do navegador são extremamente úteis, pois podem expandir navegadores da Web como Google Chrome e Mozilla Firefox além de seus recursos integrados. No entanto, nem sempre sabemos quem está por trás de um complemento do navegador ou o que ele está fazendo além do anunciado. É aí que o ExtAnalysis entra em ação.
O ExtAnalysis descompactará uma extensão para que possamos ver o que realmente está acontecendo dentro dela. Para começar a usá-lo, você só precisa usar o Chrome ou o Firefox, bem como uma extensão que deseja investigar para possíveis atividades maliciosas em segundo plano. Estaremos examinando uma extensão do Firefox de um estudante de ciência da computação para ver como um complemento mais amador vazará suas intenções ocultas.
Requisitos
Chrome, Brave ou Firefox
Extensão da Chrome Web Store ou complementos do Firefox
Linux ou Windows PC ou Mac OS
Recursos ExtAnalysis
O ExtAnalysis é um pouco semelhante ao Jupyter Notebook, pois é um código Python que será executado, criará uma interface de usuário e abrirá em uma janela do navegador. É também uma experiência realmente interativa que nos permite usar facilmente a ferramenta sem depender de um determinado hardware ou sistema operacional. É multiplataforma, fácil de instalar e simples de usar.
Há muitas coisas que o ExtAnalysis pode fazer, como varreduras VirusTotal, varreduras de vulnerabilidade RetireJS para arquivos JavaScript, visualizar e editar arquivos HTML, JSON, JavaScript e CSS, mas vamos apenas dar uma visão geral do que pode ser feito a partir de uma simples varredura de uma extensão.
Instalar ExtAnalysis
Vamos falar sobre a instalação e uso do ExtAnalysis no Kali Linux. Para instalá-lo, basta cloná-lo de seu repositório GitHub usando git clone.
~$ git clone https://github.com/Tuhinshubhra/ExtAnalysis.git
Cloning into ‘ExtAnalysis’…
remote: Enumerating objects: 30, done.
remote: Counting objects: 100% (30/30), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 638 (delta 7), reused 15 (delta 6), pack-reused 608
Receiving objects: 100% (638/638), 10.28 MiB | 4.95 MiB/s, done.
Resolving deltas: 100% (221/221), done.
Em seguida, mude para seu diretório com cd.
~$ cd ExtAnalysis
~/ExtAnalysis$
Se você quiser, você pode listar seu conteúdo com ls para ver o que está lá.
Precisaremos instalar o arquivo requirements.txt para que o ExtAnalysis funcione, então use pip3 install -r para fazer o trabalho. E é isso para a instalação.
Executar ExtAnalysis
Para usar o ExtAnalysis, basta estar na pasta correta, chamar o Python e executar a ferramenta com extanalysis.py. Então, vamos fazer isso para abrir a interface da web.
Após alguns momentos, ele abrirá seu navegador da Web em uma página da Web em 127.0.0.1:13337. Como você pode ver desde o início, o aplicativo da Web tem uma interface de usuário muito boa e simples de navegar.
O melhor de tudo é que tudo o que você fizer no aplicativo da Web será exibido no seu terminal se você quiser ver as informações dessa maneira. Mas você também pode ver as coisas impressas no terminal diretamente no aplicativo da Web na parte inferior da página.
Encontre uma extensão para analisar
Como exemplo, estamos usando a extensão PCC RMP Integration, que está disponível como uma extensão do Chrome e uma extensão do Firefox.
Esta extensão em particular foi escrita por um estudante de ciência da computação do Pasadena City College. Ele foi projetado para sobrepor a pontuação do RateMyProfessor de diferentes professores no catálogo de cursos da faculdade. Dessa forma, as pessoas que se inscreverem para as aulas na escola não acabarão com um professor com uma nota horrível.
Analise a extensão
Na interface da Web, há várias maneiras de analisar uma extensão, para as quais você pode navegar usando as guias na parte superior da página.
Um link da Chrome Web Store
Um link do catálogo de complementos do Firefox
Uma extensão instalada localmente no Chrome, Brave ou Firefox
Uma extensão para upload em formato .crx, .xpi ou .zip
Para o nosso exemplo, vamos usar a primeira opção, onde simplesmente fornecemos ao ExtAnalysis um link para uma extensão do Chrome na Chrome Web Store. Esta é uma boa opção se você estiver fazendo isso para Chrome, Brave ou Firefox, pois permitirá que você investigue um complemento antes de instalá-lo.
Digite o link no campo e clique em “Baixar e analisar”. Um pop-up aparecerá solicitando que você salve a extensão como um nome personalizado, então digite o que quiser aqui, onde poderá encontrá-lo mais tarde. Clique em “Download & Analyze” novamente depois de nomeá-lo.
Em segundos, ele deve informar que a extensão foi analisada e que o relatório foi salvo com um ID exclusivo. Para visualizar os resultados, clique em “Visualizar Análise”.
Leia a análise (informações básicas e arquivos)
É aqui que as coisas ficam divertidas. Imediatamente, podemos ver que uma pessoa “desconhecida” criou nossa extensão PCC RMP. Isso por si só pode fazer com que você não queira instalar o complemento.
Outras coisas que podemos ver imediatamente são o tipo de extensão, bem como o número de permissões que ela requer, domínios exclusivos, URLs extraídos e JavaScript externo. Para este último, não há nenhum em nosso exemplo, mas se houver muitos, isso pode ser um sinal suspeito indicando que é um minerador de moedas ou outra coisa que você pode não querer instalar. Você também verá o conteúdo do arquivo manifest.json.
Na guia “Arquivos”, há um gráfico de Arquivos e URL ondulante com o qual você pode interagir para ver quais arquivos e URLs estão vinculados uns aos outros. Há também uma seção Estatísticas e uma seção Exibir Código Fonte de Arquivos.
Para visualizar o código-fonte de qualquer item da lista, basta clicar em “Visualizar código-fonte” ao lado dele. Ele aparecerá em uma nova guia no seu navegador. Abaixo está o que aparece para o arquivo pcc-rmp.js. Escusado será dizer que isso pode mostrar muito do que está acontecendo nos bastidores, e os comentários podem ajudá-lo a entender como e por que a ferramenta foi desenvolvida e quão avançados eles são na construção de extensões.
Na própria página da web, existem opções para “Embelezar o código selecionado” e “Embelezar o código completo” para fornecer diferentes visualizações da fonte.
Leia a Análise (Permissões)
Há também uma guia “Permissões” que você pode ver para ver se há coisas suspeitas que as extensões “precisam” para funcionar. Os itens a serem cautelosos são câmeras, microfone, localização e outras permissões do dispositivo.
Leia a análise (URLs e domínios)
A guia “URLs e domínios” mostrará exatamente isso. Aqui, você pode ver algumas das coisas fascinantes que já foram extraídas, como os domínios que a ferramenta está chamando. Nossa ferramenta está chamando ratemyprofessor.com, o que faz sentido, e o site da ferramenta e um servidor do Google, nenhum dos quais parece fora do comum. Cada link tem a opção de solicitar informações de “Whois”, “Relatório de VT” e “Pesquisa de IP GEO”.
Você também pode ver os URLs extraídos de arquivos , que podem ajudá-lo a determinar rapidamente se a extensão está chamando um domínio que você acha que não precisa chamar. Atividade suspeita vai realmente aparecer aqui. No nosso caso, parece inofensivo. Cada link tem a opção de solicitar informações de “Whois”, “Fonte” e “Cabeçalhos HTTP”.
Um relatório Whois pode ajudá-lo a determinar se o proprietário do domínio é alguém superficial. O relatório do VirusTotal o ajudará a determinar se o scanner detectou alguma coisa.
Há também uma seção para arquivos JavaScript externos que também pode destacar algumas atividades nefastas que a extensão tem debaixo do tapete.
Leia a Análise (Intels Reunidos)
Por fim, há a guia “Intels reunidos”. Isso mostra os endereços IP extraídos, endereços Bitcoin, endereços de e-mail e comentários. O bitcoin pode ajudá-lo a determinar se algo pode estar acontecendo que não deveria, já que os endereços bitcoin são comuns no código sempre que alguém está tentando minerar ou levantar criptomoedas.
Os endereços de e-mail podem mostrar aqueles de aparência suspeita que podem parecer desagradáveis. Os comentários podem ajudá-lo a ver as coisas ditas pelo autor, o que pode ajudar a esclarecer por que a ferramenta foi feita.
Há também strings codificadas em Base64 que são extraídas, se houver, que você pode analisar.
ExtAnalysis é uma ótima ferramenta para conscientização
O ExtAnalysis é uma ótima ferramenta para explorar praticamente qualquer extensão do navegador para ver se alguma atividade oculta está acontecendo nos bastidores – antes ou depois de instalar o complemento. É ótimo ficar intrometido com extensões, descobrir malware e aprender como outras pessoas criam extensões se você precisar de alguma inspiração para você.