Todos nós temos contato direto ou indireto a sites e aplicações web. E, como bem sabemos, essas aplicações são alvos de ataques massivos de hackers e pessoas má intencionadas. Por isso, vamos aprender agora a identificar informações importantes para a proteção de nosso site e aplicação WEB por meio do WhatWeb, um Scanner capaz de identificar diversas informações sobre sua aplicação!

Descubra informações do seu site com WhatWeb

O WhatWeb é um Scanner web de última geração capaz de identificar as tecnologias utilizadas no seu site. O WhatWeb pode identificar todos os tipos de informações sobre um site ativo, como:

  • Plataforma
  • plataforma CMS
  • Tipo de roteiro
  • Google Analytics
  • Plataforma de servidor web
  • Endereço IP, País
  • Mais de 900 plugins e suas bibliotecas usadas
  • Cabeçalhos de servidor, cookies e muito mais.

O Whatweb oferece varredura passiva e testes agressivos. A varredura passiva apenas extrai dados de cabeçalhos HTTP simulando uma visita normal. As opções agressivas se aprofundam com recursão e vários tipos de consultas e identificam todas as tecnologias como um scanner de vulnerabilidades.

Portanto, um pentester pode usar essa ferramenta como ferramenta de reconhecimento e scanner de vulnerabilidade. Existem vários outros recursos, como suporte a proxy, ajuste de varredura, varredura de uma variedade de IPs, spidering, etc.

Exploração de sites públicos

Vamos começar fazendo uma enumeração simples em alguns sites. Para isso, vamos utilizar o Kali Linux que está disponível para download aqui.

Se você utiliza Linux, pode seguir os passos abaixo para a instalação

Abra seu terminal e realize o clone do projeto WhatWeb no GitHub com o comando:

git clone https://github.com/urbanadventurer/WhatWeb/

Entre no diretório clonado com o comando:

cd Whatweb

Agora, dentro do diretório clonado, você pode executar o software com o comando:

./whatweb 

Agora, se você utiliza Windows ou outro sistema operacional, pode executar o WhatWeb por meio de um container Docker. Para isso, siga as instruções disponíveis neste link!

Para realizar nossa primeira exploração, vamos executar em nosso terminal:

┌──(kali㉿kali)-[~]
└─$ whatweb app.sgoncalves.local # Aqui voce insere a URL que quer analisar!

Veremos como resultado algo semelhante a:

http://app.sgoncalves.local [200 OK] Apache[2.2.14][mod_mono/2.4.3,mod_perl/2.0.4,mod_python/3.3.1,mod_ssl/2.2.14,proxy_html/3.0.1], Country[RESERVED][ZZ], Email[[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]], HTML5, HTTPServer[Ubuntu Linux][Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2-1ubuntu4.30 with Suhosin-Patch proxy_html/3.0.1 mod_python/3.3.1 Python/2.6.5 mod_ssl/2.2.14 OpenSSL/0.9.8k Phusion_Passenger/4.0.38 mod_perl/2.0.4 Perl/v5.10.1], IP[10.0.2.4], JQuery[1.3.2], OpenSSL[0.9.8k], PHP[5.3.2-1ubuntu4.30][Suhosin-Patch], Passenger[4.0.38], Perl[5.10.1], Python[2.6.5], Script[text/javascript], Title[owaspbwa OWASP Broken Web Applications]

Caso queiramos uma saída mais detalhada podemos utilizar a flag -v :

┌──(kali㉿kali)-[~]
└─$ whatweb -v app.sgoncalves.local

Obteremos o seguinte resultado:

WhatWeb report for http://app.sgoncalves.local
Status    : 200 OK
Title     : owaspbwa OWASP Broken Web Applications
IP        : 10.0.2.4
Country   : RESERVED, ZZ

Summary   : Apache[2.2.14][mod_mono/2.4.3,mod_perl/2.0.4,mod_python/3.3.1,mod_ssl/2.2.14,proxy_html/3.0.1], Email[[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]], HTML5, HTTPServer[Ubuntu Linux][Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2-1ubuntu4.30 with Suhosin-Patch proxy_html/3.0.1 mod_python/3.3.1 Python/2.6.5 mod_ssl/2.2.14 OpenSSL/0.9.8k Phusion_Passenger/4.0.38 mod_perl/2.0.4 Perl/v5.10.1], JQuery[1.3.2], OpenSSL[0.9.8k], Passenger[4.0.38], Perl[5.10.1], PHP[5.3.2-1ubuntu4.30][Suhosin-Patch], Python[2.6.5], Script[text/javascript]

Detected Plugins:
[ Apache ]
        The Apache HTTP Server Project is an effort to develop and 
        maintain an open-source HTTP server for modern operating 
        systems including UNIX and Windows NT. The goal of this 
        project is to provide a secure, efficient and extensible 
        server that provides HTTP services in sync with the current 
        HTTP standards. 

        Version      : 2.2.14 (from HTTP Server Header)
        Module       : mod_mono/2.4.3,mod_perl/2.0.4,mod_python/3.3.1,mod_ssl/2.2.14
        Module       : proxy_html/3.0.1
        Google Dorks: (3)
        Website     : http://httpd.apache.org/

[ Email ]
        Extract email addresses. Find valid email address and 
        syntactically invalid email addresses from mailto: link 
        tags. We match syntactically invalid links containing 
        mailto: to catch anti-spam email addresses, eg. bob at 
        gmail.com. This uses the simplified email regular 
        expression from 
        http://www.regular-expressions.info/email.html for valid 
        email address matching. 

        String       : [email protected],[email protected],[email protected],[email protected],[email protected],[email protected]                                                                                                                               

[ HTML5 ]
        HTML version 5, detected by the doctype declaration 


[ HTTPServer ]
        HTTP server header string. This plugin also attempts to 
        identify the operating system from the server header. 

        OS           : Ubuntu Linux
        String       : Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2-1ubuntu4.30 with Suhosin-Patch proxy_html/3.0.1 mod_python/3.3.1 Python/2.6.5 mod_ssl/2.2.14 OpenSSL/0.9.8k Phusion_Passenger/4.0.38 mod_perl/2.0.4 Perl/v5.10.1 (from server string)                                      

[ JQuery ]
        A fast, concise, JavaScript that simplifies how to traverse 
        HTML documents, handle events, perform animations, and add 
        AJAX. 

        Version      : 1.3.2
        Website     : http://jquery.com/

[ OpenSSL ]
        The OpenSSL Project is a collaborative effort to develop a 
        robust, commercial-grade, full-featured, and Open Source 
        toolkit implementing the Secure Sockets Layer (SSL v2/v3) 
        and Transport Layer Security (TLS v1) protocols as well as 
        a full-strength general purpose cryptography library. 

        Version      : 0.9.8k
        Website     : http://www.openssl.org/

[ PHP ]
        PHP is a widely-used general-purpose scripting language 
        that is especially suited for Web development and can be 
        embedded into HTML. This plugin identifies PHP errors, 
        modules and versions and extracts the local file path and 
        username if present. 

        Version      : 5.3.2-1ubuntu4.30
        Module       : Suhosin-Patch
        Google Dorks: (2)
        Website     : http://www.php.net/

[ Passenger ]
        Phusion Passenger - a.k.a. mod_rails or mod_rack - makes 
        deployment of Ruby web applications, such as those built on 
        the revolutionary Ruby on Rails web framework, a breeze. It 
        follows the usual Ruby on Rails conventions, such as 
        "Dont-Repeat-Yourself"" website "http://www.modrails.com/ 

        Version      : 4.0.38

[ Perl ]
        Perl is a highly capable, feature-rich programming language 
        with over 22 years of development. 

        Version      : 5.10.1
        Website     : http://www.perl.org/

[ Python ]
        Python is a programming language that lets you work more 
        quickly and integrate your systems more effectively. You 
        can learn to use Python and see almost immediate gains in 
        productivity and lower maintenance costs. 

        Version      : 2.6.5
        Website     : http://www.python.org/

[ Script ]
        This plugin detects instances of script HTML elements and 
        returns the script language/type. 

        String       : text/javascript

HTTP Headers:
        HTTP/1.1 200 OK
        Date: Mon, 25 Apr 2022 13:18:42 GMT
        Server: Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2-1ubuntu4.30 with Suhosin-Patch proxy_html/3.0.1 mod_python/3.3.1 Python/2.6.5 mod_ssl/2.2.14 OpenSSL/0.9.8k Phusion_Passenger/4.0.38 mod_perl/2.0.4 Perl/v5.10.1
        Last-Modified: Fri, 31 Jul 2015 02:55:52 GMT
        ETag: "45f13-6da3-51c22f5365e00"
        Accept-Ranges: bytes
        Vary: Accept-Encoding
        Content-Encoding: gzip
        Content-Length: 4785
        Connection: close
        Content-Type: text/html

De posse destas informações é possível avaliar se o site em questão possui alguma versão de software vulnerável, ou mesmo desatualizada. Talvez podemos também descobrir que o site está executando uma versão vulnerável de um CMS como WordPress ou Joomla. O importante é compreender que assim você pode descobrir as vulnerabilidades e exploits para diferentes versões de tecnologias utilizadas em seu site.

Outro teste possível é utilizar um bloco de IPs para análise, como por exemplo:

┌──(kali㉿kali)-[~]
└─$ whatweb -v 192.168.0.1/24

Caso você queira realizar a análise em mais de um site ao mesmo tempo, basta enfileirar os domínios separados por um espaço ao executar o comando, como no exemplo:

┌──(kali㉿kali)-[~]
└─$ whatweb -v meudominio.com.br meunovodominio.com.br meuterceirodominio.com.br

Descobrindo informações diretamente pelo navegador com Wappalyzer

O Wappalyzer é uma ferramenta de código aberto disponível no GitHub e 100% gratuita que foi criada em 2009 e tem como objetivo identificar as tecnologias usadas em um site.

É bastante simples de utilizar, bastando instalar no navegador. Vou exemplificar o uso no Mozilla Firefox.

Primeiro, acesse este link para chegar a página de instalação.

Selecione seu navegador na lista.

Selecione a opção para instalar:

Selecione e instale no seu navegador

Depois da extensão instalada, basta acessar o site que deseja obter informações, e verá o seguinte:

Wappalyzer em ação!

Como podemos perceber, acabamos de descobrir qual o servidor Web, o Sistema operacional, e outros detalhes do site em questão, simplesmente entrando no mesmo!

É importante lembrar que essas informações são o insumo necessário para que você possa corrigir problemas sérios de segurança em suas aplicações. Execute-as em sua estrutura, descubra as informações e corrija o que estiver ao seu alcance.

Se você deseja saber mais sobre segurança em aplicações web de maneira prática e com resultados reais, saiba mais sobre meu curso e se inscreva! Ele está em promoção, vale a pena conferir. É só clicar aqui!

Obrigado por chegar até aqui!

Compartilhe este link com seus contatos!

Abraço!

Deixe um comentário