fbpx

Como utilizar a ferramenta HTTPX para agilizar seu RECON

Neste artigo, exploraremos uma ferramenta para te auxiliar na fase de RECON de um ambiente, nesse artigo irá ser mostrado a forma de utilização e como ela pode economizar muito seu tempo.

Vale lembrar que para aprender essa técnica e muitas outras, conheça nossa plataforma de treinamentos de cibersegurança: https://hackersec.com/academy/

O que é a ferramenta HTTPX?

HTTPX é um kit de ferramentas HTTP rápido e multifuncional que permite executar vários testes usando a biblioteca retryablehttp. Fazendo teste em uma lista de domínios para poupar tempo e fazer com que o usuário não precise entrar em cada domínio para saber o conteúdo dele. 

Instalando o go 1.21

No terminal digite

# wget https://golang.org/dl/go1.21.1.linux-amd64.tar.gz

descompacte o arquivo com o comando: 

# tar -C /usr/local -xzf go1.21.1.linux-amd64.tar.gz

Edite o arquivo ~/.zshrc ou ~/.bashrc com o comando:

# nano ~/.zshrc

Nas últimas linhas do arquivo adicione:

export GOROOT=/usr/local/go
export GOPATH=/root/go-workspace
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Recarregue o arquivo com o comando:

# source ~/.zshrc

Verifique se o go foi instalado corretamente com o comando: 

# go version

Instalando a ferramenta HTTPX

# go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest

Verifique se o HTTPX foi instalado corretamente com o comando: 

# httpx –help

Formas de utilização. 

O HTTPX pode ser utilizado de várias maneiras, vamos abortar do uso básico até o uso mais avançado combinando outra ferramenta.

Um uso básico é a verificação da disponibilidade de uma única URL, utilizando o seguinte comando.

# echo “http://hackersec.com” | httpx

                projectdiscovery.io
[INF] Current httpx version v1.6.0 (latest)
https://hackersec.com

Outra utilização é combianandos parâmetros da própria ferramenta para mostrar mais informações sobre o ambiente

Aqui, foi feita uma solicitação que atinge apenas a página web com algumas opções básicas.

# echo “http://hackersec.com” | httpx -title -status-code -tech-detect -follow-redirects 
                projectdiscovery.io

[INF] Current httpx version v1.6.0 (latest)
https://hackersec.com [200] [HackerSec – Cibersegurança Avançada] [Cloudflare,Google Tag Manager,HSTS,HTTP/3,Linkedin Ads,MySQL,PHP,Site Kit:1.127.0,WordPress:6.5.3,Yoast SEO:22.7,wpBakery]

-title: exibe o título da página da web

-status-code: exibe o código de resposta. 200 sendo status válido ou OK enquanto 404 é o código para não encontrado

-tech-detect: detecta tecnologia em execução por trás da página da web

-follow-redirects: ativa os seguintes redirecionamentos e verifica a página seguinte também

É possível fazer uma varredura em uma lista de domínios ou subdomínios que podem ser passadas na ferramenta usando a opção “-l”  

# httpx -l lista.txt -title -status-code -tech-detect -follow-redirect 


                projectdiscovery.io
[INF] Current httpx version v1.6.0 (latest)
https://novpn.hackersec.com [200] [Welcome to nginx!] [Nginx:1.24.0]
https://vpn-ctf.hackersec.com [200] [Welcome to nginx!] [Nginx:1.24.0]
https://lab.hackersec.com [200] [Nginx:1.24.0,PHP:7.4.33]
https://has.hackersec.com [200] [Entrar – HAS – HackerSec] [Bootstrap,HSTS,Nginx,PHP]
https://hackersec.com [200] [HackerSec – Cibersegurança Avançada] [Cloudflare,Google Tag Manager,HSTS,HTTP/3,Linkedin Ads,MySQL,PHP,Site Kit:1.127.0,WordPress:6.5.3,Yoast SEO:22.7,wpBakery]
https://www.hackersec.com [301,200] [HackerSec – Cibersegurança Avançada] [https://hackersec.com/] [Cloudflare,Google Tag Manager,HSTS,HTTP/3,Linkedin Ads,MySQL,PHP,SiteKit:1.127.0,WordPress:6.5.3,Yoast SEO:22.7,wpBakery]

Uma forma mais avançada é combinar ferramentas, nesse caso será feita uma enumeração de subdomínios com a ferramenta subfinder mais o HTTPX


# subfinder -d vulnweb.com | httpx -title -status-code -tech-detect -follow-redirects 

                projectdiscovery.io
[INF] Current httpx version v1.6.0 (latest)
[INF] Current subfinder version v2.6.6 (latest)
[INF] Loading provider config from /root/.config/subfinder/provider-config.yaml
[INF] Enumerating subdomains for vulnweb.com
[INF] Found 25 subdomains for vulnweb.com in 1 second 436 milliseconds
http://testphp.vulnweb.com [200] [Home of Acunetix Art] [DreamWeaver,Nginx:1.19.0,PHP:5.6.40,Ubuntu]
http://testasp.vulnweb.com [200] [acuforum forums] [DreamWeaver,IIS:8.5,Microsoft ASP.NET,Windows Server]
http://rest.vulnweb.com [200] [Acunetix Vulnerable REST API] [Apache HTTP Server:2.4.25,Debian,PHP:7.1.26]
http://www.vulnweb.com [200] [Acunetix Web Vulnerability Scanner – Test websites] [Nginx:1.19.0]
http://testhtml5.vulnweb.com [200] [SecurityTweets – HTML5 test website for Acunetix Web Vulnerability Scanner] [AngularJS,Nginx:1.19.0]
http://testaspnet.vulnweb.com [200] [acublog news] [IIS:8.5,Microsoft ASP.NET,Microsoft Visual Studio,Windows Server]

Outras formas de utilizar a ferramenta HTTPX para te auxiliar no seu RECON.

É sempre importante conhecer todas as funções que a ferramenta pode oferecer. Dessa forma, ao testar um ambiente, você não ficará limitado apenas a comandos básicos. A ferramenta oferece múltiplas formas de realizar o reconhecimento (RECON) de um ambiente, permitindo uma análise mais abrangente e detalhada.  

-probe: exibe o status de uma única verificação (sucesso/falha)

-ip: exibe o IP do servidor web

-cdn: exibe o CDN/WAF, se presente

# echo “hackersec.com” | httpx -lc -wc

-lc: exibe a contagem de linhas da página da web digitalizada

-wc: exibe a contagem de palavras da página da web digitalizada

# cat list | httpx -mc 200,301,302 -sc

-mc: combina o código de resposta HTTP com os códigos fornecidos na lista

# cat list | httpx -mlc 110 -lc

-mlc: corresponde à contagem de linhas com a entrada fornecida

# cat list | httpx -ml 3563 -cl

-cl: exibe o comprimento do conteúdo de uma página da web

-ml: corresponde ao comprimento do conteúdo com a entrada fornecida e exibe apenas os resultados que correspondem ao comprimento do conteúdo

# cat list | httpx -mwc 580 -wc

-mwc: corresponde à contagem de palavras e exibe apenas os resultados com a mesma contagem de palavras

# cat list | httpx -ms “login”

-ms: exibe apenas os resultados onde o texto em uma página corresponde à string fornecida. Aqui, as páginas com “login” no texto são carregadas.

Conclusão 

O propósito deste artigo foi fornecer uma referência rápida para alguns dos parâmetros disponíveis na ferramenta httpx, auxiliando nos seus testes e estudos. Lembrando que existem muitos outros parâmetros; você pode encontrar mais informações no repositório oficial no GitHub (https://github.com/projectdiscovery/httpx)